1 mai 2021 21:53

Cum se folosește Excel pentru a simula prețurile acțiunilor

Unii investitori activi modelează variații ale unei acțiuni sau ale unui alt activ pentru a simula prețul acestuia și cel al instrumentelor care se bazează pe acesta, cum ar fi instrumentele derivate. Simularea valorii unui activ pe o foaie de calcul Excel poate oferi o reprezentare mai intuitivă a evaluării sale pentru un portofoliu. 

Chei de luat masa

  • Comercianții care doresc să testeze înapoi un model sau o strategie pot folosi prețuri simulate pentru a-și valida eficacitatea.
  • Excel vă poate ajuta cu testarea înapoi utilizând o simulare Monte Carlo pentru a genera mișcări aleatorii ale prețurilor.
  • Excel poate fi, de asemenea, utilizat pentru a calcula volatilitatea istorică pentru a vă conecta la modelele dvs. pentru o mai mare precizie.

Construirea unui model de simulare a prețurilor

Fie că avem în vedere cumpărarea sau vânzarea unui instrument financiar, decizia poate fi ajutată prin studierea acestuia atât numeric, cât și grafic. Aceste date ne pot ajuta să judecăm următoarea mișcare probabilă pe care ar putea să o facă activul și mișcările mai puțin probabile.

În primul rând, modelul necesită câteva ipoteze anterioare. Presupunem, de exemplu, că randamentele zilnice sau „r (t)” a acestor active sunt distribuite în mod normal cu media, „(μ)” și sigma deviației standard „(σ)”. Acestea sunt ipotezele standard pe care le vom folosi aici, deși există multe altele care ar putea fi utilizate pentru a îmbunătăți acuratețea modelului.

Care dă:

r(t)=S(t)-S(t-1)S(t-1)=μδt+σϕδtwhere:δt=1 day=1365 of a yearμ=meanϕ≅N(0,1)σ=annualized volatility\ begin {align} & r (t) = \ frac {S (t) – S (t – 1)} {S (t – 1)} = \ mu \ delta t + \ sigma \ phi \ sqrt {\ delta t } \\ & \ textbf {unde:} \\ & \ delta t = 1 \ \ text {day} = \ frac {1} {365} \ \ text {a unui an} \\ & \ mu = \ text { mean} \\ & \ phi \ cong N (0, 1) \\ & \ sigma = \ text {volatilitate anualizată} \\ \ end {align}(…)r(t)=S(t-1)

-10,-9.5,-14c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54c44.2,-33.3,65.8,
-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10s173,378,173,378c0.7,0,
35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429c69,-144,104.5,-217.7,106.5,
-221c5.3,-9.3,12,-14,20,-14H400000v40H845.2724s-225.272,467,-225.272,467
s-235,486,-235,486c-2.7,4.7,-9,7,-19,7c-6,0,-10,-1,-12,-3s-194,-422,-194,-422
s-65,47,-65,47z M834 80H400000v40H845z”>

Care are ca rezultat:

In cele din urma:

S(t)-S(t-1)= S(t-1)μδt+S(t-1)σϕδtS(t)= S(t-1)+S(t-1)μδt + S(t-1)σϕδtS(t)= S(t-1)(1+μδt+σϕδt)\ begin {align} 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 {align}S(t)-S(t-1)=S(t)=S(t)=(…) S(t-1)μδt+S(t-1)σϕδt
-10,-9.5,-14c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54c44.2,-33.3,65.8,
-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10s173,378,173,378c0.7,0,
35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429c69,-144,104.5,-217.7,106.5,
-221c5.3,-9.3,12,-14,20,-14H400000v40H845.2724s-225.272,467,-225.272,467
s-235,486,-235,486c-2.7,4.7,-9,7,-19,7c-6,0,-10,-1,-12,-3s-194,-422,-194,-422
s-65,47,-65,47z M834 80H400000v40H845z”>
-10,-9.5,-14c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54c44.2,-33.3,65.8,
-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10s173,378,173,378c0.7,0,
35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429c69,-144,104.5,-217.7,106.5,
-221c5.3,-9.3,12,-14,20,-14H400000v40H845.2724s-225.272,467,-225.272,467
s-235,486,-235,486c-2.7,4.7,-9,7,-19,7c-6,0,-10,-1,-12,-3s-194,-422,-194,-422
s-65,47,-65,47z M834 80H400000v40H845z”>

Și acum putem exprima valoarea prețului de închidere de astăzi folosind închiderea din ziua anterioară.

  • Calculul μ:

Pentru a calcula μ, care este media randamentelor zilnice, luăm n prețurile închise trecute succesive și aplicăm, care este media sumei celor n prețuri trecute:

  • Calculul volatilității σ – volatilitate

φ este o volatilitate cu o medie variabilă zero aleatorie și o deviație standard.

Calculul volatilității istorice în Excel

Pentru acest exemplu, vom folosi funcția Excel „= NORMSINV (RAND ()).” Cu o bază din distribuția normală, această funcție calculează un număr aleator  cu o medie de zero și o deviație standard de unul. Pentru a calcula μ, pur și simplu mediați randamentele utilizând funcția Ln (.): Distribuția log-normală.

În celula F4, introduceți „Ln (P (t) / P (t-1)”

În celula F19 căutați „= MEDIU (F3: F17)”

În celula H20, introduceți „= MEDIE (G4: G17)

 În celula H22, introduceți „= 365 * H20” pentru a calcula varianța anualizată

 În celula H22, introduceți „= SQRT (H21)” pentru a calcula abaterea standard anualizată

Deci, avem acum „tendința” randamentelor zilnice trecute și deviația standard ( volatilitatea ). Putem aplica formula noastră găsită mai sus:

S(t)-S(t-1)= S(t-1)μδt+S(t-1)σϕδtS(t)= S(t-1)+S(t-1)μδt + S(t-1)σϕδtS(t)= S(t-1)(1+μδt+σϕδt)\ begin {align} 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 {align}S(t)-S(t-1)=S(t)=S(t)=(…) S(t-1)μδt+S(t-1)σϕδt
-10,-9.5,-14c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54c44.2,-33.3,65.8,
-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10s173,378,173,378c0.7,0,
35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429c69,-144,104.5,-217.7,106.5,
-221c5.3,-9.3,12,-14,20,-14H400000v40H845.2724s-225.272,467,-225.272,467
s-235,486,-235,486c-2.7,4.7,-9,7,-19,7c-6,0,-10,-1,-12,-3s-194,-422,-194,-422
s-65,47,-65,47z M834 80H400000v40H845z”>
-10,-9.5,-14c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54c44.2,-33.3,65.8,
-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10s173,378,173,378c0.7,0,
35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429c69,-144,104.5,-217.7,106.5,
-221c5.3,-9.3,12,-14,20,-14H400000v40H845.2724s-225.272,467,-225.272,467
s-235,486,-235,486c-2.7,4.7,-9,7,-19,7c-6,0,-10,-1,-12,-3s-194,-422,-194,-422
s-65,47,-65,47z M834 80H400000v40H845z”>

Vom face o simulare pe parcursul a 29 de zile, deci dt = 1/29. Punctul nostru de plecare este ultimul preț de închidere: 95.

  • În celula K2, introduceți „0.”
  • În celula L2, introduceți „95”.
  • În celula K3, introduceți „1.”
  • În celula L3, introduceți „= L2 * (1 + $ F $ 19 * (1/29) + $ H $ 22 * ​​SQRT (1/29) * NORMSINV (RAND ())).”

Apoi, tragem formula în jos în coloană pentru a finaliza întreaga serie de prețuri simulate.

Acest model ne permite să găsim o simulare a activelor până la 29 de date date, cu aceeași volatilitate ca primele 15 prețuri pe care le-am selectat și cu o tendință similară.

În sfârșit, putem face clic pe „F9” pentru a începe o altă simulare, deoarece avem funcția rand ca parte a modelului.