Soy un estudiante de pregrado a tiempo completo de Perú, y estoy tratando de usar el ejemplo de Movimiento Browniano Geométrico utilizado en la sección de ayuda de Wolfram Mathematica para predecir los futuros precios de las acciones, como en el ejemplo. Pero parece que podría haber algún tipo de error, porque cuando tomo la función media de los caminos futuros simulados para encontrar los valores futuros predichos, el camino resultante es ridículo debido a la volatilidad extremadamente baja que tiene.
El código que estoy usando es el mismo que el ejemplo proporcionado por Mathematica:
Obteniendo los datos:
LUVdata = FinancialData["LUV", "Close", {{2015, 1, 1}, {2015, 4, 28}}];
Ajustando los datos a una serie temporal:
LUVseries = TimeSeries[LUVdata[[All, 2]], {LUVdata[[1, 1]]};
Ajustando un Proceso de Movimiento Browniano Geométrico a los valores:
eprocess = EstimatedProcess[LUVseries["Values"],GeometricBrownianMotionProcess[\[Mu], \[Sigma], \[Alpha]]];
Simular 4000 caminos futuros para los próximos 17 días:
paths = RandomFunction[eprocess, {LUVseries["PathLength"], LUVseries["PathLength"] + 17, 1}, 4000];
td = TemporalData[paths["ValueList"], {LUVdata[[-1, 1]], Automatic, "Day"}, ValueDimensions -> 1];
Graficar las simulaciones:
forecastPlot = DateListPlot[td, Joined -> True, PlotStyle -> Directive[Opacity[.4]]]
Ahora, calcular la función media de las simulaciones para encontrar los valores futuros predichos:
meanPath = TimeSeriesThread[Mean, td];
Graficar la función media de las simulaciones:
DateListPlot[meanPath]
Como puedes ver en el gráfico de la función media, dice que la acción sólo variará en un rango de 0.05 centavos en 17 días, lo cual es totalmente incorrecto teniendo en cuenta que esta acción varía más de 1 dólar en un día normal de negociación:
Por favor, estaré muy agradecido con cualquiera que pueda decirme qué está mal con el código o con la estimación.