%% seemst to be missing material %% example 4.3.1 iRate = .04 n=10 x=30 v = 1/(1+iRate) iltable A=0 A(40) = 0 format long for k = 9:-1:0 k Aold = A(30+k+1) Anew = v*q(30+k) + v*(1-q(30+k))*Aold A(30+k) = Anew; end disp(['val for insurance ' num2str(A(30))]) %% example 4.4.1 iltable i = .06; v = 1/(1+i); delta = log(1+i); ratio = i/delta; % using exact expression (sum) A1_35_30 = 0; cohort = l(35); for k=0:(30-1) term = v^(k+1)*(l(35+k)/cohort)*q(35+k); tt(k+1) = term; A1_35_30 = A1_35_30 + term; end disp('actuarial present value 30-year term life insurance') A1_35_30 %% recursion A=0 A(65) = 0 format long xVal = 35 for k = 29:-1:0 Aold = A(xVal+k+1); Anew = v*q(xVal+k) + v*(1-q(xVal+k))*Aold; A(xVal+k) = Anew; end Arecursion = Anew A1_35_30-Arecursion nPx = l(65)/l(35); ApureEndowment = v^30*nPx ActPresVal = ratio*Arecursion + ApureEndowment %% example 4.4.2 iRate = .06 x=50 v = 1/(1+iRate) iltable DA = 0 format long for k = 0:4 kp50 = l(50+k)/l(50) q50pk = q(50+k) thisTerm = (5-k)*v^(k+1)*kp50*q50pk DA = DA + thisTerm end delta = log(1+i) ratio = i/delta DA = DA*ratio disp(['val for insurance ' num2str(DA)]) %% problem 4.14 iRate = .05 n = 25 v = 1/(1+iRate) % v = 1-iRate a=v/60 APV1 = a*(1-v^n)/(1-v) % second approach, from prob 4.6 a25 = (1-v^25)/iRate APV1a = (1/60)*a25 % endowment part APVendow = (v^25)*35/60 APV = APV1a+APVendow APV = APV1+APVendow %% 4.18 iRate = .06 v = 1+iRate q(40) = 2.7812; q(39) = 2.5982; q(38) = 2.4313; q(37) = 2.2791; q(36) = 2.1042; q(35) = 2.0136; q(34) = 1.8980; q(33) = 1.7927; q(32) = 1.6965; q(31) = 1.6089; q(30) = 1.5289; E0 = 10248.35 E1 = v*E0 - 100000*(q(30)/1000) E2 = v*E1 - 100000*(q(31)/1000) E3 = v*E2 - 100000*(q(32)/1000) E4 = v*E3 - 100000*(q(33)/1000) E5 = v*E4 - 100000*(q(34)/1000)