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

#1 21-01-2024 16:12:55

Climax
Administrateur
Inscription: 30-08-2008
Messages: 6 362
Windows 10Firefox 121.0

Transformation de Fourier rapide (FFT ou fast Fourier transform)


transformation-fourier.gif

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.

Notions de base sur la transformée de Fourier rapide

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.

Avantages de la FFT en matière de tarification

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.

Limites et considérations

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.

Tarification par transformée de Fourier rapide

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é.

Conclusion

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.

compte-demo.png


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

Utilisateurs enregistrés en ligne dans ce sujet: 0, invités: 1
[Bot] ClaudeBot

Pied de page des forums