一个为莫斯科交易所期货开发的点差策略实例(基础篇)
📘

一个为莫斯科交易所期货开发的点差策略实例(基础篇)

第 1/3 篇

◍ 用 MT5 重建多资产 tick 级环境

MT5 的策略测试器能直接从经纪商服务器拉取订单时刻历史,并自动套用账户合约规范,开发者不用手工对齐不同品种的 tick 时间戳。 这套机制对点差类策略很关键:它能在回测里还原不同交易品种之间毫秒级的来单间隔,而不只是近似到秒。 以莫斯科交易所期货为例,在两种合约上做点差策略的开发和测试时,环境重建的可靠性来自上述内建能力,而不是外部拼接数据。外汇与贵金属市场杠杆高、滑点突变频繁,实盘前务必用历史 tick 在测试器里先跑一遍同构验证。

「Si 与 RTS 的反向牵动」

在莫斯科交易所挂牌的 Si-M.Y 与 RTS-M.Y 期货存在紧密的负向联动。M.Y 只是合约到期标识:M 为月份编号,Y 是年份末两位;Si 是美元/卢布汇率期货,RTS 是以美元计价的俄股指数期货。 RTS 指数成分股以卢布报价,卢布兑美元(USD/RUR)一波动,折成美元的指数就跟着反向晃。把两张价格图叠起来看,一种资产拉涨时,另一种往往同步掉头。 为让这种负相关更直观,可在两图各画一条标准差通道(StdDev Channel)。通道张开越大,两段负相关的离散度越高,肉眼就能判出哪段时期脱钩、哪段贴得紧。外汇与贵金属类品种波动剧烈,此类跨资产负相关随时可能因流动性事件翻转,仅作概率参考。

用回归线看清锡与RTS的关联

两种资产的联动关系,用一元线性回归 Y(X)=A·X+B 能直接量化。把锡(Si)和俄股RTS的收盘价分别塞进两个数组,求出的斜率 B 与截距 A 就描述了前者对后者的边际敏感程度。 我们写一个 CalcShowRegression_script.mq5,在 MT5 里加载后,它会调用 ALGLIB 的线性回归函数算出 A、B,再借助标准库图形类把回归线画到品种图表上,分布散点也一并呈现。 实操上,打开两个品种的日线收盘价序列,跑一遍该脚本,若回归线斜率明显偏离 1(比如落在 0.6~1.4 区间外),说明这段时间内两者价格传导已经弱化,不宜再用简单的配对假设。外汇与贵金属同理存在此类联动失真风险,验证前请先用历史数据回看。

◍ 用柱形图把构造序列和实盘价差摊开看

拿到线性回归系数后,构造序列按 Y(RTS)=A*RTS+B 生成,源数据与该序列逐根相减得到的差就是点差。这个点差随每根 K 线变化,可正可负,直接反映构造模型对实盘资产的偏离程度。 我们写了 TwoSymbolsSpread_Ind.mql5 指标,把最近 500 根柱的点差画成柱形图:正值染蓝、负值染黄,肉眼就能扫出偏离的区间和节奏。外汇与贵金属价差监控同样属于高风险操作,模型偏离不代表方向确定性。 指标在新柱开启时重算,并把线性回归系数写进专家日志;它强制等 Si 与 RTS 两边都走出新烛形才更新,避免单边数据造成的错算。想验证,开 MT5 加载该指标看最近 500 根蓝黄柱分布即可。

「用最近100根柱给点差拉一条回归线」

点差通道反映的是Si期货与按时间构造的交易品种价格变化之间的差值。要在MT5里把这条差值的趋势看清,可以加载 SpreadRegression_Ind.mq5,它在点差图上直接画一条带线性回归的趋势线。 红线斜率只由最近100根柱的点差数值决定,参数随窗口滑动实时重算。调试时建议同一图表挂两个实例,一个看长周期一个看短周期,方便比对斜率转向。 当这100根柱的回归线给出足够样本,价差偏离通道的临界点就具备开仓参考意义。外汇与贵金属点差受流动性影响大,此类信号仅作概率倾向,实盘前务必在MT5策略测试器跑一遍。

常见问题

可用历史分笔数据按品种时间轴重放,把 Si 和 RTS 的 tick 对齐到同一时钟,再存成本地回放序列供策略调用。
Si 与 RTS 存在反向牵动倾向,当短时相关系数转负且扩大时,反向价差组合盈利概率更高,可重点观察背离段。
小布可基于实时 tick 算出两品种相关与回归偏离,直接标出当前价差是否超出常态带,省去手动画线。
能直观看到合成价差与实盘成交价的滑点缺口,避免回测漂亮但实盘因流动性吃不上价的问题。
100根在分钟级常态市够用;若波动剧变,可缩短到50根让线更跟手,但需警惕噪声放大。