커뮤니티

옵션 이론가,매도증거금 구할 때 계산 방식이 궁금합니다

프로필 이미지
김태희
2015-05-21 11:46:16
302
글번호 86246
답변완료
제가 알고 있는 바로는 옵션 매도 증거금 구하는 공식은 다음과 같습니다. 옵션 매도증거금 = (대상자산 전일종가 ±15%적용 최대이론가 - 주문옵션종목 전일종가) * 승수(50만원) 위 공식에서 “대상자산 전일종가 ±15%적용 최대이론가”에서 ±15%는 코스피200의 상,하한가가 ±15%이기 때문에 그런 걸로 알고 있는데, 실제로 증거금 구할때는 위탁증거금률을 사용하는 걸로 알고 있습니다. 현재 선물,옵션 위탁증거금률이 7.5% 니까 ±15% 대신 ±7.5%를 적용하면 되겠지요. 옵션 이론가는 블랙숄츠 모델로 계산할수 있도록 제가 함수로 구현해 놓아서 옵션 이론가는 제가 직접 계산할 수 있습니다. 무위험이자율(1.80%),변동성(10.20%),만기잔존일수 등은 HTS 에 표시되는 값을 직접 확인해서 수작업으로 블랙숄츠 모델 함수에 입력하면 이론가는 HTS에 표시되는 이론가와 거의 근접한 값을 계산해 낼수 있는 상황입니다. 실제로 예스트레이더에 표시되는 이론가와 제가 계산한 이론가를 비교해보면 0.1 정도의 오차로 거의 비슷한 값이 나오더군요. 그리고, 최대이론가는 전 ±7.5% 적용해서 최대 이론가를 계산했는데.. “옵션 매도시 주문증거금현황(화면번호:1214)”에 표시되는 최대이론가와는 많게는 15포인트씩 차이가 나더군요. 이건 정말 이상합니다. 옵션 매도시 주문증거금현황(화면번호:1214)”에 표시되는 최대 이론가도 정확한지 확인 좀 부탁드립니다. 그리고, 제가 계산한 매도증거금과 옵션 매도시 주문증거금현황(화면번호:1214)”에 표시되는 매도증거금은 150만원 가량 차이가 나더군요. 차이가 적게 나타날 때도 있고 크게 나타날때도 있고 천차만별이에요.ㅠㅠ 이게 원월물로 갈수록 더 오차가 심한 거 같아요. 이론가는 비교적 정확하게 계산되는데 최대이론가와 매도증거금은 차이가 많이 나는데, 뭐가 문제인지 잘 모르겠습니다. 아래는 제가 구현한 이론가 구하는 블랙숄츠 함수입니다. 계산 공식은 대동소이할 거 같고, 차이가 있다면 적용시키는 수치값일텐데...아래 수식에서 a1부터 a5까지 입력된 수치값이 예스트레이더에서 사용하는 수치값과 틀려서 이론가가 서로 차이가 나는 거면 예스트레이더에서 사용하는 수치값 좀 알려주세요. 가급적이면 예스트레이더에서 표시되는 이론가와 제가 계산한 이론가를 일치시키고 싶어서요. 그래야 최대이론가와 매도증거금도 예스트레이더에서 보여주는 수치와 같게 되겠죠. 만일 이 수치값이 틀려서 오차가 발생하는 것이 아니고, 제가 이론가나 최대이론가, 매도증거금을 구하는 방식이 잘못 되어서 그런거라면 예스트레이더(하이투자증권)에서 이론가,최대이론가, 옵션 매도증거금 구하는 정확한 계산 공식도 좀 알려주세요. 제가 잘못 알고 있을 가능성도 큽니다 function Abs(num) { if (num < 0) return -1 * num; else return num; } /* ---------------------------------------------------------------------------- 블랙숄즈공식에 필수적으로 쓰이는 누적정규분포값을 근사치로 계산하는 함수 ---------------------------------------------------------------------------- */ function CND(z) { var a1=0.31938153, a2=-0.356563782, a3=1.781477937, a4=-1.821255978, a5=1.330274429; var L, K; var result; L = Abs(z); K = 1 / (1 + 0.2316419 * L); result = 1 - 1/Math.sqrt(2*3.1415926) * Math.exp(-Math.pow(L,2)/2) * (a1 * K + a2 * Math.pow(K,2) + a3 * Math.pow(K,3) + a4 * Math.pow(K,4) + a5 * Math.pow(K,5)); if (z < 0) result = 1 - result; return result; } /* ---------------------------------------------------------------------------- 옵션이론가 계산 - 블랙숄즈공식 ---------------------------------------------------------------------------- CallPutFlag : Call/Put 구분 - ex) 0이면 Call, 1이면 Put S : KOSPI200 현재(예상)가 - ex) 185.15 X : 행사가격 - ex) 187.5 T : 잔존일수 - ex) 잔존일수가 3일인 경우 3/365 R : 무위험이자율 - ex) 금리가 4.94%일 경우 0.0494 Sig : 변동성 - ex) 변동성이 23.02%일 경우 0.2302 ---------------------------------------------------------------------------- */ function BS(CallPutFlag, S, X, T, R, Sig) { var d1, d2; var result; d1 = (Math.log(S/X) + (R + Math.pow(Sig,2)/2) * T) / (Sig * Math.sqrt(T)); d2 = d1 - Sig * Math.sqrt(T); if (CallPutFlag == 0) result = S * CND(d1) - X * Math.exp(-R * T) * CND(d2) ; else result = X * Math.exp(-R * T) * CND(-d2) - S * CND(-d1) ; result = parseFloat(result.toFixed(2)); return result; }
사용자 함수
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-05-21 13:05:10

