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

 
阿列克谢-伯纳科夫

你不知道你的模型在长时间内是如何工作的:没有大的前进测试,也没有步行前进测试。你的模型可能是一套学来的噪音,你在几张精心挑选的图片中误以为是信号。

我建议你重新考虑你的方法,先做广泛的测试。你会看到低谷和山峰,也许,但不太可能,你会比零成熟度的期望值高一点。而这一切都可以在你开始损失真金白银之前完成。

最重要的是,我对你对我的系统的信心感到惊讶。好吧,让我们看看在本周末,我会告诉你它是如何工作的......好吗?
 
Mihail Marchukajtes:
最令人惊讶的是你对我的系统的信心。好吧,让我们在本周末看看,我会告诉你它是如何工作的......好吗?

不要。一个星期加,一个星期减。这是没有迹象的。

我对你的系统没有100%的把握。有一个事实声明:你不知道它在一个或多或少长的时期内会有怎样的表现。这是一个分享经验的主题。我的经验是,到目前为止,你的结果既可能是侥幸,也可能是一种模式,但侥幸的可能性要大得多。而我在给你建议。

 

你好!

我正在尝试运行mxnet包中的卷积网络http://tjo-en.hatenablog.com/entry/2016/03/30/233848,但不太清楚如何用 "我们的 "数据,即字符串的形式来运行它,因为该网络主要是用图片来工作的,而数据是以多维数组与矩阵的形式采取的,总之,如果有人理解并知道如何运行它,我将非常感谢一个用比如说 "虹膜 "的网络例子。

{mxnet} R package from MXnet, an intuitive Deep Learning framework including CNN & RNN - Data Scientist TJO in Tokyo
{mxnet} R package from MXnet, an intuitive Deep Learning framework including CNN & RNN - Data Scientist TJO in Tokyo
  • 2016.03.30
  • tjo-en.hatenablog.com
Actually I've known about MXnet for weeks as one of the most popular library / packages in Kaggler, but just recently I heard bug fix has been almost done and some friends say the latest version looks stable, so at last I installed it. Convolutional Neural Network (CNN) I believe almost all readers of this blog already know well about Deep...
 
Mihail Marchukajtes:
不可能...你需要观察总数中的错误数,如果错误数上升,你应该重新训练网络。例如,如果你在20个信号中出现4个错误,那是可以的,如果错误的数量增加,你需要重新训练网络。另一个问题出现了......选择什么样的模式,才能让人相信有10个信号。嗯,尤里有点描述了。让我们选择显示二元和三元模型的最大概括水平的模型,并开始用它工作。而要从质量上增加一个策略的运行时间,我们应该增加可训练的间隔,而要增加可训练的间隔就需要增加输入的数量。也就是说,10个输入可以将100个信号锯成零。15个输入可以处理225个条目,也就是6个星期的信号,所以网络出样的时间会更长,不是一个星期,而是两个星期。有了适当的错误率。工作中不可能没有错误。我想这样做,但这是不可能的。 主要的是减少这个错误对你的存款的影响,你就可以一劳永逸了 :-)

请小心使用libVMR或jPredictor,它们在外汇中显示出膨胀的性能。对于外汇来说,在训练样本之外的数据上进行测试是非常重要的。libVMR或jPredictor从源文件中获取数据,随机选择一半的行来训练模型,然后在这些数据上建立一个模型,并在剩余的行上进行测试。这可能适用于评估图片识别,或文本,或任何其他简单的任务。但这对外汇来说并不是好事。

做一个简单的实验:你在训练文件中有大约200行,你有30%的预测范围。因此,将文件一分为二--第一个文件 将有150个首行,第二个文件将有剩余的50个尾行。在有150行的新文件上训练jPredictor,然后使用 "使用模型 "对剩下的50行进行预测(你必须一个一个地输入数据,这将需要一些时间)。计算一下正确答案的数量,根本不会是90%,我认为最多是60%左右。
你仍然处于盈利状态,只是因为你的主要指标,它似乎或多或少都在盈利,由于神经元中的额外过滤器,你只是稍微改善了它。

 
阿列克谢-伯纳科夫

不要。一个星期加,一个星期减。不是一个指标。

我对你的系统没有100%的把握。有一个事实声明:你不知道它在一个或多或少长的时期内会有怎样的表现。这是一个分享经验的主题。我的经验是,到目前为止,你的结果既可能是侥幸,也可能是一种模式,但侥幸的可能性要大得多。而我在给你建议。

所以你想要一个圣杯。你训练过一次,就会在你的余生中削减优惠券?是这样吗?我很惊讶,你是哪一年进入市场的?如果没有秘密......你知道吗,市场是不断变化的,一段时间后,模型就会直接消失。 如果你想让模型长期工作,请使用月度 图表,在这种情况下,这是最好的选择。因此,对于每周5分钟是很正常的结果,那么你就是过度训练.....,而如果你工作了两星期,那么就很....。
 
Dr.Trader:

请小心使用libVMR或jPredictor,它们在外汇中显示出膨胀的性能。对于外汇来说,在训练样本之外的数据上进行测试是非常重要的。libVMR或jPredictor从源文件中获取数据,随机选择一半的行来训练模型,然后在这些数据上建立一个模型,并在剩余的行上进行测试。这可能适用于评估图片识别,或文本,或任何其他简单的任务。但这在外汇市场上是行不通的。

