커뮤니티

예스스팟 Q&A

답변완료

예스 스팟 수식 부탁드립니다.

안녕하세요? 항상 애써주시는 데 대해 감사드립니다. 양매도 관련 스팟 수식 부탁드립니다. 5. 로스컷 기준 ① 당일 진입한 평균가격 + (콜옵션 매도 평균가격 + 풋옵션 매도 평균가격) ⓐ 만기전후 5영업일(만기전 5영업일, 만기후 5영업일) 은 손절만 실시 ⓑ 만기 후 5영업일 부터 다음 만기전 5영업일까지는 로스컷 후 바로 양매수 각각 2계약 실시->양매수 진입물량은 만기전날 일괄 청산(만기전일 시가 1계약 청산, 종가 1계약 청산) 일단 청산과 진입 수식을 부탁드립니다. 제가 아직 프로그램에는 서툴러서 주석도 첨부해 주시면 정말 감사드리겠습니다.
프로필 이미지
비오80
2020-10-08
2283
글번호 225313

tktmsl 님에 의해서 삭제되었습니다.

프로필 이미지
tktmsl
2020-09-01
82
글번호 225312
답변완료

옵션 내재변동성 엑셀로 구현하기

안녕하세요. 다음과 같이 에러메시지가 뜨며 엑셀에 구동이 되질 않습니다. Excel-TypeError:Property 'HHMMSS' of object [object Obiect] is not a function 첨부파일&nbsp;엑셀에&nbsp;표현될&nbsp;수&nbsp;있도록&nbsp;수정&nbsp;부탁드립니다. 감사합니다. var&nbsp;cnt; var&nbsp;HHMMSS; function&nbsp;Main_OnStart() { var&nbsp;d&nbsp;=&nbsp;new&nbsp;Date();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;HHMMSS&nbsp;=&nbsp;d.getHours()*10000&nbsp;+&nbsp;d.getMinutes()*100&nbsp;+&nbsp;d.getSeconds(); &nbsp;&nbsp;var&nbsp;temp_code&nbsp;=&nbsp;Option.GetATMCallRecent(0,0);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;Excel.SetRowData(1,&nbsp;"O2",&nbsp;Option.GetRemainDays(temp_code));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;Excel.SetRowData(1,&nbsp;"P2",&nbsp;Option.RiskFreeRate);&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;if(HHMMSS&nbsp;>=&nbsp;090100&nbsp;&&&nbsp;HHMMSS&nbsp;<&nbsp;154500)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;Main.MessageList("======",HHMMSS(),&nbsp;"IV_calc&nbsp;시작","======");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;Main.SetTimer(1,&nbsp;5000);&nbsp;//5초&nbsp;마다&nbsp;실행&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;cnt&nbsp;=&nbsp;2;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; } } function&nbsp;Main_OnTimer(nEventID){&nbsp;&nbsp;&nbsp;&nbsp;if(nEventID&nbsp;==1)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;var&nbsp;d&nbsp;=&nbsp;new&nbsp;Date();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HHMMSS&nbsp;=&nbsp;d.getHours()*10000&nbsp;+&nbsp;d.getMinutes()*100&nbsp;+&nbsp;d.getSeconds(); var call_Code, put_Code,ksp_price ; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;cnt&nbsp;=&nbsp;cnt+1;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;var&nbsp;An&nbsp;=&nbsp;"A"+cnt;&nbsp;//시간&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;var&nbsp;Bn&nbsp;=&nbsp;"B"+cnt;&nbsp;//기초자산 var Cn = "C"+cnt; //Call &nbsp;var&nbsp;Dn&nbsp;=&nbsp;"D"+cnt;&nbsp;//Call&nbsp; var En = "E"+cnt; //Call bid var&nbsp;Fn&nbsp;=&nbsp;"F"+cnt;&nbsp;//Call&nbsp;ask&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;var&nbsp;In&nbsp;=&nbsp;"I"+cnt;&nbsp;//put&nbsp;iv&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;var&nbsp;jn&nbsp;=&nbsp;"j"+cnt;&nbsp;//put&nbsp;행사가&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;var&nbsp;Kn&nbsp;=&nbsp;"K"+cnt;&nbsp;//put&nbsp;bid&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var&nbsp;Ln&nbsp;=&nbsp;"L"+cnt;&nbsp;//put&nbsp;ask&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;Main.MessageList("======",HHMMSS,&nbsp;"To_Excel","======");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;ksp_price&nbsp;=&nbsp;ksp.current;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;call_Code&nbsp;=&nbsp;Option.GetATMCallRecent(0,0);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;put_Code&nbsp;=&nbsp;Option.GetATMPutRecent(0,0);&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;Excel.SetRowData(l,An,get_date_time());&nbsp;//시간&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;Excel.SetRowData(l,Bn,ksp_price);&nbsp;//기초자산&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;Excel.SetRowData(l,Cn,Option.GetImpliedVolatility(call_Code));&nbsp;//Call&nbsp;iv&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;Excel.SetRowData(l,Dn,Option.GetExercisePrice(call_Code));&nbsp;//Call&nbsp;행사가&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;Excel.SetRowData(l,En,Option.GetBid(call_Code,1));&nbsp;//Call&nbsp;bid&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;Excel.SetRowData(l,Fn,Option.GetAsk(call_Code,1));&nbsp;//Call&nbsp;ask&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;Excel.SetRowData(l,In,Option.GetImpliedVolatility(put_Code));&nbsp;//put&nbsp;iv&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;Excel.SetRowData(l,Jn,Option.GetExercisePrice(put_Code));&nbsp;//put&nbsp;행사가&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;Excel.SetRowData(l,Kn,Option.GetBid(put_Code,1));&nbsp;//put&nbsp;bid&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;Excel.SetRowData(l,Ln,Option.GetAsk(put_Code,1));&nbsp;//put&nbsp;ask&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;if(HHMMSS&nbsp;>=&nbsp;154500)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;Main.KillTimer(1);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;Excel.Save();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;Main.MessageList("======",HHMMSS,&nbsp;"종료","======");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;}&nbsp; &nbsp;} } &nbsp;
프로필 이미지
바둑이
2020-09-01
1588
글번호 225311

tktmsl 님에 의해서 삭제되었습니다.

프로필 이미지
tktmsl
2020-09-03
90
글번호 225310

데니얼 님에 의해서 삭제되었습니다.

프로필 이미지
데니얼
2020-08-28
20
글번호 225309

바둑이 님에 의해서 삭제되었습니다.

프로필 이미지
바둑이
2020-08-27
8
글번호 225302
답변완료

ReqChartEx 로 사용하는 차트의 이름 지정이 가능한가요?

안녕하세요. 예스스팟 코드 상에서 ReqChartEx 로 차트 요청해서 사용하고 있습니다. [6131] 예스스팟 - 전략 화면에 보면 전략에서 사용중인 차트와 그리드, 이력변수 등을 볼 수 있는데 차트 보기에서 차트들의 이름이 #D651B80 처럼 알수 없는 값으로 되어 있어서 불편하네요. 이름을 지정할 수 있는 방법이 있을까요? 아니면 기능 업데이트를 부탁드리겠습니다.
프로필 이미지
kdh4865
2020-08-26
2099
글번호 225300
답변완료

포트폴리오 매매

안녕하세요. 아래의 포트폴리오 매매 전략이 예스랭귀지나 예스스팟으로 구현 가능한지 검토바랍니다. 제 생각에는 예스랭귀지로는 불가능하고 스팟으로만 가능할 것 같은데요... 1. 계좌 총 평가자산 조회 2. 두종목(A종목과 B종목) 70% : 30% 비율로 매수 3. 특정기간(예: 한달)이후 계좌 총 평가자산 조회 : (A종목x수량)+(B종목x수량)+현금 4. 계좌 총 평가자산을 기초로 다시 두종목에 대한 70% : 30% 비율계산 5. 비율 초가분은 매도 청산하고 비율 부족분은 매수 : 리밸런싱 예를들어, 100을 투자자산으로 A종목 70 / B종목 30 매수 진입이후 한달뒤에 총 평가자산이 110으로 A종목 74 / B종목 36 이 되었을때 B종목 3을 매도 청산하고 A종목 3을 매수하여 A종목 77 / B종목 33 으로 매달 리밸런싱하는 전략입니다.
프로필 이미지
몬스터
2020-08-18
2346
글번호 225299
답변완료

시스템 수식 수정 문의

0915시에 "분봉장중단타1.5" 파워검색 실시 후 나온 종목들에 대해 시스템을 실행하려고 합니다. 아래와 같이 코딩했는데... 어디가 문제인지 모르겠습니다. ㅜㅡ var List; var ListCnt; var ReqCount; var HHMMSS,HHMMSS1; //스팟 첫 실행시 function Main_OnStart() { Main.MessageLog("시작"); //시작 메세지 출력 Main.SetTimer(1,60000); } function Main_OnTimer(nEventID) { if (nEventID == 1) { var d = new Date(); HHMMSS1 = HHMMSS; HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds(); if (HHMMSS >= 093000 && HHMMSS1 < 0930) // 0930시 파워검색 실시 { Main.ReqPowerSearch("분봉장중단타1.5"); Main.MessageLog("파워검색시작"); Main.KillTimer(1); } } } function Main_OnRcvItemList(aItemList, nCount) //종목검색 완료되어 리스트(검색된 종목코드) 수신 { List = aItemList; //검색된 종목코드를 저장 ListCnt = nCount; //검색된 종목수 저장 Main.SetTimer(2,2000);//2초 타이머 ReqCount = 0; } function Main_OnTimer(nEventID) { if (nEventID == 2) //2초 단위로 한종목씩 차트 생성 { if (ReqCount == ListCnt) //요청이 검색된 종목수 만큼 되었으면 터이머 종료 Main.KillTimer(2); //ReqCount번째 종목요청 //종목검색 후 종목코드가 aItemList에 배열로 담겨오는데 [0]번방 부터 요청 //차트설정 :종목, 주기 분봉, 조회건수 1500 var C1 = new ReqChartItem(List[ReqCount], 1, CHART_PERIOD_MINUTE, 1500, CHART_REQCOUNT_BAR, false, false); //시스템 설정 var S1 = new SystemInfo("feel29na_ver_1.0"); //C1차트설정, S1시스템설정으로 첫번째 종목 차트 생성 Main.ReqChartEx(C1,S1); ReqCount = ReqCount+1;//요청횟수 1증가 } } //생성된 차트에서 신호가 발생하면 function Main_OnRiseSignal(ChartEx, Signal) { //신호완성 출력 Main.MessageLog("신호발생"); //매수신호 발생하면 매수주문 if (Signal.signalKind == 1) { Account1.OrderBuy(Main.GetOrderCode(ChartEx.code),1,0,1); Main.MessageLog("매수"); } //청산신호 발생하면 매도주문 if (Signal.signalKind == 2) { Account1.OrderSell(Main.GetOrderCode(ChartEx.code),1,0,1); Main.MessageLog("매수청산"); } }
프로필 이미지
feel29na
2020-08-17
2332
글번호 225298

훈sys 님에 의해서 삭제되었습니다.

프로필 이미지
훈sys
2020-08-10
1
글번호 225297