Equation d`Hamilton-Jacobi-Bellman - Laboratoire de Probabilités et

Transcription

Equation d`Hamilton-Jacobi-Bellman - Laboratoire de Probabilités et
Equation d’Hamilton-Jacobi-Bellman
Huyên PHAM
Laboratoire de Probabilités et
Modèles Aléatoires
CNRS, UMR 7599
Université Paris 7,
e-mail: [email protected]
CREST
et Institut Universitaire de France
November 9, 2007
Généralités : qu’est ce que HJB?
L’équation de Hamilton-Jacobi-Bellman (HJB en abréviation) est une équation résultant
de la méthode de la programmation dynamique initiée par Richard Bellman dans les années
50 pour résoudre des problèmes d’optimisation, c’est à dire des problèmes où l’on doit prendre les meilleures décisions possibles à chaque date pour un critère de performance donné.
L’équation de la programmation dynamique généralise les travaux antérieurs en mécanique
classique de William Hamilton et Carl Gustav Jacobi, et est usuellement appelée équation
d’Hamilton-Jacobi-Bellman en reconnaissance de la contribution de ces trois grandes personnalités scientifiques. Historiquement appliquée en ingénierie puis dans d’autres domaines
des mathématiques appliquées, l’équation d’HJB est devenue un outil important dans les
problèmes de décision intervenant en économie et finance.
Ce texte se propose de retracer l’histoire de cette équation et d’illustrer sur plusieurs
exemples, en particulier issus de la finance, les applications de la méthode de Bellman.
Richard Bellman et la genèse de la programmation dynamique
Durant l’été 1949, Richard Bellman, un jeune Professeur de 28 ans de Mathématiques à
l’université de Stanford, déjà reconnu pour ses travaux prometteurs en théorie des nombres,
fut engagé comme consultant chez RAND corporation, une institution de Recherche et
Développement fondée en 1945 par l’armée de l’air américaine. Il était intéressé par les
applications des mathématiques et on lui suggéra de travailler sur les processus de décision
à étapes multiples. A cette époque, la recherche en mathématiques n’était pas vraiment
appréciée au ministère de la défense et parmi les politiciens qui dirigeaient l’armée de
l’air, et la première tâche de Bellman fût de trouver à son travail un nom qui plairait à
ses supérieurs. Il choisit d’utiliser le mot “programmation” qui signifiait plus à l’époque
planification et ordonnancement que la programmation au sens informatique de nos jours.
Il le combina avec le terme “dynamique” pour évoquer l’idée d’évolution dans le temps. La
terminologie de “programmation dynamique” servit donc de parapluie à Richard Bellman
pour abriter ses activités de recherche chez la RAND corporation.
La programmation dynamique repose sur une technique que Bellman appela “principe
1
d’optimalité”. Ce principe général stipule que la solution d’un problème global peut être
obtenue en décomposant le problème en sous-problèmes plus simples à résoudre. Un exemple élémentaire, mais classique, est celui du calcul des plus courts chemins (ou chemins à
moindre coût) dans un graphe. Considérons un voyageur de commerce qui doit se rendre de
la ville A à la ville E en passant par plusieurs villes intermédiaires : les chemins possibles
sont modélisés par un graphe ayant A et E pour sommets initial et final, les autres sommets
sont les villes étapes, et les arêtes de ce graphe représentent les trajets intermédiaires. On
note S(M ) les successeurs de la ville M , et pour N ∈ S(M ), on notera τ (M, N ) le temps
ou le coût du parcours de M à N . On illustre le calcul du chemin optimal de A vers E sur
les données suivantes : S(A) = {B, B 0 }, τ (A, B) = 1 = τ (A, B 0 ), S(B) = {C, C 0 }, τ (B, C)
= 2, τ (B, C 0 ) = 1, S(B 0 ) = {C 0 , C 00 }, τ (B 0 , C 0 ) = 2, τ (B 0 , C 00 ) = 4, S(C) = {D}, τ (C, D)
= 1, S(C 0 ) = {D, D0 }, τ (C 0 , D) = 2, τ (C 0 , D0 ) = 1, S(C 00 ) = D0 , τ (C 00 , D0 ) = 1, S(D) =
S(D0 ) = {E}, τ (D, E) = 5, τ (D0 , E) = 2. Pour déterminer le ou les chemins optimaux, on
pourrait tous les essayer, mais il est plus judicieux d’utiliser la remarque suivante qui est à
la base du principe d’optimalité de la programmation dynamique :
Si un chemin optimal de A à E passe par M , alors il est encore optimal entre
M et E.
On introduit alors la fonction valeur V (M ) = “temps de parcours minimal entre M
et E”. Nous allons caculer V (M ), en partant de la fin puis en procédant par induction
récursive. On a d’abord :
V (D0 ) = 2,
V (D) = 5,
et on remonte aux villes précédentes par le principe de la programmation dynamique :
V (C) = τ (C, D) + V (D) = 6,
V (C 0 ) = min τ (C 0 , D) + V (D), τ (C 0 , D0 ) + V (D0 ) = 1 + V (D0 ) = 3
V (C 00 ) = τ (C 00 , D0 ) + V (D0 ) = 3.
On continue ainsi de suite pour obtenir :
V (B) = min τ (B, C) + V (C), τ (B, C 0 ) + V (C 0 ) = 1 + V (C 0 ) = 4
V (B 0 ) = min τ (B 0 , C 0 ) + V (C 0 ), τ (B 0 , C”) + V (C”) = 2 + V (C 0 ) = 5,
et finalement
V (A) = min τ (A, B) + V (B), τ (A, B 0 ) + V (B 0 ) = 1 + V (B) = 5.
Le temps de parcours minimal est donc de 5 et correspond au seul parcours ABC 0 D0 E.
Cet exemple élémentaire est instructif :
- la stratégie précédente se généralise aisément : on introduit les fonctions valeurs aux
différentes dates ou étapes intermédiaires, et on les calcule en partant de la fin puis par
induction récursive en utilisant le principe de la programmation dynamique.
- dans l’exemple précédent, on n’a pas essayé tous les chemins possibles mais seulement
les chemins optimaux à partir de M qui ont ici été tous déterminés. Ainsi, le raisonnement
précédent montre par exemple que si le voyageur de commerce s’égare en B 0 ( par lequel il
n’est pas optimal de passer en partant de A), alors par la suite, il sera optimal de passer
par C 0 D0 E.
2
Contrôle optimal et équation de Bellman
Alors qu’il étudiait le principe d’optimalité de la programmation dynamique, R. Bellman
commença à travailler sur la théorie du contrôle optimal. Ce domaine traite du problème
de trouver une stratégie de contrôle pour un système donné de manière à satisfaire un
critère d’optimalité faisant appel à une fonctionnelle de coût dépendant de variables d’état
et de contrôle. Par exemple, considérons une voiture parcourant une route vallonnée. La
question est de déterminer comment le conducteur doit rouler dans le but de minimiser la
durée totale du voyage. Ici, la stratégie de contrôle désigne la manière dont le conducteur
doit presser la pédale d’accélérateur ou de frein. Le système consiste à la fois de la voiture
et de la route, et le critère d’optimalité est la minimisation de la durée globale du parcours.
Les problèmes de contrôle incluent usuellement des contraintes auxiliaires. Dans le cas de
l’exemple considéré, il peut s’agir de la quantité d’essence qui est limitée, de vitesses limites,
etc ... Une fonctionnelle de coût est ici une expression mathématique donnant le temps de
trajet en fonction de la vitesse, de considérations géométriques de la route, etc ...
Jusqu’à cette époque, les problèmes de contrôles optimaux étaient analysés par les
techniques de calcul des variations. Historiquement, le calcul de variations s’est développé
depuis le 17ème siècle conjointement au développement de la physique et de la géométrie,
sous l’impulsion de grands noms parmi les mathématiciens des trois siècles passés : Euler, Lagrange, Hamilton, Jacobi ... R. Bellman observa que le traitement analytique des
problèmes de contrôle optimaux pouvait s’avérer très complexe, et de son point de vue, une
solution ne devait pas être seulement un ensemble d’équations mais une règle indiquant
ce que le contrôleur doit faire comme stratégie : Que fait-on si on se trouve dans telle
portion de l’espace et avec le temps restant? Il comprit alors ce que pouvait apporter la
programmation dynamique dans la résolution de problèmes de contrôles optimaux.
Un problème basique de contrôle optimal se décrit formellement comme suit. Nous
commençons la discussion en considérant une équation différentielle ordinaire (e.d.o.) de la
forme :
ẋ(t) = f (x(t)),
t ≥ 0,
où f est une fonction donnée, et l’inconnue est la fonction x(t) représentant l’évolution
dynamique de l’état d’un système. Supposons maintenant que la fonction f dépende de
paramètres de “contrôle” à valeurs dans un ensemble A ⊂ Rm . En choisissant une valeur
a ∈ A, on obtient la dynamique
ẋ(t) = f (x(t), a),
t ≥ 0,
représentant l’évolution du système quand le paramètre est constant fixé à la valeur a.
L’étape suivante de généralisation est de permettre de changer la valeur du paramètre au
fur et à mesure que le système évolue. On appelle ainsi un contrôle une fonction α : [0, +∞[
→ A, et pour chaque contrôle, on considère l’e.d.o :
ẋ(t) = f (x(t), α(t)),
t ≥ 0.
Notons que la solution de cette e.d.o. dépend du contrôle α et de la condition initiale.
L’objectif est de déterminer quel est le “meilleur” contrôle pour ce système. Pour cela,
il faut spécifier un critère. On définit usuellement une fonctionnelle de gain (ou de coût)
prenant en compte toute la trajectoire du système jusqu’à un horizon T et un coût terminal.
Ainsi, la fonctionnelle prend la forme :
Z T
J(α) =
L(x(t), α(t))dt + g(x(T )).
(1)
0
3
Les fonctions L et g sont données et sont appelées respectivement fonction de gains courants
et de gain terminal. Le problème est alors de trouver un contrôle α∗ qui maximise la
fonctionnelle J sur tous les contrôles α, et un tel contrôle α∗ est appelé optimal. Par
exemple, considérons un gérant d’une entreprise avec un bien de production. On note x(t)
le montant du bien produit à la date t. On suppose que le gérant peut consommer une
partie du bien de production et réinvestir le reste. En notant par α(t) la proportion du
bien réinvesti à la date t, la dynamique de x(t) est :
ẋ(t) = kα(t)x(t),
où k > 0 modélise le taux de croissance du réinvestissement. On suppose que le gérant
cherche à maximiser la consommation totale du bien de production jusqu’à un horizon T .
Dans ce cas, la fonctionnelle de gain est de la forme
Z T
J(α) =
(1 − α(t))x(t)dt.
0
La dérivation de l’équation de Bellman pour un problème de contrôle optimal s’effectue
ensuite selon les étapes suivantes. On définit la fonction valeur associée, i.e. la valeur de
la fonction objectif lorsque le système se trouve à l’état x à la date t et qu’une stratégie
optimale est suivie depuis cette période. On applique le principe de la programmation
dynamique qui se base ici sur le principe “philosophique” raisonnable qu’il vaut mieux
être intelligent depuis le début que d’être stupide pendant un certain temps et intelligent
ensuite. Ceci se traduit en termes mathématiques dans le cadre d’un problème de contrôle
optimal en stipulant que si un contrôle est optimal entre t et T pour la condition initiale
x, alors il est aussi optimal entre t + h et T , avec la condition initiale x(t + h) à la date
t + h > t. Pour le problème (1), on a la relation suivante sur la fonction valeur v entre deux
dates t et t + h :
h Z t+h
i
v(t, x) = max
L(x(s), α(s))ds + v(t + h, x(t + h)) .
α
t
En étudiant le comportement de la fonction valeur entre deux dates proches, i.e. en faisant
tendre h vers 0 dans la relation ci-dessus de la programmation dynamique, on obtient que
la fonction v(t, x) satisfait une équation aux dérivées partielles (EDP) de premier ordre
appelée équation d’Hamilton-Jacobi-Bellman :
h
i
∂v
∂v
+ max f (x, a).
+ L(x, a) = 0,
(HJB)
a∈A
∂t
∂x
à laquelle on ajoute une condition terminale : v(T, x) = g(x), qui stipule qu’à l’horizon
du problème, le meilleur profit possible est donné par le gain terminal. Nous indiquons
comment utiliser cette EDP pour la résolution du problème de contrôle optimal. On cherche
d’abord à trouver une solution v à l’EDP d’HJB. On calcule alors une commande optimale
en feedback en considérant pour chaque date t et état du système x : a∗ (t, x) = a ∈ A une
valeur du paramètre qui atteint le maximum dans (HJB), i.e. tel que :
∂v
∂v
(t, x) + f (x, a∗ (t, x)). (t, x) + L(x, a∗ (t, x)) = 0,
∂t
∂x
On résoud l’edo pour la dynamique de la variable d’état associée à cette commande feedback :
ẋ(t) = f (x(t), a∗ (t, x(t))),
4
t ≥ 0.
Finalement, on définit le contrôle
α∗ (t) = a∗ (t, x(t)),
dont on montre que c’est un contrôle optimal pour (1). Il est dit en forme feedback car il
ne dépend que de l’état instantané du système et non pas du passé.
Dans le cadre décrit ci-dessus, l’état du système est complétement déterminé par la
dynamique f et le contrôle. On parle de problème de contrôle déterministe. Dans de nombreuses situations, les systèmes dynamiques sont perturbées par des évènements aléatoires.
C’est typiquement le cas sur les marchés financiers où l’observation empirique montre que
les actifs ne sont pas déterminés de manière certaine par leur histoire. Plusieurs éléments
n’appartenant pas à l’historique modifient le cours des actifs. On représente souvent l’aléa
par un mouvement Brownien W , et les systèmes dynamiques sont modélisés par des processus de diffusion sur lesquels on peut agir au moyen de variables de contrôle. Il s’agit
de problèmes de contrôle stochastique, et dans ce cas la méthode de la programmation
dynamique conduit à une équation d’HJB du second ordre faisant intervenir les dérivées
secondes de la fonction valeur par rapport à la variable d’état.
Quelques applications célèbres d’HJB en finance
La première et plus célèbre application financière de l’équation de Bellman est le problème
d’allocation de portefeuille introduit dans un article de 1973 par Robert Merton, prix Nobel
d’économie en 1997. Dans ce problème, un agent peut investir à toute date t une fraction
1 − α(t) de sa richesse x(t) dans le compte d’épargne de taux d’intérêt r et une fraction
α(t) dans une action dont le prix évolue selon le modèle de Black-Scholes : le rendement
de l’action est constant égal à b et la volatilité est constante égale à σ. L’objectif de
l’investisseur est de déterminer quelle est la meilleure stratégie d’allocation de portfeuille
afin de maximiser sur un horizon T l’utilité de sa richesse terminale. L’utilité de l’agent
est représentée par une fonction U croissante (plus on est riche, plus on est content!) et
concave. La concavité de la fonction d’utilité modélise l’aversion au risque de l’agent, c’est
à dire que celui-ci préfèrera recevoir avec certitude un gain, par exemple de 500 euros plutôt
qu’une loterie pile ou face de 1000 euros ou rien. L’équation d’HJB associée à ce problème
de contrôle stochastique s’écrit :
h
∂v
∂v
1
∂2v i
+ max (a(b − r) + r)x
+ a2 σ 2 x2 2
= 0,
a∈R
∂t
∂x 2
∂x
avec la condition terminale v(T, x) = U (x). Le cas d’une fonction d’utilité puissance de la
forme U (x) = xp avec 0 < p < 1, est souvent considéré dans la littérature financière : 1 − p
mesurant le degré d’aversion au risque de l’agent, avec le cas limite p = 1 où celui-ci est dit
neutre au risque. Dans le cas particulier d’une telle fonction d’utilité, l’EDP d’HJB admet
une solution explicite :
v(t, x) = ϕ(t)xp ,
avec
ϕ(t) = exp(λ(T − t)),
λ = rp +
(b − r)2 p
,
2σ 2 1 − p
et le contrôle optimal feedback est :
α∗ (t) =
b−r
.
σ 2 (1 − p)
5
(2)
Ainsi, la stratégie optimale de Merton est d’investir à toute date t une fraction constante
de sa richesse dans l’action. Cette fraction constante donnée par (2) s’exprime en fonction
du rapport entre le rendement net b − r de l’action par rapport au taux d’intérêt, sur la
volatilité σ 2 de l’action, pondérée par le degré d’aversion 1 − p au risque de l’investisseur.
Bien que ce modèle soit trop simple pour être en totale adéquation avec les réalités des
marchés financiers, les travaux de Robert Merton ont ouvert la voie et montré la puissance
des outils du contrôle stochastique et de l’équation de Bellman pour étendre les résultats
standard d’allocation de portefeuille sur les modèles à une période à un cadre de gestion
dynamique dans le temps. Une importante généralisation du modèle de Merton est la prise
en compte des coûts de transactions. En effet, en pratique, lorsqu’un investisseur passe un
ordre pour acheter ou vendre une action, le courtier lui prélève des frais de transaction.
Ceci signifie que le prix d’achat d’une action est supérieur à son prix de vente, et on parle
usuellement de fourchette bid-ask. Dans ce contexte plus réaliste de marché financier, le
problème d’allocation de portefeuille peut s’étudier aussi par la méthode de la programmation dynamique et conduit à une équation d’HJB, qui bien que n’admettant pas de solution
explicite, permet de dégager des propriétés qualitatives intéressantes. On a vu que dans
le cadre du problème classique de Merton sans coûts de transactions, la stratégie optimale
d’allocation de portefeuille est de maintenir la fraction de sa richesse en action égale à
une constante. Cette constante est usuellement appelée ligne de Merton. Dans le cas de
coûts de transaction proportionnels, la stratégie optimale est de maintenir la fraction de
richesse dans une bande autour de la ligne de Merton, et dès que cette fraction touche le
bord de cette bande, d’acheter ou de vendre de l’action pour rester dans cette bande. Cette
bande est appelée région de non transaction. Il est à noter que par rapport au problème
de Merton, la solution n’est pas explicite : la région de non transaction est déterminée en
fonction de la fonction valeur solution de l’équation d’HJB, mais on ne sait pas la résoudre
explicitement. On doit avoir recours à des méthodes numériques.
Un autre cadre important d’application en finance de la méthode de Bellman concerne
le problème de valorisation des options américaines. Par rapport à une option européenne,
une option américaine donne le droit à son détenteur d’exercer son option à toute date
avant la maturité. Rappelons que le prix d’un put européen sur une action de prix S, de
prix d’exercice K et de maturité T peut s’exprimer au moyen d’une équation aux dérivées
partielles comme suit dans le modèle de Black-Scholes de volatilité σ et avec un taux
d’intérêt r : en notant ve (t, x) son prix à la date t lorsque le sous-jacent vaut St = x, on
a:
∂ve
∂ve 1 2 2 ∂ 2 ve
+ rx
+ σ x
− rve = 0,
∂t
∂x
2
∂x2
(3)
avec la condition terminale ve (T, x) = (K − x)+ = max(K − x, 0). C’est l’EDP dite de
Black-Scholes historiquement obtenue par ses auteurs dans leur célèbre article de 1973 qui
a valu à Myron Scholes le prix Nobel d’économie en 1997 conjointement avec R. Merton
(Fischer Black est décédé en 1995). Dans le contexte d’une option américaine, le principe
d’optimalité de la programmation dynamique se formule ainsi : à chaque date t, le détenteur
peut soit exercer son option auquel cas, il recevra (K − x)+ , soit décider de continuer à
garder son option en espérant que la valeur prise soit supérieure à l’exercice immédiat de
l’option. Ce principe s’énonce mathématiquement par une EDP d’HJB satisfaite par le prix
va (t, x) de l’option américaine :
i
h ∂v
∂va 1 2 2 ∂ 2 va
a
+ rx
+ σ x
−
rv
,
(K
−
x)
−
v
(t,
x)
= 0,
(4)
max
a
+
a
∂t
∂x
2
∂x2
6
avec la condition terminale va (T, x) = (K − x)+ . Ici, le maximum entre les deux termes
de HJB traduit le choix optimal à faire à toute date entre l’exercice immédiat ou non de
l’option : on reconnait dans le premier terme de (4) les dérivées partielles intervenant dans
l’EDP de l’option européenne lorsqu’on n’exerce pas son droit, alors que le deuxième terme
fait apparaitre le payoff (K − x)+ du put correspondant à l’exercice immédiat. Contrairement à l’EDP linéaire (3) de Black-Scholes, l’EDP (4) n’admet pas de solution explicite, et
il existe de nombreuses méthodes numériques d’approximation du prix du put américain.
Conclusion et perspectives de développements
Les travaux de Richard Bellman initiés dans les années 50 ont bouleversé l’approche de
résolution pour les problèmes de décision optimale. Historiquement utilisés en recherche
opérationnelle et en ingénierie, la méthodologie de Bellman a trouvé depuis la révolution
Black-Scholes, de nouvelles et fructueuses voies d’application en économie et finance, et a
par ailleurs inspiré de nouveaux développements mathématiques en étroite liaison avec les
pratiques bancaires. La quantification des risques financiers est un enjeu majeur dans le
monde professionnel et monde académique, et le contrôle stochastique et les équations de
Bellman sont devenus des outils incontournables dans la gestion de plus en plus complexe
de ces risques. Dans ce contexte, l’utilisation de méthodes numériques performantes pour
résoudre les équations de Bellman constitue un défi important pour le développement des
marchés financiers.
7