在 GitHub 上查看

月末月初效应策略图

English | Русский | Español | Deutsch | Português | 日本語

这张图交易的不是价格形态,而是日历效应:在两个月交界处持有多头,在月中空仓。图中完全没有指标,唯一的输入是每根已完成K线的日期。

schema

策略概览

  • 转换方块从K线开盘时间中取出日期序号,一个简短的公式把它换算成到最近月界的距离:min(day - 1, 31 - day)。
  • 一个阈值就定义了整个窗口:距离小于等于阈值即视为月末月初,大于阈值则视为月中。
  • 日历日定义了月界两侧对称的窗口。31天的月份覆盖头六天和末六天,较短的月份少一到两天。
  • 策略只做多,因此持仓判断决定的是开仓还是平仓,完全没有做空分支。

入场与出场规则

  • 做多入场: 到月界的距离小于等于窗口,且持仓不是多头。订单按固定数量买入,建立准备跨越月界的多头。
  • 做空入场: 没有做空入场。策略要么持有多头,要么空仓。
  • 离场: 到月界的距离大于窗口,且持有多头。平仓方块按当前持仓规模发送市价单,于是整个月中图都保持空仓。没有止损,也没有止盈。

参数

参数 默认值 说明
Window, days 5 日历窗口的半宽(天):只要距离首日或末日不超过该值,就算作月末月初。
Volume 1 开多的下单数量(手);离场按已开仓规模平掉。
Candles 00:30:00 整张图使用的K线周期。

图表详情

  • K线方块驱动一个类型为K线、属性路径为 OpenTime.Day 的转换方块,得到普通数字形式的日历日。
  • 公式方块把该数字折叠成到最近月界的距离,于是一个阈值同时覆盖本月末与下月初。
  • 两个比较方块把日历分成窗口内与窗口外;另外两个把持仓与零常量比较。
  • 每个逻辑与把一个日历条件与一个持仓条件合并:前者触发开仓方块,后者触发平仓方块,平仓数量取自持仓本身。

使用方法

.json 文件导入 Designer,在回测器中用历史数据运行,然后根据自己的交易品种调整参数或方块,确认无误后再用于实盘。