让我们做一个简单的实验:我想你在训练文件中有200行,预测范围是30%。因此,将文件一分为二 -第一个文件 将有150个第一行,第二个文件将有剩余的50个最后一行。在有150行的新文件上训练jPredictor,然后使用 "使用模型 "对剩下的50行进行预测(你必须一个一个地输入数据,这将需要一些时间)。计算一下正确答案的数量,根本不会是90%,我认为最多是60%左右。
你仍然处于盈利状态,只是由于你的主要指标,反正它可能或多或少都是盈利的,由于神经元中的额外过滤器,你只是稍微改善了它。

你只是不知道如何准备数据 :-)我根本没有预测范围,我没有预测什么。30%是一个置信区间,是你可以信任模型的区间,如果不是全部50%的话。也就是说,如果你已经训练了三周,那么它应该在一周内发挥作用。我已经和Yury的预测器合作了一年多,我明白了很多事情,以及如何准备数据,它能(预测器)做什么,它根本不能做什么。你可以把你的数据发给我一个文件,我会训练这个模型,你会看到它将来是如何工作的,如果你愿意的话,当然...

如果你这样做,我们将做以下工作。回归一周...(本周将是测试周,不在样本范围内)以10个输入=100条记录的速度保存数据,以免训练时间过长。我将训练模型,你将其应用于你的TS,初步描述其构造原理,并展示最近一周的结果,然后我们将看到....。你怎么看?

 
Mihail Marchukajtes:

也就是说,如果你已经训练了三个星期,你应该工作一个星期。

而我在想,哪里有什么收获?好吧,论坛上没有人会真正靠雷舍托夫的手工艺品赚钱。但他就在那里!当然是接球)。
 
组合器
我在想这是哪里的陷阱。论坛上还没有一个人真正用雷舍托夫的手工艺品赚钱。在这里,它是!当然了,是有收获的 )
这取决于如何.....我很喜欢他的这个作品,它有一个合理的纹理,但谁也不能正确使用它,所以没有什么帮助。给我一个工作了一年而没有任何错误的系统,我就相信它。这都是胡说八道。我对这样的怪人感到惊讶,比如那些问,好吧,价格会去哪里,或者这个信号会赚多少点的人。你太天真了。市场就是这样一个东西,不可能知道未来......。但你不能理解这一切....
 
Mihail Marchukajtes:

好吧,目前在我现在的图片中工作的例子是由这个文件制成的

如何计算信号发出后100点的利润?

例如,你可以在未来取n个烛台,测量它们的阴影。如果任何蜡烛图的影子和当前价格 在信号方向上的差异至少有100点,那么我们就设置一个。如果该条件对任何一个蜡烛图都不起作用,结果就是0。

第二种变体:制作一个EA,其止损点和止盈点距离当前蜡烛图100点,根据信号打开交易并记住模式。仓位关闭后,我们看一下。如果它以盈利收盘,我们在样本中把这个模式标记为1,如果它显示为亏损,我们把它标记为0。

当然,你可以把收集数据取样的脚本或专家顾问的代码发给我,例如,在我的个人区域。我将自己解决这个问题。

我目前正在尝试调整jPrediction,这样我就不必提取代码并在MQL中编译了。EA将把一个模式转储到一个文件中,Java工具,一个三元分类器,将读取这样的文件,如果它确认了这个信号,它将显示一个带有建议和声音信号的警报。IMHO这将更容易?

后来,我们可以做一个全自动模式,这样分类器和专家顾问就可以交换文件,并自动开启交易。

 
尤里-雷舍托夫

我想知道的是,你是如何计算出信号发出后的100点利润的?

例如,你可以在未来取n个烛台,测量它们的阴影。如果任何蜡烛图在信号方向的阴影和当前价格 之间的差异至少为100点,那么就设置一个。如果该条件对任何一个蜡烛图都不起作用,结果就是0。

第二种变体:制作一个EA,其止损点和止盈点距离当前蜡烛图100点,根据信号打开交易并记住模式。仓位关闭后,我们看一下。如果它以盈利收盘,我们在样本中把这个模式标记为1,如果它显示为亏损,我们把它标记为0。

当然,你可以在你的个人信息中给我发送脚本或专家顾问的代码,收集数据进行采样。我将自己解决这个问题。

我目前正在尝试调整jPrediction,这样我就不必提取代码并在MQL中编译了。EA将把一个模式转储到一个文件中,Java工具,一个三元分类器,将读取这样的文件,如果它确认了这个信号,它将显示一个带有建议和声音信号的警报。IMHO,这将是更容易的?

后来,我们可以做一个全自动模式,这样分类器和专家顾问可以交换文件,并自动打开交易。

这比那要简单得多。我计算当前信号的克隆和前一个信号的克隆之间的差异,如果这个差异是正的,考虑到信号的方向,并且差异的积极性超过100点,那么前一个信号是 "一",如果更少 - "零"。我在Loafer的帮助下保存了一切,就是为neuroshell写的那个。我有个好主意,把任何指标的数据都保存在ksv文件中,所以就这样.....。我不使用EA,我用手交易,把模型放在指标中,这就是为什么我不需要任何EA。最简单的事情就是把三元模型和二元模型一起保留。例如,对于二元模型,在文件名前加上_2,对于三元模型_3,它将是足够的.....。IMHO。所有的辉煌都是简单的,没有必要把事情复杂化。

这里有一个EA,可以保存任何指标的数据,看看5分钟的功能,我的指标在那里。然而,这都是针对MT4的,我只在它上面工作...bye....

附加的文件: