交易中的机器学习:理论、模型、实践和算法交易 - 页 1550

[删除]  
forexman77:

担任的只是训练随机森林的价格。得到了预测的红线。注意到在趋势区时,预测线根本不打。


一切都是对的,想想为什么

 
马克西姆-德米特里耶夫斯基

这就对了,想想为什么

为什么,按照我的理解,我已经知道了。我想听听其他人对它的看法?

[删除]  
forexman77:

为什么,按照我的理解,我已经知道了。我想听听其他人对它的看法。

因为森林不知道如何推断

你需要对数据进行缩放,比如说增量。

或者采取一些平坦的市场,如果只是把价格作为一个特征的话
 
马克西姆-德米特里耶夫斯基

因为森林不知道如何推断

你是指像ARIMA那样提前预测几个数值吗?

我有每个预测,只有一个条形的前进(知道森林对时间序列不起作用)。我还试着做了以下工作:增加预测的条形图,并从旧的条形图中减去后面的一条条形图,它的周期为

我是这样试的:我应该循环查看一些条形图,用预测的条形图替换之前的条形图。

第一个和第二个预测条被重复。

这就是它在gif中的训练方式。

    def on_press(self, event):
        if event.xdata!=None and event.xdata>=1:
           index = int(event.xdata)
           index_ = ind[index:index + 30]
           if self.ln != 0:
               self.ln.remove()
           X = z[index - 31:index]
           X1 = z[index-1:index + 29]
           X=X.reshape(-1, 1)
           X1 = X1.reshape(-1, 1)
           y = z[index - 30:index + 1]
           regr = RandomForestRegressor(max_depth=5, random_state=0, n_estimators=10)
           regr.fit(X, y)
           y_1 = regr.predict(X1)

           self.ln, = self.ax.plot(index_, y_1, color='red')
[删除]  
forexman77:

你是指像ARIMA那样,提前预测多个数值吗?

回归模型 中,符号只是被系数所支配,所以当训练数据超出范围时,一切都能正常进行。

森林对训练数据范围内边际值高于和低于的叶片进行分割。如果新的数据超出了这个范围,森林就会显示它所知道的极端叶子的值。

所以你有一条直线,因为森林显示了它知道的极端值
 
马克西姆-德米特里耶夫斯基

为什么不直接弄个某种试验品,比如拉练有什么好处?

你不需要在MT5中运行任何东西,而且这个dll也不是很有用。

MLflow已经在Python中出现了。你可以把拉练 的结果储存 在里面。

反正你会在MT5测试器中检查交易策略,因为它有更多的可能性。

 
马克西姆-德米特里耶夫斯基

在回归模型中,属性只是简单地与系数相乘,所以当训练数据超出范围时,一切都能正常进行。

在训练数据的范围内,森林将具有高于和低于边际值的叶子分开。如果新的数据超出了这个范围,森林就会显示它所知道的极端叶子的值。

这就是为什么你有一条直线,因为森林显示的是它所知道的极端值。

嗯,原则上是的,作为一个选项,可以预测增量并将其添加到初始条上,从而达到所需的深度。

我为什么要问,因为森林不需要对数据进行规范化处理,但它就是这样的。

[删除]  
forexman77:

嗯,原则上是的,作为一个选项,可以预测增量并将其添加到初始条上,从而达到所需的深度。

为什么我问,因为森林不需要对数据进行规范化处理,但结果就是这样。

那么,在非平稳时间序列 的情况下,至少有必要把它们带到一些合理的范围内,在一段时间内它们不会超出这个范围。

但分化越强,信息的损失就越大。

所以这是一把双刃剑--初始序列不是很合适,单滞后的增量也不是很好,因为会丢失很多信息。

丢失的信息正是关于平均值的时间转移,而不是其他。在我的超级孕妇帖子中,我试图用简单的术语来解释它

[删除]  
罗费尔德

MLflow已经在Python中出现了。你可以把拉练 的结果储存 在里面。

该交易策略仍将在MT5测试器中测试,因为它有更多的功能。

以后可能会派上用场,谢谢

[删除]  
1