ETFFIN Finance >> cours Finance personnelle >  >> stock >> Stock trading

Comment utiliser Excel pour simuler les cours des actions

Certains investisseurs actifs modélisent les variations d'une action ou d'un autre actif pour simuler son prix et celui des instruments qui en dépendent, tels que les dérivés. Simuler la valeur d'un actif sur une feuille de calcul Excel peut fournir une représentation plus intuitive de sa valorisation pour un portefeuille.

Points clés à retenir

  • Les traders cherchant à back-tester un modèle ou une stratégie peuvent utiliser des prix simulés pour valider son efficacité.
  • Excel peut vous aider avec votre back-testing en utilisant une simulation de monte carlo pour générer des mouvements de prix aléatoires.
  • Excel peut également être utilisé pour calculer la volatilité historique à brancher sur vos modèles pour une plus grande précision.

Construire une simulation de modèle de tarification

Que nous envisagions d'acheter ou de vendre un instrument financier, la décision peut être facilitée en l'étudiant à la fois numériquement et graphiquement. Ces données peuvent nous aider à évaluer le prochain mouvement probable que l'actif pourrait faire et les mouvements qui sont moins probables.

Tout d'abord, le modèle nécessite quelques hypothèses préalables. Nous supposons, par exemple, que le quotidien revient, ou "r(t), " de ces actifs sont normalement distribués avec la moyenne, "(μ), " et l'écart type sigma, "(σ)." Ce sont les hypothèses standards que nous utiliserons ici, bien qu'il y en ait beaucoup d'autres qui pourraient être utilisés pour améliorer la précision du modèle.

r ( t ) = S ( t ) S ( t 1 ) S ( t 1 ) ?? N ( ?? , ?? ) où: S ( t ) = proche t S ( t 1 ) = proche t 1 \begin{aligned} &r ( t ) =\frac { S ( t ) - S ( t - 1 ) }{ S ( t - 1 ) } \sim N ( \mu, \sigma ) \\ &\textbf{où :} \\ &S ( t ) =\text{close}_t \\ &S ( t - 1 ) =\text{close}_{t - 1} \\ \end{ aligné} ​r(t)=S(t−1)S(t)−S(t−1)​∼N(μ, σ)où :S(t)=placard​S(t−1)=placard−1​​

Qui donne:

r ( t ) = S ( t ) S ( t 1 ) S ( t 1 ) = ?? ?? t + ?? ?? ?? t où: ?? t = 1 journée = 1 3 6 5 d'un an ?? = moyenne ?? ?? N ( 0 , 1 ) ?? = volatilité annualisée \begin{aligned} &r ( t ) =\frac { S ( t ) - S ( t - 1 ) }{ S ( t - 1 ) } =\mu \delta t + \sigma \phi \sqrt { \delta t } \\ &\textbf{où :} \\ &\delta t =1 \ \text{day} =\frac { 1 }{ 365 } \ \text{d'une année} \\ &\mu =\text{ signifie} \\ &\phi \cong N ( 0, 1 ) \\ &\sigma =\text{volatilité annualisée} \\ \end{aligned} ​r(t)=S(t−1)S(t)−S(t−1)​=μδt+σϕδt​où :δt=1 jour=3651​ d'une annéeμ=moyenneϕ≅N(0, 1)σ=volatilité annualisée​

Ce qui se traduit par :

S ( t ) S ( t 1 ) S ( t 1 ) = ?? ?? t + ?? ?? ?? t \begin{aligned} &\frac { S ( t ) - S ( t - 1 ) }{ S ( t - 1 ) } =\mu \delta t + \sigma \phi \sqrt { \delta t } \\ \ fin{aligné} ​S(t−1)S(t)−S(t−1)​=μδt+σϕδt​​

Finalement:

