커뮤니티

KP-ratio 수식 문의

프로필 이미지
하운드독
2020-06-09 20:23:05
2802
글번호 139682
답변완료

첨부 이미지

1. DrawDown (낙폭기간, 낙폭)을 표현한 지표를 만들려고 하는데, 아래 수식을 작성했는데, ???? 으로 표시한 부분의 랭귀지로 표현이 어려워서 문의드립니다. -------미완성 수식 인용----- input: period(24); var: 기간MDD(0), DD기간합(0),KPratio(0), SMscore(0),일별수익률(0), 누적수익률(0), DD기간(0),Count(0) ; 일별수익률 = (C/C[1]-1); 누적수익률 = accumN(일별수익률 , Period) ; DD기간 = iff( (누적수익률- highest(누적수익률,period) < 0) , (누적수익률- highest(누적수익률,period)) , 0 ); //감소시 기간MDD = IFF(DD기간 <0, lowest(DD기간,"????????",0); // ???? 누적수익률이 하락하여, 전고점 회복하는 데 걸리는 봉수 DD기간합 = countif( DD기간 < 0 , period ) ; //모든 DD의 기간 합계 KPratio = ( c / c[period]-1 )/ ( (""-기간MDD???????") *sqrt( DD기간합 / period)); // 기간MDD=낙폭기간별 Max Drawdown의 합 ----------------인용끝 ------ 2. sm-score는 상기 KP-score를 산출후 , 표준정규분포로 가정하여, 확률을 산출 하는것인데 랭귀지로 표현이 가능할까요 (사진참조) KP 평균, KP 표준편차는 예스트레이더의 시스템 포트폴리오(%형태의 편차)에서는 없는 기능 같아, 직접 구해야 할것 같아, 외부변수로 빼는것으로 가정)
지표
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2020-06-10 14:24:05

안녕하세요 예스스탁입니다. 1 input: period(24); var : cnt(0),일별수익률(0),누적수익률(0),최고수익률(0),DD(0),sumD(0),DD합(0),DD기간합(0),KPratio(0); 일별수익률 = (C/C[1]-1); 누적수익률 = 0; 최고수익률 = 0; DD기간합 = 0; for cnt = Period-1 DownTo 0 { 누적수익률 = 누적수익률+일별수익률[cnt]; if cnt == Period-1 Then { 최고수익률 = 누적수익률; sumD = 0; DD = 0; } else { if 누적수익률 > 최고수익률 Then { 최고수익률 = 누적수익률; sumD = sumD + DD; DD = 0; } } if 누적수익률 < 최고수익률 Then { DD기간합 = DD기간합 +1; if 누적수익률-최고수익률 < DD Then DD = 누적수익률-최고수익률; } DD합 = sumD+DD; } KPratio = 누적수익률/(abs(DD합)*sqrt( DD기간합 / period)); 2 SM-Score는 구현방법을 모르겠습니다. 도움을 드리지 못해 죄송합니다. 즐거운 하루되세요 > 하운드독 님이 쓴 글입니다. > 제목 : KP-ratio 수식 문의 > 1. DrawDown (낙폭기간, 낙폭)을 표현한 지표를 만들려고 하는데, 아래 수식을 작성했는데, ???? 으로 표시한 부분의 랭귀지로 표현이 어려워서 문의드립니다. -------미완성 수식 인용----- input: period(24); var: 기간MDD(0), DD기간합(0),KPratio(0), SMscore(0),일별수익률(0), 누적수익률(0), DD기간(0),Count(0) ; 일별수익률 = (C/C[1]-1); 누적수익률 = accumN(일별수익률 , Period) ; DD기간 = iff( (누적수익률- highest(누적수익률,period) < 0) , (누적수익률- highest(누적수익률,period)) , 0 ); //감소시 기간MDD = IFF(DD기간 <0, lowest(DD기간,"????????",0); // ???? 누적수익률이 하락하여, 전고점 회복하는 데 걸리는 봉수 DD기간합 = countif( DD기간 < 0 , period ) ; //모든 DD의 기간 합계 KPratio = ( c / c[period]-1 )/ ( (""-기간MDD???????") *sqrt( DD기간합 / period)); // 기간MDD=낙폭기간별 Max Drawdown의 합 ----------------인용끝 ------ 2. sm-score는 상기 KP-score를 산출후 , 표준정규분포로 가정하여, 확률을 산출 하는것인데 랭귀지로 표현이 가능할까요 (사진참조) KP 평균, KP 표준편차는 예스트레이더의 시스템 포트폴리오(%형태의 편차)에서는 없는 기능 같아, 직접 구해야 할것 같아, 외부변수로 빼는것으로 가정)
프로필 이미지