> 김태희 님이 쓴 글입니다. > 제목 : 옵션 이론가,매도증거금 구할 때 계산 방식이 궁금합니다 > 제가 알고 있는 바로는 옵션 매도 증거금 구하는 공식은 다음과 같습니다. 옵션 매도증거금 = (대상자산 전일종가 ±15%적용 최대이론가 - 주문옵션종목 전일종가) * 승수(50만원) 위 공식에서 “대상자산 전일종가 ±15%적용 최대이론가”에서 ±15%는 코스피200의 상,하한가가 ±15%이기 때문에 그런 걸로 알고 있는데, 실제로 증거금 구할때는 위탁증거금률을 사용하는 걸로 알고 있습니다. 현재 선물,옵션 위탁증거금률이 7.5% 니까 ±15% 대신 ±7.5%를 적용하면 되겠지요. 옵션 이론가는 블랙숄츠 모델로 계산할수 있도록 제가 함수로 구현해 놓아서 옵션 이론가는 제가 직접 계산할 수 있습니다. 무위험이자율(1.80%),변동성(10.20%),만기잔존일수 등은 HTS 에 표시되는 값을 직접 확인해서 수작업으로 블랙숄츠 모델 함수에 입력하면 이론가는 HTS에 표시되는 이론가와 거의 근접한 값을 계산해 낼수 있는 상황입니다. 실제로 예스트레이더에 표시되는 이론가와 제가 계산한 이론가를 비교해보면 0.1 정도의 오차로 거의 비슷한 값이 나오더군요. 그리고, 최대이론가는 전 ±7.5% 적용해서 최대 이론가를 계산했는데.. “옵션 매도시 주문증거금현황(화면번호:1214)”에 표시되는 최대이론가와는 많게는 15포인트씩 차이가 나더군요. 이건 정말 이상합니다. 옵션 매도시 주문증거금현황(화면번호:1214)”에 표시되는 최대 이론가도 정확한지 확인 좀 부탁드립니다. 그리고, 제가 계산한 매도증거금과 옵션 매도시 주문증거금현황(화면번호:1214)”에 표시되는 매도증거금은 150만원 가량 차이가 나더군요. 차이가 적게 나타날 때도 있고 크게 나타날때도 있고 천차만별이에요.ㅠㅠ 이게 원월물로 갈수록 더 오차가 심한 거 같아요. 이론가는 비교적 정확하게 계산되는데 최대이론가와 매도증거금은 차이가 많이 나는데, 뭐가 문제인지 잘 모르겠습니다. 아래는 제가 구현한 이론가 구하는 블랙숄츠 함수입니다. 계산 공식은 대동소이할 거 같고, 차이가 있다면 적용시키는 수치값일텐데...아래 수식에서 a1부터 a5까지 입력된 수치값이 예스트레이더에서 사용하는 수치값과 틀려서 이론가가 서로 차이가 나는 거면 예스트레이더에서 사용하는 수치값 좀 알려주세요. 가급적이면 예스트레이더에서 표시되는 이론가와 제가 계산한 이론가를 일치시키고 싶어서요. 그래야 최대이론가와 매도증거금도 예스트레이더에서 보여주는 수치와 같게 되겠죠. 만일 이 수치값이 틀려서 오차가 발생하는 것이 아니고, 제가 이론가나 최대이론가, 매도증거금을 구하는 방식이 잘못 되어서 그런거라면 예스트레이더(하이투자증권)에서 이론가,최대이론가, 옵션 매도증거금 구하는 정확한 계산 공식도 좀 알려주세요. 제가 잘못 알고 있을 가능성도 큽니다 function Abs(num) { if (num < 0) return -1 * num; else return num; } /* ---------------------------------------------------------------------------- 블랙숄즈공식에 필수적으로 쓰이는 누적정규분포값을 근사치로 계산하는 함수 ---------------------------------------------------------------------------- */ function CND(z) { var a1=0.31938153, a2=-0.356563782, a3=1.781477937, a4=-1.821255978, a5=1.330274429; var L, K; var result; L = Abs(z); K = 1 / (1 + 0.2316419 * L); result = 1 - 1/Math.sqrt(2*3.1415926) * Math.exp(-Math.pow(L,2)/2) * (a1 * K + a2 * Math.pow(K,2) + a3 * Math.pow(K,3) + a4 * Math.pow(K,4) + a5 * Math.pow(K,5)); if (z < 0) result = 1 - result; return result; } /* ---------------------------------------------------------------------------- 옵션이론가 계산 - 블랙숄즈공식 ---------------------------------------------------------------------------- CallPutFlag : Call/Put 구분 - ex) 0이면 Call, 1이면 Put S : KOSPI200 현재(예상)가 - ex) 185.15 X : 행사가격 - ex) 187.5 T : 잔존일수 - ex) 잔존일수가 3일인 경우 3/365 R : 무위험이자율 - ex) 금리가 4.94%일 경우 0.0494 Sig : 변동성 - ex) 변동성이 23.02%일 경우 0.2302 ---------------------------------------------------------------------------- */ function BS(CallPutFlag, S, X, T, R, Sig) { var d1, d2; var result; d1 = (Math.log(S/X) + (R + Math.pow(Sig,2)/2) * T) / (Sig * Math.sqrt(T)); d2 = d1 - Sig * Math.sqrt(T); if (CallPutFlag == 0) result = S * CND(d1) - X * Math.exp(-R * T) * CND(d2) ; else result = X * Math.exp(-R * T) * CND(-d2) - S * CND(-d1) ; result = parseFloat(result.toFixed(2)); return result; }