He creado una estrategia específicamente para una acción en particular que he probado con sus datos históricos. Ahora quiero probarla con el precio simulado de la acción generado usando Monte Carlo. He utilizado estos sitios web fórmula para generar el rendimiento simulado.
$$\operatorname{Return} = \mu\Delta t + \sigma r\sqrt{t}$$
Este es mi código
library(quantmod)
set.seed(100)
aapl=getSymbols("AAPL",from="2014-01-01",auto.assign=F)
N=1000 #number of iterations
ret=ROC(Cl(aapl))
plot(ret)
t=1
mu=mean(na.omit(ret))
sigma=sd(na.omit(ret))
new_ret=NULL
for( i in 1:N){
phi=runif(1, min=0, max=1)
new_ret[i]=mu*t+sigma*phi*sqrt(t)
}
plot(new_ret)
El retorno simulado (new_ret) parece algo extraño y no es apropiado. ¿Cómo generar datos simulados utilizando datos históricos de la comilla de una acción?
La rentabilidad se calcula mediante ROC()
que a su vez utiliza la función diff(log())
función. ¿Cómo puedo generar el precio a partir de los valores de retorno simulados?