利用判别分析开发交易系统(基础篇)
📘

利用判别分析开发交易系统(基础篇)

第 1/3 篇

用判别分析给行情贴标签

判别分析的核心,是把已发生行情按结果分成若干类(如趋势延续 / 反转 / 震荡),再找一组指标变量建立分类边界。新 K 线进来时,系统按边界把它判进某一类,从而决定开仓方向。 在 MT5 里跑这套思路,先把历史数据打标:例如取 2010–2013 年 EURUSD 的 H1 数据,按未来 20 根 K 线的涨跌幅度超过 30 点记为「上」,低于 -30 点记为「下」,其余为「横」。样本量约 2.7 万根,足够做线性判别。 实盘前务必在 MT5 策略测试器用相同标签规则回测;外汇与贵金属杠杆高、滑点大,判别边界只是概率倾向,不等于下一根必走那一类。

「用判别分析给行情分两类」

技术分析绕不开一件事:判断市场最近往哪走。从统计视角看,这等价于选指标、取数值,再把未来状态归成两类——上行或下行。 判别分析提供了建模路径:它可以根据指标输入数据,训练出一个预测走向的模型。但人工做这套非常吃力,因为分析复杂、所需样本量极大。 MQL5 配合统计软件能把数据采集、准备和应用全自动跑起来。本文示例的采集 EA,可作为在 Statistica 里搭建外汇预后模型的判别分析教程,外汇与贵金属杠杆高、判别仅代表概率倾向,实战须自担风险。

◍ 用判别分析给指标瘦个身

判别分析(DA)本质是一种图案识别方法,神经网络其实可以看成它的一个特例。在外汇和贵金属这类高噪音市场里,多数能跑通的识别型防御系统背后都站着 DA——它帮你把涌入的数据流切进不同分组,并暴露出判别机制本身。 拿一个简化例子看:用 RSI、MACD、RVI 三个指标的数值去预测价格走向。DA 跑完会直接告诉你,RVI 对预测没贡献,可以从分析里砍掉;同时生成两组判别方程,G1 对应上涨情形、G2 对应下跌情形,形式都是 a*RSI + b*MACD + c。 每个 K 线开盘时把实时 RSI、MACD 代进去算 G1 和 G2:G1 大于 G2 就倾向涨,反之倾向跌。这类二元判别在 MT5 里用 iRSI、iMACD 取数后几行代码就能复现,外汇贵金属波动剧烈,信号仅为概率倾向,实盘前务必用历史数据验证误判率。 DA 还有一个隐藏价值:它生成的方程结构和神经网络前向计算非常像。先拿 DA 摸清哪些变量真有用、判别边界长什么样,再决定是否上神经网络,能少走很多弯路。

判别分析的四个落地步骤

判别分析不是一步到位,而是拆成四个阶段推进:先准备数据,再从这批数据里挑出区分度最高的变量,接着拿测试数据去跑模型并验证效果,最后按判别方程把可用模型搭起来。 这套流程在几乎所有现代统计软件里都是内置模块。圈内用得最多的是 Statistica(StatSoft 出品)和 SPSS(IBM 出品),我们后续直接用 Statistica 演示。 文中截图均取自 Statistica 8.0,早期版本界面大同小异。顺带一提,Statistica 还给交易者备了神经网络等一堆工具,外汇和贵金属波动剧烈、杠杆高风险极大,拿这类统计模型做辅助判断时,结论只代表历史样本下的概率倾向,别当单向押注依据。

常见问题

先取一段已明确走势的历史K线,人工标注 trend 或 range,再提取波动率、收盘价斜率等特征喂给判别模型训练,之后对新行情直接输出类别概率。
优先选历史样本中被判对率更高、且盈亏比更优的那一类作为触发条件,另一类仅作过滤,不要双向都开仓。
小布盯盘的 AIGC 可直接对打开的品种跑判别模型,把实时K线归为趋势或震荡并推送异动,你只需看结论做决策。
能。把各指标作为特征做判别力排序,剔除 Wilks' Lambda 接近1、组间差异不显著的指标,只留区分度高的两三个。
四步:标历史样本、提特征、训判别函数、回测阈值;每一步都用交叉验证看误判率,高于30%就退回重选特征。