Vous n'êtes pas identifié(e).



La transformation de Fourier rapide (FFT) est une technique de calcul dans le domaine de l'analyse quantitative financière.
Elle est principalement utilisée pour l'évaluation des options et d'autres produits financiers dérivés.
La FFT transforme les modèles de prix complexes en une forme plus facile à gérer pour effectuer des calculs et des analyses efficaces.
Principaux enseignements :
Efficacité des calculs
La transformée de Fourier rapide (FFT) accélère le calcul du prix des options (notamment pour une large gamme de prix d'exercice).
Flexibilité pour les modèles complexes
La FFT est efficace pour traiter des modèles de prix complexes qui posent des problèmes aux méthodes traditionnelles.
Exemple : ceux qui comportent une volatilité stochastique ou des sauts.
Exactitude et précision
La FFT permet de calculer avec précision les prix des options, même dans des scénarios financiers sophistiqués/non standard.
Nous présentons un exemple de codage qui décrit l'implémentation de base du modèle d'évaluation FFT en utilisant des données synthétiques.
La FFT est un algorithme permettant de calculer la transformée de Fourier discrète (DFT) et son inverse.
Le principal avantage de la FFT par rapport à la DFT est sa rapidité, car la FFT réduit considérablement le nombre de calculs nécessaires.
L'algorithme transforme les données du domaine temporel en données du domaine fréquentiel.
En finance, cela signifie convertir les mouvements de prix dans le temps en fréquences ou en taux de variation.
Application à l'évaluation des options
Défis posés par les méthodes traditionnelles
Les méthodes traditionnelles d'évaluation des options (par exemple, le modèle Black-Scholes) peuvent nécessiter des calculs importants et être moins efficaces pour certains types de produits dérivés.
Ces modèles nécessitent souvent des méthodes numériques telles que les simulations de Monte Carlo, qui peuvent prendre beaucoup de temps pour des options complexes.
La solution FFT
La FFT répond à ces défis en simplifiant le processus de calcul.
Elle permet d'évaluer plus efficacement les prix des options dans le cadre de modèles aux caractéristiques complexes, tels que les sauts ou la volatilité stochastique.
En transformant le problème dans le domaine des fréquences, la FFT peut traiter des calculs qui sont autrement difficiles à résoudre directement dans le domaine temporel.
Le processus de la FFT dans l'évaluation des options
1) Spécification du modèle
La première étape consiste à spécifier le modèle d'évaluation des options, qui peut inclure des facteurs tels que la volatilité stochastique ou des composantes de saut.
2) Fonction caractéristique
Au lieu de travailler directement avec la formule d'évaluation, la FFT utilise la fonction caractéristique du gain de l'option.
La fonction caractéristique est une exponentielle complexe qui donne la distribution de probabilité des rendements (lorsqu'elle est intégrée, car l'intégration additionne l'aire sous la courbe dans certaines limites/contraintes).
3) Application de la FFT
L'algorithme FFT est appliqué à la fonction caractéristique.
Ce processus convertit les calculs complexes en un format plus facile à calculer.
4) Transformation inverse
Enfin, la FFT inverse est utilisée pour retransformer les données du domaine des fréquences en données du domaine temporel.
On obtient ainsi les prix des options.
Efficacité
La FFT réduit le temps de calcul (en particulier pour un grand nombre de prix d'exercice).
Flexibilité
La FFT est bien adaptée aux modèles pour lesquels les méthodes traditionnelles sont moins efficaces, par exemple ceux qui présentent des modèles de gains discontinus.
Précision
La FFT peut fournir des résultats précis, même dans des scénarios complexes.
Complexité
La compréhension et la mise en œuvre de la FFT nécessitent une bonne maîtrise des concepts mathématiques et de programmation.
Dépendance à l'égard du modèle
L'efficacité de la FFT dépend de la spécification correcte du modèle sous-jacent et de sa fonction caractéristique.
Problèmes numériques
La FFT peut introduire des erreurs numériques - le plus souvent si elle n'est pas mise en œuvre avec soin. Il est donc nécessaire de vérifier la stabilité et la précision.
Pour démontrer le modèle de tarification par transformée de Fourier rapide (FFT) en code (en Python, qui dispose commodément d'une bibliothèque FFT dans le module scipy), nous allons créer un exemple synthétique (c'est-à-dire des données synthétiques) pour la tarification des options.
Le modèle sera basé sur des fonctions caractéristiques et utilisera la FFT pour calculer efficacement les prix des options.
Considérons les options d'achat européennes dans le cadre de Black-Scholes. (Les options américaines sont plus complexes en raison de l'optionnalité de l'exercice anticipé).
Nous créerons des données synthétiques pour le prix de l'actif sous-jacent, le prix d'exercice, le taux sans risque, la volatilité et l'échéance.
Étapes de la transformée de Fourier rapide (FFT) en programmation
Définir la fonction caractéristique de Black-Scholes - Cette fonction est essentielle pour appliquer la FFT.
Définir les paramètres - Spécifier des valeurs synthétiques pour le prix de l'actif, les prix d'exercice, le taux sans risque, la volatilité et le délai d'échéance.
Mise en œuvre de la FFT - Appliquer la FFT à la fonction caractéristique pour calculer les prix des options.
FFT inverse - Convertir les résultats pour obtenir les prix dans le domaine temporel.
Mettons cela en place :
import numpy as np
from scipy.fft import fft, ifft
# Black-Scholes Characteristic Function
def bs_char_func(u, T, r, sigma):
return np.exp(1j * u * (np.log(S0) + (r - 0.5 * sigma**2) * T) - 0.5 * sigma**2 * u**2 * T)
# Parameters
S0 = 100 # Underlying asset price
K = np.linspace(80, 120, num=100) # Range of strike prices
T = 1.0 # Time to maturity (1 year)
r = 0.05 # Risk-free rate
sigma = 0.2 # Volatility
# FFT parameters
N = 2**10 # Number of points in FFT
delta_u = 0.25 # Spacing of FFT grid
b = np.log(K[0]) # Lower bound of log-strike
# Characteristic function values at different points
char_func_values = np.array([bs_char_func(u, T, r, sigma) for u in np.arange(N) * delta_u])
# Apply FFT
fft_values = fft(char_func_values)
# Adjust & take the real part for option prices
option_prices = np.exp(-r * T) * np.real(ifft(fft_values)) / np.pi / 2
# Display option prices for different strikes
option_prices_at_K = np.exp(-b) * option_prices / np.exp(np.arange(N) * delta_u * b)
# Outputs
for i, strike in enumerate(K):
print(f"Strike: {strike:.2f}, FFT Option Price: {option_prices_at_K[i]:.2f}")Il convient de noter qu'il s'agit d'un exemple simplifié à des fins de démonstration.
Dans la pratique, la mise en œuvre peut nécessiter des ajustements pour assurer la stabilité, la précision et la prise en compte des caractéristiques spécifiques des instruments financiers dont le prix est fixé.
L'évaluation par transformée de Fourier rapide est utile pour l'évaluation efficace et précise des produits dérivés complexes.
Sa capacité à transformer des calculs difficiles dans le domaine temporel en calculs plus faciles à gérer dans le domaine fréquentiel en fait une technique précieuse.
Néanmoins, son application exige une compréhension des modèles financiers sous-jacents et des méthodes numériques.
Le trading de CFD implique un risque de perte significatif, il ne convient donc pas à tous les investisseurs. 74 à 89% des comptes d'investisseurs particuliers perdent de l'argent en négociant des CFD.
Hors ligne