커뮤니티

콜 풋 중 하나만

프로필 이미지
히익
2023-09-19 12:36:44
1132
글번호 172570
답변완료
예스스팟에 질문남겨드리면 답변이 너무 늦어서 여기에 남깁니다. 간단한 수식인데, 잔고에 콜옵션은 있고, 풋옵션은 없거나 풋옵션은 있고 콜옵션은 없는 즉, 콜,풋 중 하나만 있고 매도호가가 0.01 일때 지정가 0.01에 매수하는 수식 부탁드리겠습니다. 항상 도움주셔서 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-09-19 15:55:10

안녕하세요 예스스탁입니다. 계좌객체명은 Acount1, 옵션객체명은 Option1입니다. 이벤트는 임의로 타이머 동작으로 작성해 드립니다. function Main_OnStart() { Main.SetTimer(1, 5000) } function Main_OnTimer(nEventID) { if (nEventID == 1) { var num = Account1.GetTheNumberOfBalances(); if (num > 0) { //초기값 null var Call = null; var Put = null; for (var i = 0; i < num; i++) { //순서대로 잔고셋팅 Account1.SetBalance(i); //옵션 매도포지션이고 if (Option1.GetCurrent(Account1.Balance.code) > 0 && Account1.Balance.position == 1) { //콜인지 풋인지 확인 //종목의 행사가 리턴 var 행사가 = Option1.GetExercisePrice(Account1.Balance.code); //해당 행사가의 콜종목코드 저장 var 콜코드 = Option1.GetCodeByExercisePrice(0, 행사가); //해당 행사가의 풋종목코드 저장 var 풋코드 = Option1.GetCodeByExercisePrice(1, 행사가); //잔고종목이 콜이면 Call에 종목코드 저장 if (Account1.Balance.code == 콜코드) { Call = 콜코드; } //잔고종목이 풋이면 Put에 종목코드 저장 if (Account1.Balance.code == 풋코드) { Put = 풋코드; } } } //Call은 종목코드가 저장되고 풋은 없을때 콜의 매도1호가가 0.01이면 매수주문 if (Call != null && Put == null && Option1.GetAsk(Call, 1) == 0.01) { Account1.OrderBuy(Call, Account1.Balance.count,0.01,0); } //Put은 종목코드가 저장되고 콜은 없을때 풋의 매도1호가가 0.01이면 매수주문 if (Call == null && Put != null && Option1.GetAsk(Put, 1) == 0.01) { Account1.OrderBuy(Put, Account1.Balance.count,0.01,0); } } } } 즐거운 하루되세요 > 히익 님이 쓴 글입니다. > 제목 : 콜 풋 중 하나만 > 예스스팟에 질문남겨드리면 답변이 너무 늦어서 여기에 남깁니다. 간단한 수식인데, 잔고에 콜옵션은 있고, 풋옵션은 없거나 풋옵션은 있고 콜옵션은 없는 즉, 콜,풋 중 하나만 있고 매도호가가 0.01 일때 지정가 0.01에 매수하는 수식 부탁드리겠습니다. 항상 도움주셔서 감사합니다.