커뮤니티
플롯함수가 차팅되지 않는 문제
2012-11-16 12:55:43
353
글번호 56543
옵션민감도를 차팅하려고 하는데 수치는 계속 계산되어도 그려지지는 않습니다.
수식은 다음과 같습니다 (data1 = 코스피200종합 , data2 = 옵션 개별종목)
pFlag : Call,Put 구분, 1,2로 표현
# S : 기초자산가격의 가격, 예)주가지수(KOSPI200)
# X : 행사가격
# T : 잔존만기(연율)
# r : 무위험 이자율, 예) CD금리
# Vol : 역사적변동성
# ImVol : 내재변동성
#================================================#
Input: 콜풋구분(1), //콜풋 입력(1:콜,2:풋)
행사가격(260), //행사가 입력
만기일(20121213), //만기일
CD금리(3.56); //CD 금리, http://stock.koscom.co.kr 조회가능
Var:cpFlag(0),S(0),X(0),T(0),r(0),vol(0),bs(0),p(0),j(0),
ImVol(0),delta(0),gamma(0),vega(0),theta(0),rho(0), plotimvol(0);
If LastBarOnChart == 1 Then
{
S = C; //기초자산이 기본차트가 되어야 한다.
p = Data2("C"); //옵션가격, 옵션종목을 보조차트로 띄워놓아야 한다.
Var1 = 0; Var2 = 0;
For j = 0 To 59
{
Var1 = Var1 + Log(DayClose(j)/DayClose(j+1))^2;
Var2 = Var2 + Log(DayClose(j)/DayClose(j+1));
}
vol = Sqrt((60 * Var1 - Var2^2)/3540)*Sqrt(244); //역사적변동성
If p > 0 and vol > 0 then
{
cpFlag = 콜풋구분;
X = 행사가격;
T = (DateToJulian(만기일) - DateToJulian(Date) + 1)/365;
r = CD금리 / 100;
Delta = _Delta(cpFlag, S, X, T, r, Vol);
Plot4(Delta,"델타");
//수식끝
****필요한 사용자 함수는 옵션 델타를 구하는 수식입니다. 다음과 같습니다.
//함수시작
#================================================#
# cpFlag : Call,Put 구분, 1,2로 표현
# S : 기초자산가격의 가격, 예)주가지수(KOSPI200)
# X : 행사가격
# T : 잔존만기(연율)
# r : 무위험 이자율, 예) CD금리
# Vol : 변동성
#================================================#
input:cpflag(numeric),S(numeric),X(numeric),T(numeric),r(numeric),vol(numeric);
var1 = (log(S/X) + (r + (vol^2) / 2)*T) / (vol*sqrt(T));
if cpflag == 1 then
_Delta = Exp((-r)*T) * _NormSDist(var1);
if cpflag == 2 then
_Delta = Exp((-r)*T) * (_NormSDist(var1)-1);
//함수끝
답변 1
예스스탁 예스스탁 답변
2012-11-16 15:46:48
안녕하세요
예스스탁입니다.
해당식 차트마지막봉(LastBarOnChart == 1)에서만
계산하고 그려지도록 되어 있습니다.
해당 조건 제거하시면 매봉 그려집니다.
Input: 콜풋구분(1), //콜풋 입력(1:콜,2:풋)
행사가격(260), //행사가 입력
만기일(20121213), //만기일
CD금리(3.56); //CD 금리, http://stock.koscom.co.kr 조회가능
Var:cpFlag(0),S(0),X(0),T(0),r(0),vol(0),bs(0),p(0),j(0),
ImVol(0),delta(0),gamma(0),vega(0),theta(0),rho(0), plotimvol(0);
S = C; //기초자산이 기본차트가 되어야 한다.
p = Data2("C"); //옵션가격, 옵션종목을 보조차트로 띄워놓아야 한다.
Var1 = 0; Var2 = 0;
For j = 0 To 59
{
Var1 = Var1 + Log(DayClose(j)/DayClose(j+1))^2;
Var2 = Var2 + Log(DayClose(j)/DayClose(j+1));
}
vol = Sqrt((60 * Var1 - Var2^2)/3540)*Sqrt(244); //역사적변동성
If p > 0 and vol > 0 then
{
cpFlag = 콜풋구분;
X = 행사가격;
T = (DateToJulian(만기일) - DateToJulian(Date) + 1)/365;
r = CD금리 / 100;
}
Delta = _Delta(cpFlag, S, X, T, r, Vol);
Plot4(Delta,"델타");
즐거운 하루되세요
> 봉자 님이 쓴 글입니다.
> 제목 : 플롯함수가 차팅되지 않는 문제
> 옵션민감도를 차팅하려고 하는데 수치는 계속 계산되어도 그려지지는 않습니다.
수식은 다음과 같습니다 (data1 = 코스피200종합 , data2 = 옵션 개별종목)
pFlag : Call,Put 구분, 1,2로 표현
# S : 기초자산가격의 가격, 예)주가지수(KOSPI200)
# X : 행사가격
# T : 잔존만기(연율)
# r : 무위험 이자율, 예) CD금리
# Vol : 역사적변동성
# ImVol : 내재변동성
#================================================#
Input: 콜풋구분(1), //콜풋 입력(1:콜,2:풋)
행사가격(260), //행사가 입력
만기일(20121213), //만기일
CD금리(3.56); //CD 금리, http://stock.koscom.co.kr 조회가능
Var:cpFlag(0),S(0),X(0),T(0),r(0),vol(0),bs(0),p(0),j(0),
ImVol(0),delta(0),gamma(0),vega(0),theta(0),rho(0), plotimvol(0);
If LastBarOnChart == 1 Then
{
S = C; //기초자산이 기본차트가 되어야 한다.
p = Data2("C"); //옵션가격, 옵션종목을 보조차트로 띄워놓아야 한다.
Var1 = 0; Var2 = 0;
For j = 0 To 59
{
Var1 = Var1 + Log(DayClose(j)/DayClose(j+1))^2;
Var2 = Var2 + Log(DayClose(j)/DayClose(j+1));
}
vol = Sqrt((60 * Var1 - Var2^2)/3540)*Sqrt(244); //역사적변동성
If p > 0 and vol > 0 then
{
cpFlag = 콜풋구분;
X = 행사가격;
T = (DateToJulian(만기일) - DateToJulian(Date) + 1)/365;
r = CD금리 / 100;
Delta = _Delta(cpFlag, S, X, T, r, Vol);
Plot4(Delta,"델타");
//수식끝
****필요한 사용자 함수는 옵션 델타를 구하는 수식입니다. 다음과 같습니다.
//함수시작
#================================================#
# cpFlag : Call,Put 구분, 1,2로 표현
# S : 기초자산가격의 가격, 예)주가지수(KOSPI200)
# X : 행사가격
# T : 잔존만기(연율)
# r : 무위험 이자율, 예) CD금리
# Vol : 변동성
#================================================#
input:cpflag(numeric),S(numeric),X(numeric),T(numeric),r(numeric),vol(numeric);
var1 = (log(S/X) + (r + (vol^2) / 2)*T) / (vol*sqrt(T));
if cpflag == 1 then
_Delta = Exp((-r)*T) * _NormSDist(var1);
if cpflag == 2 then
_Delta = Exp((-r)*T) * (_NormSDist(var1)-1);
//함수끝
다음글