1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| proc iml ;
use tab.allocation ;
read all var _all_ into allocation ;
close tab.allocation ;
use tab.R ;
read all var {gestion Estimation_prime_annuelle} into R ;
close tab.R ;
Estimation_prime_annuelle =R [,2];
gestion=R[,1];
nb_adh=nrow(R) ;
vol_proj=j(nb_adh,40);
prime1=j(nb_adh,40); prime2=j(nb_adh,40); prime3=j(nb_adh,40); prime4=j(nb_adh,40); prime5=j(nb_adh,40); prime6=j(nb_adh,40); prime7=j(nb_adh,40); prime8=j(nb_adh,40); prime9=j(nb_adh,40); prime10=j(nb_adh,40);
prime11=j(nb_adh,40); prime12=j(nb_adh,40); prime13=j(nb_adh,40); prime14=j(nb_adh,40); prime15=j(nb_adh,40); prime16=j(nb_adh,40); prime17=j(nb_adh,40); prime18=j(nb_adh,40); prime19=j(nb_adh,40); prime20=j(nb_adh,40);
prime21=j(nb_adh,40); prime22=j(nb_adh,40); prime23=j(nb_adh,40); prime24=j(nb_adh,40); prime25=j(nb_adh,40); prime26=j(nb_adh,40); prime27=j(nb_adh,40); prime28=j(nb_adh,40); prime29=j(nb_adh,40); prime30=j(nb_adh,40);
prime31=j(nb_adh,40); prime32=j(nb_adh,40); prime33=j(nb_adh,40); prime34=j(nb_adh,40); prime35=j(nb_adh,40); prime36=j(nb_adh,40); prime37=j(nb_adh,40); prime38=j(nb_adh,40); prime39=j(nb_adh,40); prime40=j(nb_adh,40);
do z=1 to nb_adh ;
do k=2 to 40 ;
vol_proj[z,1]=allocation[age_proj[z,1]-19,gestion[z]+1];
do j=1 to 40 ;
if j < k then do ;
prime&j.[z,k]=0;
end ;
if j = k then do ;
prime&j.[z,k]=Estimation_prime_annuelle[z];
end ;
if j > k then do ;
to=max((1-0.15*vol_proj[z,k]),(1-.5*vol_proj[z,k]));
prime&j.[z,k]=Estimation_prime_annuelle[z]*to;
end ;
end ;
end ;
end ;
quit; |
Partager