Optimisation Financière: Cours M2 MIAGE
Optimisation Financière: Cours M2 MIAGE
Clément W. Royer
• Historique du document
• Objectifs d’apprentissage
– Comprendre les caractéristiques des modèles d’optimisation les plus classiques en finance.
– Connaı̂tre les grands principes derrière la résolution de ces modèles et les informations à
en tirer.
– Étudier des exemples de problèmes en finance et leur modélisation via des outils d’optimisation.
Sommaire
1 Introduction à l’optimisation 6
1.1 Définition et contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.1 Problème et processus d’optimisation . . . . . . . . . . . . . . . . . . . . . 6
1.1.2 Le contexte de la finance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Logiciels et optimisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Bases de l’optimisation mathématique . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.1 Formulation générale et premières définitions . . . . . . . . . . . . . . . . . 8
1.4 Conclusion du chapitre 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2
Optimisation en finance - 2022/2023 3
Le but de ce cours est de présenter les classes de problème d’optimisation les plus utilisés en finance,
et les algorithmes associés à leur résolution. Il se veut découpé en plusieurs parties suivant le
déroulement des séances de cours.
Ce cours n’est pas un cours de mathématiques, mais il repose sur plusieurs concepts élémentaires
d’algèbre linéaire et de calcul différentiel. Ceux-ci ne seront pas rappelés en détail en cours, mais
sont en revanche détaillés en annexe de ce polycopié. De même, les notations cruciales du polycopié
sont décrites ci-après.
4
Optimisation en finance - 2022/2023 5
Notations
• Les scalaires seront représentés par des lettres minuscules : a, b, c, α, β, γ.
• Les vecteurs seront représentés par des lettres minuscules en gras : a, b, c, α, β, γ.
• Les lettres majuscules en gras seront utilisées pour les matrices : A, B, C.
• Les lettres majuscules cursives seront utilisées pour les ensembles : A, B, C.
• La définition d’une nouvelle quantité ou d’un nouvel opérateur sera indiquée par :=.
• L’ensemble des entiers naturels sera noté N, l’ensemble des entiers relatifs sera noté Z.
• L’ensemble des réels sera noté R. L’ensemble des réels positifs sera noté R+ et l’ensemble des
réels strictement positifs sera noté R++ .
• On notera Rn l’ensemble des vecteurs à n composantes réelles, et on considèrera toujours que
n est un entier supérieur ou égal à 1.
• Un vecteur x ∈ Rn sera pensé (par convention) comme un vecteur colonne.
On notera xi ∈ R
x1
n ..
sa i-ème coordonnée dans la base canonique de R . On aura ainsi x = . . Étant donné
xn
un vecteur (colonne) x ∈ R , le vecteur ligne correspondant sera noté xT . On aura donc
n
xT = [x1 · · · xn ] et [xT ]T = x.
• Le produit scalaire entre deux vecteurs de Rn est défini√par xT v = v T x = di=1 xi vi . On
P
• Pour une matrice A = [Aij ] ∈ Rm×n , la matrice transposée de A, notée AT , est la matrice
de Rn×m telle que
∀i = 1 . . . m, ∀j = 1 . . . n, AT
ji = Aij .
Introduction à l’optimisation
Le but de ce cours est d’étudier les problèmes d’optimisation issus de la science des données,
ainsi que les algorithmes qui leur sont appliqués. Le concept d’optimisation existe bien au-delà
de l’apprentissage, mais il est particulièrement important pour ce dernier. De nombreuses tâches
d’apprentissage peuvent en effet être formulées comme des problèmes d’optimisation, et ceux-ci
peuvent être résolus efficacement par des algorithmes modernes. Ce chapitre présente les principes
de base derrière la formulation et l’étude (à la fois mathématique et algorithmique) d’un problème
d’optimisation.
Définition 1.1.1 Un problème d’optimisation mathématique est formé par les trois éléments suiv-
ants.
• Une fonction objectif : il s’agit du critère qui permet de quantifier la qualité d’une décision.
Selon le cas, une meilleure décision peut signifier une valeur de l’objectif plus faible (auquel cas
on aura affaire à un problème de minimisation) ou plus élevée (il s’agira alors d’un problème
de maximisation).
• Des variables de décision : ce sont les différents choix qu’il est possible d’effectuer, dont la
valeur influence celle de la fonction objectif. On cherche les meilleures valeurs de ces variables
relativement à l’objectif.
• Des contraintes : celles-ci spécifient des conditions qui doivent être satisfaites par les variables
de décision pour que les valeurs correspondantes soient acceptables.
Tout processus d’optimisation passe nécessairement par une phase de modélisation, durant
laquelle on transforme un problème concret en objet mathématique que l’on peut essayer de résoudre.
Pour cela, on se base sur des algorithmes d’optimisation qui, bien que pouvant être formulés à la
main, ont généralement vocation à être implémentés sur un ordinateur. Lorsque l’algorithme appliqué
6
Optimisation en finance - 2022/2023 7
au problème renvoie une réponse, celle-ci doit être examinée pour savoir si elle fournit une solution
satisfaisante au problème : au besoin, le modèle pourra être modifié, et l’algorithme ré-executé.
En pratique, le processus d’optimisation peut donc boucler après une phase d’interprétation ou de
discussion avec des experts du domaine d’application dont le problème est issu.
• Il n’y a pas d’algorithme universel : certaines méthodes seront très efficaces sur certains types
de problèmes, et peu efficaces sur d’autres. L’étude de la structure du problème facilite le
choix d’un algorithme.
• Il peut y avoir un fort écart entre la théorie et la pratique : le calcul en précision finie peut
induire des erreurs d’arrondis qui conduisent à une performance en-deçà de celle prévue par la
théorie mathématique.
• La théorie guide la pratique, et vice-versa : pour la plupart des problèmes, il est possible de
définir des expressions mathématiques qui permettent de vérifier si l’on a trouvé une solution
du problème. Celles-ci sont à la base de nombreux algorithmes que nous étudierons. De
manière générale, l’étude théorique d’un problème permet des avancées garanties qui surpassent
souvent les heuristiques. Réciproquement, la performance de certaines méthodes a amené les
chercheurs en optimisation à en proposer une étude théorique, permettant ainsi d’expliquer le
comportement pratique.
Gestion des risques Durant la dernière décennie et suite à la crise dite des subprimes de 2007-2008,
la règlementation sur les niveaux de risques autorisés dans les milieux financiers a considérablement
évolué. Les opérations financières sont aujourd’hui exécutées En termes d’optimisation, on con-
sidèrera ainsi des problèmes sous contraintes de niveau de risque, tels que la maximisation du retour
sur investissement.
Gestion des actifs (assets) et des dettes (liabilities) La modélisation de valeurs d’actifs ou de
dettes prend en compte l’aléatoire sous-jacent au marché. En termes d’optimisation, on obtient ainsi
des problèmes d’optimisation stochastique, où le caractère aléatoire est modélisé par l’introduction
de variables aléatoires dont la valeur évolue sur une ou plusieurs périodes.
En finance Dans le contexte de la finance, le recours aux tableurs est prépondérant, ce qui a conduit
au développement de solveurs en tant qu’outil interne aux tableurs. C’est ainsi que Microsoft Excel,
LibreOffice Calc et Google Sheets possèdent des solveurs, notamment de programmation linéaire.
Si certains sont disponibles gratuitement (open source), le solveur le plus abouti (Microsoft Excel
Solver) requiert une licence d’exploitation1
D’autres outils plus bas niveau ont également été développés, parfois avec un spectre plus large
d’applications. Le logiciel MATLAB (propriétaire) dispose ainsi d’une boı̂te à outils de finance très
fournie, qui comporte notamment des algorithmes d’optimisation. On s’intéressera dans ce cours à
la bibliothèque cvxpy, développée à l’origine à l’université de Stanford (États-Unis), et qui dispose
de nombreux outils pour résoudre les problèmes de programmation convexe.
où minimiser représente ce que l’on cherche à faire (on peut vouloir minimiser ou maximiser), x ∈ Rn
est un vecteur regroupant les variables de décision du problème, f : Rn → R est la fonction objectif
qui mesure la qualité des décisions, et X ⊂ Rn est l’ensemble des points réalisables ou admissibles,
qui vérifient les contraintes posées sur les variables de décision. 2
Définition 1.3.2 i) La valeur minimale (ou le minimum) du problème (1.3.1) est notée :
min {f (x)s. c. x ∈ X } . (1.3.2)
x∈Rn
Lorsque le problème possède une solution, la valeur minimale est la valeur de f en toute solution,
et cette valeur est finie. Lorsque le problème est irréalisable, on pose par convention
min {f (x)s. c. x ∈ X } = +∞.
x∈Rn
1
Il est à noter que si un compte passeport Dauphine permet d’accèder à Microsoft Excel, il ne donne pas l’autorisation
d’installer des extensions, et donc ne permet pas l’utilisation de Solver.
2
L’abbréviation s.c. signifie “sous la/les contrainte(s)”; en anglais, on utilise s.t., pour subject to.
Optimisation en finance - 2022/2023 9
Enfin, si le problème est réalisable mais qu’il n’existe pas de solution, on aura
min {f (x)s. c. x ∈ X } = −∞,
x∈Rn
qu’on appelle argument minimal (ou argmin) du problème. C’est un sous-ensemble de Rn (et
de X ) : il s’agit de l’ensemble des points de X qui donnent la valeur minimale de f . Il est vide
si le problème est irréalisable ou réalisable et non borné.
Remarque 1.3.1 Le problème (1.3.1) n’admet pas forcément de solution (prendre par exemple
d = 1, F = R et f (w) = w) : dans ce cas, l’argument minimal est l’ensemble vide, et la valeur
minimale est −∞.
On définit de la même manière que précédemment les problèmes de maximisation ainsi que les
opérateurs argmax et max. Dans ce cours, on se concentrera sur les problèmes de minimisation,
utilisant en cela la propriété ci-dessous.
Proposition 1.3.1 Pour toute fonction f : Rn → R et tout ensemble F ⊂ Rn , résoudre le problème
de maximisation
maximiser
n
f (x) s. c. x ∈ F
x∈R
équivaut à résoudre le problème de minimisation
minimiser
n
−f (x) s. c. x ∈ F,
x∈R
Tout problème de maximisation se ramène donc à un problème de minimisation via une re-
formulation. Nous verrons d’autres exemples de reformulation, qui est une technique très utilisée
pour transformer un problème en un autre problème équivalent mais que l’on saura mieux traiter
théoriquement et/ou algorithmiquement.
Dans la majorité de ce cours, et notamment dans le reste de ce chapitre, on se concentrera sur
des problèmes d’optimisation sans contraintes pour en caractériser plus précisément les solutions.
Dans ce chapitre, nous nous intéressons aux problèmes de programmation linéaire. Le développement
algorithmique lié à la résolution de ces problèmes, dû notamment à George Dantzig dans les années
1960, a conduit à des avancées majeures dans de nombreux domaines d’application, dont la finance.
Les programmes linéaires forment une classe bien comprise de problèmes d’optimisation qui perme-
ttent à la fois de modéliser de nombreux problèmes concrets et également de les résoudre avec des
algorithmes efficaces, même en présence d’un très grand nombre de variables.
minimiserx∈Rn cT x
s.c. Ax = b
Dx ≥ f .
minimiserx∈Rn cT x
s.c. Ax = b
x ≥ 0,
où les contraintes d’intervalle x ≥ 0 peuvent porter seulement sur un sous-ensemble des coordonnées
de x.
Tout programme linéaire peut se mettre sous forme standard en introduisant des variables
supplémentaires. Par exemple, la contrainte x1 ≥ 1 peut se réécrire comme
x1 − s1 = 1, s1 ≥ 0.
10
Optimisation en finance - 2022/2023 11
Exemple 2.1.1 (Allocation de fonds (Cornuéjols et al. 2018)) On considère un ensemble de qua-
tre fonds d’investissement ayant les propriétés suivantes:
Fonds Fonds 1 Fonds 2 Fonds 3 Fonds 4
Part capitalisation haute 50% 30% 25% 60%
Part capitalisation moyenne 30% 10% 40% 20%
Part capitalisation basse 20% 60% 35% 20%
Retour sur investissement 10% 15% 16% 8%
On suppose que l’on ne peut investir que positivement dans un fonds ( long-only positions), et on
cherche l’allocation qui maximise le retour sur investissement.
Pour modéliser cet exemple via un programme linéaire, on commence par identifier les variables :
on définit ainsi x ∈ R4 , où xi correspond à l’investissement dans le fond i (exprimé en k¤). On
obtient ainsi le problème de maximisation suivant
Le problème (2.1.1) n’est pas en forme standard, mais peut être converti sous cette forme en
utilisant la procédure décrite plus haut. Il possède trois contraintes d’inégalité linéaires, une contrainte
d’égalité linéaire et quatre contraintes de positivité concaténées sous la forme x ≥ 0.
minimiserx∈Rn cT x
s.c. Ax = b (P)
x ≥ 0,
Les vecteurs y ∗ et s∗ sont les multiplicateurs de Lagrange associés aux contraintes d’égalité et
de positivité. En optimisation, on les appelle variables duales.
Remarque 2.2.1 En finance, les variables duales associées à une contrainte linéaire sont appelées
des shadow prices, ou prix fictifs. Dans le cas d’une contrainte de positivité, le multiplicateur associé
sera appelé un coût réduit.
Définition 2.2.1 (Problème dual) Le problème dual de (P) est donné par
bT y
maximisery∈Rm
s∈Rn
s.c. AT y + s = c (D)
s ≥ 0.
L’intérêt de formuler le problème dual réside dans le lien intrinsèque entre ces deux problèmes
comme suit.
Théorème 2.2.3 (Théorème des alternatives) Soient A ∈ Rm×n et b ∈ Rm . Alors, les alterna-
tives suivantes sont mutuellement exclusives :
En plus de résultats sur le caractère réalisable ou non borné des problèmes, on peut aussi lier les
solutions de chaque problème.
Théorème 2.2.4 (Dualité faible) Pour tout (y, s) admissible pour (D) et tout x admissible pour
(P), on a bT y ≤ cT x.
Théorème 2.2.5 (Dualité forte) Si les deux problèmes sont réalisables, alors il existe (x∗ , y ∗ , s∗ )
tel que :
• x∗ est solution de (P);
• (y ∗ , s∗ ) est solution de (D);
• (x∗ , y ∗ , s∗ ) vérifie (KKT );
• bT y ∗ = cT x∗ .
Pour résoudre un problème linéaire, on peut donc chercher à la fois une solution primale de (P)
ainsi qu’une solution duale de (D) en résolvant (KKT-Lin).
Théorème 2.2.6 Soit y une variable dual associée à une contrainte d’un programme linéaire. Alors,
pour tout ∆ suffisamment petit en valeur absolue, un changement de second membre dans la con-
trainte de ∆ induit un changement de valeur optimale de y · ∆.
Ainsi, la valeur absolue d’un multiplicateur permet de juger de la sensibilité du problème par
rapport à une contrainte. Dans le cas où y = 0, par exemple, on sait que la solution ne changera pas
si l’on perturbe un peu la contrainte : cela signifie en général que cette contrainte n’est pas critique
pour calculer la solution.
Remarque 2.2.2 En règle générale, l’intervalle de valeurs ∆ pour lesquelles le résultat du théorème 2.2.6
s’applique n’est pas connu. Cependant, dans le cadre de la programmation linéaire et notamment
des algorithmes de type simplexe, il est possible de quantifier ce ∆.
Une interprétation plus générale de la sensibilité est fournie ci-dessous. On se place comme dans
la section précédente dans le cadre d’un programme linéaire en forme standard.
Définition 2.2.2 (Problèmes perturbés) Partant du problème (P) (sous l’hypothèse 2.2.1), on
définit pour tous u ∈ Rm et v ∈ Rn :
p(u, v) := minn cT x Ax = b + u, x ≥ ‘v .
(2.2.1)
x∈R
Théorème 2.2.7 Si (y ∗ , s∗ ) sont les variables duales du problème de départ, alors pour tous u et
v, on a
p(u, v) ≥ p(0, 0) + (y ∗ )T u + (s∗ )T v. (2.2.2)
En finance, le résultat du théorème 2.2.7 s’interprète comme le fait que chaque variable duale
(ou multiplicateur) représente un prix d’équilibre pour la ressource représentée par la contrainte.
Cela permet d’identifier les effets positifs ou négatifs d’agir sur la contrainte. A titre d’exemple,
notons que si s∗i 1 et vi > 0, alors l’équation 2.2.2 indique que la valeur optimale du problème
augmentera si l’on requier xi ≥ vi au lieu de xi ≥ 0, ce qui semble logique car on réduit ici l’ensemble
des contraintes.
On décrit ci-après les deux grandes catégories de méthodes qui visent à résoudre ces conditions
d’optimalité de manière itérative.
Théorème 2.3.1 On considère le problème (P) et son dual sous l’hypothèse 2.2.1. Alors, il existe
une partition B ∪ N = {1, . . . , n} telle que
i) |B| = m;
Optimisation en finance - 2022/2023 15
et x∗N = 0.
−1
Dans ce cas, une solution duale du problème est donnée par y ∗ = AT
B cB .
L’ensemble B, qui caractérise un ensemble de contraintes, est appelé une base du problème.
L’algorithme du simplexe décrit une manière algorithmique de parcourir l’ensemble des sommets
du polyèdre en recherchant la base dans laquelle la solution optimale doit être exprimée. Ce processus
termine nécessairement après un nombre fini d’itérations, mais celui-ci peut être très grand si le
nombre de contraintes est important.
Principe général L’algorithme commence par déterminer une base B telle que les propriétés i) et
ii) du théorème 2.3.1 soient vérifiées. Si le vecteur x associé vérifie x ≥ 0, on parle alors de solution
basique (même s’il ne s’agit pas forcément de la solution optimale, il s’agit d’un point réalisable). Il
s’agit ensuite de regarder le vecteur
c̄ = c − AT A−T
B cB ,
qui correspond aux variables duales s dans les conditions de KKT. Si les coordonnées de ce vecteur
sont positives ou nulles, alors on a obtenu une solution optimale. Sinon, cela signifie qu’il existe un
indice de colonne j 6∈ B tel que c̄j < 0 et
cT x − αA−1 T
B aj < c x
pour tout α > 0. Cette propriété signifie que l’on ne dispose pas de la bonne base B, et qu’il en
existe une meilleure contenant j : l’algorithme du simplexe explique comment échanger j avec un
élément de la base.
Variante duale Le principe de méthode du simplexe décrit plus haut est un principe primal, qui
se base essentiellement sur le calcul d’une solution primale x ∈ Rn . Il existe également des variantes
duales, dans lesquelles on calcule (y, s) tels que AT y + s = 0, s ≥ 0, Ax = b et xi si = 0 pour
tout i = 1, . . . , n.
Implémentation L’algorithme du simplexe est notamment utilisé dans l’extension Solver de Mi-
crosoft Excel. Ce solveur fournit une analyse de sensibilité détaillée, avec notamment un intervalle
(plus ou moins interprétable) de valeurs dans lequel l’approximation via les multiplicateurs décrite
dans le théorème 2.2.6 est valide. Le solveur de LibreOffice/OpenOffice Calc est également un solveur
de type simplexe, ce qui se reconnaı̂t notamment par rapport à la saturation des contraintes en la
valeur renvoyée. De même, Google Solve et OpenSolver (accessibles dans Google Sheets) se basent
sur le même genre de techniques, sans pour autant fournir de marges de validité des multiplicateurs.
Enfin, le solveur HIGHS, qui est maintenant l’algorithme par défaut de simplexe dans la bibliothèque
SciPy, est lui aussi basé sur une approche de simplexe.
16 Optimisation en finance - 2022/2023
Principe Un algorithme de points intérieurs part des conditions de KKT (KKT-Lin) et considère
des points dans l’intérieur de l’ensemble réalisable, c’est-à-dire des triplets de la forme (x, y, s) tels
que
Ax = b, AT y + s = c, x > 0, y > 0.
Un tel triplet est dit primal-dual admissible, car il vérifie les contraintes du problème primal et celles
du problème dual. En revanche, il ne vérifie pas la dernière condition d’optimalité de (KKT-Lin), car
xi si > 0 pour tout i. On pose alors
n
X xi s i
µ= , (2.3.2)
n
i=1
qui représente une certaine distance entre le point calculé et une solution des conditions de KKT.
Le but d’une méthode de points intérieurs est de calculer une suite de triplets telle que la valeur de
µ tende vers 0, et ainsi de devenir de plus en plus proche d’un point optimal. En pratique, on peut
calculer pour tout µ > 0 une solution vérifiant les conditions souhaitées en trouvant (x, y, s) tels
que xi > 0 et si > 0 pour tout i, et le triplet est solution du système linéaire
Ax = b
T
A y+s = c
XSe = µe, (2.3.3)
où X et S sont deux matrices diagonales donc les coefficients diagonaux sont ceux des vecteurs x
et s, respectivement, et e ∈ Rn est le vecteur dont toutes les coordonnées valent 1. On peut ainsi
calculer ce type de triplet pour des valeurs décroissantes de µ : c’est ce que font les approches de
points intérieures dites primales-duales.
La théorie des points intérieurs est extrêment riche en résultats, en particulier pour des pro-
grammes linéaires. Le succès originel des points intérieurs réside dans l’obtention de garanties de
convergence en temps polynomial vers une solution approchée du problème (qui dépend de la valeur
du paramètre µ défini en (2.3.2)). Ce type de résultat contraste avec ceux existants pour le simplexe,
où le temps de calcul peut être exponentiel pour atteindre la solution.
Exemple 2.4.1 Supposons que l’euro s’échange à 0,9 dollar, et que le dollar s’échange à 1,22 euro.
Dans ce cas, pour tout euro échangé en dollar et à nouveau en euro, on obtiendrait 1,098 euro, soit
un bénéfice.
Dans cette section, on s’intéresse à la détection d’opportunités d’arbitrage lorsque l’on considère
un ensemble arbitraire de devises.
• xij : quantité de devise i échangée en devise j, que l’on souhaitera toujours positive ou nulle
(on s’attend notamment à ce que xii = 0);
Lorsque yk > 0 pour une devise k donnée, on a une opportunité d’arbitrage. Notre objectif consiste
donc à définir un ensemble de transactions (c’est-à-dire de valeurs pour {xij }ij et, par là-même, de
valeurs pour {yk }k ) telles que l’une des quantités de devise après transaction soit positive. Dans
ce qui suit, on se concentrera sur l’existence d’un arbitrage pour la devise 1, et on cherchera donc
{xij }ij tels que y1 > 0.
Une première modélisation consiste à maximiser la valeur de y1 , ce qui conduit au problème
maximiser{xij },{yk } y1
s.c. yk = ni=1 aik xik − nj=1 xkj k = 1, . . . , n
P P
yk ≥ 0 k = 1, . . . , n
≥ 0 i, j = 1, . . . , n.
xij
(2.4.1)
Si ce problème est un programme linéaire presque en forme standard (il faudrait minimiser plutôt
que maximiser, ce que l’on peut faire en minimisant −y1 ), il n’est pas pour autant bien posé. En
effet, s’il existe effectivement une opportunité d’arbitrage pour la devise 1, alors il existe un point
18 Optimisation en finance - 2022/2023
admissible à ce problème avec y1 > 0. Il en existe même une infinité, et pour tout choix des {xij }
qui conduit à un bénéfice de y1 , alors le choix {λxij } où λ > 1 conduit à λy1 > y1 . Par conséquent,
le problème est non borné. Un remède à cela consiste simplement à imposer une borne sur y1 , qui
sera une valeur cible pour l’arbitrage. En choisissant cette valeur cible comme étant égale à 1, on
obtient
maximiser{xij },{yk } y1
s.c. yk = ni=1 aik xik − nj=1 xkj k = 1, . . . , n
P P
y1 ≤1
y ≥ 0 k = 1, . . . , n
k
≥ 0 i, j = 1, . . . , n.
xij
(2.4.2)
La résolution du programme linéaire (2.4.2) conduit aux deux cas suivants : soit il n’y a pas d’arbitrage
possible, auquel cas la valeur optimale du problème est 0, et xij = yk = 0 pour tous i, j, k, soit il y
a un arbitrage possible, et on aura alors y1 = 1.
sm1 (ωj )
Le résultat du théorème 2.4.1 peut s’écrire comme un théorème des alternatives similaire au
théorème 2.2.3 de la manière suivante :
i) Soit il existe x ∈ Rn solution du système
avec x > 0;
ii) Soit il existe y ∈ Rm tel que
0 6= [S − s0 ]T y ≥ 0.
Ce type de condition n’est pas un problème d’optimisation linéaire, mais est en revanche considéré
comme un programme linéaire (résoudre un système d’inégalités et d’égalités linéaires). De fait, en
introduisant une fonction objectif constante, il serait possible d’écrire les conditions ci-dessus comme
contraintes d’un programme linéaire.
2.6 Exercices
Exercice 1 : Gestion actifs-passifs
Dans cet exercice, on s’intéresse aux problèmes dits de gestion actifs-passifs1 , que l’on
peut modéliser par des programmes linéaires en supposant que le seul risque inhérent
au problème réside dans les taux d’intérêt. On souhaite construire un portefeuille qui
génère suffisamment de liquidités pour couvrir des besoins (passifs) sur une période de
m années consécutives. On note `i > 0 le besoin en liquidités pour l’année i.
On suppose que le portefeuille peut être construit à partir de n obligations ayant chacune
un prix unitaire et qui génèrent un flot de liquidités sur la période des m années. On
notera Fij le flot de liquidités généré par l’obligation j en l’an i.
Année 1 2 ··· m
Obligation Prix unitaire
B1 F11 F21 ··· Fm1 p1
.. .. .. .. .. ..
. . . . . .
Bn F1n F2n ··· Fmn pn
1
Ou asset and liability management (ALM) en anglais.
20 Optimisation en finance - 2022/2023
On souhaite déterminer le portefeuille de coût minimal parmi ceux pouvant couvrir les
besoins en liquidités sur les m années. On supposera qu’on construit le portefeuille à
partir de quantités d’obligations non négatives.
Formuler le problème comme un programme linéaire selon les trois manières suivantes :
a) en supposant que le flot de liquidités à l’année i doit a minima couvrir les besoins
sur l’année `i , et en utilisant des contraintes d’inégalité linéaires. Justifier le choix
des inégalités linéaires par rapport aux égalités linéaires.
b) en supposant que le flot de liquidités à l’année i doit a minima couvrir les besoins
sur l’année `i , et en mettant le problème sous forme standard;
c) en supposant qu’un surplus de liquidités peut être reportés d’une année sur l’autre,
et en restant en forme standard.
où p est le vecteur de prix qui concatène p1 , . . . , pn . En termes de contrainte, on sait d’après l’énoncé
que l’on cherche à avoir xi ≥ 0 pour tout i = 1, . . . , n.
a) Pour cette première modélisation, on cherche à couvrir les besoins en liquidité sur chaque année
uniquement avec les liquidités obtenues durant cette période. Pour chaque année i, cela s’exprime
par la contrainte
Xn
Fij xj ≥ `i .
j=1
Il est à noter que formuler cette contrainte comme une contrainte d’égalité linéaire n’est pas
souhaitable, car cela pourrait conduire à ce que le problème soit irréalisable. Au final, on obtient le
problème
minimiserx∈Rn pT x
s.c. F T x ≥ `, i = 1, . . . , m (2.6.1)
x ≥ 0,
où F ∈ Rn×m est la matrice des Fij (flots de liquidités) et ` = [`i ] ∈ Rn est le vecteur des besoins.
b) Pour mettre le problème en forme standard, on transforme les contraintes d’inégalité en con-
traintes d’égalité en rajoutant des variables d’écart. On obtient ainsi
minimiser x∈Rn pT x
s∈Rm
s.c. F T x − s = `
(2.6.2)
x ≥ 0
s ≥ 0.
Optimisation en finance - 2022/2023 21
par
n
X
Fij xi − sj + sj−1 = `j
i=1
où L > 0 est un niveau de levier fixé. Cette contrainte est non linéaire en les variables
xj du fait de l’utilisation de l’opérateur min.
Solution de l’exercice 2
a) On introduit le vecteur z ∈ Rn dont les composantes sont données par zj = min{xj , 0}. Ce
vecteur vérifie bien le système (2.6.4) dès lors que x vérifie (2.6.3).
2
Par abus de langage, on considèrera qu’un tel système est en forme standard si un programme linéaire avec de
telles contraintes le serait.
22 Optimisation en finance - 2022/2023
b) Pour reformuler le système en forme standard, on introduit 2n+1 variables auxiliaires s ∈ R2n+1
qui seront contraintes d’être positives ou nulles. On obtient ainsi le système suivant :
Pn
j=1 zj − s1 = −L
zj + sj+1 = xj j = 1, . . . , n
z j + s j+n+1 = 0 j = 1, . . . , n
s ≥ 0,
Dans ce chapitre, on cherche à étendre les résultats du chapitre précédent au cas où la fonction
objectif n’est plus linéaire mais quadratique en les variables de décision. Comme on le verra, il est
possible de développer une théorie de la dualité ainsi que des algorithmes similaires à ceux utilisés
pour la programmation linéaire. On s’intéressera tout particulièrement au modèle de Markowitz, qui
conduit à des programmes quadratiques spécifiques.
minimiserx∈Rn 21 xT Hx + g T x
s.c. Ax = b (3.1.1)
x ≥ 0,
où les contraintes d’intervalle x ≥ 0 peuvent porter seulement sur un sous-ensemble des coordonnées
de x.
En général, une modélisation en programme quadratique est faite de sorte à satisfaire l’hypothèse
ci-dessous.
Un cas particulier de programme quadratique, très important dans la pratique, est décrit dans
l’exemple ci-dessous.
23
24 Optimisation en finance - 2022/2023
Méthodes de contraintes actives (active set) Ces méthodes peuvent être vues comme une
extension de l’algorithme du simplexe à la programmation quadratique. Ces méthodes cherchent à
déterminer l’ensemble des contraintes actives en la solution, c’est-à-dire les contraintes d’inégalité
qui sont satisfaites avec égalité en la solution. Dans le cas d’un programme quadratique en forme
standard pour lequel la solution est x∗ , on dira que la contrainte xi ≥ 0 est active en x∗ si x∗i = 0.
Une contrainte inactive (pour laquelle x∗i > 0) peut être ignorée pour déterminer la solution.
La méthode des contraintes actives utilise à chaque itération un ensemble d’indices Ik ⊂ {1, . . . , n},
et résout le problème
minimiserx∈Rn 12 xT Hx + g T x
s.c. Ax = b (3.2.1)
xi = 0 i ∈ Ik .
Optimisation en finance - 2022/2023 25
Points intérieurs Les approches de points intérieurs pour la programmation quadratique procèdent
de manière identique à celles pour la programmation linéaire. Pour un problème en forme standard
tel que (3.1.1), il s’agit toujours de calculer une suite (xk , y k , sk ) telle que xk > 0 et sk > 0, et de
réduire la valeur de xT k sk progressivement. La valeur des prochains itérés est toujours calculée via
les deux premières conditions de KKT, exprimées comme un système linéaire en les variables.
Remarque 3.2.2 Les solveurs de points intérieurs pour la programmation quadratique sont utilisés
dans différentes bibliothèques Python, dont SciPy et cvxpy.
Pour terminer cette section, on notera que de nombreux solveurs sont capables d’exploiter une
structure particulière d’un programme quadratique. Par exemple, les problèmes aux moindres carrés
linéaires (cf l’exemple 3.1.1) bénéficient souvent de solveurs dédiés. La librairie cvxpy choisit au-
tomatiquement l’algorithme adapté à la structure du problème considéré.
vn,0
et on cherche à définir un portefeuille en prévision de l’instant t, pour lequel les prix seront les
v1,t
composantes d’un vecteur aléatoire v t = ... . La décision de la construction du portefeuille est
vn,t
prise à l’instant t0 , alors que v t est inconnu. On suppose que l’on connaı̂t néanmoins des statistiques
sur le vecteur v t , de sorte à pouvoir optimiser une certaine mesure de qualité du portefeuille.
Mathématiquement, on note h ∈ Rn les différentes quantités d’actifs qui composent le porte-
feuille choisi. Les valeurs du portefeuille à t0 et à t correspondent à
w0 = v T
0 h et w = vT
t h.
En pratique, plutôt que de raisonner sur w et w0 , on raisonne sur les retours sur investissements,
définis via la normalisation suivante :
vi,t − vi,0 n
w − w0
rp = , r = ri = .
w0 vi,0 i=1
26 Optimisation en finance - 2022/2023
Par ailleurs, plutôt que de considèrer les quantités d’actifs h, on raisonne sur les pourcentages d’actifs
présents dans le portefeuille, que l’on concatène sous la forme d’un vecteur x ∈ Rn avec
hi vi,0
xi = ∈ [0, 1].
w0
Par construction, on a alors ni=1 xi = 1. De plus, lorsque l’on souhaite maximiser la valeur w = v T h
P
du portefeuille, cela revient à maximiser
w − w0 (v − v 0 )T h
rp = = = r T x,
w0 w0
On se demande alors quels problèmes d’optimisation peuvent être définis si l’on ne connaı̂t que
des statistiques sur le vecteur r (et donc sur les valeurs à venir des actifs), et à quel genre de
portefeuille on aboutit en résolvant ces problèmes
• les moyennes {µi = E [ri ]}i=1,...,n , ou retours sur investissement moyens (par rapport à v 0 );
a) Calcul de portefeuille de risque minimal avec retour moyen sur investissement garanti :
minimiserx∈Rn 12 xT V x
s.c. µT x ≥ µ̄ (3.3.1)
eT x = 1,
où σ 2 borne le niveau de risque souhaité. Ce problème possède un objectif linéaire et des con-
traintes dont l’une est quadratique. Il ne s’agit pas d’un programme quadratique1
c) Approche de Markowitz
maximiserx∈Rn µT x − γ2 xT V x
(3.3.3)
eT x = 1,
où γ > 0 est un paramètre de pénalité qui permet de contrôler le poids du terme en −xT V x
dans la maximisation en l’introduisant dans l’objectif et non via une contrainte.
On notera que la dernière formulation (3.3.3) est équivalente au programme quadratique en forme
standard :
minimiserx∈Rn γ2 xT V x − µT x
(3.3.4)
eT x = 1.
La formulation (3.3.4) est un outil de base de calcul de portefeuille qui prend en compte un risque.
La valeur de γ représente un compromis entre le retour moyen sur investissement µT x et la volatilité
xT V x. Lorsque γ tend vers 0, on tend à minimiser −µT x, et donc à maximiser uniquement le
retour moyen sur investissement; à l’inverse, lorsque γ tend vers ∞, on tend à minimiser xT V x
uniquement, et donc à rechercher un portefeuille de risque minimal (cf Section 3.5).
Plus globalement, les modèles définis plus haut peuvent être liés, comme le montre le résultat
suivant.
Proposition 3.3.1 Sous les définitions de cette section, on suppose que V est inversible et que la
T V −1 e
quantité µ̄ utilisée dans la formulation (3.3.4) vérifie µ̄ > µeT V ∗
−1 . Alors, si x est une solution de
e
2 ∗
la formulation (3.3.4), il existe σ et γ (qui dépendent de µ̄) tels que x est également une solution
des formulations (3.3.3) et (3.3.3).
Ce raisonnement s’applique aux trois formulations considérées, ainsi qu’à la formulation (3.3.4).
V −1 e
possède une unique solution x∗ = eT V −1 e
qui vérifie les conditions de KKT
V x∗ + ey ∗ = 0
eT x∗ = 1
V −1 e
xR =
eT V −1 e
et s’appelle le portefeuille de risque minimum.
Dans le cadre du problème (3.3.4), on montre de manière similaire qu’il existe deux solutions du
problème particulières :
Le résultat suivant permet de lier ces portefeuilles particuliers aux autres solutions.
Théorème 3.3.1 (Two-fund theorem) Toute solution du problème (3.3.4) avec V inversible est
une combinaison des portefeuilles de risque minimum et tangent. Pour toute solution x∗ , il existe
ainsi α ∈ R tel que x∗ = αxR + (1 − α)xT .
3.5 Exercices
Exercice 3 : Allocation à volatilité minimale
On considère un problème d’allocation de portefeuille sur trois actifs désignés par 1, 2, 3
dont le rendement est une variable aléatoire. On définit les quantités suivantes :
• σij est la corrélation entre les actifs i et j pour tout couple (i, j) ∈ {1, 2, 3}2 , avec
σii = 1 pour tout i = 1, 2, 3;
• C = [σij ] ∈ R3×3 est la matrice des corrélations;
• σi2 est la variance de l’actif i, et σi son écart-type;
Optimisation en finance - 2022/2023 29
3 3
1 T 1X XX
x Vx= Vii x2i + Vij xi xj .
2 2
i=1 i=1 j6=i
Le premier terme de la somme combine les variances relatives aux investissements dans
un actif, tandis que le second représente le risque dû aux corrélations entre actifs. Le
but de cet exercice est de trouver un portefeuille de risque minimal.
Solution de l’exercice 3
a) Le problème s’écrit
minimiserx∈R3 12 xT V x
s.c. x1 + x2 + x3 = 1
x ≥ 0.
minimiserx∈R3 12 xT V x
s.c. x1 + x2 + x3 = 1.
L’ensemble admissible de ce problème contient (strictement) celui du problème écrit en question a).
Par conséquent, la valeur optimale de ce second problème est au moins aussi bonne que celle du
premier problème. Comme on s’autorise plus de liberté dans le choix des xi , on s’attend à ce que la
valeur optimale soit strictement meilleure, et c’est ce que l’on observe ici numériquement.
2
Cf les sources associées.
30 Optimisation en finance - 2022/2023
Solution de l’exercice 4
1
a) On utilise le changement de variable z = αx, qui donne x = α z. En remplaçant les x dans
l’expression de (3.5.1), on obtient :
1 T
maximiserz∈Rn r αµ z
1 T 1
α∈R
αz V αz
1 T
s.c. alpha e z =1
µT z = 1
α > 0,
Optimisation en finance - 2022/2023 31
où les deux dernières contraintes proviennent de la définition même de z et α. En simplifiant les α
dans la valeur de l’objectif, et en exploitant la contrainte µT z = 1, on aboutit à
maximiserz∈Rn √ 1
α∈R zT V z
s.c. T
e z−α =0
µT z = 1
α > 0,
b) D’après l’indication donnée dans la question, on sait que le problème obtenu en fin de question
a) est équivalent à
minimiserz∈Rn z T V z
α∈R
s.c. eT z − α = 0
µT z = 1
α > 0,
Il suffit ensuite de transformer la contrainte α > 0 en α ≥ 0 comme demandé par l’énoncé pour
arriver à (3.5.2).
c) Il s’agit d’utiliser les conditions de KKT pour obtenir une formule explicite pour α∗ et z ∗ en
fonction de celle de x∗ . On tire tout d’abord de la contrainte µT z ∗ = 1 le fait que
1 eT V −1 µ
α∗ = = .
µT x∗ µT V −1 µ
En utilisant cette formule dans la définition de z ∗ = α∗ x∗ , il vient
eT V −1 µ ∗ eT V −1 µ V −1 µ V −1 µ
z∗ = x = = .
µT V −1 µ µT V −1 µ eT V −1 µ µT V −1 µ
Il est ensuite aisé de vérifier algébriquement que les conditions de KKT sont vérifiées pour ces valeurs.
Chapitre 4
Dans les chapitres précédents, nous avons soit négligé l’aléatoire en nous concentrant sur le rendement
en moyenne (cf chapitre 2), soit pris en compte cet aléatoire au travers de quantités statistiques
(rendement moyen et volatilité, cf chapitre 3 et plus particulièrement la section 3.3).
Dans ce chapitre, on va s’intéresser à des formulations dans lesquelles l’aléatoire est présent. On
présente tout d’abord un cadre général, en restant sur les formulations en deux temps, puis on décrit
une technique de résolution dans le cadre de l’approche par scénarios. On parle enfin de mesures de
risque, et de la façon dont elles généralisent les concepts déjà entrevus.
32
Optimisation en finance - 2022/2023 33
où f : Rn → R est une fonction déterministe et Q : Rn × Ω → R est une fonction dite de recours
donnée par la solution d’un problème d’optimisation :
miny(ω)∈Rm g(y(ω), ω)
Q(vx, ω) := (4.1.3)
s. c. y(ω) ∈ Y(x, ω).
Le vecteur y(ω) représente la décision prise au temps t = 1, qui dépend de la valeur de la variable
aléatoire ω. Cette décision vise à minimiser une fonction de coût g : Rm × Ω → R sur un ensemble
Y(x, ω) ⊂ Rm . Cet ensemble contient toute dépendance de y(ω) vis-à-vis de x.
Dans le langage de la programmation stochastique, le problème (4.1.2) s’appelle également un
programme stochastique en deux temps (two-phase stochastic programming ). La décision de
recours (ou dans un second temps) y(ω) est fixe dès lors que la variable ω a été observée et que x
est fixé.
Remarque 4.1.1 Les notions présentées dans ce chapitre se généralisent sur des temps multiples
(on parle en anglais de multistage stochastic programming). Dans ce cours, on se contentera du cas
plus simple de la programmation en deux temps, qui illustre déjà les défis de modélisation.
Exemple 4.1.1 (Problème de distribution) On achète une quantité x ≥ 0 d’un bien pour répondre
à une demande future incertaine. On considère que le coût d’achat à t = 0 par unité vaut cu , que le
coût d’achat à t = 1 (en cas de stock insuffisant) est de cp > cu et que le coût de stockage à t = 1
(en cas de surplus) est de cs . Si d > 0 est la valeur incertaine de la demande à t = 1, le coût final
de l’achat de quantité x est
avec Q(x, d) = cp max(d − x, 0) + cs max(x − d, 0). Cette quantité peut s’interpréter comme la
solution d’un programme linéaire
minimiserx∈R Ed [cu x + cp y + cs z]
y∈R
z∈R
s. c. x + y ≥ d
−x + z ≥ −d
x, y, z ≥ 0.
La structure très particulière du problème (4.2.1) va faciliter sa résolution. En effet, à x fixé, les
y k peuvent être calculés indépendamment en résolvant k programmes linéaires. C’est le principe de
la méthode décrite dans la section suivante.
minimiserx∈Rn cT x + K
P
k=1 Pk (x)
s.c. Ax = b (4.2.2)
x ≥ 0,
où chaque valeur Pk (x) est la valeur optimale d’un programme linéaire déterminé par x :
minyk pk q T
k yk
Pk (x) = s. c. N k y k = hk − T k x (4.2.3)
y k ≥ 0.
x0 ∈ argmin cT x|Ax = b, x ≥ 0 .
x∈Rn
Pour chaque itération i, l’algorithme calcule les valeurs {Pk (xi )} en résolvant les programmes linéaires
associés, pour lesquels on suppose que leurs duaux sont toujours réalisables. On se trouve alors dans
l’une des situations suivantes.
a) Soit le problème (4.2.3) possède une solution, et dans ce cas il existe uik tel que
[uik ]T (hk − T k x) ≤ 0.
Dans les deux cas, il s’agit de contraintes linéaires (appelées coupes) que l’on peut rajouter au
problème utilisé pour calculer xi de sorte à obtenir un meilleur xi+1 . Ce vecteur sera en effet calculé
36 Optimisation en finance - 2022/2023
en résolvant
PK
minimiser x∈Rn cT x + k=1 Pk (x)
y 1 ,...,y K ∈Rm
s.c. Ax = b
Pk (x) ≥ [uik ]T (T k xi − T k x) + Pk (xi )
∀(i, k) tel que le problème associé à Pk (xi ) ait une solution, (4.2.4)
[uik ]T (hk − T k x) ≤ 0
∀(i, k) tel que le problème associé à Pk (xi ) soit irréalisable,
x≥0
y k ≥ 0 k = 1, . . . , K.
L’avantage de cette procédure est qu’elle ne requiert que de résoudre des programmes linéaires
(au nombre de contraintes croissant). On peut montrer que ce processus converge vers la solution
en un nombre fini d’itérations.
Remarque 4.3.1 L’utilisation, déjà vue au chapitre (2), du rendement moyen comme mesure conduit
à un problème dont le résultat sera neutre au risque ( risk neutral), par opposition aux autres mesures
de risque, qui elles seront attentives au risque ( risk averse).
Définition 4.3.1 Soit z une valeur aléatoire et α ∈ (0, 1) un niveau de sûreté. La valeur à risque
α de z est la valeur δ telle que
P (z ≥ δ) = 1 − α. (4.3.2)
On note alors VaRα [z] = δ.
Optimisation en finance - 2022/2023 37
ii) Si z ∈ {z
P1 , dots, zK } avec P (z = zk ) = pk , alors VaRα [z] = zJ , où J est le plus petit entier
tel que K k=J pk ≥ 1 − α.
On peut ainsi formuler des problèmes d’optimisation où l’on cherche à minimiser la valeur à risque,
ce qui donne généralement des solutions plus robustes aux comportements extrêmes qu’en utilisant
la variance. Dans le cas d’une approche par scénarios, on retombe à nouveau sur un programme
linéaire.
Valeur à risque conditionnelle L’un des inconvénients de la valeur à risque est qu’il ne s’agit pas
d’une mesure de risque cohérente, car VaRα [z + y] 6≤ VaRα [z] + VaRα [y] en général. Cela signifie
que diversifier un portefeuille n’apporte pas de robustesse au sens de la valeur à risque. La variante
cohérente de la valeur à risque la plus répandue est définie ci-après.
Définition 4.3.2 Soit z une valeur aléatoire et α ∈ (0, 1) un niveau de sûreté. La valeur à risque
conditionnelle α de z, notée CVaRα [z], est définie par
L’interprétation de la valeur à risque conditionnelle est qu’elle exprime, pour une valeur à risque
donnée, de combien on excèdera cette valeur en moyenne. Il s’agit d’une mesure de risque cohérente.
K
1 X
CVaRα [z] = pk ,
1−α
k=J
PK
où J est le plus petit entier tel que k=J+1 pk ∈ [1 − α − pJ , 1 − α).
Le calcul de la valeur à risque conditionnelle n’est en général pas possible de manière explicite,
car il correspond à la résolution d’un programme linéaire stochastique en deux temps, comme le
montre le résultat ci-dessous.
En règle générale, l’utilisation de la valeur à risque conditionnelle conduira donc au moins à une
modélisation en programme stochastique avec recours.
38 Optimisation en finance - 2022/2023
4.5 Exercices
Exercice 5 : Déviation en moyenne absolue
Comme on l’a vu plus haut, l’utilisation de la variance en tant que mesure de risque
présente quelques inconvénients, notamment celui d’être sensible aux comportements
aberrants, et donc de conduire à des solutions conservatrices. On s’intéresse ici à une
autre métrique définie via la déviation en moyenne absolue.
Soit r ∈ Rn un vecteur de retours sur investissement aléatoire de moyenne µ = E [r].
La déviation en moyenne absolue de r est la fonction d : Rn → R définie par
minimiserx∈Rn d(x)
(4.5.2)
s.c. eT x = 1,
où wk+ et wk− sont des quantités positives ou nulles (représentant la partie positive
et négative de (r k − µ)T x), formuler le problème (4.5.2) comme un programme
linéaire.
c) Donner un avantage pratique de résoudre un programme linéaire tel que celui for-
mulé dans cet exercice par rapport à la résolution de programmes quadratiques
impliquant la variance.
Optimisation en finance - 2022/2023 39
Solution de l’exercice 5
a) Par définition de l’espérance, on a dans le cas de cette question
K
X
d(x) = E |(r − µ)T x| = pk |(r k − µ)T x|.
i=1
c) Un programme linéaire peut se résoudre avec un plus grand nombre de variables qu’un programme
quadratique, car il existe des algorithmes très efficaces en grande dimension.
Exercice 6 : Utilité
On considère que l’on dispose d’un capital de w0 > 0 à investir pour construire un porte-
feuille. En tant que personne, on dispose d’une utilité qui nous est propre représentée
par une fonction U : R → R, que l’on va chercher à maximiser via la construction du
portefeuille. On note w = w0 (1 + r T x) le capital obtenu après investissement, dont on
suppose qu’il dépend d’un vecteur de rendement aléatoire.
Le problème de construction de portefeuille d’utilité maximale s’écrit comme suit :
maximiserx∈Rn Er [U (w)]
s. c. w = w0 (1 + r T x) (4.5.3)
eT x = 1.
c
Er [U (w)] = − (x − µ)T V (x − µ)
2
pour c > 0. Montrer que dans ce cas, le problème (4.5.3) se ramène à un problème
quadratique. Comparer le problème obtenu avec celui de gestion de portefeuille de
la forme proposée par Markowitz.
Solution de l’exercice 6
a) Dans le cas d’un vecteur r déterministe, on a
En utilisant le fait que maximiser un logarithme revient à minimiser la fonction, une reformulation
équivalente de ce problème est
minimiserx∈Rn w0 µT x
s. c. eT x = 1,
b) Lorsque r suit une distribution discrète, la fonction objectif du problème (4.5.3) s’écrit
K
X
= pk U (w0 (1 + r T
k x))
k=1
K
!
w0pk (1
Y
= log + rT
k x)
pk
.
k=1
Par conséquent, en utilisant le fait que maximiser un logarithme revient à minimiser la fonction
argument du logarithme, on arrive à
QK pk
minimiserx∈Rn k=1 w0 (1 + rT
k x)
pk
s. c. T
e x = 1,
1
Sinon, il s’agit d’un programme dit géométrique, pour lequel des techniques telles que celles vues en cours peuvent
être développées.
Optimisation en finance - 2022/2023 41
maximiserx∈Rn − 2c (x − µ)T V (x − µ)
s. c. eT x = 1,
[2] S. Boyd and L. Vandenberghe. Convex optimization. Cambridge University Press, Cambridge,
United Kingdom, 2004.
[3] G. Cornuéjols, J. Peña, and R. Tütüncü. Optimization Methods in Finance. Cambridge University
Press, Cambridge, United Kingdom, second edition, 2018.
42
Annexe A
Bases mathématiques
A l’aide de ces opérations, nous pouvons donc construire des combinaisons Plinéaires de vecteurs
de Rn dont le résultat sera un vecteur de Rn , à savoir des vecteurs de la forme pi=1 λi xi , où xi ∈ Rn
et λi ∈ R pour tout i = 1, . . . , p.
Pour ce qui est de l’espace des matrices Rn×d , on peut également le munir d’une structure
d’espace vectoriel normé de dimension nd. On définit donc les opérations suivantes :
• Pour tous A, B ∈ Rn×d , la somme des matrices A et B est notée A + B = [Aij + B ij ] 1≤i≤d ;
1≤j≤d
n
• Pour tout scalaire λ ∈ R, on définit λA = λ · A = [λAij ]1≤i≤n .
1≤j≤d
1. 0d ∈ S;
43
44 Optimisation en finance - 2022/2023
2. ∀(x, y) ∈ S, x + y ∈ S;
3. ∀x ∈ S, ∀λ ∈ R, λx ∈ S.
Définition A.1.3 • Une famille libre {xi }ki=1 de vecteurs de Rn est telle que les vecteurs sont
Pk
linéairement indépendants : pour tous scalaires λ1 , . . . , λk tels que i=1 λi xi = 0, alors
λ1 = · · · = λk = 0. On a nécessairement k ≤ n.
• Une famille liée est une famille de vecteurs qui n’est pas libre.
• Une famille génératrice de vecteurs de Rn est un ensemble de vecteurs {xi } tel que le sous-
espace engendré par ces vecteurs soit égal à Rn .
• Une base de Rn est une famille de vecteurs {xi }ni=1 qui est à la fois libre et génératrice. Tout
vecteur de Rn s’écrit alors de manière unique comme combinaison linéaire des xi . Toute base
de Rn comporte exactement n vecteurs.
Comme la taille d’une base de Rn est n, on dit que cet espace vectoriel est de dimension n. En
conséquence, la dimension d’un sous-espace vectoriel est au plus n.
Pn T
Exemple A.1.1 Tout vecteur x de Rn s’écrit x = i=1 xi ei , où ei = [0 · · · 0 1 0 · · · 0] est le
i-ème vecteur de la base canonique (le coefficient 1 se trouvant en i-ème position).
Norme et produit scalaire L’utilisation d’une norme, et du produit scalaire associé, permet de
mesurer les distances entre vecteurs, ce qui sera particulièrement utile pour montrer la convergence
d’une suite de points générés par un algorithme vers une solution d’un problème d’optimisation.
Définition A.1.4 La norme euclidienne k · k sur Rn est définie pour tout vecteur x ∈ Rn par
v
u n
uX
kxk := t x2i .
i=1
Remarque A.1.1 Il s’agit bien d’une norme, car elle vérifie les quatres axiomes d’une norme :
2. kxk = 0 ⇔ x = 0Rn ;
3. ∀x, kxk ≥ 0;
Optimisation en finance - 2022/2023 45
4. ∀x ∈ Rn , ∀λ ∈ R, kλxk = |λ|kxk.
Définition A.1.5 Pour tous vecteurs x, y ∈ Rn , le produit scalaire dérivé de la norme euclidienne
est une fonction de x et y, notée xT y, et définie par
n
X
T
x y := x i yi .
i=1
∀x, y ∈ Rn , xT y ≤ kxkkyk.
Remarque A.1.2 La dernière inégalité est un résultat très important, qui s’utilise aussi bien en
algèbre linéaire qu’en analyse fonctionnelle. Comme on le verra, elle apparaı̂t également dans la
preuve des inégalités de Taylor, qui sont fondamentales en optimisation.
Par analogie, le produit d’une matrice A ∈ Rm×n avec un vecteur x ∈ Rn sera le vecteur y ∈ Rm
donné par
n
X
∀i = 1, . . . , m, yi = Aij xj .
j=1
Remarque A.1.3 On notera que la notation du produit scalaire sur Rn correspond au produit de
deux matrices de taillle 1 × n et n × 1, dont le résultat est une matrice 1 × 1, c’est-à-dire un scalaire.
46 Optimisation en finance - 2022/2023
Lorsque l’on travaille avec des matrices, on s’intéresse généralement aux sous-espaces définis
ci-dessous.
Définition A.1.6 (Sous-espaces matriciels) Soit une matrice A ∈ Rm×n , on définit les deux sous-
espaces suivants :
• Le noyau de A est le sous-espace vectoriel
ker(A) := {x ∈ Rn | Ax = 0m }
Im(A) := {y ∈ Rm | ∃x ∈ Rn , y = Ax}
dim(ker(A)) + rang(A) = n.
Définition A.1.7 (Normes matricielles) On définit sur Rm×n la norme d’opérateur k·k et la norme
de Frobenius k · kF par
:= maxx∈Rn kAxk
kAk kxk = max x∈R kAxk
n
x6=0n kxk=1
∀A ∈ Rm×n , rP
2
kAkF := 1≤i≤m Aij .
1≤j≤n
Définition A.1.8 (Matrice symétrique) Une matrice carrée A ∈ Rn×n est dite symétrique si elle
vérifie AT = A.
L’ensemble des matrices symétriques de taille n × n sera noté S n .
Définition A.1.9 (Matrice inversible) Une matrice carrée A ∈ Rn×n est dite inversible s’il existe
B ∈ Rn×n telle que BA = AB = I n (où l’on rappelle que I n désigne la matrice identité de Rn×n ).
Si elle existe, une telle matrice B est unique : elle est appelée l’inverse de A et on la note A−1 .
Définition A.1.10 (Matrice (semi-)définie positive) Une matrice carrée A ∈ Rn×n symétrique
est dite semi-définie positive si
∀x ∈ Rn , xT Ax ≥ 0,
ce que l’on notera A 0.
Une telle matrice est dite définie positive lorsque xT Ax > 0 pour tout vecteur x non nul, ce
que l’on notera A 0.
Définition A.1.11 (Matrice orthogonale) Une matrice carrée P ∈ Rn×n est dite orthogonale si
P T = P −1 .
Par extension, on dira que Q ∈ Rm×n avec m ≤ n est orthogonale si QQT = I m (les colonnes
de Q sont donc orthonormées dans Rm ).
Optimisation en finance - 2022/2023 47
On notera que lorsque Q ∈ Rn×n est une matrice orthogonale, alors sa transposée QT est
également orthogonale (ce résultat n’est pas vrai pour une matrice rectangulaire). On utilisera
fréquemment la propriété des matrices orthogonales énoncée ci-dessous.
Lemme A.1.1 Soit une matrice A ∈ Rm×n et U ∈ Rm×m , V ∈ Rn×n des matrices orthogonales,
respectivement de Rm×m et Rn×n . On a
c’est-à-dire que la multiplication par une matrice orthogonale ne modifie pas la norme d’opérateur.
Par corollaire immédiat du lemme précédent, on note qu’une matrice Q ∈ Rm×n orthogonale
√
avec m ≤ n vérifie nécessairement kQk = 1 et kQkF = m.
Définition A.1.12 (Valeur propre) Soit une matrice A ∈ Rn×n . On dit que λ ∈ R est une valeur
propre de A si
∃v ∈ Rn , v 6= 0n , Av = λv.
Le vecteur v est appelé un vecteur propre associé à la valeur propre λ. L’ensemble des valeurs
propres de A s’appelle le spectre de A.
Le sous-espace engendré par les vecteurs propres associés à la même valeur propre d’une matrice
s’appelle un sous-espace propre. Sa dimension correspond à l’ordre de multiplicité de la valeur propre
relativement à la matrice.
• Si la matrice A est semi-définie positive (respectivement définie positive), alors ses valeurs
propres sont réelles positives (respectivement strictement positives).
• Le noyau de A est engendré par les vecteurs propres associés à la valeur propre 0.
Théorème A.1.2 (Théorème spectral) Toute matrice carrée A ∈ Rn×n symétrique admet une
décomposition dite spectrale de la forme :
A = P ΛP −1 ,
où P ∈ Rn×n est une matrice orthogonale , dont les colonnes p1 , . . . , pn forment une base or-
thonormée de vecteurs propres, et Λ ∈ Rn×n est une matrice diagonale qui contient les n valeurs
propres de A λ1 , . . . , λn sur la diagonale.
Il est à noter que la décomposition spectrale n’est pas unique. En revanche, l’ensemble des
valeurs propres est unique, que l’on prenne en compte les ordres de multiplicité ou non.
Géométriquement parlant, on voit ainsi que, pour tout vecteur x ∈ Rn décomposé dans la base
des pi que l’on multiplie par A, les composantes de ce vecteur associées aux plus grandes valeurs
propres1 seront augmentées, tandis que celles associées aux valeurs propres de petite magnitude
seront réduites (voire annihilées dans le cas d’une valeur propre nulle).
1
On parle ici de plus grandes valeurs propres en valeur absolue, ou magnitude.
48 Optimisation en finance - 2022/2023
Lien avec la décomposition en valeurs singulières Soit une matrice rectangulaire A ∈ Rm×n :
dans le cas général, les dimensions de la matrice diffèrent, et on ne peut donc pas parler de valeurs
propres de la matrice A. On peut en revanche considérer les deux matrices
Ces matrices sont symétriques réelles, et par conséquent diagonalisables. On peut se baser sur cette
propriété pour obtenir une décomposition en valeurs singulières de A (ou SVD d’après l’acronyme
anglais).