用随机森林预测趋势·综合运用
(3/3)· 前两层铺垫完数据与训练,本篇把模型改进和 MT4 实盘调用补齐,让预测真正跑在行情里
很多交易者训完随机森林就直接拿信号开仓,却忽略特征窗口和样本权重对趋势偏移的放大效应。更常见的是模型留在 R 里,从没接进终端,预测永远只是离线报告。本篇顺着前两篇的数据与训练,把最后两块拼图钉死。
「用相关系数砍掉弱因子换稳定性」
在随机森林里逐个核对预测因子与 ZZ.35 目标变量的相关系数,会发现多数因子相关性极弱。把绝对值小于 0.01 的因子在 Data 标签页标成 Ignore,再回 Model 标签页重算,是低成本排噪的第一步。 重算后三组数据给出了直观对照:袋外误差 15.77%、验证集 15.67%、测试集 15.77%。误差绝对值没明显压缩,但三者的离散度收窄,这往往意味着模型对外样本不再那么敏感,稳定性在变好。 顺着相关系数表继续剔,或改用模型自己算出的因子重要性表来砍,效率可能更高,预测误差有概率进一步下行。节奏把握在「再剔一个就明显恶化」之前停手,拿到当前因子数下最小且够用的模型即可,不必追到极限。外汇与贵金属行情高波动,这类统计优化只降低过拟合倾向,不承诺样本外胜率。
把Rattle模型接进MT4终端
收盘后把外部工具抓到的价格写进源文件,再喂给Rattle做输入,几分钟内就能得出次日的预测,开盘即可参考。若做日内,MT4这类终端是绕不开的执行端。 真正跑自动或半自动,需要三层东西:训练完存进R工作空间的模型、负责MT4与R互调的类库、以及一段把新数据送进模型并把结果回传终端的R代码。R里分类模型超150种,但Rattle只认已支持的6种,其余用不上。 MT4与R的桥接类库在代码库里叫 mt4R for new MQL4;而对应你那版训练模型的实盘代码,其实就躺在Rattle的Log标签页中——所有建模操作都以R代码形式被记下来,直接拿去用就行。外汇与贵金属杠杆高,模型信号仅作概率参考,实盘前务必在MT5/MT4模拟环境验证。
◍ 把这条线请下神坛
用 R 搭 AI 交易系统,真正的门槛不在代码,而在目标变量和预测因子的选取。有经验的交易者手里有这方面的盘感,初学者往往要先补 Rattle 的操作经验才能少走弯路。 俄文原帖附件 Article.zip 约 6598 KB,里面是完整工程,但作者明确说 R 本身是一种职业级工具,不是点几下 GUI 就能出信号的玩具。新手若被设置项劝退,转回价格行为或技术指标反而更实际。 外汇和贵金属杠杆高、回撤快,任何基于历史数据的模型都只代表一种概率倾向,实盘前务必在 MT5 策略测试器里跑一遍样本外数据再决定要不要上钱。