fim702: lecture 5

21
Mod´ elisation de strat´ egies en finance de march´ e Alexander Surkov Valeur ` a risque Bootstrap Monte-Carlo Mod´ elisation de strat´ egies en finance de march´ e eance 10 : Estimation de la V` aR Alexander Surkov, CFA, FRM, PRM, PhD [email protected] Facult´ e d’Administration Universit´ e de Sherbrooke Le 16 mars 2016

Upload: alexandersurkov

Post on 15-Apr-2017

290 views

Category:

Economy & Finance


0 download

TRANSCRIPT

Page 1: FIM702: lecture 5

Modelisation destrategies en

finance de marche

Alexander Surkov

Valeur a risque

Bootstrap

Monte-CarloModelisation de strategies en finance de

marcheSeance 10 : Estimation de la VaR

Alexander Surkov, CFA, FRM, PRM, [email protected]

Faculte d’AdministrationUniversite de Sherbrooke

Le 16 mars 2016

Page 2: FIM702: lecture 5

Modelisation destrategies en

finance de marche

Alexander Surkov

Valeur a risque

Bootstrap

Monte-Carlo

Table de matiere

Valeur a risqueSimulation historique filtreeMethode de Monte-Carlo de l’estimation de VaR

Page 3: FIM702: lecture 5

Modelisation destrategies en

finance de marche

Alexander Surkov

Valeur a risque

Bootstrap

Monte-Carlo

Table de matiere

Valeur a risqueSimulation historique filtreeMethode de Monte-Carlo de l’estimation de VaR

Page 4: FIM702: lecture 5

Modelisation destrategies en

finance de marche

Alexander Surkov

Valeur a risque

Bootstrap

Monte-Carlo

Simulation par la methode de bootstrap (1)

I L’emploie de l’exposant d’echelle introduit l’imprecision.

I Estimer un modele GARCH, disons GARCH(1, 1) :

σ2t = ω + αr2

t−1 + βσ2t−1

I Predire la variance :

σ2t+1 = ω + αr2

t + βσ2t

I Tirer un r des rendements historiques standardises :

rt =rtσt

Page 5: FIM702: lecture 5

Modelisation destrategies en

finance de marche

Alexander Surkov

Valeur a risque

Bootstrap

Monte-Carlo

Simulation par la methode de bootstrap (2)

I Simulerrt+1 = σt+1r

I Continuer avec de nouveaux r pour l’horizon requis :

σ2t+i+1 = ω + αr2

t+i + βσ2t+i , rt+i = σt+i r

I Calculer le rendement compose

I Repeter pour calculer le quantile desire

Page 6: FIM702: lecture 5

Modelisation destrategies en

finance de marche

Alexander Surkov

Valeur a risque

Bootstrap

Monte-Carlo

Bootstrap en Matlab

Mdl = garch(1,1);

eMdl = estimate(Mdl, rts);

V = infer(eMdl, rts);

tilde_r = rts ./ sqrt(V);

rep = 2500; % simulations

T = 10; % jours

N = length(rts); % dispo pour le tirage

tirage = tilde_r( unidrnd(N, T, rep) );

[V_sim, r_sim] = filter( eMdl, tirage, ...

’Z0’, tilde_r(end), ’V0’, V(end) );

r_cum = sum( r_sim, 1 );

VaR = - quantile( r_cum, alpha );

Page 7: FIM702: lecture 5

Modelisation destrategies en

finance de marche

Alexander Surkov

Valeur a risque

Bootstrap

Monte-Carlo

Exemple : bootstrap pour le rendement TSX

2 4 6 8 10−5

0

5

Rnd

mnt

2 4 6 8 100.5

1

1.5

Ec.

type

t, jours

Page 8: FIM702: lecture 5

Modelisation destrategies en

finance de marche

Alexander Surkov

Valeur a risque

Bootstrap

Monte-Carlo

Bootstrap : conclusion

I Pour le portefeuille, les rendements standardises tirespour tous les facteurs de risque doivent correspondre aumeme t pour refleter les correlations empiriques.

I Pour cela, il faut utiliser le meme ensemble des indicesaleatoires unidrnd(N, T, rep) pour tous les facteursde risque impliques.

I Pour plus d’information, voirI Alexander, Carol, Market Risk Analysis : Vol. 4,

