Saya mencoba memahami cara menggunakan pembelajaran mesin untuk memprediksi waktu keuangan 1 atau lebih langkah ke depan.
Saya memiliki jadwal waktu keuangan dengan beberapa data deskriptif dan saya ingin membentuk model dan kemudian menggunakan model untuk memprediksi langkah-n ke depan.
Apa yang telah saya lakukan sejauh ini adalah:
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
Kemudian saya telah memasang model randomForest untuk data ini.
fit <- randomForest(GOOG$GOOG.Close ~ GOOG$sma + GOOG$range, GOOG)
Yang tampaknya cocok dengan sangat baik:
> 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
Dan mencoba menggunakannya untuk memprediksi:
predict(fit, GOOG, n.ahead=2)
Tetapi prediksi ofc ini tidak berhasil.
Saya mencoba memprediksi Close, haruskah saya mengabaikan variabel lain sebanyak langkah yang saya inginkan prediksi, sebelum menyesuaikan model?
Mungkin banyak hal lain yang harus saya perhitungkan juga tetapi ini benar-benar langkah pertama saya mencoba pembelajaran mesin.