NB. ========================================== NB. Normal Distribution : High Precision NB. Ndist(u)=NP(u>0)=Phi(u)=1-NQ(u>0) NB. ========================================== stnormal=:(%:@o.@2:)(%~)^@-@-:@*: NB. When u>0 is small NP=:3 : 0 (stnormal y)*y%(-`%`+`%)/,(>:+:k),.(*:y)*>:k=.i.28 ) NB. When u>0 is large NQ=:3 : 0 (stnormal y)*%`+/1,,y ,.>:i.28 ) NB. Standard Normal Distribution Function Phi(u) Ndist=:3 : 0 if. 3.30.5 do. x=.-x end. ) NB. ========================================== NB. Cash-Digital Option Model NB. M.Shimura & J.Takeuchi Dec. 2006 NB. ussage: CD data NB. data is list ( 6 elements) NB. AssetPrice ExetPrice AcceptPrice Term(Month) Volatility FreeRate NB. ex. data=. 140 150 2 12 38 6 NB. ===x===================================== CD =: 3 : 0 'S K A T V R' =: y t=. T % 12 u=. (^. S % K) + t* (r=.R % 100) - -:(vol=.V % 100) ^2 d=. u % (vol * %: t) p2=. Ndist d cd=. A *p2 *( ^ (-r) * t) ) NB. ========================================== NB. Plain-Vanilla Option Model(Black Scholes) NB. J.Takeuchi & M.Shimura Nov. 2000 NB. ussage: PV data NB. data is list ( 5 elements) NB. AssetPrice ExecPrice Term(Month) Volatility FreeRate NB. ex. data=.14500 14000 2 38 6 NB. ========================================== PV =: 3 : 0 'S K T V R'=. y t=. T % 12 u=. (^. S % K) + t* (r=.R % 100) - -:(vol=.V % 100) ^2 d=. u % (vol * %: t) d2=. d + vol * %: t p1=. Ndist d2 p2=. Ndist d C=. (S * p1 ) - K *p2 *( ^ (-r) * t) ) NB. ========================================== NB. Normal Random Numbers NB. Rndm_Norm Size Mu Sigma NB. ========================================== Rndm_Norm=:3 : 0 'Num Mean Sigma'=.y Mean+Sigma*Ninv_y"0 (?Num#10000000)%10000000 ) NB. ========================================== NB. Cash on Derivery Option Mode(Obtain C) NB. J.Takeuchi Jun. 2007 NB. ussage: Cash_D data NB. data is list ( 5 elements) NB. AssetPrice StrikePrice Term(Month) Volatility FreeRate NB. ex. data=.100 90 2 10 10 NB. ========================================== Cash_on =: 3 : 0 'S K T V R'=. y t=. T % 12 u=. (^. S % K) + t* (r=.R % 100) - -:(vol=.V % 100) ^2 d=. u % (vol * %: t) d2=. d + vol * %: t p1=. Ndist d2 p2=. Ndist d C=. ((S*^r*t)*(p1%p2))-K ) NB. ========================================== NB. Cash on Derivery Option Mode(Obtain C) NB. J.Takeuchi Jun. 2007 NB. ussage: Cash_D data NB. data is list ( 5 elements) NB. AssetPrice StrikePrice C Term(Month) Volatility FreeRate NB. ex. data=.100 90 2 10 10 NB. ========================================== VV=:3 : 0 'S K C T V R'=. y t=. T % 12 u=. (^. S % K) + t* (r=.R % 100) - -:(vol=.V % 100) ^2 d=. u % (vol * %: t) d2=. d + vol * %: t p1=. Ndist d2 p2=. Ndist d VV=. (S*p1)-(K+C)*p2*^-r*t )