交易中的机器学习:理论、模型、实践和算法交易 - 页 1324 1...131713181319132013211322132313241325132613271328132913301331...3399 新评论 Maxim Dmitrievsky 2019.02.13 05:29 #13231 阿列克谢-维亚兹米 金。是的,那里的基本设置很好,特别是如果你直接在Python中运行。但这对我来说还不够好。这是真的,安娜-维罗妮卡是一个更好的叙述者,而且舞姿更优美。 Aleksey Vyazmikin 2019.02.13 05:57 #13232 马克西姆-德米特里耶夫斯基。这个节目是真的,安娜-维罗妮卡是一个更好的叙述者,她还会跳舞。我不知道,我不注意它,我通常在快速模式下观看它。 无论如何,有些问题需要创作者的回答,而我不知道如何去问,在哪里问。 Maxim Dmitrievsky 2019.02.13 05:59 #13233 阿列克谢-维亚兹米 金。我不知道,我不注意它,我通常在快速通道上观看。 总之,有一些问题需要创作者回答,而我不知道如何去问,在哪里问。在githab上可能 Aleksey Vyazmikin 2019.02.13 06:13 #13234 马克西姆-德米特里耶夫斯基。在githab上,也许。他们在那里都很会讲英语--我不知道我在哪里 :) Maxim Dmitrievsky 2019.02.13 06:31 #13235 阿列克谢-维亚兹米 金。那里的每个人都很会讲英语--我不知道我在哪里 :)看来我们需要用R来代替python,Renat写道,很快就会有一个直接的链接,不需要拐杖。 也就是说,你将能够在mt5中单线运行catbust。 Aleksey Vyazmikin 2019.02.13 06:57 #13236 马克西姆-德米特里耶夫斯基。看起来我们需要提升R而不是python,Renat写道,很快就会有一个没有拐杖的直接捆绑软件。 也就是说,catbust可以在mt5中单行运行。我从来没有能够在R.... 下运行catbust。也许我不太方便。如果它是捆绑式的,这很好,但它不会让运行优化 和响应速度受到质疑...。 Aleksey Vyazmikin 2019.02.13 07:27 #13237 完成了一项关于将样本分成训练和验证样本(训练停止和模型选择的样本)的影响的研究。 使用的样本是从2014年到2018年,每20%相当于约1年。方法如下,取总样本,开始增加10%的验证样本,减少同样10%的训练样本,结果是9组样本。为每个样本建立一个模型,种子从1到200,即每个样本共有200个模型,共1800个模型。 模型测试是在一个固定的样本上进行的--2018年,没有参与训练。 该工具是Si期货合约的胶水。 下面的表格是判断模型结果的指标--左边的部分是财务指标,就像我们在终端看到的那样,右边的部分是关于误差平衡的指标(我这样称呼它--我不知道如何纠正它,如果有人使用它的话),也就是说,如果目标1被正确确定,那么+1,如果不正确,那么-1,它可以准确评估整个样本的分类的质量。在浅绿色中,我标出了在平均值方面的最佳表现。 以下是这些模型的度量值 结果清楚地表明,2014年的培训(80%-90%)给出了最差的结果,与70%相比有明显的下降。 这反而说明不是样本量太小,而是2014年的模式几乎没有被满足,也就是说,市场已经发生了明显的变化,这意味着理论上这段时间可以完全从培训中删除。 现在我使用以下标准来选择测试(考试)样本中的模式 if(t==2)if (FinRez>1000 && DD_Balans_Proc_DMM<30 && Proc_Max_Balans> 70 && Proc_Min_Balans<30 && Pribolnost_Balans> 10 && ProfitFaktor_Balans>1.2)Filter_03=1; 以下是符合这一标准的模型数量的数据 下面是一个表格,列出了根据以下标准考虑到所有三个样本的指标而选择的模型 if(t==0)if (FinRez>10000 && DD_Balans_Proc_DMM<30 && Proc_Max_Balans> 70 && Proc_Min_Balans<30 && Pribolnost_Balans> 10 && ProfitFaktor_Balans>1.2)Filter_01=1; if(t==1)if (FinRez>3000 && DD_Balans_Proc_DMM<30 && Proc_Max_Balans> 70 && Proc_Min_Balans<30 && Pribolnost_Balans> 10 && ProfitFaktor_Balans>1.2)Filter_02=1; if(t==2)if (FinRez>1000 && DD_Balans_Proc_DMM<30 && Proc_Max_Balans> 70 && Proc_Min_Balans<30 && Pribolnost_Balans> 10 && ProfitFaktor_Balans>1.2)Filter_03=1; 在这里,我们应该考虑到,利润的标准是固定的,而达到这个利润的时间对于不同的组合是不同的(可能,我们应该减少数字以使比较正确)。 那么可以得出什么结论呢?看来,最佳数量是验证样本的60%-70%,也就是说,训练应该在比模型验证更小的样本上进行。但不可能不强调30%的细分,那里的所有指标的结果也不差,而且失败率相当接近于40%和50%。我不知道是什么影响了样本量还是内容更多,以及如何建立这个... 那你对这个实验的结果有什么看法,也许我对结果的解释是错误的?有什么想法可以改变方法或其他建议来解决这个训练和选择样本的比例问题?已添加。 关于80%-90%的平均数,那里有很多零(完全没有来自模型的输入信号),因此有失真,这可以在StDV_K_Korrekt_Balans指标中看到。 StDV_K_Korrekt_Balans 90%的直方图 StDV_K_Korrekt_Balans的柱状图70%。 StDV_K_Korrekt_Balans 30%的直方图 这就是图表的样子(直方图是可以点击的,这样就不会有恼人的闪动了)。 30% 40% 50% 60% Aleksey Vyazmikin 2019.02.13 08:10 #13238 我还应该注意到,训练总是在比进行训练控制的数据更早的数据上进行的--也许我们应该把它们换掉,看看会发生什么。 平均较小的召回率引起了人们的注意--也许我们需要进一步训练模型,而不是在100棵树之后没有改进时就停止训练,或者没有我们希望的那么多稳定模式。我们需要看看模型的重叠程度,如果召回率很低,就有可能存在相关性很小的模型,但同样有利可图,那么它们就很适合合并成一个池子。 Farkhat Guzairov 2019.02.13 08:35 #13239 阿列克谢-维亚兹米 金。 我还要指出,训练总是在比训练控制所依据的数据更早的数据上进行--也许应该把它们换掉,看看会发生什么。上面的一切都很酷,信息量很大,但 "训练控制",这是什么意思? 例如,你在2014年的数据样本上训练系统,然后给出2015年的样本,想看看模式的概率?如果是这样,那么你就不需要调换任何东西,一切都正确。只是我认为这里没有问题,如果控制产生任何与预期不同的结果,它总是如此。 Farkhat Guzairov 2019.02.13 08:41 #13240 如果MO在你的案例中的实际应用,在我看来就是以下几点。 既然要得到100%概率的真实结果根本不现实,那么就按照简单的方法,比如说真假结果的比例,如果是在50/50的范围内,那么我们又必须了解你用这些结果得到的利润是多少,如果50%的利润是平均100点,其余50%的损失平均50点,那么我认为你的系统已经适合实际使用。 1...131713181319132013211322132313241325132613271328132913301331...3399 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
是的,那里的基本设置很好,特别是如果你直接在Python中运行。但这对我来说还不够好。
这是真的,安娜-维罗妮卡是一个更好的叙述者,而且舞姿更优美。
这个节目是真的,安娜-维罗妮卡是一个更好的叙述者,她还会跳舞。
我不知道,我不注意它,我通常在快速模式下观看它。
无论如何,有些问题需要创作者的回答,而我不知道如何去问,在哪里问。
我不知道,我不注意它,我通常在快速通道上观看。
总之,有一些问题需要创作者回答,而我不知道如何去问,在哪里问。
在githab上可能
在githab上,也许。
他们在那里都很会讲英语--我不知道我在哪里 :)
那里的每个人都很会讲英语--我不知道我在哪里 :)
看来我们需要用R来代替python,Renat写道,很快就会有一个直接的链接,不需要拐杖。
也就是说,你将能够在mt5中单线运行catbust。
看起来我们需要提升R而不是python,Renat写道,很快就会有一个没有拐杖的直接捆绑软件。
也就是说,catbust可以在mt5中单行运行。
我从来没有能够在R.... 下运行catbust。也许我不太方便。如果它是捆绑式的,这很好,但它不会让运行优化 和响应速度受到质疑...。
完成了一项关于将样本分成训练和验证样本(训练停止和模型选择的样本)的影响的研究。
使用的样本是从2014年到2018年,每20%相当于约1年。方法如下,取总样本,开始增加10%的验证样本,减少同样10%的训练样本,结果是9组样本。为每个样本建立一个模型,种子从1到200,即每个样本共有200个模型,共1800个模型。
模型测试是在一个固定的样本上进行的--2018年,没有参与训练。
该工具是Si期货合约的胶水。
下面的表格是判断模型结果的指标--左边的部分是财务指标,就像我们在终端看到的那样,右边的部分是关于误差平衡的指标(我这样称呼它--我不知道如何纠正它,如果有人使用它的话),也就是说,如果目标1被正确确定,那么+1,如果不正确,那么-1,它可以准确评估整个样本的分类的质量。在浅绿色中,我标出了在平均值方面的最佳表现。
以下是这些模型的度量值
结果清楚地表明,2014年的培训(80%-90%)给出了最差的结果,与70%相比有明显的下降。 这反而说明不是样本量太小,而是2014年的模式几乎没有被满足,也就是说,市场已经发生了明显的变化,这意味着理论上这段时间可以完全从培训中删除。
现在我使用以下标准来选择测试(考试)样本中的模式
以下是符合这一标准的模型数量的数据
下面是一个表格,列出了根据以下标准考虑到所有三个样本的指标而选择的模型
在这里,我们应该考虑到,利润的标准是固定的,而达到这个利润的时间对于不同的组合是不同的(可能,我们应该减少数字以使比较正确)。
那么可以得出什么结论呢?看来,最佳数量是验证样本的60%-70%,也就是说,训练应该在比模型验证更小的样本上进行。但不可能不强调30%的细分,那里的所有指标的结果也不差,而且失败率相当接近于40%和50%。我不知道是什么影响了样本量还是内容更多,以及如何建立这个...
那你对这个实验的结果有什么看法,也许我对结果的解释是错误的?有什么想法可以改变方法或其他建议来解决这个训练和选择样本的比例问题?
已添加。
关于80%-90%的平均数,那里有很多零(完全没有来自模型的输入信号),因此有失真,这可以在StDV_K_Korrekt_Balans指标中看到。
StDV_K_Korrekt_Balans 90%的直方图
StDV_K_Korrekt_Balans的柱状图70%。
StDV_K_Korrekt_Balans 30%的直方图
这就是图表的样子(直方图是可以点击的,这样就不会有恼人的闪动了)。
30%
40%
50%
60%
我还应该注意到,训练总是在比进行训练控制的数据更早的数据上进行的--也许我们应该把它们换掉,看看会发生什么。
平均较小的召回率引起了人们的注意--也许我们需要进一步训练模型,而不是在100棵树之后没有改进时就停止训练,或者没有我们希望的那么多稳定模式。
我们需要看看模型的重叠程度,如果召回率很低,就有可能存在相关性很小的模型,但同样有利可图,那么它们就很适合合并成一个池子。
我还要指出,训练总是在比训练控制所依据的数据更早的数据上进行--也许应该把它们换掉,看看会发生什么。
上面的一切都很酷,信息量很大,但 "训练控制",这是什么意思?
例如,你在2014年的数据样本上训练系统,然后给出2015年的样本,想看看模式的概率?如果是这样,那么你就不需要调换任何东西,一切都正确。只是我认为这里没有问题,如果控制产生任何与预期不同的结果,它总是如此。
如果MO在你的案例中的实际应用,在我看来就是以下几点。
既然要得到100%概率的真实结果根本不现实,那么就按照简单的方法,比如说真假结果的比例,如果是在50/50的范围内,那么我们又必须了解你用这些结果得到的利润是多少,如果50%的利润是平均100点,其余50%的损失平均50点,那么我认为你的系统已经适合实际使用。