ฉันพยายามเข้าใจวิธีใช้การเรียนรู้ของเครื่องเพื่อทำนายไทม์ทางการเงิน 1 ขั้นตอนหรือมากกว่าในอนาคต
ฉันมีช่วงเวลาทางการเงินพร้อมข้อมูลเชิงพรรณนาและฉันต้องการจัดทำแบบจำลองจากนั้นใช้แบบจำลองเพื่อทำนายขั้นตอนล่วงหน้า
สิ่งที่ฉันได้ทำไปคือ:
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
จากนั้นฉันติดตั้งโมเดลฟอเรสต์แบบสุ่มกับข้อมูลนี้
fit <- randomForest(GOOG$GOOG.Close ~ GOOG$sma + GOOG$range, GOOG)
ซึ่งดูเหมือนว่าจะพอดีกับที่น่าแปลกใจ:
> 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
และพยายามใช้มันเพื่อทำนาย:
predict(fit, GOOG, n.ahead=2)
แต่คำทำนายของนี้ไม่ได้ผล
ฉันพยายามทำนายการปิดฉันควรทำให้ตัวแปรอื่นช้าลงตามขั้นตอนมากที่สุดเท่าที่ฉันต้องการการคาดการณ์ก่อนที่จะปรับโมเดลให้เหมาะสมหรือไม่?
อาจเป็นเรื่องอื่น ๆ อีกมากมายที่ฉันควรคำนึงถึงเช่นกัน แต่สิ่งเหล่านี้เป็นขั้นตอนแรกของฉันที่พยายามเรียนรู้จากเครื่อง