kimura
2023-07-04 09:32:18
답변이 며칠지나도록 안달려 재문의 드립니다.
제가 여기 질의한 내용을 예스 측에서 검토하고 계신지요?
아니면 제가 한 질의에 오류가 있나요?
(참고로 저는 NH트레이더를 사용하고 있습니다)
감사합니다.
> kimura 님이 쓴 글입니다.
> 제목 : 전략실행차트와 시뮬차트에서의 수급 수치가 다릅니다
> 안녕하세요, 제가 예스트레이더에서 참조데이터의 수급을 활용한 (예:1분봉에서의 개인콜금액, 외인 풋금액 등등) 매매로직을 만들어서 시뮬레이션 차트에서 백테스팅을 했습니다. 아주 잘되더군요.
그래서 그 로직 그대로 전략실행차트(실시간) 에서 며칠 해보니 예상한 결과대로 안나오는 날이 있었습니다.
왜 그런가 봤더니 1분봉에서의 수급 참조데이터가, 실시간차트에서 나오는 값과 시뮬차트에서 나오는 값이 다른 것 이었습니다. (MessageLog로 직접 비교 확인했음)
예를 들어 6월28일 1분봉에서의 수급참조데이터를 각각 실차트와 시뮬차트를 비교해보면
2023-06-28 09:01:00 실시간차트(개콜금=0, 개풋금=0) / 시뮬차트(개콜금=1, 개풋금=1)
...
2023-06-28 09:15:00 실시간차트(외풋금=0) / 시뮬차트(외풋금=-1)
2023-06-28 09:16:00 실시간차트(외풋금=0) / 시뮬차트(외풋금=-1)
2023-06-28 09:17:00 실시간차트(외풋금=0) / 시뮬차트(외풋금=-1)
2023-06-28 09:18:00 실시간차트(외풋금=0) / 시뮬차트(외풋금=-1)
...
2023-06-28 09:25:00 실시간차트(외풋금=0) / 시뮬차트(외풋금=1)
이 외에도 28일에만, 오후 2시 27분까지, 틀린 수급 데이터가 50개나 더 있습니다.
(물론 시뮬차트와 실시간 차트의 수급데이터가 완전히 같은 날도 있긴 합니다)
이거 시뮬차트에서 한 백테스팅이, 실시간 차트에서 서로 다른 값을 내보내어 오류가 나니(= 시뮬차트에서의 진입타이밍과 실시간 차트에서의 진입타이밍이 완전히 다르게 나옴) 당췌 어떻게 해야할지 모르겠습니다.
이거 예스트레이더 쪽에서 당장 수정가능한지요?
* 제가 보니, 주로 선물/콜/풋 금액에서 (개인이건 외인이건 기관이건간에) 오류가 나는것 같은데, 차라리 이 수급의 금액 단위를 억단위가 아니라 백만단위로 출력해주시면 (그렇게 HTS에서 접근가능하게 업데이트 해주시면) 이런 데이터 싱크 불일치 문제를 근본적으로 해결할 수 있지 않나 생각합니다.
감사합니다
-----------------------------------------
추가의뢰
1분봉 참조데이터 에서의 개인/기관/외인의 콜금액 풋금액을 제가 찬찬히 살펴보니 HTS버그라 할 수 있는 부분이 또 발견되었습니다.
제가 이해하기론, 예스의 콜금액, 풋금액은, 백만단위의 콜금액 풋금액을 정수2째자리에서 반올림해서 나온 억단위 금액이라고 알고 있는데
* 예를들자면 예스트레이더에서:
91(백만단위) 의 경우 => 1(억)
148(백만단위) 의 경우 => 1(억)
255(백만단위) 의 경우 => 3(억)
337(백만단위) 의 경우 => 3(억)
-639(백만단위) 의 경우 => -6(억),
-1050(백만단위) 의 경우 => -11(억)
이렇게 표시됩니다. 뭐 아주 당연한 것이겠지요.
그런데 문제는 이상하게도
이 콜풋 금액이 백만단위에서 -99 ~ -1 로 떨어질때는, 반올림을 하지않고 무조건 0(억원)으로 나온다는 것 입니다. (백만단위 금액은 대신과 키움HTS에서 모두 1분봉상의 데이터 추출하여 교차확인했습니다)
예를 들어, 2023-06-30일 외인 콜풋금액을 보자면,
2023-06-30 09:03:00 >>> -70 (외인 풋금액 백만단위) => 예스표기는 0 (원래 -1나와야 함)
2023-06-30 11:04:00 >>> -27 (외인 풋금액 백만단위) => 예스표기는 0 (정상으로 표기)
2023-06-30 11:05:00 >>> -54 (외인 풋금액 백만단위) => 예스표기는 0 (원래 -1나와야 함)
즉, 콜풋금액이 백만단위에서 -99 ~ -1 사이에 있으면, 원래는 Round 처리 되어야 할 것이, 무조건 Ceil 처리로 되버린단 말입니다.
이 범위 외의 금액들을 모두 정상적인 라운딩 처리를 하는데, 왜 -99에서 -1 사이의 금액은 무조건 0으로 씰링처리 하는지 모르겠습니다. 뭔가 예스트레이더에서 오류가 있는 것 같은데...
이 문제를 검토해보시고, 수정가능하면 빨리 부탁드리겠습니다. (그래야 제가 백테스팅을 제대로 할 수 있을테니까요 - 그래서 다시 부탁인데 부디 백만단위의 수급금액이 표시될 수 있게 참조데이터 에 넣어주시면 참 감사하겠습니다)
그럼 수고하십시오. 긴 글 읽어주셔서 감사합니다.
예스스탁
예스스탁 답변
2023-07-05 17:28:13
안녕하세요? 예스스탁입니다.
답변이 늦어져서 죄송합니다.
말씀하신 현상은 확인하였고, 현재 원인 분석 중에 있습니다.
원인 파악이후에 다시 글 올리도록 하겠습니다.
감사합니다.
> kimura 님이 쓴 글입니다.
> 제목 : 전략실행차트와 시뮬차트에서의 수급 수치가 다릅니다
> 안녕하세요, 제가 예스트레이더에서 참조데이터의 수급을 활용한 (예:1분봉에서의 개인콜금액, 외인 풋금액 등등) 매매로직을 만들어서 시뮬레이션 차트에서 백테스팅을 했습니다. 아주 잘되더군요.
그래서 그 로직 그대로 전략실행차트(실시간) 에서 며칠 해보니 예상한 결과대로 안나오는 날이 있었습니다.
왜 그런가 봤더니 1분봉에서의 수급 참조데이터가, 실시간차트에서 나오는 값과 시뮬차트에서 나오는 값이 다른 것 이었습니다. (MessageLog로 직접 비교 확인했음)
예를 들어 6월28일 1분봉에서의 수급참조데이터를 각각 실차트와 시뮬차트를 비교해보면
2023-06-28 09:01:00 실시간차트(개콜금=0, 개풋금=0) / 시뮬차트(개콜금=1, 개풋금=1)
...
2023-06-28 09:15:00 실시간차트(외풋금=0) / 시뮬차트(외풋금=-1)
2023-06-28 09:16:00 실시간차트(외풋금=0) / 시뮬차트(외풋금=-1)
2023-06-28 09:17:00 실시간차트(외풋금=0) / 시뮬차트(외풋금=-1)
2023-06-28 09:18:00 실시간차트(외풋금=0) / 시뮬차트(외풋금=-1)
...
2023-06-28 09:25:00 실시간차트(외풋금=0) / 시뮬차트(외풋금=1)
이 외에도 28일에만, 오후 2시 27분까지, 틀린 수급 데이터가 50개나 더 있습니다.
(물론 시뮬차트와 실시간 차트의 수급데이터가 완전히 같은 날도 있긴 합니다)
이거 시뮬차트에서 한 백테스팅이, 실시간 차트에서 서로 다른 값을 내보내어 오류가 나니(= 시뮬차트에서의 진입타이밍과 실시간 차트에서의 진입타이밍이 완전히 다르게 나옴) 당췌 어떻게 해야할지 모르겠습니다.
이거 예스트레이더 쪽에서 당장 수정가능한지요?
* 제가 보니, 주로 선물/콜/풋 금액에서 (개인이건 외인이건 기관이건간에) 오류가 나는것 같은데, 차라리 이 수급의 금액 단위를 억단위가 아니라 백만단위로 출력해주시면 (그렇게 HTS에서 접근가능하게 업데이트 해주시면) 이런 데이터 싱크 불일치 문제를 근본적으로 해결할 수 있지 않나 생각합니다.
감사합니다
-----------------------------------------
추가의뢰
1분봉 참조데이터 에서의 개인/기관/외인의 콜금액 풋금액을 제가 찬찬히 살펴보니 HTS버그라 할 수 있는 부분이 또 발견되었습니다.
제가 이해하기론, 예스의 콜금액, 풋금액은, 백만단위의 콜금액 풋금액을 정수2째자리에서 반올림해서 나온 억단위 금액이라고 알고 있는데
* 예를들자면 예스트레이더에서:
91(백만단위) 의 경우 => 1(억)
148(백만단위) 의 경우 => 1(억)
255(백만단위) 의 경우 => 3(억)
337(백만단위) 의 경우 => 3(억)
-639(백만단위) 의 경우 => -6(억),
-1050(백만단위) 의 경우 => -11(억)
이렇게 표시됩니다. 뭐 아주 당연한 것이겠지요.
그런데 문제는 이상하게도
이 콜풋 금액이 백만단위에서 -99 ~ -1 로 떨어질때는, 반올림을 하지않고 무조건 0(억원)으로 나온다는 것 입니다. (백만단위 금액은 대신과 키움HTS에서 모두 1분봉상의 데이터 추출하여 교차확인했습니다)
예를 들어, 2023-06-30일 외인 콜풋금액을 보자면,
2023-06-30 09:03:00 >>> -70 (외인 풋금액 백만단위) => 예스표기는 0 (원래 -1나와야 함)
2023-06-30 11:04:00 >>> -27 (외인 풋금액 백만단위) => 예스표기는 0 (정상으로 표기)
2023-06-30 11:05:00 >>> -54 (외인 풋금액 백만단위) => 예스표기는 0 (원래 -1나와야 함)
즉, 콜풋금액이 백만단위에서 -99 ~ -1 사이에 있으면, 원래는 Round 처리 되어야 할 것이, 무조건 Ceil 처리로 되버린단 말입니다.
이 범위 외의 금액들을 모두 정상적인 라운딩 처리를 하는데, 왜 -99에서 -1 사이의 금액은 무조건 0으로 씰링처리 하는지 모르겠습니다. 뭔가 예스트레이더에서 오류가 있는 것 같은데...
이 문제를 검토해보시고, 수정가능하면 빨리 부탁드리겠습니다. (그래야 제가 백테스팅을 제대로 할 수 있을테니까요 - 그래서 다시 부탁인데 부디 백만단위의 수급금액이 표시될 수 있게 참조데이터 에 넣어주시면 참 감사하겠습니다)
그럼 수고하십시오. 긴 글 읽어주셔서 감사합니다.
예스스탁
예스스탁 답변
2023-07-07 15:54:15
안녕하세요? 예스스탁입니다.
말씀하신 내용으로 확인 결과 반올림 처리 문제로 인하여 실시간 차트와 시뮬레이션 차트의 데이터가 다르게 나오는 것을 확인하였습니다.
이 부분에 대해서는 이번달 말까지 수정하여 반영할 수 있도록 하겠습니다.
그리고 말씀하신 -99~0 사이의 반올림 처리도 같이 수정 반영하겠습니다.
다만, 백만단위 데이터는 제공해 드릴 수 없는점 양해 부탁드리겠습니다.
사용에 불편을 드려 죄송합니다. 최대한 빨리 반영될 수 있도록 하겠습니다.
감사합니다.
> kimura 님이 쓴 글입니다.
> 제목 : 제가 제기한 수급문제가 검토되고 있는지요?
> 답변이 며칠지나도록 안달려 재문의 드립니다.
제가 여기 질의한 내용을 예스 측에서 검토하고 계신지요?
아니면 제가 한 질의에 오류가 있나요?
(참고로 저는 NH트레이더를 사용하고 있습니다)
감사합니다.
> kimura 님이 쓴 글입니다.
> 제목 : 전략실행차트와 시뮬차트에서의 수급 수치가 다릅니다
> 안녕하세요, 제가 예스트레이더에서 참조데이터의 수급을 활용한 (예:1분봉에서의 개인콜금액, 외인 풋금액 등등) 매매로직을 만들어서 시뮬레이션 차트에서 백테스팅을 했습니다. 아주 잘되더군요.
그래서 그 로직 그대로 전략실행차트(실시간) 에서 며칠 해보니 예상한 결과대로 안나오는 날이 있었습니다.
왜 그런가 봤더니 1분봉에서의 수급 참조데이터가, 실시간차트에서 나오는 값과 시뮬차트에서 나오는 값이 다른 것 이었습니다. (MessageLog로 직접 비교 확인했음)
예를 들어 6월28일 1분봉에서의 수급참조데이터를 각각 실차트와 시뮬차트를 비교해보면
2023-06-28 09:01:00 실시간차트(개콜금=0, 개풋금=0) / 시뮬차트(개콜금=1, 개풋금=1)
...
2023-06-28 09:15:00 실시간차트(외풋금=0) / 시뮬차트(외풋금=-1)
2023-06-28 09:16:00 실시간차트(외풋금=0) / 시뮬차트(외풋금=-1)
2023-06-28 09:17:00 실시간차트(외풋금=0) / 시뮬차트(외풋금=-1)
2023-06-28 09:18:00 실시간차트(외풋금=0) / 시뮬차트(외풋금=-1)
...
2023-06-28 09:25:00 실시간차트(외풋금=0) / 시뮬차트(외풋금=1)
이 외에도 28일에만, 오후 2시 27분까지, 틀린 수급 데이터가 50개나 더 있습니다.
(물론 시뮬차트와 실시간 차트의 수급데이터가 완전히 같은 날도 있긴 합니다)
이거 시뮬차트에서 한 백테스팅이, 실시간 차트에서 서로 다른 값을 내보내어 오류가 나니(= 시뮬차트에서의 진입타이밍과 실시간 차트에서의 진입타이밍이 완전히 다르게 나옴) 당췌 어떻게 해야할지 모르겠습니다.
이거 예스트레이더 쪽에서 당장 수정가능한지요?
* 제가 보니, 주로 선물/콜/풋 금액에서 (개인이건 외인이건 기관이건간에) 오류가 나는것 같은데, 차라리 이 수급의 금액 단위를 억단위가 아니라 백만단위로 출력해주시면 (그렇게 HTS에서 접근가능하게 업데이트 해주시면) 이런 데이터 싱크 불일치 문제를 근본적으로 해결할 수 있지 않나 생각합니다.
감사합니다
-----------------------------------------
추가의뢰
1분봉 참조데이터 에서의 개인/기관/외인의 콜금액 풋금액을 제가 찬찬히 살펴보니 HTS버그라 할 수 있는 부분이 또 발견되었습니다.
제가 이해하기론, 예스의 콜금액, 풋금액은, 백만단위의 콜금액 풋금액을 정수2째자리에서 반올림해서 나온 억단위 금액이라고 알고 있는데
* 예를들자면 예스트레이더에서:
91(백만단위) 의 경우 => 1(억)
148(백만단위) 의 경우 => 1(억)
255(백만단위) 의 경우 => 3(억)
337(백만단위) 의 경우 => 3(억)
-639(백만단위) 의 경우 => -6(억),
-1050(백만단위) 의 경우 => -11(억)
이렇게 표시됩니다. 뭐 아주 당연한 것이겠지요.
그런데 문제는 이상하게도
이 콜풋 금액이 백만단위에서 -99 ~ -1 로 떨어질때는, 반올림을 하지않고 무조건 0(억원)으로 나온다는 것 입니다. (백만단위 금액은 대신과 키움HTS에서 모두 1분봉상의 데이터 추출하여 교차확인했습니다)
예를 들어, 2023-06-30일 외인 콜풋금액을 보자면,
2023-06-30 09:03:00 >>> -70 (외인 풋금액 백만단위) => 예스표기는 0 (원래 -1나와야 함)
2023-06-30 11:04:00 >>> -27 (외인 풋금액 백만단위) => 예스표기는 0 (정상으로 표기)
2023-06-30 11:05:00 >>> -54 (외인 풋금액 백만단위) => 예스표기는 0 (원래 -1나와야 함)
즉, 콜풋금액이 백만단위에서 -99 ~ -1 사이에 있으면, 원래는 Round 처리 되어야 할 것이, 무조건 Ceil 처리로 되버린단 말입니다.
이 범위 외의 금액들을 모두 정상적인 라운딩 처리를 하는데, 왜 -99에서 -1 사이의 금액은 무조건 0으로 씰링처리 하는지 모르겠습니다. 뭔가 예스트레이더에서 오류가 있는 것 같은데...
이 문제를 검토해보시고, 수정가능하면 빨리 부탁드리겠습니다. (그래야 제가 백테스팅을 제대로 할 수 있을테니까요 - 그래서 다시 부탁인데 부디 백만단위의 수급금액이 표시될 수 있게 참조데이터 에 넣어주시면 참 감사하겠습니다)
그럼 수고하십시오. 긴 글 읽어주셔서 감사합니다.