Inscription / Connexion Nouveau Sujet
Niveau Prepa (autre)
Partager :

Math financiere (options) c++

Posté par
nullptr19
20-05-21 à 12:09

Bonjour à tous ,

j'essaie de mettre en place une application qui me permet dévaluer les options (put , call) la programmation doit se faire en c++ à laide de la P00 , je sais pas si c'est le forum approprié , je vous fais juste un petit recap vite fait sur les calcul ...

on défini la valeur de call (C) et du put (P) par :

C=S_0N(d_1)-Ke^{-rt}N(d_2)  et  , P=Ke^{-rt}N(-d_2)-S_0N(-d1)

d_1,d_2 sont des constantes données par :

d_1=\frac{ln(\frac{S_0}{K})+(r+\frac{\sigma^2}{2})T}{\sigma\sqrt{T}}
d_2=\frac{ln(\frac{S_0}{K})+(r-\frac{\sigma^2}{2})T}{\sigma\sqrt{T}}=d_1-\sigma\sqrt{T}

K est le stricke ou prix d'exercice , T la maturité , l'ecart type (%), r le taux sans risque (%) , S_0 le court de l'action , du coup les valeurs N(d_1) , N(d_2) sont les valeur lu dans la table de loi normal centrée reduite , dont je rappelle que la densité est donnée par : f(x)=\frac{1}{(2\pi)^{0.5}}exp(0.5x^2)

alors j'ai trouvé un bout de code sur le net pour commencer et ca commence de cette facons  ,

#include <iostream>
#include <cmath>


double densité_normale(const double& x) {

    return (1.0/(pow(2*M_PI,0.5)))*exp(-0.5*x*x);


}

double norm_cdf(const double& x) {

    double k = 1.0/(1.0 + 0.2316419*x);
    double k_sum = k*(0.319381530 + k*(-0.356563782 + k*(1.781477937 + k*(-1.821255978 + 1.330274429*k))));

    if (x >= 0.0) {

        return (1.0 - (1.0/(pow(2*M_PI,0.5)))*exp(-0.5*x*x) * k_sum);


    } else {

        return 1.0 - norm_cdf(-x);


    }


}


Je comprend bien que la première fonction concerne l'expression de la densité dailleur j'ai modifie le nom initial , sauf que pour ce qui vient juste après j'ai du mal à comprendre qu'est ce que c'est , pourriez vous m'apporter un peu d'aide s'il vous plaît ? merci

Posté par
nullptr19
re : Math financiere (options) c++ 20-05-21 à 12:14

PS: dans le cas échéant il s'agit des options européennes .

Posté par
lionel52
re : Math financiere (options) c++ 20-05-21 à 14:28

Hello! norm_cdf est une approximation de la fonction de répartition

N(x) = \int_{-\infty}^x \frac 1{\sqrt{2\pi}}e^{-x^2/2}

Posté par
nullptr19
re : Math financiere (options) c++ 20-05-21 à 14:37

ah je comprend , dou cette somme définie dans la fonction du coup à quoi elle me sert dans mon programme ? juste pour approximer les valeurs prises dans la table de la loi centrée réduite , de manière pratique je sais que on le fait par  une interpolation ,

Posté par
nullptr19
re : Math financiere (options) c++ 20-05-21 à 14:42

de plus de façon schématique cette intégrale traduit bien l'aire sous la courbe mais qui se trouve à gauche de la valeurs x ... je pense que les choses se précisent peu à peu



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !