交易中的机器学习:理论、模型、实践和算法交易 - 页 265 1...258259260261262263264265266267268269270271272...3399 新评论 mytarmailS 2017.01.31 14:24 #2641 桑桑尼茨-弗门科。 试了一下,但很快就坏了: 不清楚该如何处理输出孔 的问题。周末在迪斯科舞厅打洞 :)你什么时候才能学会正确引用? 你不必为了写三个字而引用论坛的半页内容......现在开始讨论这个问题我制作了各种烛台组合和其他东西,借助于我试着用蜡烛 图来教它,结果在训练和新数据上都是100%的训练和错误为0,很明显,数据中存在一些预测因子,可以预见未来。因此,我没有必要研究每个函数,我只是删除了前6个预测因子,根据福雷斯特版本,这些预测因子是最重要的,从其他预测因子中脱颖而出,我希望其中有那些展望未来的预测因子,并再次训练MO,误差约为3%,总之,我不知道什么是地狱,为什么有如此美妙的结果,也许错误是在我的代码中。..Karoch想了解这是我如何做样本的代码,我的目标是 "蜡烛颜色"。在代码中,仅仅是样本本身,目标和其他操作都是按照你的要求进行的。试一试吧,因为这就像给你的模型增加了30个功能。library(rusquant)# загружаю последние 500 дней котировок индекса ртс getSymbols("SPFB.RTS",src = "Finam",period="5min",from = Sys.Date()-500) chart_Series( tail(SPFB.RTS,100) ) D <- SPFB.RTS# cчитаем функции по свечным формациям и прочим добромlibrary(candlesticks) X29<- TrendDetectionSMA(D) X28<- TrendDetectionChannel(D) X27<- nextCandlePosition(D) X26<- CSPThreeOutside(D) X25<- CSPThreeMethods(D) X24<- CSPThreeInside(D) X23<- CSPTasukiGap(D) X22<- CSPStomach(D) X21<- CSPStar(D) X20<- CSPShortCandleBody(D) X19<- CSPShortCandle(D) X18<- CSPPiercingPattern(D) X17<- CSPOutsideDay(D) X16<- CSPNLowerClose(D,N = 3) X15<- CSPNHigherClose(D,N = 3) X14<- CSPMarubozu(D) X13<- CSPLongCandleBody(D) X12<- CSPLongCandle(D) X11<- CSPKicking(D) X10<- CSPInvertedHammer(D) X9 <- CSPInsideDay(D) X8 <- CSPHarami(D) X7 <- CSPHammer(D) X6 <- CSPGap(D) X5 <- CSPEngulfing(D) X4 <- CSPDoji(D) X3 <- CSPDarkCloudCover(D) X2 <- CandleLength(D) X1 <- CandleBodyLength(D) dat <- cbind.data.frame(D, X1,X2,X3,X4,X5,X6,X7,X8,X9,X10, X11,X12,X13,X14,X15,X16,X17,X18,X19, X20,X21,X22,X13,X24,X25,X26,X27,X28,X29)# true,false заменяю на 1 и -1 а NA-шки на 0 dat[dat==TRUE] <- 1 dat[dat==0] <- -1 dat[is.na(dat)] <- 0# пишем все в файл с которым удобно работать в будущем save(dat,file = "D:/R/candles_lib/candle_dat.RData") # ваш путь Machine learning in trading: 算法优化锦标赛。 Algorithm Optimisation Championship. СанСаныч Фоменко 2017.01.31 14:43 #2642 mytarmailS:桑尼奇,你什么时候才能学会正确引用?预测者不展望未来--他们重复目标。正向测试在哪里?讨论培训有什么意义?PS都是应要求而来 mytarmailS 2017.01.31 15:00 #2643 桑桑尼茨-弗门科。预测者不着眼于未来--他们重复目标。正向测试在哪里?关于培训,有什么可讨论的? 只要试着在你的网站上教它,并写下你的收获,然后我们就有东西可以讨论了,我希望... СанСаныч Фоменко 2017.01.31 16:02 #2644 mytarmailS: 只要自己尝试一下,并写下你得到的东西,然后就会有一些东西可以讨论,希望...我理解这个原因。 现在,一个新的价格已经进来了,所有的预测器都被计算在上面,然后同样的价格也被计算在这些预测器上--我们根本就没有预测。拟合误差为零。我没有看到任何令人惊讶的事情。如果预测是有趣的,那么D就向左移动一步。这个模型提前一步预测。你可以预测几个 mytarmailS 2017.01.31 17:04 #2645 桑桑尼茨-弗门科。我理解这个原因。 现在,一个新的价格已经进来了,所有的预测器都被计算在上面,然后同样的价格也被计算在这些预测器上--我们根本就没有预测。拟合误差为零。我没有看到任何令人惊讶的事情。如果预测是有趣的,那么D就向左移动一步。这个模型预测了一个步骤。你说 新的价格进来 是什么意思?我给你的代码只是根据从FINAM下载的价格制作预测器。则数据被保存。# пишем все в файл с которым удобно работать в будущем save(dat,file = "D:/R/candles_lib/candle_dat.RData") # ваш путь然后我们在 新的脚本中 打开这个数据,设置目标价格 并教授MO。它无处可来。当然,根据预测,我把目标价格移了一步,这不是我第一次训练。所以还有别的东西在那里 还是我不理解你? Machine learning in trading: 轻松快捷开发 MetaTrader 程序的函数库 (第十九部分) СанСаныч Фоменко 2017.01.31 17:19 #2646 mytarmailS:你说 新的价格进来 是什么意思?我给出的代码只是根据从FINAM下载的价格制作预测器。然后数据被保存# пишем все в файл с которым удобно работать в будущем save(dat,file = "D:/R/candles_lib/candle_dat.RData") # ваш путь然后我们在一个新的脚本中打开这个数据candle_dat.RData,做一个目标并教给MO。它无处可来。当然,我根据预测,将目标一步步转移。所以这不是我第一次这样做了。 还是我误解了你的意思? 目标是什么? mytarmailS 2017.01.31 17:23 #2647 桑桑尼茨-弗门科。 目标是什么?掐指一算,比之前的掐指一算要高。load(file = "D:/R/candles_lib/candle_dat.RData") Y <- diff(dat$SPFB.RTS.Close) Y[Y>=0] <- 1 Y[Y<0] <- 0 dat <- dat[-nrow(dat),] Y <- as.factor(Y) tr <- 1:10000 ts <- 10001:15000library(randomForest) cm <- colnames(dat) colnames(dat) <- paste0("var_" , 1:ncol(dat)) model <- randomForest(Y[tr]~., dat[tr,] , ntree=100, mtry=10) layout(1:2) plot(model) varImpPlot(model,type = 2) pr <- predict(model,dat[ts,])library(caret) confusionMatrix(Y[ts] , pr) Machine learning in trading: Machine Learning and Neural Practical testing of convolutional СанСаныч Фоменко 2017.01.31 17:34 #2648 mytarmailS:上文中提到的 "回文 "比前文中的 "回文 "要低。 我搞不清楚目标的转变在哪里?差异化时?但第一行预测器,即从2中减去得到的预测器,我们与目标的第1个值相匹配,即我们知道目标的下一个值,索引为2。 mytarmailS 2017.01.31 17:50 #2649 桑桑尼茨-弗门科。 我搞不清楚目标的转变在哪里?差异化时?但是,第一行预测器,即从2中减去得到的预测器,我们把目标的第1个值,即我们KNOW了索引为2的目标的下一个值。当进行微分时,转变是自动的,因为系列变得短了一个元素,那么所需要的就是缩短样本(有观测值的表格)的最后一个元素。这里有一个例子SomeData <- c(10,20,30,20,10,20,30,40,50,40) Y <- diff(SomeData) cbind.data.frame( Y , SomeData[-length(SomeData)]) 我们得到 Y SomeData[-length(SomeData)]1 10 102 10 203 -10 304 -10 205 10 106 10 207 10 308 10 409 -10 50 СанСаныч Фоменко 2017.01.31 17:59 #2650 mytarmailS:当进行区分时,转变是自动的,因为该行变得短了一个元素,然后只需要将样本缩短最后一个元素就可以了需要向左 偏移的不是预测因素,而是目标。让我再试着解释一次。索引为1的预测器串=从SECOND和第一串预测器中获得。结果被写在索引为1的地方。目标的索引=1,并且仍然有。但它的价值我们是根据来自未来的信息来预测的,第二线的预测因素将目标移1,即不取Y[1:n]而取Y[2:n],并计算出 1...258259260261262263264265266267268269270271272...3399 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
试了一下,但很快就坏了: 不清楚该如何处理输出孔 的问题。
周末在迪斯科舞厅打洞 :)
你什么时候才能学会正确引用? 你不必为了写三个字而引用论坛的半页内容......
现在开始讨论这个问题
我制作了各种烛台组合和其他东西,借助于我试着用蜡烛 图来教它,结果在训练和新数据上都是100%的训练和错误为0,很明显,数据中存在一些预测因子,可以预见未来。因此,我没有必要研究每个函数,我只是删除了前6个预测因子,根据福雷斯特版本,这些预测因子是最重要的,从其他预测因子中脱颖而出,我希望其中有那些展望未来的预测因子,并再次训练MO,误差约为3%,总之,我不知道什么是地狱,为什么有如此美妙的结果,也许错误是在我的代码中。..
Karoch想了解这是我如何做样本的代码,我的目标是 "蜡烛颜色"。
在代码中,仅仅是样本本身,目标和其他操作都是按照你的要求进行的。
试一试吧,因为这就像给你的模型增加了30个功能。
# загружаю последние 500 дней котировок индекса ртс
getSymbols("SPFB.RTS",src = "Finam",period="5min",from = Sys.Date()-500)
chart_Series( tail(SPFB.RTS,100) )
D <- SPFB.RTS
# cчитаем функции по свечным формациям и прочим добром
library(candlesticks)
X29<- TrendDetectionSMA(D)
X28<- TrendDetectionChannel(D)
X27<- nextCandlePosition(D)
X26<- CSPThreeOutside(D)
X25<- CSPThreeMethods(D)
X24<- CSPThreeInside(D)
X23<- CSPTasukiGap(D)
X22<- CSPStomach(D)
X21<- CSPStar(D)
X20<- CSPShortCandleBody(D)
X19<- CSPShortCandle(D)
X18<- CSPPiercingPattern(D)
X17<- CSPOutsideDay(D)
X16<- CSPNLowerClose(D,N = 3)
X15<- CSPNHigherClose(D,N = 3)
X14<- CSPMarubozu(D)
X13<- CSPLongCandleBody(D)
X12<- CSPLongCandle(D)
X11<- CSPKicking(D)
X10<- CSPInvertedHammer(D)
X9 <- CSPInsideDay(D)
X8 <- CSPHarami(D)
X7 <- CSPHammer(D)
X6 <- CSPGap(D)
X5 <- CSPEngulfing(D)
X4 <- CSPDoji(D)
X3 <- CSPDarkCloudCover(D)
X2 <- CandleLength(D)
X1 <- CandleBodyLength(D)
dat <- cbind.data.frame(D, X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,
X11,X12,X13,X14,X15,X16,X17,X18,X19,
X20,X21,X22,X13,X24,X25,X26,X27,X28,X29)
# true,false заменяю на 1 и -1 а NA-шки на 0
dat[dat==TRUE] <- 1
dat[dat==0] <- -1
dat[is.na(dat)] <- 0
# пишем все в файл с которым удобно работать в будущем
save(dat,file = "D:/R/candles_lib/candle_dat.RData") # ваш путь
桑尼奇,你什么时候才能学会正确引用?
预测者不展望未来--他们重复目标。
正向测试在哪里?讨论培训有什么意义?
PS
都是应要求而来
预测者不着眼于未来--他们重复目标。
正向测试在哪里?关于培训,有什么可讨论的?
只要自己尝试一下,并写下你得到的东西,然后就会有一些东西可以讨论,希望...
我理解这个原因。
现在,一个新的价格已经进来了,所有的预测器都被计算在上面,然后同样的价格也被计算在这些预测器上--我们根本就没有预测。拟合误差为零。我没有看到任何令人惊讶的事情。
如果预测是有趣的,那么D就向左移动一步。这个模型提前一步预测。你可以预测几个
我理解这个原因。
现在,一个新的价格已经进来了,所有的预测器都被计算在上面,然后同样的价格也被计算在这些预测器上--我们根本就没有预测。拟合误差为零。我没有看到任何令人惊讶的事情。
如果预测是有趣的,那么D就向左移动一步。这个模型预测了一个步骤。
你说 新的价格进来 是什么意思?
我给你的代码只是根据从FINAM下载的价格制作预测器。
则数据被保存。
save(dat,file = "D:/R/candles_lib/candle_dat.RData") # ваш путь
然后我们在 新的脚本中 打开这个数据,设置目标价格 并教授MO。
它无处可来。当然,根据预测,我把目标价格移了一步,这不是我第一次训练。
所以还有别的东西在那里
还是我不理解你?你说 新的价格进来 是什么意思?
我给出的代码只是根据从FINAM下载的价格制作预测器。
然后数据被保存
save(dat,file = "D:/R/candles_lib/candle_dat.RData") # ваш путь
然后我们在一个新的脚本中打开这个数据candle_dat.RData,做一个目标并教给MO。
它无处可来。当然,我根据预测,将目标一步步转移。
所以这不是我第一次这样做了。
还是我误解了你的意思?目标是什么?
掐指一算,比之前的掐指一算要高。
Y <- diff(dat$SPFB.RTS.Close)
Y[Y>=0] <- 1
Y[Y<0] <- 0
dat <- dat[-nrow(dat),]
Y <- as.factor(Y)
tr <- 1:10000
ts <- 10001:15000
library(randomForest)
cm <- colnames(dat)
colnames(dat) <- paste0("var_" , 1:ncol(dat))
model <- randomForest(Y[tr]~., dat[tr,] , ntree=100, mtry=10)
layout(1:2)
plot(model)
varImpPlot(model,type = 2)
pr <- predict(model,dat[ts,])
library(caret)
confusionMatrix(Y[ts] , pr)
上文中提到的 "回文 "比前文中的 "回文 "要低。
我搞不清楚目标的转变在哪里?差异化时?但是,第一行预测器,即从2中减去得到的预测器,我们把目标的第1个值,即我们KNOW了索引为2的目标的下一个值。
当进行微分时,转变是自动的,因为系列变得短了一个元素,那么所需要的就是缩短样本(有观测值的表格)的最后一个元素。
这里有一个例子
Y <- diff(SomeData)
cbind.data.frame( Y , SomeData[-length(SomeData)])
我们得到
1 10 10
2 10 20
3 -10 30
4 -10 20
5 10 10
6 10 20
7 10 30
8 10 40
9 -10 50
当进行区分时,转变是自动的,因为该行变得短了一个元素,然后只需要将样本缩短最后一个元素就可以了
需要向左 偏移的不是预测因素,而是目标。
让我再试着解释一次。
索引为1的预测器串=从SECOND和第一串预测器中获得。结果被写在索引为1的地方。
目标的索引=1,并且仍然有。但它的价值我们是根据来自未来的信息来预测的,第二线的预测因素
将目标移1,即不取Y[1:n]而取Y[2:n],并计算出