하운드독

2020-06-10 22:42:18

답변 감사드립니다. 매번 배워갑니다~. 수식중 아래 두줄에 대한 추가적인 설명 부탁드립니다. sumD = sumD + DD; // sumD는 최고점 갱신시 SumD에 DD값을 더함.?? DD합 = sumD+DD;//??최고점 대비 하락시, 고점 대비 하락률의 합.?? 최고점대비 하락폭의 전체합인가요? , 첨부 수식은 전고점대비 하락후 고점 회복할때까지의 낙폭중 최대값만 더하는 걸로 되어있는데, 이식이 맞는 지 확인 부탁드립니다.(사진 참조) ------------------- > 예스스탁 님이 쓴 글입니다. > 제목 : Re : KP-ratio 수식 문의 > 안녕하세요 예스스탁입니다. 1 input: period(24); var : cnt(0),일별수익률(0),누적수익률(0),최고수익률(0),DD(0),sumD(0),DD합(0),DD기간합(0),KPratio(0); 일별수익률 = (C/C[1]-1); 누적수익률 = 0; 최고수익률 = 0; DD기간합 = 0; for cnt = Period-1 DownTo 0 { 누적수익률 = 누적수익률+일별수익률[cnt]; if cnt == Period-1 Then { 최고수익률 = 누적수익률; sumD = 0; DD = 0; } else { if 누적수익률 > 최고수익률 Then { 최고수익률 = 누적수익률; sumD = sumD + DD; DD = 0; } } if 누적수익률 < 최고수익률 Then { DD기간합 = DD기간합 +1; if 누적수익률-최고수익률 < DD Then DD = 누적수익률-최고수익률; } DD합 = sumD+DD; } KPratio = 누적수익률/(abs(DD합)*sqrt( DD기간합 / period)); 2 SM-Score는 구현방법을 모르겠습니다. 도움을 드리지 못해 죄송합니다. 즐거운 하루되세요 > 하운드독 님이 쓴 글입니다. > 제목 : KP-ratio 수식 문의 > 1. DrawDown (낙폭기간, 낙폭)을 표현한 지표를 만들려고 하는데, 아래 수식을 작성했는데, ???? 으로 표시한 부분의 랭귀지로 표현이 어려워서 문의드립니다. -------미완성 수식 인용----- input: period(24); var: 기간MDD(0), DD기간합(0),KPratio(0), SMscore(0),일별수익률(0), 누적수익률(0), DD기간(0),Count(0) ; 일별수익률 = (C/C[1]-1); 누적수익률 = accumN(일별수익률 , Period) ; DD기간 = iff( (누적수익률- highest(누적수익률,period) < 0) , (누적수익률- highest(누적수익률,period)) , 0 ); //감소시 기간MDD = IFF(DD기간 <0, lowest(DD기간,"????????",0); // ???? 누적수익률이 하락하여, 전고점 회복하는 데 걸리는 봉수 DD기간합 = countif( DD기간 < 0 , period ) ; //모든 DD의 기간 합계 KPratio = ( c / c[period]-1 )/ ( (""-기간MDD???????") *sqrt( DD기간합 / period)); // 기간MDD=낙폭기간별 Max Drawdown의 합 ----------------인용끝 ------ 2. sm-score는 상기 KP-score를 산출후 , 표준정규분포로 가정하여, 확률을 산출 하는것인데 랭귀지로 표현이 가능할까요 (사진참조) KP 평균, KP 표준편차는 예스트레이더의 시스템 포트폴리오(%형태의 편차)에서는 없는 기능 같아, 직접 구해야 할것 같아, 외부변수로 빼는것으로 가정)
프로필 이미지

예스스탁 예스스탁 답변

2020-06-11 09:30:02

