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

 
弗拉基米尔-佩雷文科

我和Renat在一个邻近的主题上讨论 了MKL4/5中R语言的命运。现在,MKL的解决方案和发展方向已经明确。

祝好运

我看过了,我甚至不想写任何东西,如果一个人不愿意听,就没有什么可以说服他的,如果他想写100-1000行早已写好的代码,那是他的权利,而我宁愿用R的一行来做同样的事情。

顺便说一下,可以做一个挑战,用一些统计方法做一个非简单的任务,然后教给和验证一些模型,用R和mql5+alglib实现,只需比较代码大小即可...

 
弗拉基米尔-佩雷文科

我和Renat在一个邻近的主题上讨论 了MKL4/5中R语言的命运。现在,MKL的解决方案和发展方向已经明确。

祝好运

对于那些没有读过那条线的人来说,不期望有一个从mql到R的直接接口。但会有机会接触到移植到mql的Alglib库,所以mql代码本身可以建立树或神经元,用遗传学优化一些东西,寻找函数最小/最大的参数。所有的可能性 -http://www.alglib.net

 
弗拉基米尔-佩雷文科

我和Renat在一个邻近的主题上讨论 了MKL4/5中R语言的命运。现在,MKL的解决方案和发展方向已经明确。

祝好运



我理解这种趋势。使MT4对R友好是可能的。而MT4现在仍然非常普遍。如果你在P中抓住了一个很好的依赖性,你可以很容易地在MT5库中用同样的参数来教这个模型。

 

我有一个带有观察值的矩阵`"P"`(一行一行的),对于每一行我都通过`hist()`来计算其分布。


休息时间--设置50


A <- hist(P[n,],break = 50,plot = F)


但结果是,尽管`P'中所有行的长度都是一样的,但矩阵的每一行`A$breaks'都有不同的长度,如何使`A$breaks'总是相同的大小呢?

 

如果你把一个数字送入休息时间,结果会接近它,但不一定。

对于精确匹配,最好事先计算出最小值和最大值,并将你的矢量输入参数
A <- hist(P[n,],break = c(10:60), plot = F)

 
Dr.Trader:

如果你把一个数字送入休息时间,结果会接近它,但不一定。

对于精确匹配,最好事先计算出最小和最大的值,并将你的向量输入参数
A <- hist(P[n,],break = with(10:60), plot = F)


试过了,但由于某些原因,失败了

> A <- hist(P[1,],breaks = с(10:60),plot = F)
Error in hist.default(P[1, ], breaks = с(10:60), plot = F) : 
  could not find function "с"
> A <- hist(P[1,],breaks = 10:60,plot = F)
Error in hist.default(P[1, ], breaks = 10:60, plot = F) : 
  some 'x' not counted; maybe 'breaks' do not span range of 'x'
 

关于第一个错误--我似乎写成了俄文c,而不是英文c :)现在纠正了我上面的帖子。

第二个错误--P[1,]包含小于10或大于60的数值。我们需要以这样的方式选择断点,以包括P[1,]中的所有值。

 
Dr.Trader:

关于第一个错误--我似乎写成了俄文c,而不是英文c :)现在纠正了我上面的帖子。

第二个错误--P[1,]包含小于10或大于60的数值。你需要选择断点来包括P[1,]的所有值。


不幸的是,我并不了解它(

这里有一个简单的例子

rn <- rnorm(100)
H <- hist(rn, breaks = 50, plot = F)
length(H$breaks)

我需要length(H$breaks)始终是50?

 

首先我们要确定rn中的最小数字。比方说-4。那么最大可能的数字:+4。

调用这个函数 的最简单方法是使直方图从-4到+4。
H <- hist(rn, breaks = c(-4:4))

有错误的例子:
H <- hist(rn, breaks = c
(-1:1))
breaks被限制在-1到1之间,所以如果rnorm()产生一个小于-1或大于+1的数字,hist()将产生一个错误。

接下来,我们需要用从-4到+4的数字创建一个向量,这样向量的总长度就等于50了。这是用seq()函数完成的。
seq(-4, 4, length.out=50)。

seq()的结果应该被用于直方图中。
H <- hist(rn, breaks = seq(-4, 4, length.out=50))

 
Dr.Trader:

首先我们要确定rn中的最小数字。比方说-4。那么最大可能的数字:+4。

调用这个函数 的最简单方法是让直方图从-4到+4。
H <- hist(rn, breaks = c(-4:4))

有错误的例子:
H <- hist(rn, breaks = c
(-1:1))
breaks被限制在-1到1之间,所以如果rnorm()产生的数字小于-1或大于+1,那么hist()将产生错误。

然后,我们需要用从-4到+4的数字创建一个向量,这样向量的总长度为50。这是用seq()函数完成的。
seq(-4, 4, length.out=50)。

seq()的结果应该被用于直方图中。
H <- hist(rn, breaks = seq(-4, 4, length.out=50))

非常感谢,我对这些计量经济学的东西毫无头绪。

我想我们得到了它。

rn <- rnorm(100)
Max <- max(rn)
Min <- min(rn)
range.vector <- seq(Min, Max, length.out=50)
H <- hist(rn, breaks = range.vector)
length(H$breaks)

[1] 50