%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% FILE: esim_sisi.m
%%
%% Sirpa Sijoittajalla on c euroa ylimaaraista rahaa.  Han pohdiskelee
%% seuraavien sijoitusvaihtoehtojen valilla:
%%
%% a1 = Sijoitetaan vahittaiskauppaan. (punainen)
%% a2 = Sijoitetaan vahittaiskaupan osto-optioihin. (tummanpunainen)
%% a3 = Sijoitetaan lentoyhtioihin. (vihrea)
%% a4 = Sijoitetaan lentoyhtioiden osto-optioihin. (tummanvihrea)
%%
%% Sirpa arvelee seuraavien skenaarioiden olevan keskeisia:
%%
%% s1 = Korona riehuu maailmalla valtoimenaan.
%% s2 = Korona on saatu kuriin, mutta talous on lamassa.
%% s3 = Korona on saatu kuriin ja taloudella menee hyvin.
%%
%% Sirpa arvelee, etta todennakoisyydet ovat
%%
%% p1 = p0.
%% p2 = q0.
%% p3 = q0.
%%
%% Tassa siis p0 on tuntematon parametri ja q0 = (1-p0)/2.
%%
%% Sirpa on odotetun hyodyn maksimoija "vara"-huotyfunktiolla, muttei ole varma
%% riskitoleranssistaan.
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Visualisointiin liittyvat laskut ja maaritykset
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% Sijoitettava rahamaara ja palkkiomatriisi
c = 100000;            
R = [ 1.8*c   0.5*c   1.1*c ;
      2.2*c   0.0*c   0.0*c ;
      0.4*c   1.2*c   3.0*c ;
      0.0*c   0.0*c   5.0*c ];
%% Palkkiomatriisi R on "sijoitusalan parhaiden asiantuntijoiden" nakemys.
      
%% Naytteiden lkm per parametri. Mita isompi N sita parempi kuva, mutta sita
%% kauemmin laskeminen kestaa.  Kun N=100 laskeminen kestaa noin 3 sekuntia ja
%% kun N=500 laskeminen kestaa noin minuutin.
N = 500;                                     
p0arvot = linspace(0,1,N);             %% p0:n naytteet
r0arvot = linspace(1, 10*c ,N);        %% r0:n naytteet

po.pmat = R;                          %% Ei riipu herkkyysparametreista
po.psaanto = "vara";                  %% Ei riipu herkkyysparametreista
z = zeros(N);                          %% Alustus (ei tarpeellista)

%% Optimivallinnat eri parametrin arvoilla
for i = 1:N
    for j = 1:N
        x = p0arvot(i);
        y = r0arvot(j);
        po.tn = [x (1-x)/2 (1-x)/2]'; 
        po.rtol = y;
        pr = pmatriisi(po);
        z(j,i) = pr.poptimi; 
    end      
end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Herkkyyskuvan piirto naytolle
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% otteistuspisteet
[xm,ym] = meshgrid(p0arvot,r0arvot);

%% Varitetty z:n ylakuva arvoille 1:4 = [1 2 3 4] otteistukselle xm,ym
contourf(xm,ym,z,1:4) 

%% Itse varit 
puna  = [1 0 0];
viher = [0 1 0];
colormap([puna; 0.5*puna; viher; 0.5*viher])

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Herkkyyskuvan piirto PDF-tiedostoon
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

orient("landscape");
ps = get(gcf, "papersize"); 
%ps(2) = 0.5*ps(2);
%set(gcf, 'papersize', ps);
br = -1.10;                         
set(gcf, "paperposition", [0.20*br, .25*br, ps(1)-0.40*br, ps(2)-.5*br]);
set(gca, "fontsize", 24);
print('sirpan_herkkyyskuva.pdf');


%% Itse varit 
puna  = [1 0 0];
viher = [0 1 0];
colormap([puna; 0.5*puna; viher; 0.5*viher])

