커뮤니티
손익관련 함수에 관해 질문
2011-09-03 20:08:55
656
글번호 42445
NetProfit 과 PositionProfit함수는 미리 설정한 직전거래의 진입, 청산의 수수료와 슬리
피지를 다 차감하고 손익을 돌려받는 함수인건가요?
------------------------------------------------------------------
input : Period(20), Dv(2), ATRPeriod(20), ATRS(3), 손절(0.02), 피라미딩손절(0.007);
var : 초기자금(10000000), 현재자금(10000000),볼밴Up(0), 볼밴Down(0), 피라1(0), 피라2(0), 피라3(0), 피라4(0), 초기계약수(0), 피라계약수(0), 매도초기(0), 매도피라(0);
볼밴Up = BollBandUp(Period,Dv) ;
볼밴Down = BollBandDown(Period,Dv) ;
현재자금=초기자금+(NetProfit*BigPointValue);
초기계약수 = INT((현재자금*손절)/(ATR(ATRPERIOD)*3));
피라계약수 = INT((현재자금*피라미딩손절)/(ATR(ATRPERIOD)*3));
----------------------------------------------------------------------
위의 수식에서 거래를 청산하고 다음거래에서 초기자금에 지금까지의 총 손익을 더한다음 계약수를 정하고 시물레이션을 돌렸는데 뭔가가 이상합니다.
'현재자금 = 현재자금 + (PositionProfit*BigPointValue)' 를 대신 사용했더니 전혀 엉뚱한 결과가 나오네요. 계약수를 미친듯이 많이 사용해서 종합주가지수를 기준으로 실험해보니 최종 손익이
'현재자금=초기자금+(NetProfit*BigPointValue);'의 경우엔 대략 7천만 포인트
'현재자금 = 현재자금 + (PositionProfit*BigPointValue)'의 경우엔 대략 2조3천억 포인트 가량 나오더라구요. -_-; 중간에 엄청난 금액의 파산도 몇 번 생기고.
뭐가 잘 못 된거죠?
답변 1
예스스탁 예스스탁 답변
2011-09-05 13:40:16
안녕하세요
예스스탁입니다.
1.
NetProfit,PositionProfit에는 시스템 트레이딩 설정창에서 지정한
수수료와 슬리피지가 반영됩니다.
2.
작성하신 계산식은 수량을 지정하기에 너무 큰값이 나오게 됩니다.
가령 현재 차트상 첫번째 거래라고 한다면
이전 거래나 현재 진행중인 거래가 없으므로
NetProfit,PositionProfit은 모두 0입니다.
그러므로 현금자금은 10,000,000이고
초기계약수는 1천만원의 0.02%인 200,000원에 현재 ATR값이 1이라면 1*3 해서 200,000/3 하면 66,666으로 큰 수량이 잡히게 되고
더욱이 종합주가지수는 BigPointValue가 없어 단순히 1이라는 값이 리턴됩니다.
어 곱해주는 것이 의미가 없습니다.
종합주가지수는 금액으로 수량산정이 의미가 없습니다.
주가지수 선물도 작성하신 계산식이라면
첫거래는 위와 같이 큰 수량이 나오고 두번째 거래에서나 이전의 거래가 있으므로
1계약 내지 2계약으로 수량이 잡히게 됩니다.
즐거운 하루되세요
> 나도모르오 님이 쓴 글입니다.
> 제목 : 손익관련 함수에 관해 질문
> NetProfit 과 PositionProfit함수는 미리 설정한 직전거래의 진입, 청산의 수수료와 슬리
피지를 다 차감하고 손익을 돌려받는 함수인건가요?
------------------------------------------------------------------
input : Period(20), Dv(2), ATRPeriod(20), ATRS(3), 손절(0.02), 피라미딩손절(0.007);
var : 초기자금(10000000), 현재자금(10000000),볼밴Up(0), 볼밴Down(0), 피라1(0), 피라2(0), 피라3(0), 피라4(0), 초기계약수(0), 피라계약수(0), 매도초기(0), 매도피라(0);
볼밴Up = BollBandUp(Period,Dv) ;
볼밴Down = BollBandDown(Period,Dv) ;
현재자금=초기자금+(NetProfit*BigPointValue);
초기계약수 = INT((현재자금*손절)/(ATR(ATRPERIOD)*3));
피라계약수 = INT((현재자금*피라미딩손절)/(ATR(ATRPERIOD)*3));
----------------------------------------------------------------------
위의 수식에서 거래를 청산하고 다음거래에서 초기자금에 지금까지의 총 손익을 더한다음 계약수를 정하고 시물레이션을 돌렸는데 뭔가가 이상합니다.
'현재자금 = 현재자금 + (PositionProfit*BigPointValue)' 를 대신 사용했더니 전혀 엉뚱한 결과가 나오네요. 계약수를 미친듯이 많이 사용해서 종합주가지수를 기준으로 실험해보니 최종 손익이
'현재자금=초기자금+(NetProfit*BigPointValue);'의 경우엔 대략 7천만 포인트
'현재자금 = 현재자금 + (PositionProfit*BigPointValue)'의 경우엔 대략 2조3천억 포인트 가량 나오더라구요. -_-; 중간에 엄청난 금액의 파산도 몇 번 생기고.
뭐가 잘 못 된거죠?
이전글