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

 
mytarmailS #:
不,这不是那么简单。
要把它们分离出来并不容易,但否则,把事情复杂化有什么意义?
 
Maxim Dmitrievsky #:
要把它们分离出来并不容易,但除此之外,把事情复杂化又有什么意义呢?

周期太大,无法捕捉到它们,而且除了农业之外,也无法对它们进行预测,但并非一切都那么简单。时间因素--在时间上重复发生的事件,只能单列出来。如果还能找到事件的联系和对价格的影响,那就是一个目标))))。

 

语法进化/ 符号回归,遗传编程的高级版本....

利用这些工具,你可以自动搜索任何类型的模式。


例如,您可以通过公式搜索最佳指标控制。

我们创建一个函数模板(搜索区域)

library(gramEvol)
ruleDef <- list(expr  = grule(op(expr, expr), func(expr), var),
                func  = grule(sin, cos, log, sqrt),
                op    = grule("+", "-", "*","/"),
                var   = grule(distance, distance^n),
                n     = grule(1, 2, 3, 4))

grammarDef <- CreateGrammar(ruleDef)
gr <- GrammarRandomExpression(grammarDef,numExpr = 10,max.depth = 5)
q <- as.matrix(unlist(lapply(gr,as.character)),ncol=1)
q

然后自动创建公式:

[1,] "sqrt(log(cos(sqrt(cos(distance^2)))))"                                                                  
 [2,] "sin(log(sqrt(sin(sqrt(distance * distance))) * (sin(log(distance^3)) - cos(cos(distance)) - distance)))"
 [3,] "(sin(distance * sqrt(sin(distance * sqrt(distance^3)))) + distance^1)/distance"                         
 [4,] "sin(log(log(distance^4)))"                                                                              
 [5,] "distance"                                                                                               
 [6,] "distance^4"                                                                                             
 [7,] "log(sin(distance)) * (log(distance) - cos(distance^4 - distance^4))"                                    
 [8,] "distance^1"                                                                                             
 [9,] "distance"                                                                                               
[10,] "log(distance) * (distance/log((distance^4 - distance^3) * distance^2))"        

然后从基因上搜索最佳解决方案

=====================

或者也可以创建日志规则,从而搜索规律性。

同样,我们创建一个函数模板(搜索区域)。

library(gramEvol)
ruleDef <- list(
  expr = grule(expr & sub.expr, 
               expr | sub.expr, 
               sub.expr),
  sub.expr = grule( com(var, var) ),
  com = grule(">=","<="),
  var = grule(x,y,w,z,q,y,r)
  )

grammarDef <- CreateGrammar(ruleDef)
gr <- GrammarRandomExpression(grammarDef,numExpr = 15,max.depth = 3)

q <- as.matrix(unlist(lapply(gr,as.character)),ncol=1)
q

输出规则

[1,] "x >= y"                  
 [2,] "y <= y | y >= y | w >= y"
 [3,] "y <= x"                  
 [4,] "y <= y"                  
 [5,] "y <= r"                  
 [6,] "z <= z"                  
 [7,] "y <= y"                  
 [8,] "x <= y"                  
 [9,] "z <= y | y >= z & r >= y"
[10,] "z >= x"                  
[11,] "y >= y | q >= y | q >= q"
[12,] "y >= y | q <= y | z >= q"
[13,] "y >= y | x <= y | x >= x"
[14,] "y >= r"                  
[15,] "y >= w"

然后通过遗传学测试是否合适。

=============================

如果您有一个 TS 并想对其进行改进,但又没有足够的想象力去尝试数百万个变体,那么您可以尝试在算法的帮助下进行改进。

例如,我们有一个切入点:价格向下的波林格击穿("PRICE < BOLINGER")。

我们在语法中加入这一规则。

library(gramEvol)
ruleDef <- list(
  expr = grule(expr & sub.expr, 
               expr | sub.expr, 
               sub.expr),
  sub.expr = grule( com(var, var)  ,  PRICE < BOLINGER),
  com = grule(">=","<="),
  var = grule(x,y,w,z,q,y,r)
  )

grammarDef <- CreateGrammar(ruleDef)
gr <- GrammarRandomExpression(grammarDef,numExpr = 15,max.depth = 3)

q <- as.matrix(unlist(lapply(gr,as.character)),ncol=1)
q

这些规则有点愚蠢,但这是因为它们是随机生成的。