S ( t ) S ( t 1 ) = S ( t 1 ) ?? ?? t + S ( t 1 ) ?? ?? ?? t S ( t ) = S ( t 1 ) + S ( t 1 ) ?? ?? t + S ( t 1 ) ?? ?? ?? t S ( t ) = S ( t 1 ) ( 1 + ?? ?? t + ?? ?? ?? t ) \begin{aligned} S ( t ) - S ( t - 1 ) =&\ S ( t - 1 ) \mu \delta t + S ( t - 1 ) \sigma \phi \sqrt { \delta t } \\ S ( t ) =&\ S ( t - 1 ) + S ( t - 1 ) \mu \delta t \ + \\ &\ S ( t - 1 ) \sigma \phi \sqrt { \delta t } \\ S ( t ) =&\ S ( t - 1 ) ( 1 + \mu \delta t + \sigma \phi \sqrt { \delta t } ) \\ \end{aligned} S(t)−S(t−1)=S(t)=S(t)=​ S(t−1)μδt+S(t−1)σϕδt​ S(t−1)+S(t− 1)μδt + S(t−1)σϕδt​ S(t−1)(1+μδt+σϕδt​)​

Et maintenant, nous pouvons exprimer la valeur du cours de clôture d'aujourd'hui en utilisant la clôture de la veille.

  • Calcul de  :

Pour calculer , qui est la moyenne des rendements journaliers, nous prenons les n prix de clôture passés successifs et appliquons, qui est la moyenne de la somme des n prix passés :

?? = 1 m ?? t = 1 m r ( t ) \begin{aligned} &\mu =\frac { 1 }{ n } \sum_{ t =1 } ^ { n } r ( t ) \\ \end{aligned} ​μ=n1​t=1∑n​r(t)​

  • Le calcul de la volatilité σ - volatilité

φ est une volatilité avec une moyenne de variable aléatoire zéro et un écart type un.

Calcul de la volatilité historique dans Excel

Pour cet exemple, nous utiliserons la fonction Excel "=NORMSINV (RAND ())." Avec une base de la distribution normale, cette fonction calcule un nombre aléatoire avec une moyenne de zéro et un écart type de un. Pour calculer , il suffit de faire la moyenne des rendements à l'aide de la fonction Ln (.) :la distribution log-normale.

Dans la cellule F4, entrer "Ln (P (t) / P (t-1)"

Dans la cellule F19, recherchez "=MOYENNE (F3:F17)"

Dans la cellule H20, entrez "=MOYENNE(G4:G17)

Dans la cellule H22, entrez "=365*H20" pour calculer la variance annualisée

Dans la cellule H22, entrez "=SQRT(H21) " pour calculer l'écart type annualisé

Nous avons donc maintenant la « tendance » des rendements quotidiens passés et l'écart type (la volatilité). Nous pouvons appliquer notre formule trouvée ci-dessus :

S ( t ) S ( t 1 ) = S ( t 1 ) ?? ?? t + S ( t 1 ) ?? ?? ?? t S ( t ) = S ( t 1 ) + S ( t 1 ) ?? ?? t + S ( t 1 ) ?? ?? ?? t S ( t ) = S ( t 1 ) ( 1 + ?? ?? t + ?? ?? ?? t ) \begin{aligned} S ( t ) - S ( t - 1 ) =&\ S ( t - 1 ) \mu \delta t + S ( t - 1 ) \sigma \phi \sqrt { \delta t } \\ S ( t ) =&\ S ( t - 1 ) + S ( t - 1 ) \mu \delta t \ + \\ &\ S ( t - 1 ) \sigma \phi \sqrt { \delta t } \\ S ( t ) =&\ S ( t - 1 ) ( 1 + \mu \delta t + \sigma \phi \sqrt { \delta t } ) \\ \end{aligned} S(t)−S(t−1)=S(t)=S(t)=​ S(t−1)μδt+S(t−1)σϕδt​ S(t−1)+S(t− 1)μδt + S(t−1)σϕδt​ S(t−1)(1+μδt+σϕδt​)​

Nous ferons une simulation sur 29 jours, donc dt =1/29. Notre point de départ est le dernier cours de clôture :95.

  • Dans la cellule K2, entrez "0".
  • Dans la cellule L2, entrez "95".
  • Dans la cellule K3, entrez "1".
  • Dans la cellule L3, entrez "=L2 * (1 + $F$19 * (1/29) + $H$22 *SQRT(1/29)*NORMSINV (RAND ()))."

Prochain, nous faisons glisser la formule vers le bas de la colonne pour compléter toute la série de prix simulés.

Ce modèle permet de retrouver une simulation des actifs jusqu'à 29 dates données, avec la même volatilité que les 15 anciens prix que nous avons sélectionnés et avec une tendance similaire.

Dernièrement, nous pouvons cliquer sur "F9" pour démarrer une autre simulation puisque nous avons la fonction rand dans le modèle.