커뮤니티

변율법 수식

프로필 이미지
theogo66
2019-12-16 09:17:57
171
글번호 134397
답변완료
리밸런싱법 중 변율법에 대한 수식 부탁드립니다. [조건] - kodex200 /현금 으로 리밸런싱 - 리밸런싱 비율 ; 엔벨로프로 채널을 만들어 비율조정 & 채널 중심은 1000일선 . 30% 이상 -> 20/80 . 20~30%미만 -> 30/70 . 10~20%미만 -> 40/60 . -10 에서 +10%미만 -> 50/50 . -10 ~ -20%미만 -> 60/40 . -20 ~ -30%미만 -> 70/30 . -30% 이하 -> 80/20 - 리밸런싱횟수 ; 매월 2회 . 첫째주 화요일 . 셋째주 목요일 (날짜를 바꿀 경우를 대비하여 그 방법도 알려주시면 감사하겠습니다) [추가질문] - 리밸런싱 대상을 kodex 200은 그대로 하고, 현금대신 kodex 인버스로 하려면 식은 어떻게 바꾸야 하는 지도 알려 주시면 감사하겠습니다. 매번 감사드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-12-16 17:35:59

안녕하세요 예스스탁입니다. 아래식 참고하셔서 수정보완해 사용하시기 바랍니다. 피라미딩은 모든 진입신호 허용으로 설정하고 적용하시기 바랍니다. 차트에 기본차트 종목에 대해서만 주문이 집행됩니다. 하나의 차트에서 2개의 종목에 대해 신호와 주문이 가능하지 않으므로 인버스는 기본 코덱스200의 %에서 반대 %로 주문내게 작성하시면 됩니다. 1 코덱스 200 +현금 input : 초기투자금(10000000); var : d1(0),cnt(0),cnt1(0),cnt2(0),RB1(0),RB2(0),mav(0); var : R(0),Cash(0),MM(0); mav = ma(C,1000); if bdate > bdate[1]+30 Then { d1 = floor(Floor(bdate/100)*100); cnt1 = 0; cnt2 = 0; #매월 첫번째 화요일과 세번째 목요일 날짜 계산 for cnt = 1 to 31 { if dayofweek(d1+cnt) == 2 Then#화요일 { cnt1 = cnt1+1; if cnt1 == 1 Then #이번달 첫번째 수요일 날짜 RB1 = d1+cnt; } if dayofweek(d1+cnt) == 4 Then #목요일 { cnt2 = cnt2+1; if cnt2 == 3 Then #이번달 세번째 목요일 날짜 { RB2 = d1+cnt; } } } } mm = 초기투자금+Cash; if bdate != bdate[1] and mav > 0 then { if (RB1 > 0 and bdate >= RB1 and bdate[1] < RB1) or (RB2 > 0 and bdate >= RB2 and bdate[1] < RB2) Then { if c >= mav*1.30 Then R = 20; if c < mav*1.30 and C >= mav*1.20 Then R = 30; if c < mav*1.20 and C >= mav*1.10 Then R = 40; if c < mav*1.10 and C >= mav*0.90 Then R = 50; if c < mav*0.90 and C >= mav*0.80 Then R = 60; if c < mav*0.80 and C >= mav*0.70 Then R = 70; if c < mav*0.70 Then R = 80; if MarketPosition == 0 then { buy("b",OnClose,def,Floor((MM*(R/100))/C)); cash = MM-(Floor((MM*(R/100))/C)*C); } if MarketPosition == 1 then { if CurrentContracts*c > mm*(R/100) then { var1 = abs(mm*(R/100) - CurrentContracts*c); var2 = floor(var1/c); if var2 > 0 then { ExitLong("bx",OnClose,def,"",var2,2); cash = Cash + var2*c; } } if CurrentContracts*c < mm*(R/100) then { var1 = abs(mm*(R/100) - CurrentContracts*c); var2 = floor(var1/c); if var2 > 0 then { buy("bb",OnClose,def,var2); cash = cash - var2*c; } } } } } 2 현금+인버스 input : 초기투자금(10000000); var : d1(0),cnt(0),cnt1(0),cnt2(0),RB1(0),RB2(0),mav(0); var : R(0),Cash(0),MM(0); mav = ma(C,1000); if bdate > bdate[1]+30 Then { d1 = floor(Floor(bdate/100)*100); cnt1 = 0; cnt2 = 0; #매월 첫번째 화요일과 세번째 목요일 날짜 계산 for cnt = 1 to 31 { if dayofweek(d1+cnt) == 2 Then#화요일 { cnt1 = cnt1+1; if cnt1 == 1 Then #이번달 첫번째 수요일 날짜 RB1 = d1+cnt; } if dayofweek(d1+cnt) == 4 Then #목요일 { cnt2 = cnt2+1; if cnt2 == 3 Then #이번달 세번째 목요일 날짜 { RB2 = d1+cnt; } } } } mm = 초기투자금+Cash; if bdate != bdate[1] and mav > 0 then { if (RB1 > 0 and bdate >= RB1 and bdate[1] < RB1) or (RB2 > 0 and bdate >= RB2 and bdate[1] < RB2) Then { if c >= mav*1.30 Then R = 80; if c < mav*1.30 and C >= mav*1.20 Then R = 70; if c < mav*1.20 and C >= mav*1.10 Then R = 60; if c < mav*1.10 and C >= mav*0.90 Then R = 50; if c < mav*0.90 and C >= mav*0.80 Then R = 50; if c < mav*0.80 and C >= mav*0.70 Then R = 40; if c < mav*0.70 Then R = 20; if MarketPosition == 0 then { buy("b",OnClose,def,Floor((MM*(R/100))/C)); cash = MM-(Floor((MM*(R/100))/C)*C); } if MarketPosition == 1 then { if CurrentContracts*c > mm*(R/100) then { var1 = abs(mm*(R/100) - CurrentContracts*c); var2 = floor(var1/c); if var2 > 0 then { ExitLong("bx",OnClose,def,"",var2,2); cash = Cash + var2*c; } } if CurrentContracts*c < mm*(R/100) then { var1 = abs(mm*(R/100) - CurrentContracts*c); var2 = floor(var1/c); if var2 > 0 then { buy("bb",OnClose,def,var2); cash = cash - var2*c; } } } } } 즐거운 하루되세요 > theogo66 님이 쓴 글입니다. > 제목 : 변율법 수식 > 리밸런싱법 중 변율법에 대한 수식 부탁드립니다. [조건] - kodex200 /현금 으로 리밸런싱 - 리밸런싱 비율 ; 엔벨로프로 채널을 만들어 비율조정 & 채널 중심은 1000일선 . 30% 이상 -> 20/80 . 20~30%미만 -> 30/70 . 10~20%미만 -> 40/60 . -10 에서 +10%미만 -> 50/50 . -10 ~ -20%미만 -> 60/40 . -20 ~ -30%미만 -> 70/30 . -30% 이하 -> 80/20 - 리밸런싱횟수 ; 매월 2회 . 첫째주 화요일 . 셋째주 목요일 (날짜를 바꿀 경우를 대비하여 그 방법도 알려주시면 감사하겠습니다) [추가질문] - 리밸런싱 대상을 kodex 200은 그대로 하고, 현금대신 kodex 인버스로 하려면 식은 어떻게 바꾸야 하는 지도 알려 주시면 감사하겠습니다. 매번 감사드립니다.