NB. Nakatsuma p91 table 4.1 require 'plot numeric trig' DIR_PROB=: '~user/classes/calculus/statistics/prob/' NB. require DIR_PROB,'prob_foreign_main.ijs' NB. --------------------------------------- NB. Usage: * (30 10 20) portfolio D0 NB. Usage: * (30 10 20) bn D0 NB. --------------normal distribution------------------------- portfolio=: 4 : 0 NB. Usage: (30 10 20) portfolio D0 NB. lambda is fixed 10(=0.10) 'RF M0 T0 SQRST'=: { 2}. |: x bn y 100* (M0 - RF) % 10 * *:SQRST ) bn2=:bayse_normal2=: 4 : 0 NB. Volatility is valiable NB. Usage: (30 10) bn2 D1 NB. x is mu_0, sd0 NB. y is x1 (nikkei intarest rate and volatility) 'M0 SD0 '=. x NB. mu_0, tau_0,iv_0 NB. mu_0 is standard deviation(0) /not var 'NK IV'=. { 1 3 {|: y NB. Nikkei Volatility ANS=. <'' for_ctr. i. # NK do. TMP0=.((ctr{IV),SD0) bn_sub0 (ctr { NK),M0 ANS=. ANS, tau M0=. PAF0 * y NB. NK,M0 M1=. (+/ M0) % +/ PAF0 NB. mu_1 M1, T1 ) NB. plot tmp; (1.158 0.008) nden tmp=. steps _3 3 100 plot_bn=: 4 : 0 DAT=.{ 100 %~ 3 4 {"1 TMP=. x bn y pd 'reset' ( 2p1 nden=:4 : '(ndens(y - {. x )%s0)%s0=. %: {: x ' ndf1=:0.5&+@(* * ndfs) ndfs=:3 : '(-:h0*(ndens 0)+ ndens y )+h0*+/ndens(>:i.249)*h0=.|y %250' NB. E.Mcdanell cnd=: 3 : 0 b=. 0 0.31938153 _0.356563782 1.781477937 _1.821255978 1.330274429 1-|(0.398942 * ^_0.5 **:y)*b p. %>:0.2316419 ) NB. --------------------------------------- NB. Example Data NB. Nikkei Average/Nakatsuma P91 D0=: 2000 2001 2002 2003 2004 2005 D0=: D0,. 4.59 4.36 2.07 8.67 16.78 17.48 D0=: D0,. 0.17 0.06 0.04 0.04 0.04 0.07 D1=: |:(|: D0),20 NB. volatility is 20(=0.2) / calc type NB. ----------berunui prob. for bayes------------------ NB. =============================== NB. *calc_beta_sub 3 2 NB. *plot_beyse0 3 2 NB. 3 is safe=0/ 2 is out=1 NB. ------------------------------- calc_beta_sub=: 3 : 0 NB. e.g. B(3,2) Nakazuma p54 NB. Usage: u 3 2//sum of safe=0/out=1 'M0 N0'=. y (*/(! <: M0),! <: N0) % ! <: +/ M0,N0 ) calc_beyes0=: 3 : 0 NB. plot calc_beyes0 3 2 'P0 P1'=. <: y BP=. calc_beta_sub y STEP=. steps 0 1 100 STEP;BP* (STEP^P0)*(1-STEP)^P1 ) plot_beyes0=: 3 : 'plot calc_beyes0 y' NB. ---------------------- risk_prob=: 4 : 0 NB. x is p // y is n NB. 1.0 risk_prob L:0 {@>1 2 3 10 100 TMP0=. x * (>: y) % 2 + y TMP1=.(1-x)* % 2 + y ,. y , TMP0 + TMP1 ) NB. ------------------------------------- p_pred=:4 : 0 NB. (100;0) p_pred 1r20;1r2 'mc mf'=. x NB. mission complete/ fall 'x0 bc b0'=. y NB. P(A|B);P(A|B^c);P(B) PPOS=. b0 NB. P(B|A^c) ANS=. <'' NB. -------------------- for_ctr. i.3 do. PD=. +/(x0*PPOS),*/bc,1-PPOS NB. denominator RISK=. +/(PD * mc),(1-PD)*mf NB. risk PPOS=. (x0*PPOS) % PD NB. posterior prob. ANS=. ANS,< PPOS;PD ;_1 x: RISK end. ('';{@> i.>:3 ),.('believable';'pred/delay';'risk-%'),(b0;x0;'-') ,;("1),.}. ANS )