Predicting price using previous prices with R and Neural Networks (neuralnet)
在R神经网络页面中,我使用神经网络函数来尝试预测股票价格。
训练数据包含高,低,开,关列。
1 2 | myformula <- close ~ High+Low+Open neuralnet(myformula,data=train_,hidden=c(5,3),linear.output=T) |
我的问题,鉴于以下数据示例,您可以告诉我该公式会是什么样子。
我有一个表格,其中列为"高","低","打开","关闭",它有两行值,每行代表一天的蜡烛棒。 因此,数据中的两行是前两天的蜡烛棒。我的目标是预测下一根蜡烛是什么,即"开","高","低","关闭"给出前两个烛台。
我的神经网络将一次呈现以前的dtata 1蜡烛棒。 我想知道下一个烛台是什么,所以我的R公式会是什么样子。
谢谢
让我知道
My neural network will be presented with the previous data one candle stick at a time. I want to know what the next candlestick is, so what would my R formula look like.
在前馈神经网络*中,您必须指定要用于预测的要素和要预测的目标。在上面的示例中,功能是例如
如果只有
*可以在序列上训练递归神经网络(RNN),并根据输入序列输出预测,但这是一个整体'其他蠕虫病毒 sub>
简单示例:根据最近2个近似值预测收盘价
我编写了这个荒谬简单的例子,只是为了说明问题的表达,它预测了
*如果你用这个交易你肯定会丢失你的衬衫。这只是为了说明如何在神经网络中构建这样的预测问题。不要将它用于真实。 sub>
问题的表述
我想澄清的一点是,如果列中有价格,则必须为预测创建要素
1 | prev_close_1 | prev_close_2 | close |
对NN提出的问题是基于
这是网络架构
注意作为先前关闭值的输入和输出:预测的关闭值。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | library(neuralnet) N = 10 prices <- data.frame(close=1:N) # Dummy straight line uptrend for N periods print(prices) shift <- function(x, n){ c(x[-(seq(n))], rep(NA, n)) } # Form the training dataframe train <- data.frame( prev_close_1=prices$close, prev_close_2=shift(prices$close, 1), close=shift(prices$close, 2) ) # When shifting the columns for time lag effect, some rows will have NAs # Let's remove NAs train <- na.omit(train) print(train) nn <- neuralnet( formula=close ~ prev_close_1 + prev_close_2, data=train, hidden=c(1), # 1 neuron in a single hidden layer linear.output=TRUE # we want regression not classification ) print(prediction(nn)) plot(nn) |
虚拟价格看起来像什么
这就是你所拥有的,它只是历史股票价格
1 2 3 4 5 6 7 8 9 10 11 | close 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 |
NN受过什么训练
这就是您所需要的,功能和目标,尝试在下面的训练数据框中形成行以了解移位/滞后。
1 2 3 4 5 6 7 8 9 | prev_close_1 prev_close_2 close 1 1 2 3 2 2 3 4 3 3 4 5 4 4 5 6 5 5 6 7 6 6 7 8 7 7 8 9 8 8 9 10 |
NN预测的是什么
1 2 3 4 5 6 7 8 9 | prev_close_1 prev_close_2 close 1 1 2 2.994291864 2 2 3 4.017828301 3 3 4 5.002914789 4 4 5 5.968855729 5 5 6 6.978644849 6 6 7 8.030810042 7 7 8 9.051063456 8 8 9 9.945595495 |