Value-at-risk models, John Wiley & Sons, Ltd., 2008.I http://www.mathworks.com/help/econ/examples/

using-bootstrapping-and-filtered-historical-

simulation-to-evaluate-market-risk.html

Page 9: FIM702: lecture 5

Modelisation destrategies en

finance de marche

Alexander Surkov

Valeur a risque

Bootstrap

Monte-Carlo

Table de matiere

Valeur a risqueSimulation historique filtreeMethode de Monte-Carlo de l’estimation de VaR

Page 10: FIM702: lecture 5

Modelisation destrategies en

finance de marche

Alexander Surkov

Valeur a risque

Bootstrap

Monte-Carlo

Simulation par la methode de Monte-Carlo

I L’historique peut etre insuffisant ou limite par leschangements structurels.

I La VaR lineaire n’est pas suffisamment precise.I Construire des modeles pour les facteurs de risque

I distribution multivariee (normale ou une autre),I modeles GARCH etc.

I Simuler un nombre suffisant de trajectoires pour lesfacteurs de risque selon les modeles choisis pourl’horizon desire

I Calculer les rendements pour le portefeuille en utilisantles � mappages � permettant une reevaluationcomplete selon chacune des trajectoires simulees

I Calculer le quantile desire du rendement

Page 11: FIM702: lecture 5

Modelisation destrategies en

finance de marche

Alexander Surkov

Valeur a risque

Bootstrap

Monte-Carlo

Monte-Carlo en Matlab : TSX

Mdl = garch(1,1);

eMdl = estimate(Mdl, rts);

V = infer(eMdl, rts);

rep = 2500; % trajectoires

T = 10; % jours

[V_sim, r_sim] = simulate( eMdl, T, ...

’NumPaths’, rep, ...

’E0’, rts(end)/sqrt( V(end) ), ’V0’, V(end) );

r_cum = sum( r_sim, 1 );

VaR = - quantile( r_cum, alpha );

Page 12: FIM702: lecture 5

Modelisation destrategies en

finance de marche

Alexander Surkov

Valeur a risque

Bootstrap

Monte-Carlo

Monte-Carlo en Matlab : portefeuille (1)

% fr : 1 - RBC, 2 - taux 5 ans, 3 - taux $/$US

dfr = [ fr( 2:end, 1 ) ./ fr( 1:(end-1),1 )-1 ...

fr( 2:end, 2:3 ) - fr( 1:(end-1), 2:3 ) ];

sigma = nancov(dfr);

V0 = Vprtf( fr(end, :) );

% Mappages

function v = Vprtf(f)

v = f(1)*50 + ...

50*100 * f(3) /(1 + f(2) / 100 )^T + ...

300 * f(3);

end

Page 13: FIM702: lecture 5

Modelisation destrategies en

finance de marche

Alexander Surkov

Valeur a risque

Bootstrap

Monte-Carlo

Monte-Carlo en Matlab : portefeuille (2)

for i=1:2500 % simulations

R = mvnrnd( zeros(3,1), sigma, 10 );

fr_sim = zeros(1,3);

fr_sim(1) = prod( 1+R(:, 1) ) * fr(end, 1);

fr_sim(2:3) = sum( R(:, 2:3) ) + fr(end, 2:3);

% profits et pertes

dV(i) = Vprtf( fr_sim ) - V0;

end

alpha = 0.01;

VaR = -quantile(dV, alpha);

Page 14: FIM702: lecture 5

Modelisation destrategies en

finance de marche

Alexander Surkov

Valeur a risque

Bootstrap

Monte-Carlo

L’estimateur de quantile (1)

I S’il y a N observations i.i.d. R1, . . . ,RN , pour estimer lequantile qα = F−1

R (α), on peut utiliser la statistiqued’ordre qα = R([nα]).

I Considerons une variable aleatoire YN(q)

YN(q) =1

N

N∑i=1

