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

 

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

离我与NS的终点线还有3周时间:)))要么是圣杯,要么是他们的地狱。下注:))

起初,听听获胜的几率会很好。这里没有人只接受命令;)

 

我迫切需要找到 一个平滑函数的最小值,所以我决定首先比较不同的软件包,看看哪个更快。在测试中,我采取了Rastrigin函数(根据一些教授的说法,这是最难优化的函数)。

Rastrigin <- function(x){
  return(sum(x^2 - 10 * cos(2 * pi * x)) + 10 * length(x))
}


为了测试,我用了4个参数。

~ w^2 - 10 * cos(2 * pi * w)  +  x^2 - 10 * cos(2 * pi * x)  +  y^2 - 10 * cos(2 * pi * y)  +  z^2 - 10 * cos(2 * pi * z)   +  10 * 4


衍生品。

2 * w + 10 * (sin(2 * pi * w) * 2 * pi
2 * x + 10 * (sin(2 * pi * x) * 2 * pi
2 * y + 10 * (sin(2 * pi * y) * 2 * pi
2 * z + 10 * (sin(2 * pi * z) * 2 * pi


我比较了GenSA、lbfgs、lbfgsb3、n1qn1和标准optim()函数中的各种方法。

结果。
包、健身(和梯度)函数的调用次数、找到的参数、以及搜索停止的最终结果。

n1qn1 fitness function calls: 448 ; parameters = 3.90227 e-18 3.90227 e-18 3.90227 e-18 3.90227 e-18 ; result = 0 
lbfgs fitness function calls: 14 ; parameters = -1.891749 e-10 -1.891749 e-10 -1.891749 e-10 -1.891749 e-10 ; result = 0 
lbfgsb3 fitness function calls: 12 ; parameters = -7.542216 e-15 -7.542216 e-15 -7.542216 e-15 -7.542216 e-15 ; result = 0 
GenSA fitness function calls: 66582 ; parameters = 1.517382 e-11 -5.657816 e-12 -2.292922 e-11 -3.257902 e-12 ; result = 0 
optim Nelder-Mead fitness function calls: 253 ; parameters = -2.981633 3.988813 0.9902444 -2.980489 ; result = 34.8497 
optim BFGS fitness function calls: 49 ; parameters = 8.731115 e-16 8.731115 e-16 8.731166 e-16 8.731157 e-16 ; result = 0 
optim CG fitness function calls: 918 ; parameters = 0.9949586 0.9949586 0.9949586 0.9949586 ; result = 3.979836 
optim L-BFGS-B fitness function calls: 81 ; parameters = 8.526118 e-13 8.526118 e-13 8.526118 e-13 8.526118 e-13 ; result = 0 
optim SANN fitness function calls: 10000 ; parameters = 750.3075 745.0596 743.626 753.8133 ; result = 2239327 

前三个函数(n1qn1,lbfgs,lbfgsb3)使用分析发现的梯度。

结果=0是理想的,离零越远越差。

我们可以看到,对导数的认识是非常好的,lbfgsb3在12次调用健身函数中达到了完美的结果。
在那些用数字定义梯度的人中,最好的是用BFGS方法的标准函数优化,49次调用健身函数。

结论是,衍生品非常好。理想情况下,我们可以找到所有权重的导数,并将其放入lbfgsb3而不是backprops。
但所有这些测试结果只适用于可以找到所有参数的导数的平滑函数。如果你有函数参数随机改变的结果,即使是最轻微的变化 - 遗传学,GenSA和其他随机算法在那里更好。

我附上了一个带有代码的文件,你可以在你的函数上进行测试。

附加的文件:
n1qn1.txt  4 kb
 

我想知道这样一个系列是否可以通过一些阿里马来预测,或者是否回到平均值就足够了......设法取得令人印象深刻的稳定结果(协整图),工作回报超过2个价差


 

回归平均线甚至可以用波段来进行交易。但是,如果平均数随趋势变化而变化,我们如何确定平均价格的位置?(这个问题是反问句--你不可能)。

 
交易员博士

回归平均线甚至可以用波段来进行交易。但是,如果平均数随趋势变化而变化,我们如何确定平均价格的位置?(这个问题是反问句--你不可能)。

这里的平均数是0,这是一个中性策略

我们应该使用统计学)那里转移的东西在黑盒子里是不可能理解的。

简而言之,几乎完成了3个计划中的第2个战略(第一个的结果已经写好了,不是vkatilo)。

如果这个不工作 - 最后一个将被留下 )

而这将是MO的结束

 
Maxim Dmitrievsky:

我不知道这样的系列是否可以通过一些阿里马来预测,或者它足以为回归平均值而工作......设法取得令人印象深刻的稳定结果(协整图),工作回报超过2个利差。


协整是一个术语,与你的图片没有关系。

arim的适用性是由几个测试决定的,其中最主要的是arch,它决定了时间序列 中是否存在arch效应。如果没有拱门效应,大约是20%,那么就可以交易,但......。在历史上,因为这一节已经通过或几乎通过或......。

 
桑桑尼茨-弗门科

协整是一个术语,与你的图片没有关系。

算术的适用性是由几个测试决定的,其中最主要的是拱形,它决定了时间序列中是否存在拱形效应。如果没有拱门效应,大约是20%,那么就可以交易,但......。关于历史,因为这一节已经通过或几乎通过或...

让我们第三次定义协整......它是什么,为什么它与我的图片无关?:)

这是一张来自测试现场的照片,我根本不看历史,那里的一切都很完美。

或这是关于什么的--在MO上开发策略或解析不同的R函数,我想我是唯一一个在几个月内费心发布任何结果的人 :)

 
Maxim Dmitrievsky:

这里的平均值是0,这是一个市场中立的策略。

你想让绿色图表本身进行交易吗?然后我看到,起初我以为这是一个金牛座交易的指标。

首先我们需要弄清楚--它是一个随机过程,还是像正常的时间序列 一样有记忆。

如果它有记忆,马什卡和阿里马可能是有用的。
但如果图是完全随机的,那么我们就需要马尔科夫过程的模型。我不擅长这个,但亚历山大说过关于维纳模型的事,你可以从它开始,比如说。

 
Maxim Dmitrievsky:

让我们第三次定义协整......它是什么,为什么它不适用于我的照片?:)

这是一张来自试验地的照片,我根本不看历史,那里的一切都很完美。

至少有两个时间序列 处于协整状态。

但它们并不是全部。

这些系列不是静止的。

但这还不是全部。

这些非稳态数列必须以这样的方式连接起来,使结果是稳态的。

交易决定是基于这个保证非常有可能做出预测的STATIONARY系列而做出的。

 
交易员博士

你想交易绿色图表本身吗?然后我看到,起初我以为这是一个金牛座交易的指标。

首先,我们需要弄清楚它是一个随机过程,还是像正常的时间序列一样有一个记忆。

如果它有内存--那么mash和arima都可以发挥作用。
但如果图是完全随机的,那么我们就需要马尔科夫过程的模型。我不擅长这个,但亚历山大说过关于维纳模型的事。

因此,我们需要确定它是否有记忆,即由它的尾巴决定?

原因: