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

 

从数据中提取一些 "好 "规则/策略...

完整步骤

1) 数据转换和归一化

2) 模型训练

3) 规则提取

4) 规则过滤

5) 可视化

代码就绪,只需替换数据即可。

close <- cumsum(rnorm(10000,sd = 0.00001))+100
par(mar=c(2,2,2,2))
plot(close,t="l")

sw <- embed(x = close,dimension = 10)[,10:1] #  make slide window data
X <- t(apply(sw,1,scale)) #  normalase data

dp <- c(diff(close),0) #  diff prices
Y <- as.factor( ifelse(dp>=0,1,-1) ) #  target for classification

tr <- 1:500
library(inTrees)  # ?inTrees::getRuleMetric()
library(RRF)

rf <- RRF(x = X[tr,],y = Y[tr],ntree=100)
rule <- getRuleMetric(unique(extractRules(RF2List(rf),X[tr,])),X[tr,],Y[tr])
rule <- data.frame(rule,stringsAsFactors = F)
for(i in c(1,2,3,5)) rule[,i] <- as.numeric(rule[,i])
buy_rules <- rule$condition[ rule$pred==1 ]

plot(x = 1:1000,y = rep(NA,1000), ylim = c(-0.001,0.001)) 
for(i in 1:length(buy_rules)){
   cum_profit <- cumsum( dp[  eval(str2expression(buy_rules[i]))  ] )
   lines(cum_profit,col=8,lwd=1)
}
for(i in 1:length(buy_rules)){
  cum_profit <- cumsum( dp[  eval(str2expression(buy_rules[i]))  ] )
  ccor <- cor(cum_profit, 1:length(cum_profit))
  if(ccor>=0.9)  lines(cum_profit,col=i,lwd=2)
}
abline(h = 0,col=2,lty=2)



问题是,如果你能随机找到 "工作 TC",那么有什么办法能证明在真实数据中找到的 TC 不是随机的呢?

阿列克谢正在做这件事,我想知道是否有针对此类任务的统计测试?

 
问问 chatgpt,它的回答往往比人类更有说服力:)

我想做一个实验--只通过提示从头开始编写一个机器人
 
Maxim Dmitrievsky 编写一个机器人。

为什么?为了超越莉莉丝?虽然 ..... ... ... ...我想))))))))))))))))))))))))在娴熟的技巧下,这是一个非常酷的工具)。

 
Valeriy Yastremskiy #:

为什么?为了超越莉莉丝?虽然 ..... ... ... ...sya))))))))如果用对了,这真是个很酷的工具)。

这是一个元编程级别,而且她对 python 非常熟悉。我也会躺在沙发上通过语音进行提示。经常出现的情况是,我有了想法,却懒得再写一遍代码:)。
 
Maxim Dmitrievsky #:
这是元级编程,而且她对 python 非常熟悉。躺在沙发上时,我也会通过语音进行提示。我经常会有一些想法,但又懒得再写一遍代码:)

我同意,正确的问题是元级))))。

以及检查代码执行的正确性)。
 
Valeriy Yastremskiy #:

我同意,一个恰当提出的问题就是一个元级)))))。

以及检查代码执行的正确性)。
给我一个神经接口,这样我就不用动嘴了。
 
我认为这是一种退化
 
mytarmailS #:

从数据中提取一些 "好 "规则/策略...

完整步骤

1) 数据转换和规范化

2) 模型训练

3) 规则提取

4) 规则过滤

5) 可视化

代码就绪,只需替换数据



问题是,如果你能找到随机的 "工作 TC",你有什么办法证明在真实数据中找到的 TC 不是随机的

阿列克谢正在做这件事,我想知道是否有针对这类任务的统计检验 方法?

将 matstat 应用于此类问题的主要问题在于,TC 的搜索是从大量变体中进行选择的。我们总是有可能从大量的变体中选择出非常漂亮的东西--我曾在这里举过一个简单的例子,说明将价格模拟为 SB,你总能 "找到 "一周中适合交易的一个小时。而这只有 120 个变量可供选择。

matstat 并没有说被选中的 TS 一定不好,它只是说这样的结果可以(而不是必须)只是从 SB 中选择的结果。

 
mytarmailS #:

从数据中提取一些 "好 "规则/策略...

启动时出现错误

> sw <- embed(x = close,dimension = 10)[,10:1] # make slide window data
Error in h(simpleError(msg, call)) : 
  ошибка при оценке аргумента '.data' при выборе метода для функции 'embed': argument ".data" is missing, with no default
 

由此产生了一个纯理论问题--一个 ONNX 模型能否用于推导出另一个 ONNX 模型。例如,使用第一个模型定期对新数据进行再训练,并更新工作模型。也就是说,不使用 python 等。

乍一看,这不太可能实现,但万一有人尝试过这样做呢。

我没能从人工智能那里得到任何有意义的答案--它写道它可以,并引用了与问题无关的参考文献)。