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