안녕하세요 예스스탁입니다. DD는 수익률 최고점이후 하락구간에서 최고 수익률과의 차이가 가장큰 값을 저장하게 됩니다. 수익률 하락이 끝나고 수익률이 최고 수익률을 갱신하면 sumD에 이전 하락구간의 값을 저장하게 됩니다. 가장 최근 날들이 하락구간이면 sumD는 현재 하락구간의 값을 포함하지 못하므로 DD합 = sumD+DD; 으로 이전 하락구간까지의 누적값과 현재 하락구간의 값을 더하게 작성된 식입니다 즐거운 하루되세요 > 하운드독 님이 쓴 글입니다. > 제목 : Re : Re : KP-ratio 수식 문의 > 답변 감사드립니다. 매번 배워갑니다~. 수식중 아래 두줄에 대한 추가적인 설명 부탁드립니다. sumD = sumD + DD; // sumD는 최고점 갱신시 SumD에 DD값을 더함.?? DD합 = sumD+DD;//??최고점 대비 하락시, 고점 대비 하락률의 합.?? 최고점대비 하락폭의 전체합인가요? , 첨부 수식은 전고점대비 하락후 고점 회복할때까지의 낙폭중 최대값만 더하는 걸로 되어있는데, 이식이 맞는 지 확인 부탁드립니다.(사진 참조) ------------------- > 예스스탁 님이 쓴 글입니다. > 제목 : Re : KP-ratio 수식 문의 > 안녕하세요 예스스탁입니다. 1 input: period(24); var : cnt(0),일별수익률(0),누적수익률(0),최고수익률(0),DD(0),sumD(0),DD합(0),DD기간합(0),KPratio(0); 일별수익률 = (C/C[1]-1); 누적수익률 = 0; 최고수익률 = 0; DD기간합 = 0; for cnt = Period-1 DownTo 0 { 누적수익률 = 누적수익률+일별수익률[cnt]; if cnt == Period-1 Then { 최고수익률 = 누적수익률; sumD = 0; DD = 0; } else { if 누적수익률 > 최고수익률 Then { 최고수익률 = 누적수익률; sumD = sumD + DD; DD = 0; } } if 누적수익률 < 최고수익률 Then { DD기간합 = DD기간합 +1; if 누적수익률-최고수익률 < DD Then DD = 누적수익률-최고수익률; } DD합 = sumD+DD; } KPratio = 누적수익률/(abs(DD합)*sqrt( DD기간합 / period)); 2 SM-Score는 구현방법을 모르겠습니다. 도움을 드리지 못해 죄송합니다. 즐거운 하루되세요 > 하운드독 님이 쓴 글입니다. > 제목 : KP-ratio 수식 문의 > 1. DrawDown (낙폭기간, 낙폭)을 표현한 지표를 만들려고 하는데, 아래 수식을 작성했는데, ???? 으로 표시한 부분의 랭귀지로 표현이 어려워서 문의드립니다. -------미완성 수식 인용----- input: period(24); var: 기간MDD(0), DD기간합(0),KPratio(0), SMscore(0),일별수익률(0), 누적수익률(0), DD기간(0),Count(0) ; 일별수익률 = (C/C[1]-1); 누적수익률 = accumN(일별수익률 , Period) ; DD기간 = iff( (누적수익률- highest(누적수익률,period) < 0) , (누적수익률- highest(누적수익률,period)) , 0 ); //감소시 기간MDD = IFF(DD기간 <0, lowest(DD기간,"????????",0); // ???? 누적수익률이 하락하여, 전고점 회복하는 데 걸리는 봉수 DD기간합 = countif( DD기간 < 0 , period ) ; //모든 DD의 기간 합계 KPratio = ( c / c[period]-1 )/ ( (""-기간MDD???????") *sqrt( DD기간합 / period)); // 기간MDD=낙폭기간별 Max Drawdown의 합 ----------------인용끝 ------ 2. sm-score는 상기 KP-score를 산출후 , 표준정규분포로 가정하여, 확률을 산출 하는것인데 랭귀지로 표현이 가능할까요 (사진참조) KP 평균, KP 표준편차는 예스트레이더의 시스템 포트폴리오(%형태의 편차)에서는 없는 기능 같아, 직접 구해야 할것 같아, 외부변수로 빼는것으로 가정)