12 votos

La distribución de Movimiento Browniano Geométrico

Por favor, hágamelo saber donde he estado equivocado!

Deje que el SDE satisfecho por el GBM $S(t)$ ser $$ \frac{dS(t)}{S(t)} = \mu dt + \sigma dW(t). $$

A continuación, el subyacente BM $X(t)$ va a satisfacer $$ dX(t) = \left( \mu - \frac{1}{2} \sigma^2 \derecho)dt + \sigma dW(t). $$

Para simular el GBM de veces $t_0 < t_1 < \ldots < t_n$, generar $$ n iid $\mathcal{N}(0,1)$ RVs, $Z_i$, $\quad i = 1,2,\ldots, n$ y establecer

$$ S(t_{i+1}) = S(t_i)\exp\left(\left( \mu - \frac{1}{2} \sigma^2 \right)(t_{i+1} -t_i) + \sigma \sqrt{t_{i+1} - t_i} Z_{i+1} \derecho). $$ Entonces $$ \frac{S(t)}{S(0)} = \exp\left(\underbrace{\left(\mu - \frac{1}{2} \sigma^2\derecho) t + \sigma \sqrt{t}Z}_{\mathcal{N}\left(\left(\mu - \frac{\sigma^2}{2}\right)t, \sigma^2 t\right)} \right) $$ y así $$ \log \frac{S(t)}{S(0)} \sim \mathcal{N}\left(\left(\mu - \frac{\sigma^2}{2}\right)t, \sigma^2 t\right). $$

Creo que me estoy perdiendo algo, porque cuando yo uso esta media y la varianza (en la ecuación directamente encima) para probar la normalidad de los registro de las devoluciones ($\log \frac{S(t)}{S(0)}$), me sale ridículo respuestas.

Para ser más específicos, con $S_0 = 20$, $\mu = 2$, $\sigma^2 = 1$ y creación de particiones en $[0,1]$ en 100 subintervalos, generando el GBM en estos 100 puntos da un rango de valores de 15.399 a 97.1384 para $S(t_i)$. A continuación, el registro de las devoluciones, $\log S(t_i)/S_0$, rango de -0.26143 a 1.5804. Los medios de que estoy usando por cada $\log S(t_i)/S_0$ son (en orden creciente de $i$) $0.015, 0.03, 0.045, \ldots, de 1,5$ y las desviaciones son de $0.01,0.02, \ldots, 1$, ya que estos son los parámetros en el supuesto de distribución normal, como se describe anteriormente. Finalmente, cuando estas de registro de las devoluciones se normalizan el uso de esta media y la varianza de su rango de valores es de -2.7643 a 0.080404, que claramente no es $\mathcal{N}(0,1)$-distribuido.

Gracias de antemano!

ACTUALIZACIÓN: La prueba la estoy usando para la prueba de normalidad (Anderson-Darling) se basa en muestras independientes de un (supuesto) de la distribución normal, y como un par de personas que han señalado en los comentarios, $\log S(t_i)/S_0$ es dependiente de $\log S(t_{i-1})/S_0$. De hecho, para cambiar a la prueba de la devolución de la forma $\log S(t_i)/S(t_{i-1})$ resultados en un "pase" para el Anderon-Darling prueba (dar $A^2 = 0.244$ para aquellos que están familiarizados).

1voto

oliversm Puntos 515

En general no se confunden, aunque vale la pena volver a visitar un par de pasos en su pregunta.

Asumimos $S$ de la siguiente manera la SDE $$ \dfrac{dS}{S} = \mu\:dt+ \sigma\:dW^\mathbb{P}(t) $$ en virtud de la medida física $\mathbb{P}$. Si cambiamos el riesgo neutral medida $\mathbb{Q}$ (usando el teorema de Girsanov) entonces $\mu \r$ y tenemos las siguientes SDE $$ \dfrac{dS}{S} = r\:dt+ \sigma\:dW^\mathbb{Q}(t). $$ Bajo el modelo Black-Scholes es de suponer que $r$, $\mu$ y $\sigma$ eran constantes (con $\sigma > 0 $) y se pudiera integrar la SDE en el intervalo $[t,T]$ find que $$ S(T) = S(t)\exp\left(\left(\mu - \dfrac{\sigma^2}{2}\right)(T-t) + \sigma \left(W^\mathbb{Q}(T) - W^\mathbb{Q}(t)\derecho)\derecho). $$ Ahora para simular este proceso solo tenemos que muestra $\left(W^\mathbb{Q}(T) - W^\mathbb{Q}(t)\right)$, que se logra mediante el cálculo de $\sqrt{T-t\:}Z$ donde $Z\sim N(0,1)$. Siguiendo este enfoque encuentra que $\log \left(\dfrac{S(T)}{S(t)}\right)$ ha deseado distribución normal.

El enfoque alternativo que parece que han implementado es la de generar la ruta de acceso completa de los $S$, que es innecesario en este caso. Sin embargo, sería necesario si necesitamos saber la ruta de acceso a tiempos intermedios (por ejemplo, para un exótico derivados como una opción Asiática). En este punto hay muchas maneras de simular la trayectoria y la más simple que se han implementado) es el de Euler-Maruyama (método de alternativas podrían incluir la Milstein método), donde $$ S(t + \Delta t) = S(t) + S(t)\times\left(\mu \Delta t + \sigma \sqrt{\Delta t\:}Z\derecho) $$ y que implicaría la implementación de esta forma iterativa. Esto es mucho más costoso de calcular y por lo que debe evitarse si es posible, y da $O(\Delta t)$ convergencia en $S(T)$.

Doy las siguientes 2 líneas de aplicación en Python2.7.10

import numpy as np
import scipy.stats as stats
s_0, mu, sigma, T, paths, path_steps = [20.0, 2.0, 1.0, 1.0,  100, 100]
s_T = s_0 * np.exp((mu-0.5*(sigma**2))*T + sigma*np.sqrt(T)*np.random.normal(0.0, 1.0, 1000))
print("\"True\" Mean: \t" + str((mu-0.5*(sigma**2))*T))
print("Computed Mean: \t" + str(np.log(s_T/s_0).mean()))
print("\"True\" Standard Deviation: \t\t" + str(sigma*np.sqrt(T)))
print("Computed Standard Deviation: \t" + str(np.log(s_T/s_0).std()))
print("Shaprio-Wilk Normality test, p-value: \t" + str(stats.shapiro(np.log(s_T/s_0))[0]))
print("Anderson-Darling Test:")
print("\t" + str(stats.anderson(np.log(s_T/s_0), dist="norm")))

que tiene el siguiente resultado:

"True" Mean:    1.5
Computed Mean:  1.48206641711
"True" Standard Deviation:      1.0
Computed Standard Deviation:    0.983089657019
Shaprio-Wilk Normality test, p-value:   0.998949408531
Anderson-Darling Test:
    AndersonResult(statistic=0.26799531674055288, critical_values=array([ 0.574,  0.653,  0.784,  0.914,  1.088]), significance_level=array([ 15. ,  10. ,   5. ,   2.5,   1. ]))

El alto valor p del test de Shapiro-Wilk apoya la hipótesis Nula de que el resultado sea distribuido normalmente. Yo no estoy familiarizado con la de Anderson-Darling de prueba, para ver la descripción del paquete e interpretar el resultado por sí mismo.

Espero que esto ayude.

-1voto

Benjamin Lindley Puntos 161

Lo que te falta es la suma de los errores. A pesar de que la suma sea yo.yo.d pero si usted desea hacer coincidir sus números, entonces su suma correctamente. sqrt(ti+1 - ti)zi + sqrt(ti - ti-1)zi-1 no es igual a la raíz cuadrada(ti+1 - ti-1)(zi-zi-1). Todavía familiarizarse con los símbolos matemáticos, pero creo que se entiende la idea. Log(St/S0) es, sin duda normal, pero para comparar numéricamente, es necesario tomar en cuenta la suma correcta de los errores.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X