On considère un consommateur souhaitant utiliser de manière optimale sa richesse sur T périodes.
Sa richesse à l’instant t est notée wt et sa consommation sur la période [t,t + 1[ est notée ct. On
suppose que la richesse non consommée à l’instant t est investie dans un portefeuille financier de
rendement Rt ce qui donne la dynamique suivante:
(1)
Le bien-être du consommateur est représenté par la somme actualisée des utilités de ses
consommations successives et de la richesse finale:
où d
est un facteur d’actualisation et L(.) une fonction d’utilité.
2 Cas déterministe: rendement certain
On suppose tout d’abord que le portefeuille est constitué d’un actif sans risque ou de rendement
certain R:
Le
consommateur souhaite optimiser son bien-être soit
2.1 Solution analytique dans le cas exponentiel
On suppose maintenant que l’utilité est de type exponentielle
Que vaut la fonction valeur à l’instant final V (T,w) ?
Quelle est la relation de récurrence liant les fonctions valeurs V (t − 1,.) et V (t,.)?
Montrer que, si on dispose au temps t d’une richesse w, la consommation optimale c∗(t,w) et
la fonction valeur V (t,w) satisfont
(2)
où les paramètres at,bt,ft,γt sont définis par la récurrence
(3)
En déduire que les consommations optimales en boucle fermée ct∗ satisfont la
relation:
(4)
Donner alors des conditions sur d et R pour que les consommations optimales soient
croissantes dans le temps.
Que se passe-t-il en particulier si dR = 1 ?
2.2 Application numérique sous Scilab
Question 1Ouvrir un fichier nom_de_fichier.sceet y recopier les paramètres suivant.
Construire les vecteurs B et F donnés par l’équation (3).
//paramètres
Horizon=4;
R=1.1;// rendement certain
w0=10;// richesse initiale
d=0.8;// facteur d'actualisation// Construction de B et F
B(Horizon + 1)=1;
F(Horizon + 1)=0;
for t=Horizon : -1 : 1do
B(t)=R * B(t + 1) / (1 + R * B(t + 1));
F(t)=(-log(d * R) + F(t + 1)) / (1 + R * B(t + 1));
end;
Question 2Créer alors les vecteurs de richesses et consommations optimales Wopt et Copten utilisant la dynamique (1) et l’équation (2) du feedback.
Tracer trajectoire et décisions optimales en fonction du temps, à l’aide des commandesScilabplot et plot2d2.
// Consommation et richesse optimales
Wopt(1)=w0;
for t=1 : Horizon do
Copt(t)=B(t) * Wopt(t) + F(t);
Wopt(t + 1)=R * (Wopt(t) - Copt(t));
end;
// Affichage
xbasc();
plot(Copt);plot(Wopt);
Question 3Répéter l’opérationprécedente pour différentes valeurs du facteur d’actualisation d entre 0.5 et 1. Quel résultatretrouvez-vous ?
On retrouve le lien entre dR et la croissance de consommation.
Question 4Charger dynoptim et consulter le help. Définir la dynamique f et ses dérivéespartielles f_wpar rapport à l’état et f_cpar rapport à la commande. Faire de même avec lecoût instantané et le coût final. Écrire les contraintes sur les commandes.
exec"SCI/contrib/dynoptim-1.3/loader.sce"// salle élèves ENPC
exec("/home/s/scilab-contrib/dynoptim-1.2/loader.sce");
// CERMICShelp"dynoptim"//dynamiquefunction z=f(c,w,t) z=R * (w - c),endfunction;
function D=f_w(c,w,t) D=R,endfunction;
function D=f_c(c,w,t) D=-R,endfunction;
// contrainte controles
c_min=zeros(1,Horizon);
c_max=zeros(1,Horizon) + exp(100);
// Fonction utilitéfunction z=Utilite(x) z=1 - exp(-x),endfunction;
function D=DUtilite(x) D=1 * exp(-x),endfunction;
// cout intégralfunction z=L(c,w,t) z=-(d ^ t) * Utilite(c),endfunction;
function D=L_w(c,w,t) D=0,endfunction;
function D=L_c(c,w,t) D=-(d ^ t) * DUtilite(c),endfunction;
// cout finalfunction z=g(w,t) z=-(d ^ t) * Utilite(w),endfunction;
function D=g_w(w,t) D=-(d ^ t) * DUtilite(w),endfunction;
Question 5Choisir une richesse initiale w0. Initialiser l’algorithme d’optimisationdynamique dynoptim avec un vecteur c_init. Faire un appel à dynoptim et tracer lessolutions. Vérifier que les solutions coïncident avec celles des Questions précédentes.
Question 6Que constatez-vous en faisant varier le facteur d’actualisation d entre 0.5 et 1
?
On retrouve le lien entre dR et la croissance de consommation.
3 Cas aléatoire: rendement incertain
On suppose maintenant que le portefeuille de rendement Rt est constitué d’un actif risqué dont le
rendement est noté A et d’un actif sans risque de rendement B. On appelle αt la proportion d’actif
non risqué dans le portefeuille à la période t:
Pour
simplifier, on suppose que les variables aléatoires (At) sont indépendantes et de même
loi.
On suppose que le consommateur optimise l’espérance de la somme actualisée des utilités de
ses consommations successives et de la richesse finale :
où ct
et αt correspondent à une stratégie.
3.1 Le cas isoélastique
On suppose que L(x) = xγ.
Montrer que l’équation de Bellman s’écrit
(5)
où A est une variable aléatoire de même loi que la loi commune des (At).
Montrer, par récurrence, que la consommation optimale c∗(t,w), le portefeuille optimal α∗(t)
et la fonction valeur V (t,w) satisfont à
(6)
et
(7)
Donner l’équation de récurrence satisfaite par bt. On utilisera l’équivalent certain du
portefeuille optimal obtenu précédemment c’est à dire
(8)
et le terme
3.2 Application numérique Scilab
Question 7Ouvrir un fichier nom_de_fichier.sceet y recopier les paramètres suivants.Écrire une fonction Scilabutil pour la fonction d’utilité puissance xγ.
//paramètres puis=0.5; // exposant gamma de la fonction d'utilité Horizon=10; B=1.1; d=1/B; w0=10;
Question 8On suppose que le rendement risqué A suit une loi du type
Montrer alors que la solution de (7) est donnée par
Sous Scilab, choisir les paramètres suivants pour p,q,A+,A−. Calculer la proportion optimaled’actif non risqué α∗.
// Données sur la variable aléatoire A p=0.5; q=1-p; Aplus=1.3;Amoins=1;
Question 9Construire alors le vecteur b donné par l’équation (6) en utilisant l’équivalentcertain du portefeuille optimalet le paramètre a. On définira pour cela une fonctionScilabRopt qui à un rendement A associe le rendement optimal du portefeuille.
Question 10Écrire une fonction Scilabdyn-opt qui, à une richesse w et à une valeur Adu rendement risqué, associe la richesse au pas de temps suivant résultant de l’applicationde la commande optimale (c∗(t,w),α∗).
Pour cela, on écrira une fonction Scilabcons-opt qui, à une richesse w, associe laconsommation optimale c∗(t,w) en boucle fermée.
Question 11Écrire une procédure de simulation de la variable aléatoire A. Réfléchir à uneécriture vectorielle (plus rapide), sans test, utilisant la fonction Scilabsign.
Question 12À partir de w0, générer une trajectoire optimale stochastique w∗(t) derichesses. Tracer les trajectoires t(w∗(t),c∗(t)) pour une réalisation de A.
Question 13Écrire une procédure Scilab fournissant N réalisations des variablesaléatoires J(u∗(.)), w∗(t) et c∗(t). En déduire des valeurs approchées pour leur moyenne etvariance. Donner un histogramme de J(u∗(.)).