交易中的机器学习:理论、模型、实践和算法交易 - 页 2802 1...279527962797279827992800280128022803280428052806280728082809...3399 新评论 Vladimir Perervenko 2022.10.26 21:33 #28011 Aleksey Vyazmikin #:你曾经制作过一个脚本,我决定再次使用。我在一个样本 上运行了这个脚本,结果出现了一个错误--我不知道在哪里可以找到这个错误,也不知道如何解决这个问题--也许你知道,因为你使用了这些库/包?在二进制样本上一切正常。 错误说相关矩阵中出现了未定义值(NA),findCorrelation 函数无法使用它。打开软件包,阅读函数说明。 脚本杂乱无章,存在大量不必要的中间结果。 #===================================================================== require(tidyft) #--get df1------------------------------------------------------------ way <- "D:\\FX\\MT5_CB\\MQL5\\Files\\Po_Vektoru_TP_0_SL_0\\EURUSD_0\\Setup" df1 = read.csv(paste0(way, "train.csv"), header = TRUE, sep = ";",dec = ".") #df1 = fread(paste0(way, "train1.csv")) #fst::write_fst(df1, "train1.fst") #-----archiv-------------------------------- ft <- as_fst(df1) # rm(df1) #---constanti-------------------------------------------- cor.test.range <- seq(from = 0.1,to = 0.9,by = 0.1) # диапазон перебора в коеф корр not.used.colums = c("Target_100_Buy","Target_100_Sell","Target_P","Time","Target_100") ft %>% select_fst(cols = not.used.colums, negate = TRUE)-> dt #--function-------------------------------------------- get.findCor<- function(data , cor.coef = cor.test.range){ import::here(.from = caret, findCor = findCorrelation) data %>% cor(method = "kendall", use = "pairwise" ) %>% findCor(cutoff = cor.coef, exact = FALSE, names = TRUE)->nms if(nms!= 0) select_dt(data, cols = nms, negate = TRUE) } #----Calculate-------------------------------------------------------------- for(i in seq_len(length(cor.test.range))){ get.findCor(dt, cor.coef = cor.test.range[i])-> dt.n paste0("train2_" , cor.test.range[i]*10 , ".csv") %>% paste0(way , .) %>% fwrite(dt.n, .) rm(dt.n) } 按顺序解释: 1.您不需要将 "caret "软件包加载到全局作用域。它非常重,需要大量依赖和数据。你只需要它的一个函数。您可以直接将其导入 get.findCor 函数。 tidyft 软件包是一个非常快速的数据帧操作软件包。请使用它。 Vladimir Perervenko 2022.10.26 21:41 #28012 为了进行控制,我使用此脚本在我的工具包上进行了测试。结果: # patch <- "C:/RData/Project/FEDOT/" # df1 <- fread(paste0(patch, "DF_train_M5.csv")) # object.size(df1) #780184 bytes # dim(df1) #[1] 4030 25 # ft <- as_fst(df1)# # rm(df1) #ft %>% select_fst(cols = c(1:3,25), negate = TRUE)-> dt #dim(dt) [1] 4030 21 bench::workout({ for(i in seq_len(length(cor.test.range))){ get.findCor(dt, cor.coef = cor.test.range[i])-> dt.n paste0("train2_" , cor.test.range[i]*10 , ".csv") %>% paste0(patch , .) %>% fwrite(dt.n, .) rm(dt.n) } })->t1 #(12.9 m) setwd(patch) dim(fread("train2_1.csv")) #[1] 4030 3 dim(fread("train2_2.csv")) #[1] 4030 6 dim(fread("train2_3.csv")) #[1] 4030 10 dim(fread("train2_4.csv")) #[1] 4030 13 dim(fread("train2_5.csv")) #[1] 4030 16 dim(fread("train2_6.csv")) #[1] 4030 17 dim(fread("train2_7.csv")) #[1] 4030 18 dim(fread("train2_8.csv")) #[1] 4030 18 dim(fread("train2_9.csv")) #[1] 4030 18 计数时间相当长(12.9 分钟)。但帧数也不小。当然,我们需要将其并行化,寻找更快的 cor 函数。 从最初的 21 个不同阈值的预测器中,我们选择了不同数量的预测器。 但这并不是办法。 祝您好运 Maxim Dmitrievsky 2022.10.27 00:54 #28013 СанСаныч Фоменко #:你没有注意到 sd 的可变性 下次我会注意的,我会从 sd 计算 sd 从 sd 计算 sd %) Maxim Dmitrievsky 2022.10.27 05:30 #28014 将特征窗口的偏移量与某个指标(如 std)绑定没有任何结果 值越大,该值的偏移倍数就越大。 反之亦然。两种方法都试过。 还有一种扩展-缩小的变体(+ 偏移量? 我只能在分形的框架内列举这些变体。 mytarmailS 2022.10.27 09:35 #28015 Vladimir Perervenko #:1.您不需要将 "caret "软件包加载到全局范围。它非常重,需要大量的依赖关系和数据。您只需要其中的一个函数。您可以直接将其导入 get.findCor 函数。 哇,好空洞 Vladimir Perervenko#: 弗拉基米尔,你知道是否有一个用于回溯测试的软件包,它能记录交易日志和一切(嗯,不原始),除了慢速的 "quantstrat "和 "SIT"。 СанСаныч Фоменко 2022.10.27 09:37 #28016 Maxim Dmitrievsky #:将特征窗口的偏移绑定到某个指标(如 std)后,没有任何结果 值越大,该值的偏移倍数就越大。反之亦然。我两种方法都试过。还有一个选项是扩展-缩小(+ 偏移量?在分形框架内,我只能看到这种变体的过冲现象 当然可以。 每一步都 必须重新计算。 Maxim Dmitrievsky 2022.10.27 09:45 #28017 СанСаныч Фоменко #:当然可以。每一步都 要重新计算。我觉得在一个大型数据集上重新计算标签和特征比重新训练每一个条形图要容易得多,因为这样会卡住很长时间。 而且,如果从全局来看,通过频繁的重新训练,你可以确定一些一般模式。当然,除非这种设计是倾泻式的。 СанСаныч Фоменко 2022.10.27 10:05 #28018 Maxim Dmitrievsky #:对我来说,在大型数据集上重新计算标签与芯片的方法比重新训练每一个条形图要容易得 多,因为我会 困在 那里很长时间。 完全同意,这就是我不能改用 EA 的原因。 但这是个原则问题。我之所以改用 "每一步都教 "方案,是因为在准备整个数据集时,会出现隐藏的前瞻性问题。我也有这样的问题,而且我还没有找到能产生 "前瞻 "效应的预测因子。 Forester 2022.10.27 10:28 #28019 СанСаныч Фоменко #:完全同意,这就是它未能进入 EA 的原因。但这是一个原则问题。我之所以改用 "步步为营 "方案,是因为在准备整个数据集时,会出现隐藏的 "窥视前方 "现象。我也遇到了这样的问题,而且我一直找不到能产生 "瞻前顾后 "效应的预测因子。 在训练部分和测试之间留出间隙。至少几天。最后一个条形图的未来与第一个未知数的未来相同。,这就是所谓的 "禁运图"。 一旦训练缩减为 1 天,测试为 1 天。并观察几天前的标价预测。也就是说,它看到的是新的条形图。 随着训练间隔增加到一周,结果也高于 50/50。嗯,越多 - 越糟,有偷看的线被添加到没有偷看的线中,它们破坏了一切)))) 。 一般来说,这种禁演情节对教师来说应该不亚于偷看。 Vladimir Perervenko 2022.10.27 11:14 #28020 mytarmailS #:哇,好空洞的东西弗拉基米尔,你知道除了慢速的 "quantstrat "和 "SIT "之外,是否有一种用于回溯测试的软件包可以记录交易日志和所有信息(嗯,不原始)。 我不知道。我没有遇到过 1...279527962797279827992800280128022803280428052806280728082809...3399 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你曾经制作过一个脚本,我决定再次使用。
我在一个样本 上运行了这个脚本,结果出现了一个错误--我不知道在哪里可以找到这个错误,也不知道如何解决这个问题--也许你知道,因为你使用了这些库/包?
在二进制样本上一切正常。
错误说相关矩阵中出现了未定义值(NA),findCorrelation 函数无法使用它。打开软件包,阅读函数说明。
脚本杂乱无章,存在大量不必要的中间结果。
按顺序解释:
1.您不需要将 "caret "软件包加载到全局作用域。它非常重,需要大量依赖和数据。你只需要它的一个函数。您可以直接将其导入 get.findCor 函数。
tidyft 软件包是一个非常快速的数据帧操作软件包。请使用它。
为了进行控制,我使用此脚本在我的工具包上进行了测试。结果:
计数时间相当长(12.9 分钟)。但帧数也不小。当然,我们需要将其并行化,寻找更快的 cor 函数。
从最初的 21 个不同阈值的预测器中,我们选择了不同数量的预测器。
但这并不是办法。
祝您好运
你没有注意到 sd 的可变性
下次我会注意的,我会从 sd 计算 sd 从 sd 计算 sd %)
将特征窗口的偏移量与某个指标(如 std)绑定没有任何结果
值越大,该值的偏移倍数就越大。
反之亦然。两种方法都试过。
还有一种扩展-缩小的变体(+ 偏移量?
我只能在分形的框架内列举这些变体。
1.您不需要将 "caret "软件包加载到全局范围。它非常重,需要大量的依赖关系和数据。您只需要其中的一个函数。您可以直接将其导入 get.findCor 函数。
哇,好空洞
弗拉基米尔,你知道是否有一个用于回溯测试的软件包,它能记录交易日志和一切(嗯,不原始),除了慢速的 "quantstrat "和 "SIT"。
将特征窗口的偏移绑定到某个指标(如 std)后,没有任何结果
值越大,该值的偏移倍数就越大。
反之亦然。我两种方法都试过。
还有一个选项是扩展-缩小(+ 偏移量?
在分形框架内,我只能看到这种变体的过冲现象
当然可以。
每一步都 必须重新计算。
当然可以。
每一步都 要重新计算。
我觉得在一个大型数据集上重新计算标签和特征比重新训练每一个条形图要容易得多,因为这样会卡住很长时间。
而且,如果从全局来看,通过频繁的重新训练,你可以确定一些一般模式。当然,除非这种设计是倾泻式的。对我来说,在大型数据集上重新计算标签与芯片的方法比重新训练每一个条形图要容易得 多,因为我会 困在 那里很长时间。
完全同意,这就是我不能改用 EA 的原因。
但这是个原则问题。我之所以改用 "每一步都教 "方案,是因为在准备整个数据集时,会出现隐藏的前瞻性问题。我也有这样的问题,而且我还没有找到能产生 "前瞻 "效应的预测因子。
完全同意,这就是它未能进入 EA 的原因。
但这是一个原则问题。我之所以改用 "步步为营 "方案,是因为在准备整个数据集时,会出现隐藏的 "窥视前方 "现象。我也遇到了这样的问题,而且我一直找不到能产生 "瞻前顾后 "效应的预测因子。
,这就是所谓的 "禁运图"。
一旦训练缩减为 1 天,测试为 1 天。并观察几天前的标价预测。也就是说,它看到的是新的条形图。
随着训练间隔增加到一周,结果也高于 50/50。嗯,越多 - 越糟,有偷看的线被添加到没有偷看的线中,它们破坏了一切))))
。
一般来说,这种禁演情节对教师来说应该不亚于偷看。
哇,好空洞的东西
弗拉基米尔,你知道除了慢速的 "quantstrat "和 "SIT "之外,是否有一种用于回溯测试的软件包可以记录交易日志和所有信息(嗯,不原始)。
我不知道。我没有遇到过