커뮤니티

kelly 베팅 and 포지션 함수 문의

프로필 이미지
하운드독
2020-04-24 14:17:17
935
글번호 138343
답변완료
Q1. 포지션 함수의 주된용도는 무엇인가요. 이걸 시스템 수식에 끌어와서 사용가능한가요? 포지션 함수 사용하여 시스템전략 만들려는데 가능할지요? Q2. "종목검색 + 매수/매도" 를 합친 자동매매 시스템 수식은 예스랭귀지로 구현이 가능한가요? ex) CCI 0선 상향 돌파종목 자동 검색후, 2종목을 10주씩 자동 매수 후 2일후 자동매도 하는 시스템 Q3. kelly 베팅의 간략버젼의 시스템 수식으로의 적용 문의 (포지션함수사용됨) 아래와 같은 논리로 시스템 수식을 작성했는데, 예상대로 작동은 안되네요. 어떤게 문제 인지 검토 부탁드립니다. 제가 수작업으로 사용하는 켈리베팅 수식은 아래와 같습니다. (이전에 다른분이 문의 한 켈리베팅식에 비해 간략합니다) --주문수량-- kellyBet = (승률 - (1-승률)/평균 손익비) * (예수금) 주문가능수량 = floor(kellyBet/DayLow); ------------- 전략 수식작성 컨셉 : 적용된 과거기록에 따라. 시스템의 성능(승률,손익비)에 따라 베팅금액 크기 조절 -----인용----- Input : Period(14), LPercent(30), SPercent(70),max투자금액(1000000); Var : value(0),accoundNum("계좌번호"),예수금(0),평균손익비(0) ,kellyBet(0),주문가능수량(0); //할당// value = RSI(Period); AccoundNum = getAccount(0); ##계좌번호를 AccoundNum에 저장 예수금 = GetUnclearedDeposits(AccoundNum); ##AccoundNum으로 지정한 계좌의 예수금 평균손익비=(GrossProfit/NumWinTrades ) /(GrossLoss/NumLosTrades); kellyBet = (PercentProfit-((1-PercentProfit)/평균손익비))*예수금; ##예수금 or max투자금액 주문가능수량 = floor(kellyBet/DayLow); // # 매수/매도청산 If CrossUP(value, LPercent) Then { Buy("kelly-B",onclose,DEF,주문가능수량); } # 매도/매수청산 If CrossDown(value, SPercent) Then { ExitLong("s",onclose,DEF,"kelly-B"); } ------------------------------인용 끝-------------------
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-04-27 11:45:21

안녕하세요 예스스탁입니다. 1 예스랭귀지의 포지션함수와 전략성과함수는 차트신호상 거래내역을 기반으로 리턴되는 함수입니다. 실계좌의 값은 예수금,수량,평균가등 몇몇값만 잔고함수로 리턴이 되고 모두 실시간에서만 값이 리턴됩니다. 차트 과거봉에서는 값이 없습니다. 2 가능하지 않습니다. 3 GetUnclearedDeposits은 과거 데이타가 없습니다. 항상 실시간에서만 값을 리턴해 주게 되는데 해당 내용으로는 과거 차트에도 신호를 발생할수가 없어 신호상 평균손익비등을 계산할수 없습니다. 과거차트에 신호를 발생해야 아래와 같이 차트 과거봉은 수량을 1로해서 진입하고 실시간봉에서는 예수금을 가져와 계산한 값으로 수량산정해 진입하게 하셔야 합니다. If CrossUP(value, LPercent) Then { Buy("kelly-B",onclose,DEF,iff(isnan(예수금) == true,1,주문가능수량)); } 즐거운 하루되세요 > 하운드독 님이 쓴 글입니다. > 제목 : kelly 베팅 and 포지션 함수 문의 > Q1. 포지션 함수의 주된용도는 무엇인가요. 이걸 시스템 수식에 끌어와서 사용가능한가요? 포지션 함수 사용하여 시스템전략 만들려는데 가능할지요? Q2. "종목검색 + 매수/매도" 를 합친 자동매매 시스템 수식은 예스랭귀지로 구현이 가능한가요? ex) CCI 0선 상향 돌파종목 자동 검색후, 2종목을 10주씩 자동 매수 후 2일후 자동매도 하는 시스템 Q3. kelly 베팅의 간략버젼의 시스템 수식으로의 적용 문의 (포지션함수사용됨) 아래와 같은 논리로 시스템 수식을 작성했는데, 예상대로 작동은 안되네요. 어떤게 문제 인지 검토 부탁드립니다. 제가 수작업으로 사용하는 켈리베팅 수식은 아래와 같습니다. (이전에 다른분이 문의 한 켈리베팅식에 비해 간략합니다) --주문수량-- kellyBet = (승률 - (1-승률)/평균 손익비) * (예수금) 주문가능수량 = floor(kellyBet/DayLow); ------------- 전략 수식작성 컨셉 : 적용된 과거기록에 따라. 시스템의 성능(승률,손익비)에 따라 베팅금액 크기 조절 -----인용----- Input : Period(14), LPercent(30), SPercent(70),max투자금액(1000000); Var : value(0),accoundNum("계좌번호"),예수금(0),평균손익비(0) ,kellyBet(0),주문가능수량(0); //할당// value = RSI(Period); AccoundNum = getAccount(0); ##계좌번호를 AccoundNum에 저장 예수금 = GetUnclearedDeposits(AccoundNum); ##AccoundNum으로 지정한 계좌의 예수금 평균손익비=(GrossProfit/NumWinTrades ) /(GrossLoss/NumLosTrades); kellyBet = (PercentProfit-((1-PercentProfit)/평균손익비))*예수금; ##예수금 or max투자금액 주문가능수량 = floor(kellyBet/DayLow); // # 매수/매도청산 If CrossUP(value, LPercent) Then { Buy("kelly-B",onclose,DEF,주문가능수량); } # 매도/매수청산 If CrossDown(value, SPercent) Then { ExitLong("s",onclose,DEF,"kelly-B"); } ------------------------------인용 끝-------------------