logo strategies-options Accès Site
 
panier
"Gérer, c'est prévoir"
Le site consacré aux stratégies de trading incorporant des produits dérivés, en particulier des options.
Accueil  >  Modèles d'évaluation d'options  >  Option Pricing - Modele trinomial en Python 

Option Pricing - Modele trinomial en Python

Publié le 10 Juillet 2019 par Duchêne
icone rss


La programmation du modèle trinomial en Python est très facile

Python est devenu en quelques années le langage de programmation indispensable à la finance de marché.
Ces liens avec Excel par exemple en ont fait un outil incontournable pour les personnes qui utilisent des tableurs pour valoriser des produits dérivés comme les options.


Comme nous l'avions vu précédemment, l'utilisation du modèle trinomial (et plus généralement de modèle type "différences finies") est naturelle pour qui aura besoin d'évaluer des options de type européen, à l'instar de Black & Scholes, mais aussi de type américain, exerçable à tout moment.

Vraiment très facile de programmer en Python le modèle trinomial.




import math

def Trinomialgeneral(S0, K, r, sigma, q, T,isus,iscall):

dt = 1/10000
N = round(T/dt)
M = round(5*(N**.5))
mu = r-q-.5*sigma*sigma


smax = 2*abs(mu)*(dt**.5)
smax = max(sigma * (2**.5), smax)
if smax == 0:
return -9999

C = [None] * (2*M)
pC = [None] * (2*M)
S = [None] * (2*M)

p = 0.5 * sigma * sigma / (smax * smax)
pu = p + 0.5 * mu * (dt**.5) / smax
pm = 1 - 2*p
pd = p - 0.5 * mu * (dt**.5) / smax

D = 1/(1+r*dt)
E = math.exp(smax * (dt**.5))
S[0] = S0 * math.exp(-M * smax * dt**.5)
for i in range(1, 2*M):
S[i] = S[i-1]*E


for j in range(2*M):
C[j] = max(iscall*(S[j] - K), 0)


for t in range(N):
for j in range(1, 2*M-1):
pC[j] = pu * C[j+1] + pm * C[j] + pd * C[j-1]
pC[j] = pC[j] * D


for i in range(1,2*M-1):
C[i] = max(isus*(iscall*(S[i]-K)), pC[i])

return C[M]



Par exemple, pour un sous-jacent S =100, un prix d'exercice K = 100, un taux d'intérêt (continûment composé) r = 5%, une volatilité sigma = 30%, un taux de dividende q = 0%, une maturité T = 1 an, une option de type Américain isus = 1 et une option de type put iscall = -1, on obtient :
V=Trinomialgeneral(100, 100, 0.05, 0.3, 0.0, 1,1,-1)
print(V)

le résultat est 9.869963659320902


Pour un sous-jacent S =100, un prix d'exercice K = 100, un taux d'intérêt (continûment composé) r = 5%, une volatilité sigma = 30%, un taux de dividende q = 0%, une maturité T = 1 an, une option de type Européen isus = 0 et une option de type CALL iscall = 1, on obtient :
V=Trinomialgeneral(100, 100, 0.05, 0.3, 0.0, 1,0,1)
print(V)

le résultat est 14.23110652674761




NB : dans l'exemple ci-dessus, on a pris 10000 périodes (dt = 1 / 10000 ), on peut bien sûr prendre moins de périodes et de ce fait accélérer les calculs au prix d'une moins grande précision.

A vous de jouer :-)).

La suite : Option Pricing - Black Scholes En Python
Précédent : Le Modèle Trinomial : VBA Code

Duchêne
D'autres Fiches
Eur/USD : Suivi put spread (9)
- Les Stratégies Options sur Forex -
Eur/USD : Suivi put spread (9)
Un petit rush de l’Eur/USD et on en profite. Le put spread double en valeur et même plus, profit + 570 $
Strategies Options CAC40 Up and Out Call
- Les Stratégies Options sur Actions et Indices -
Strategies Options CAC40 Up and Out Call
Stratégies Options sur le CAC pour ce début 2016
Ratio backspread sur le CAC 40 (suivi 10)
- Les Stratégies Options sur Actions et Indices -
Ratio backspread sur le CAC 40 (suivi 10)
Le P&L du Ratio Backspread commence à bien performer : +1722.30 euros cette fin de semaine.
Delta hedging
- Hedging -
Delta hedging
Le delta hedging est un type de couverture très courant dans le trading des options, en particulier pour les marketmakers.
Iron Condor : une première approche
- Stratégies Options Avancées -
Iron Condor : une première approche
L'Iron Condor est l'une des stratégies options les plus prisées par les traders options. Son utilisation est aussi largement répandue parmi les investisseurs individuels.
Le straddle : Le gamma Г
- Stratégies Options Fondamentales -
Le straddle : Le gamma Г
Le straddle est une des stratégies les plus simples et les plus communes pour le "gamma scalping". Voilà pourquoi....