Dans cet article, nous allons donner un aperçu du processus d’Ornstein-Uhlenbeck, décrire ses formules mathématiques, l’implémenter et le simuler avec Python, et discuter de certaines applications pratiques dans la finance quantifiée et les transactions systémiques. Nous utiliserons un modèle de processus aléatoire plus avancé, appelé processus d’Ornstein-Uhlenbeck (OU), qui peut être utilisé pour modéliser des séquences de temps récurrentes qui expriment un comportement de retour d’équivalence.
Le processus d’Ornstein-Uhlenbeck est un processus de randomisation continu dans le temps utilisé pour modéliser le comportement de la régression des valeurs moyennes. Cela signifie que, contrairement à la dérive aléatoire standard ou au mouvement de Brown qui peut dériver à l’infini, le processus d’OU tend à se rétablir à la moyenne à long terme au fil du temps. Mathématiquement, le processus d’OU est la solution d’une équation de dérivation aléatoire spécifique (EDE) qui contrôle ce comportement de la régression des valeurs moyennes. Le EDE du processus d’OU est donné par la formule suivante:

Xt représente le processus aléatoire en temps t, μ est la moyenne à long terme, θ est le taux de retour à la moyenne, δ est la volatilité, et dWt est le processus de Wiener ou le mouvement standard de Brown.
Le procédé Ornstein-Uhlenbeck a été initialement proposé par Leonard Ornstein et George Eugene Uhlenbeck en 1930 pour simuler la vitesse d’une particule qui effectue un mouvement Brownien dans des conditions de friction. Au fil du temps, ses utilisations ont dépassé les frontières de la physique et ont été appliquées dans des domaines aussi variés que la biologie, la chimie, l’économie et la finance.
Dans la finance quantique, le processus OU est particulièrement utile pour modéliser les phénomènes qui expriment la régression de la valeur moyenne. Des exemples notables incluent la volatilité des taux d’intérêt, des taux de change et des marchés financiers. Par exemple, le modèle populaire de taux d’intérêt, le modèle Vasicek, est directement dérivé du processus OU.
Le processus d’Ornstein-Uhlenbeck est essentiel dans la finance quantitative pour les raisons suivantes: sa nature régressive en termes de valeurs moyennes en fait le choix naturel pour modéliser les variables financières qui ne se comportent pas de manière aléatoire, mais plutôt comme des valeurs moyennes fluctuant autour d’une stabilité à long terme. Cette caractéristique est essentielle pour la modélisation des taux d’intérêt, où la régression en termes de valeurs moyennes reflète l’influence des banques centrales sur la stabilité des taux à long terme.
En outre, le processus OU est également utilisé dans les modèles de prix d’actifs (y compris l’évaluation des produits dérivés) et les stratégies de gestion des risques. Il peut également servir de blocs de construction pour des modèles plus complexes, tels que le modèle Cox-Ingersoll-Ross (CIR), qui étend le processus OU pour modéliser les taux d’intérêt avec une valeur non négative.
Les principales caractéristiques du procédé Ornstein-Uhlenbeck peuvent être résumées comme suit:
Intuitivement, vous pouvez considérer le processus d’Ornstein-Uhlenbeck comme un modèle du comportement d’une cornée qui s’étire autour de la moyenne. Bien que le processus puisse s’écarter de la moyenne en raison de fluctuations aléatoires, la couronne de traction de la cornée (semblable à la régression de la moyenne) assure son retour à la moyenne.
Comme le processus OU est étroitement lié à la modélisation de divers phénomènes financiers, il est souvent comparé à d’autres processus aléatoires tels que les mouvements de Brown et les mouvements géométriques de Brown (GBM). Contrairement aux mouvements de Brown (dont les mouvements de Brown n’ont pas de tendance à revenir à la moyenne), le processus OU a un comportement de retour à la moyenne évident. Cela le rend plus approprié pour la modélisation de scénarios où les variables oscillent autour d’un équilibre stable.
Comparé au GBM, qui est généralement utilisé pour modéliser le prix d’une action et qui contient des éléments de dérivation et de fluctuation, le processus OU ne montre pas de croissance exponentielle, mais plutôt une oscillation autour de sa moyenne. Le GBM est mieux adapté pour modéliser des quantités qui augmentent avec le temps, tandis que le processus OU est parfaitement adapté pour modéliser des variables qui montrent une caractéristique de régression de la moyenne.
Le procédé Ornstein-Uhlenbec a de nombreuses applications dans le domaine de la finance, en particulier dans les scénarios de modélisation où la régression de la valeur moyenne est une caractéristique clé. Nous discuterons ci-dessous de certains des cas d’utilisation les plus courants.
L’une des applications les plus remarquables du processus OU est la modélisation des taux d’intérêt, en particulier dans le cadre du modèle de Vasicek. Le modèle de Vasicek suppose que les taux d’intérêt suivent le processus OU, c’est-à-dire que les taux d’intérêt tendent à revenir à la moyenne à long terme au fil du temps. Cette caractéristique est essentielle pour simuler avec précision le comportement des taux d’intérêt, car les taux d’intérêt ne fluctuent généralement pas indéfiniment, mais fluctuent à proximité de la moyenne influencée par les conditions économiques.
Dans la tarification des actifs, en particulier des titres à revenu fixe, le processus d’OU est souvent utilisé pour simuler l’évolution des taux de rendement des obligations. La nature régressive de la valeur moyenne du processus d’OU garantit que les taux de rendement ne s’écartent pas trop de leur valeur moyenne historique, ce qui est conforme aux comportements observés sur le marché. Cela fait du processus d’OU un outil précieux pour la tarification des obligations et autres instruments sensibles aux taux d’intérêt.
La paire de négociation est une stratégie neutre sur le marché qui consiste à établir des positions de compensation sur deux actifs liés. Dans ce cas, le processus OU est particulièrement utile car il permet de modéliser la différence de prix entre les deux actifs, qui est généralement une régression de la moyenne. En utilisant le processus OU pour modéliser la différence de prix, le trader peut confirmer les points d’entrée et de sortie des bénéfices lorsque les prix s’écartent de leur moyenne, prédire la régression de la moyenne et ainsi générer un signal de négociation.
Par exemple, si l’écart entre deux futures s’élargit au-delà d’une certaine marge de dépréciation, les traders peuvent couper les futures performantes et acheter des futures moins performantes, dans l’espoir que l’écart revienne à sa moyenne historique, ce qui permet de réaliser des bénéfices en cas de revers.
L’équation de dérivation du procédé Ornstein-Uhlenbeck est la base de sa solution. Pour résoudre ce SDE, nous avons utilisé la méthode des facteurs intégratifs. Reprenons le SDE:

Tout d’abord, nous multiplions les deux côtés par le facteur intégral /upload/asset/28dfe9abfb54772651590.png:

Notez que si nous ajoutons
sur les deux côtés, la différence à gauche peut être représentée par le multiplicateur:

Si on fait le calcul de 0 à t, on obtient:

C’est la définition générale du SDE Ornstein-Uhlenbeck.
La solution explicite déduite ci-dessus a plusieurs implications importantes: la première est /upload/asset/28e1d566f8ac15287edf3.png, qui indique que la valeur initiale décline avec le temps et montre comment le processus oublie progressivement son point de départ. La deuxième est /upload/asset/28df8a8a50df8d8362d7c.png, qui indique que le processus tend à la valeur moyenne de la μ avec le temps. La troisième introduit le hasard, où l’intégralité du processus impliquant Wiener explique les fluctuations aléatoires.
Cette solution met l’accent sur l’équilibre entre le comportement de régression de la moyenne de certitude et le coefficient de hasard induit par le mouvement de Brown. La compréhension de cette solution est essentielle pour simuler efficacement le processus d’OU, comme indiqué ci-dessous.
Le processus d’Ornstein-Uhlenbeck a plusieurs liens importants avec d’autres processus aléatoires célèbres (y compris le mouvement de Brown et le modèle de Vasicek).
Le processus d’Ornstein-Uhlenbeck peut être considéré comme une version de la régression des moyennes du mouvement de Brown. Un mouvement de Brown décrit un processus qui a une tendance à augmenter indépendamment et qui ne revient pas à la moyenne, tandis que le processus d’OU introduit la régression des moyennes en modifiant le mouvement de Brown en utilisant des termes de dérivation, ce qui ramène le processus au centre. Mathématiquement, si nous définissonsθ = 0, le processus d’OU se réduit à un mouvement de Brown standard avec une onde:

Le mouvement de Brown est donc un cas particulier du processus OU, correspondant à l’absence de régression de la moyenne.
Le modèle de Vasicek est largement utilisé pour la modélisation des taux d’intérêt et est essentiellement une application du processus d’Ornstein-Uhlenbeck dans l’évolution des taux d’intérêt. Le modèle de Vasicek suppose que les taux d’intérêt suivent le processus d’OU, où le SDE est défini comme:

Dans ce cas, rt représente le taux d’intérêt à court terme, l’interprétation des paramètres θ, μ et δ étant similaire à celle du processus OU. La capacité du modèle Vasicek à générer des trajectoires de taux d’intérêt de retour moyen est l’un de ses principaux avantages dans la modélisation financière.
La compréhension de ces relations permet de comprendre plus largement comment le processus OU est utilisé dans différents contextes, en particulier dans le domaine financier. Nous explorerons la signification pratique de ces liens en discutant d’exemples d’application ci-dessous.
Dans cette section, nous allons explorer comment utiliser Python pour simuler le processus d’Ornstein-Uhlenbeck (OU). Cela implique l’utilisation de la dissociation d’Euler-Maruyama pour dissocier une équation de dérivation aléatoire (SDE) définissant le processus d’OU.
Revoyons les formules mathématiques du SDE ci-dessus et donnons un aperçu de chaque terme:

dans,
Pour simuler ce processus sur un ordinateur, nous avons besoin d’une dissociation du SDE de temps continu. Une méthode couramment utilisée est la dissociation d’Euler-Maruyama, qui approche le processus continu en prenant en compte la petite longueur d’étape du temps de dissociation /upload/asset/28db85708af6d062dda8d.png.

Parmi ceux-ci,
est une variable aléatoire extraite de la distribution normalisée standard (c’est-à-dire
). Cette dissociation nous permet de calculer la valeur de Xt de manière itérative au fil du temps, afin de simuler le comportement du processus OU.
Maintenant, nous allons mettre en œuvre un processus Ornstein-Uhlenbeck dissocié avec Python. Dans le contexte, nous n’utilisons que les bibliothèques Python NumPy et Matplotlib.
Tout d’abord, nous importons NumPy et Matplotlib de manière standard. Ensuite, nous spécifions tous les paramètres pour le modèle OU. Ensuite, nous pré-assignons une matrice NumPy de longueur N afin de l’ajouter à celle-ci après avoir calculé le chemin OU. Ensuite, nous iterons N-1 (l’étape 1 est la condition initiale spécifiée X0), simulons l’augmentation aléatoire dW, puis calculons la prochaine iteration du chemin OU en fonction de la formule mathématique ci-dessus.
import numpy as np
import matplotlib.pyplot as plt
# Parameters for the OU process
theta = 0.7 # Speed of mean reversion
mu = 0.0 # Long-term mean
sigma = 0.3 # Volatility
X0 = 1.0 # Initial value
T = 10.0 # Total time
dt = 0.01 # Time step
N = int(T / dt) # Number of time steps
# Pre-allocate array for efficiency
X = np.zeros(N)
X[0] = X0
# Generate the OU process
for t in range(1, N):
dW = np.sqrt(dt) * np.random.normal(0, 1)
X[t] = X[t-1] + theta * (mu - X[t-1]) * dt + sigma * dW
# Plot the result
plt.plot(np.linspace(0, T, N), X)
plt.title("Ornstein-Uhlenbeck Process Simulation")
plt.xlabel("Time")
plt.ylabel("X(t)")
plt.show()
Les résultats de la cartographie sont les suivants:

Simulation du processus d’Ornstein-Uhlenbeck dessinée avec Python
Notez comment le processus tire rapidement de la condition initiale X0 = 1 à la valeur moyenne μ = 0, puis montre une tendance à revenir à cette valeur moyenne lorsqu’il s’écarte de cette valeur moyenne.
Dans cet article, nous présentons un aperçu du processus Ornstein-Uhlenbeck, décrivons ses formules mathématiques et fournissons une implémentation de base de Python pour simuler une version dissociée d’un SDE de temps continu. Dans les articles suivants, nous étudierons les SDE plus complexes construits sur le processus OU et comment ils peuvent être utilisés dans les applications de négociation systémique et de tarification des produits dérivés.
Le code complet
# OU process simulation
import numpy as np
import matplotlib.pyplot as plt
# Parameters for the OU process
theta = 0.7 # Speed of mean reversion
mu = 0.0 # Long-term mean
sigma = 0.3 # Volatility
X0 = 1.0 # Initial value
T = 30.0 # Total time
dt = 0.01 # Time step
N = int(T / dt) # Number of time steps
# Pre-allocate array for efficiency
X = np.zeros(N)
X[0] = X0
# Generate the OU process
for t in range(1, N):
dW = np.sqrt(dt) * np.random.normal(0, 1)
X[t] = X[t-1] + theta * (mu - X[t-1]) * dt + sigma * dW
# Plot the result
plt.plot(np.linspace(0, T, N), X)
plt.title("Ornstein-Uhlenbeck Process Simulation")
plt.xlabel("Time")
plt.ylabel("X(t)")
plt.show()
Il a été publié dans la revue de l’Université de Montréal, et a été publié dans la revue de l’Université de Montréal, et dans la revue de l’Université de Montréal.