Why is TimeSeriesForecast linear?



When I use FinancialData with TimeSeriesForecast, the resulting graph is always linear and thus not very accurate.

data = FinancialData["AAPL", "Close", {{2000, 1, 1}, {2012, 1, 1}, "Week"}, "Value"];
start = DayRound["Jan 1 2000", "BusinessDay", "Next"];
stocks = TimeSeries[data, {start, Automatic, "Week"}];
eproc = TimeSeriesModelFit[stocks];
forecast = TimeSeriesForecast[eproc, {210}];
p1 = DateListPlot[{stocks, forecast}, Filling -> Axis]

enter image description here

p2 = DateListPlot[ FinancialData["AAPL", "Close",  {{2000, 1, 1}, {2015, 12, 1}}],  Filling -> Axis];
Show[{p1, p2}, PlotRange -> All]

enter image description here

I want the forecasting curve to be more similar to the known data.

Any help? Thanks.


Posted 2015-12-22T02:33:41.173

Reputation: 41

Here is the .nb file.

– bobtran12 – 2015-12-22T02:33:47.313

2It may be that a second order trend is needed. That said, if TSMF could reliably forecast stocks WRI wouldn't release it to the public :p – Andy Ross – 2015-12-22T04:46:18.763

Incidentally a second order trend can be achieved in several ways but the following will let it automatically pick the orders of AR and MA components. TimeSeriesModelFit[data,{"ARIMA",2}]. A word of warning though, a second order trend is rarely a good idea in practice – Andy Ross – 2015-12-22T04:55:49.013

Using eproc = TimeSeriesModelFit[stocks, {"ARIMA", 2}];,

I get TimeSeriesModelFit::tsmfdt: The data stocks cannot be interpreted as real-valued temporal data. – bobtran12 – 2015-12-22T05:11:54.807

That's odd. It returns a model for me. I'm using 10.1 on windows 7. – Andy Ross – 2015-12-22T05:40:51.793



ARIMA family models are Gaussian, and linear.

The best predictor for your data is the conditional expectation of the process value given the prior history, and this conditional expectation is deterministic and polynomial in time.

In your case, of order 1 integrated model, the polynomial has degree 1.

To mitigate this, you need to forecast no so far out in the future, and to use confidence bands with your forecast.


Posted 2015-12-22T02:33:41.173

Reputation: 7 203