J'essaie de comprendre comment utiliser l'apprentissage automatique pour prédire la série financière 1 étape ou plus dans le futur.
J'ai une série temporelle financière avec des données descriptives et je voudrais former un modèle et ensuite utiliser le modèle pour prédire n étapes à venir.
Ce que j'ai fait jusqu'à présent, c'est:
getSymbols("GOOG")
GOOG$sma <- SMA(Cl(GOOG))
GOOG$range <- GOOG$GOOG.High-GOOG$GOOG.Low
tail(GOOG)
GOOG.Open GOOG.High GOOG.Low GOOG.Close GOOG.Volume GOOG.Adjusted sma range
2013-05-07 863.01 863.87 850.67 857.23 1959000 857.23 828.214 13.20
2013-05-08 857.00 873.88 852.91 873.63 2468300 873.63 834.232 20.97
2013-05-09 870.84 879.66 868.23 871.48 2200600 871.48 840.470 11.43
2013-05-10 875.31 880.54 872.16 880.23 1897700 880.23 848.351 8.38
2013-05-13 878.89 882.47 873.38 877.53 1448500 877.53 854.198 9.09
2013-05-14 877.50 888.69 877.14 887.10 1579300 887.10 860.451 11.55
J'ai ensuite adapté un modèle randomForest à ces données.
fit <- randomForest(GOOG$GOOG.Close ~ GOOG$sma + GOOG$range, GOOG)
Ce qui semble étonnamment bien:
> fit
Call:
randomForest(formula = GOOG$GOOG.Close ~ GOOG$sma + GOOG$range, data = GOOG)
Type of random forest: regression
Number of trees: 500
No. of variables tried at each split: 1
Mean of squared residuals: 353.9844
% Var explained: 97.28
Et j'ai essayé de l'utiliser pour prédire:
predict(fit, GOOG, n.ahead=2)
Mais cette prédiction ofc n'a pas fonctionné.
J'essaie de prédire la fermeture, dois-je retarder les autres variables par autant d'étapes que je veux la prédiction, avant d'ajuster le modèle?
Je devrais probablement prendre également en compte beaucoup d'autres choses, mais ce sont vraiment mes premières étapes pour essayer l'apprentissage automatique.