커뮤니티

빠른답변 감사합니다.

프로필 이미지
마진콜없다
2009-04-22 15:32:27
938
글번호 21851
답변완료
쎄타값 구하는 것도 오류가 뜹니다. 수식입니다. input:cpflag(numeric),S(numeric),X(numeric),T(numeric),r(numeric),vol(numeric); var:Exp(2.71828182846); var1 = (log(S/X) + (r + (vol^2) / 2)*T) / (vol*sqrt(T)); var2 = var1 - vol*sqrt(T); var3 = (1 / Sqrt(2 * pie())) * (1 / Exp^((var1^2) / 2)); if cpflag == 1 then _Theta = (-1)*(S * vol * var3)/(2*Sqrt(T)) - r * X * Exp^((-r)*T) * _NormSDist(var2); if cpflag == 2 then _Theta = (-1)*(S * vol * var3)/(2*Sqrt(T)) + r * X * Exp^((-r)*T) * (1-_NormSDist(var2)); _Theta = _Theta / 365; 이것도 맨 마지막 줄이 함수 리턴값은 조회할 수 없다고 하는데요 수정좀 부탁합니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2009-04-22 15:45:14

안녕하세요 예스스탁입니다. 식의 가장 마지막의 줄에서 에러가 발생합니다. _Theta = _Theta / 365; _Theta는 사용자함수이므로 자기값을 참조하여 식을 작성하실 수 없습니다. 전봉값을 참조하라는 의미로 변경해 주시면 됩니다. _Theta = _Theta[1] / 365; 아래는 수정한 식입니다. 즐거운 하루되세요 input:cpflag(numeric),S(numeric),X(numeric),T(numeric),r(numeric),vol(numeric); var:Exp(2.71828182846); var1 = (log(S/X) + (r + (vol^2) / 2)*T) / (vol*sqrt(T)); var2 = var1 - vol*sqrt(T); var3 = (1 / Sqrt(2 * pie())) * (1 / Exp^((var1^2) / 2)); if cpflag == 1 then _Theta = (-1)*(S * vol * var3)/(2*Sqrt(T)) - r * X * Exp^((-r)*T) * _NormSDist(var2); if cpflag == 2 then _Theta = (-1)*(S * vol * var3)/(2*Sqrt(T)) + r * X * Exp^((-r)*T) * (1-_NormSDist(var2)); _Theta = _Theta[1] / 365; > 마진콜없다 님이 쓴 글입니다. > 제목 : 빠른답변 감사합니다. > 쎄타값 구하는 것도 오류가 뜹니다. 수식입니다. input:cpflag(numeric),S(numeric),X(numeric),T(numeric),r(numeric),vol(numeric); var:Exp(2.71828182846); var1 = (log(S/X) + (r + (vol^2) / 2)*T) / (vol*sqrt(T)); var2 = var1 - vol*sqrt(T); var3 = (1 / Sqrt(2 * pie())) * (1 / Exp^((var1^2) / 2)); if cpflag == 1 then _Theta = (-1)*(S * vol * var3)/(2*Sqrt(T)) - r * X * Exp^((-r)*T) * _NormSDist(var2); if cpflag == 2 then _Theta = (-1)*(S * vol * var3)/(2*Sqrt(T)) + r * X * Exp^((-r)*T) * (1-_NormSDist(var2)); _Theta = _Theta / 365; 이것도 맨 마지막 줄이 함수 리턴값은 조회할 수 없다고 하는데요 수정좀 부탁합니다.