[1,] "y >= q"                                                                                                        
 [2,] "PRICE < BOLINGER & y >= y | x >= x"                                                                            
 [3,] "PRICE < BOLINGER | PRICE < BOLINGER & x <= y | y <= w"                                                         
 [4,] "r <= y & PRICE < BOLINGER | w >= x | y <= x"                                                                   
 [5,] "PRICE < BOLINGER | PRICE < BOLINGER | y <= y & PRICE < BOLINGER"                                               
 [6,] "PRICE < BOLINGER"                                                                                              
 [7,] "PRICE < BOLINGER & PRICE < BOLINGER & z <= x | PRICE < BOLINGER & PRICE < BOLINGER | PRICE < BOLINGER | z <= x"
 [8,] "y <= y | PRICE < BOLINGER | x <= y | PRICE < BOLINGER | PRICE < BOLINGER"                                      
 [9,] "PRICE < BOLINGER & x <= y | y <= q & PRICE < BOLINGER"                                                         
[10,] "q >= z & PRICE < BOLINGER | q >= w & y <= x"                                                                   
[11,] "PRICE < BOLINGER | PRICE < BOLINGER"                                                                           
[12,] "w >= y"                                                                                                        
[13,] "PRICE < BOLINGER"                                                                                              
[14,] "y <= y & PRICE < BOLINGER | q >= x | PRICE < BOLINGER"                                                         
[15,] "q >= x" 

重点是,如果我们添加自己的规则,就会大大减少搜索空间。

如果我们有一条好规则,但不知道如何改进,但又想改进,我们可以用其他规则 "覆盖 "它,并自动检查它。

 
mytarmailS #:

语法进化/ 符号回归,遗传编程的高级版本....

您可以使用这些工具自动寻找任何类型的模式。


例如,您可以使用以下公式搜索指标的最佳控制方式

创建函数模板(搜索区域)

并自动创建公式:

然后从基因上搜索最佳解决方案

=====================

或者你也可以创建日志规则,这样就可以寻找模式。

再次创建功能模板(搜索区域)

在输出中,我们可以得到规则

然后通过遗传学测试是否合适。

=============================

如果您有一个 TC 并想对其进行改进,但又没有足够的想象力去尝试数百万个变体,那么您可以尝试借助算法来实现这一目标。

例如,我们有一个切入点:价格向下的波林格击穿("PRICE < BOLINGER")。

我们将此规则添加到语法中。

这些规则有点愚蠢,但这是因为它们是随机生成的。

关键是,如果我们添加自己的规则,就能大大缩小搜索空间。

如果我们有一条好规则,但不知道如何改进,但又想改进,我们可以用其他规则来 "覆盖 "它,并自动检查它。

这就好比在标志周围种上深树。
 
Maxim Dmitrievsky #:
嗯,就像在标志周围种上深树一样。
这些都是简单的例子,只是为了了解该工具的多功能性。

你可以用函数、神经网络或其他任何你想要的东西来代替简单的多年生植物。


所有这些都将是自动的。
 
mytarmailS #:
这些都是简单的例子,只是为了了解该工具的多功能性。

你可以用函数、神经网络或任何你喜欢的东西来代替简单的括号


所有这些都将在自动注油中实现
我们拭目以待主题的发展
 
elibrarius #:


您是如何激励自己从事这项几乎毫无希望的工作的?
18 年,我开始从事这项工作时,收入微薄,物质条件也不错,更确切地说,是希望市场上的 MO 能对我有所帮助。

现在,我的收入翻了好几倍,几乎是被动获得的,而不是从市场上获得的。物质问题并没有困扰我。在过去的两年里,我曾 3 次参与 MO,每次 1-2 个月,以验证我感兴趣的想法。
,我有空闲时间,但在多次实验失败后,我懒得把时间花在 MO 上。因为我几乎看不到回报的希望。唯一的目的是,万一再次出现经济衰退,我可以有另一个资金来源(如果有结果的话)。

谁会用什么来激励自己?

长期从事外汇交易。起初在一家经纪公司做分析师(经济学教育),后来做交易员和经理助理,做交易,然后对机器人和 MO 感兴趣。

当我设法取出像样的钱时,有很多效率低下(包括技术上的效率低下)的地方
 
Maxim Dmitrievsky #:

我长期从事外汇交易。我最初是一家经纪中心的分析师(经济学教育),后来做过交易员和经理助理,做过交易,然后对机器人和 MO 感兴趣。

当我设法赚取相当可观的金额时,有很多低效(包括技术性低效)。

,没有人在 MO 的帮助下不工作....。每个人都在搜索。
 
elibrarius #:

看来在 MO 的帮助下,没有人做得好....。大家都在看。

不仅如此,这是一种非理性的冲动。

就像你小时候喜欢弄坏玩具,然后再做新的一样。
 
Maxim Dmitrievsky #:

不仅如此,这还是一种非理性的冲动。

就像我小时候喜欢把玩具弄坏,然后再做新的。

总的来说就是创造力。但创造力是 "摆在桌面上 "的,因为所有这些作品都不可能被任何人看到和欣赏。