Genero 10000 trayectorias binomiales aleatorias para una acción cuyo precio va desde S(0) = 10 hasta S(t) donde t = 1 año. Supongamos un movimiento browniano geométrico para el precio de la acción con una deriva del 15% anual y una volatilidad del 20%. Utilizo 10000 pasos de tiempo igualmente espaciados de longitud a lo largo de cada camino y ΔS=μSΔt±σS√Δt donde los movimientos + o - en cada paso de tiempo se generan al azar con igual probabilidad.
S = 10
S1 = []
mean = 0.15
sd = 0.2
for i in range(10000):
S = 10
for j in range(10000):
roll = np.random.rand()
if roll < 0.5:
S = S + mean*S/10000 + sd*S/100
else:
S = S + mean*S/10000 - sd*S/100
S1.append(S)
Utilizo los códigos anteriores para simular el GBM y mi resultado es el mismo que los valores teóricos. La media debería ser S(0)eμt y la varianza debe ser S2(0)e2μt(eσ2t−1) . Pero hay una pregunta que quiere que calcule la inversa, que es G(t)=1/S(t) . Considero que la media debe ser 1S(0)eμt y la varianza deben ser 1S2(0)e2μt(eσ2t−1) . ¿Estoy en lo cierto? Pero no estoy seguro de cómo cambiar mis códigos. He intentado escribir los siguientes códigos. Pero el resultado está lejos de los valores teóricos media = 0,116 y varianza = 0,00055. ¿Podría alguien explicarme en qué me estoy equivocando? Muchas gracias.
S = 10
G1 = [1/10]
mean = 0.15
sd = 0.2
for i in range(10000):
S = 10
for j in range(10000):
roll = np.random.rand()
if roll < 0.5:
G = 1/S
S = S + mean*S/10000 + sd*S/100
G = G + mean*(1/S)/10000 + sd*(1/S)/100
else:
G = 1/S
S = S + mean*S/10000 - sd*S/100
G = G + mean*(1/S)/10000 - sd*(1/S)/100
G1.append(G)
0 votos
Hola: Vago esbozo de cómo hacer esto: dsS es continua BW ( usted discretizó ) así que yo haría el mismo tipo de discretización para averiguar cuál es la difusión para △(1S) .. A continuación, puede realizar un tipo de simulación similar pero que será para \traingle(1S) .. No pude averiguar cómo hacer un triángulo más pequeño. Creo que se puede utilizar el lema de Ito para calcular la difusión para 1S .
0 votos
Hola, ¿podría explicar más sobre Δ1S ? Muchas gracias. He probado varios métodos. Pero los resultados están todos muy lejos de los valores teóricos media = 0,116 y varianza = 0,00055.
0 votos
Para la media de 1/S, ¿su código produce: E[1St]=1S0e−(μ−12σ2)t+12σ2t=1S0e−μt+σ2t ?
0 votos
Estoy tratando de producir 1S(0)eμt . Mi libro de texto muestra que E(St)=S(0)eμt .
0 votos
Esa es la media de S, ¿verdad? La media de 1/S tendrá una forma diferente
0 votos
Sólo estoy adivinando la media de 1/S. ¿Quieres decir que tengo que añadir otros términos para obtener la media de 1/S en lugar de sólo cambiar el término S? Pero estoy seguro de que la media de S es correcta.