1Ri≤q, 1Ri≤q ≡{

1, Ri ≤ q0, Ri > q

E1Ri≤q = FR(q), V1Ri≤q = FR(q) [1− FR(q)]

I Notons qu’asymptotiquement,

YN

{R([nα])

}≈ FR

{R([nα])

}= FR(qα)

Page 15: FIM702: lecture 5

Modelisation destrategies en

finance de marche

Alexander Surkov

Valeur a risque

Bootstrap

Monte-Carlo

L’estimateur de quantile (2)

I Selon le theoreme central limite, asymptotiquement

YN(q) ∼ N{FR(q),

FR(q) [1− FR(q)]

N

}I Selon la methode � delta �, si YN(q) ∼ N

(µ, σ2

),

pour une fonction monotone g(·), asymptotiquement

g [YN(q)] ∼ N{g(µ), σ2

[g ′(µ)

]2}I Prenons g(y) = F−1

R (y), g ′(y) = 1/fR[F−1R (y)

]:

FR [YN(q)] ∼ N{q,

FR(q) [1− FR(q)]

Nf 2R (q)

}or pour quantile

qα ∼ N[qα,

α(1− α)

Nf 2R (qα)

]

Page 16: FIM702: lecture 5

Modelisation destrategies en

finance de marche

Alexander Surkov

Valeur a risque

Bootstrap

Monte-Carlo

Precision de la simulation de Monte-Carlo

I Si la precision exigee est p (en %)

1.96

fR(qα)

√α(1− α)

N≤ p|qα|

le nombre minimal de simulations est

Nmin =1.962α(1− α)

[p|qα|fR(qα)]2

I Si α = 0.01, la loi est normale et p = 5% :

q0.01 = −2.33, fR(q0.01) = 0.0267, Nmin ≈ 4 · 103

Page 17: FIM702: lecture 5

Modelisation destrategies en

finance de marche

Alexander Surkov

Valeur a risque

Bootstrap

Monte-Carlo

Precision de la simulation de Monte-Carlo

-2.6 -2.5 -2.4 -2.3 -2.2 -2.1Quantile, , =0.01

0

20

40

60

80

Nom

bre

d'est

imat

ions,

N=

4000

Page 18: FIM702: lecture 5

Modelisation destrategies en

finance de marche

Alexander Surkov

Valeur a risque

Bootstrap

Monte-Carlo

Echantillonnage preferentielI L’idee est de remplacer la distribution a la base de

simulation de Monte-Carlo par une autre, biaisee poursouligner les valeurs d’interet :

P (L > x) =

+∞∫x

fL(L) dL =

+∞∫x

fL(L)

g(L)g(L) dL

I La loi biaisee peut etre decalee, avoir une matrice decorrelation differente ou une toute autre forme.

I Exemple : si les rendements sont distribues selon la loinormale standard N (0, 1), on peut choisir

g(L) : L ∼ N (2, 1) ,fL(L)

g(L)= e−L

2/2+(L−a)2/2

I Dans un cas multivarie, la matrice de correlation peutetre ajustee pour accentuer des combinaisons defacteurs de risque qui influencent le plus le rendementdu portefeuille.

Page 19: FIM702: lecture 5

Modelisation destrategies en

finance de marche

Alexander Surkov

Valeur a risque

Bootstrap

Monte-Carlo

Exemple : echantillonnage preferentiel

-6 -4 -2 0 2 4Rendement, r

0

0.1

0.2

0.3

0.4

PD

F

fR(r)

g(r)

Page 20: FIM702: lecture 5

Modelisation destrategies en

finance de marche

Alexander Surkov

Valeur a risque

Bootstrap

Monte-Carlo

Example : echantillonnage preferentiel

1.8 2 2.2 2.4 2.6 2.8Quantile, , =0.01

0

20

40

60

80

100

120

Nom

bre

d'est

imat

ions,

N=

1000

q1

q2

Page 21: FIM702: lecture 5

Modelisation destrategies en

finance de marche

Alexander Surkov

Valeur a risque

Bootstrap

Monte-Carlo

Echantillonnage preferentiel en Matlab

Nest = 500; Nsim = 1000; alpha = 0.01; a = -2;

for i = 1:Nest

x = normrnd( 0,1, Nsim, 1 );

q1(i) = - quantile(x,alpha);

y = normrnd( a, 1, Nsim, 1 );

y = sort(y);

prb = cumsum( 1/Nsim * exp( - y .^2 /2 +...

( y - a ) .^2 /2 ) );

[~,idx] = max( prb > alpha );

p2 = prb( idx );

p1 = prb( idx - 1 );

q2(i) = - ( y( idx ) * ( alpha - p1 ) +...

y( idx-1 ) * ( p2 - alpha ) ) / ( p2-p1 );

end