첨부 이미지
그림1
강제청산을 진입후 10p 이상 수익후부터 3p떨어지면 청산조건을 설정해놓았습니다. 그래서 차트의 노랑원에서 진입은 맞으나 실제로 청산은 녹색원부근에서 청산이 되었습니다.(실제수익 8p) 그러나 전략실행 차트 상과 성능보고서상에서는 아래의 노랑 원에서 청산된 걸로 표시되고 수익도 그렇게 난 걸로 보여줍니다.(차트와 보고서 상 수익이 무려 100p)
실제로 청산된 자리에서 청산한 걸로 표시되게 할 수 있는 방법이 없나요? 방법이 없다면 기간이 길 수록 성능보고서상의 수익이 실제 수익과 엄청난 차이가 나서 도저히 수익을 믿을 수가 없겠네요...
eFriend Global YesTrader (한국투자증권)
답변 1
예스스탁
예스스탁 답변
2024-05-03 17:31:34
안녕하세요? 예스스탁입니다.
말씀하신 내용은 최대수익대비하락(Setstoptrailing)을 사용하실 경우에 나타나는 현상으로 실제 매매와 시뮬레이션에서 차이가 발생하는 대표적인 내용입니다.
예스트레이더만의 문제는 아니고 모든 시스템트레이딩 툴에서 동일한 방법으로 제공되고 있습니다.
이와 같은 현상은 나타나는 이유는 완성된 봉의 고가나 저가를 기준으로 하지 않고 현재 진행되고 있는 봉의 고가나 저가를 기준으로 반대로 일정폭 움직이면 청산하도록 하기 때문에 발생되는 현상인데, 실제 매매에서는 말씀하신 대로 봉 중간 움직임에서 매도 진입 후 10포인트 이상 하락 한 후 3포인트 반대로 움직였기 때문에 청산이 되었을 것입니다. 그런데, 차트를 재조회 하거나 시뮬레이션 차트상에서는 해당 봉의 중간 중간에 만들어진 고가나 저가를 알 수 없기 때문에 해당 봉이 완성된 시점의 고가나 저가를 기준으로 리포트를 만들어 낼 수 밖에 없습니다.
때문에 아주 작은 범위의 값을 사용하실 경우 실제 매매와 시뮬레이션 상의 결과가 아주 크게 차이가 날 수 있습니다. 이 기능(Setstoptrailing)은 이런 문제가 있을 수 있기 때문에 일반적으로는 전봉의 고가나 저가를 기준으로하여 추적청산 되도록 하는 청산 방법을 많이 사용하여 실제 매매와 시뮬레이션 결과를 일치시킵니다. (ATR 추정청산 등으로 검색해 보시면 코드는 찾으실 수 있습니다.)
다만, 최대수익대비하락의 이런 문제점에도 불구하고 이 기능을 제공하는 이유는 현재 진행되는 봉의 고가나 저가를 기준으로 추적청산이 필요한 경우도 있기 때문입니다. 예를 들어 평균적으로는 평균적인 봉 움직임이 1포인트 내외이지만, 급격한 시장 충격이 있을 때 10포인트 정도 움직였다가 다시 반대로 가격이 돌아오는 경우도 있을 수 있는데, 이런 경우는 전봉의 고가나 저가를 이용할 경우 수익을 취할 수 없기 때문에 현재 진행되는 봉의 고가나 저가를 기준으로 판단하기 위해서 사용합니다.
설명드린 내용은 예스랭귀지 매뉴얼에서 조금 더 자세히 설명되어 있습니다.
https://www.yesstock.com/YesTrader/YesLanguage/YesLanguage_help.html
위 주소에서 '예스랭귀지 활용 > 실전매매와 시뮬레이션의 차이 > SetStopTrailing' 에서 확인 가능합니다.
감사합니다.
> 산수유 님이 쓴 글입니다.
> 제목 : 성능보고서 오류 수정?
> 강제청산을 진입후 10p 이상 수익후부터 3p떨어지면 청산조건을 설정해놓았습니다. 그래서 차트의 노랑원에서 진입은 맞으나 실제로 청산은 녹색원부근에서 청산이 되었습니다.(실제수익 8p) 그러나 전략실행 차트 상과 성능보고서상에서는 아래의 노랑 원에서 청산된 걸로 표시되고 수익도 그렇게 난 걸로 보여줍니다.(차트와 보고서 상 수익이 무려 100p)
실제로 청산된 자리에서 청산한 걸로 표시되게 할 수 있는 방법이 없나요? 방법이 없다면 기간이 길 수록 성능보고서상의 수익이 실제 수익과 엄청난 차이가 나서 도저히 수익을 믿을 수가 없겠네요...