SPL量化工作台使用教程-14 中位数通道突破策略
该策略以中位数作为价格中枢,通过构建波动通道捕捉趋势机会。具体实现:1)计算20日收盘价中位数作为中线;2)根据最高最低价差确定通道宽度(系数K=0.5);3)当价格突破上轨时买入,跌破下轨时卖出。回测显示,该策略在2024年实现7.64%收益,具有抗极端值干扰、自适应市场波动的特点,通过价格回归中位数原理捕捉趋势转折点。
该策略的核心思想是:将中位数作为价格的“均衡线”或“价值中枢”,当价格显著偏离这个中枢时,就会产生回归的倾向。我们利用这个特性来寻找买卖点。
A、策略逻辑简述
- 中位数 (中线): 代表了最近N期内市场的平均成本中心,比简单移动平均线(SMA)更能抵抗极端值的干扰。
- 通道的宽度: 代表了最近N期市场的波动幅度。市场波动大,通道就宽,需要更大的力度才能突破;市场波动小,通道就窄,轻微的波动就可能触发信号。
- 突破: 价格突破通道,意味着打破了之前的平衡状态,有可能开启一波新的趋势。
B、策略公式
- 计算中位数线 (Median Line):
- 中线 = 最近N个收盘价的中位数
- 参数 N: 回顾的周期,例如 20天(可根据不同市场调整)。
- 计算上下通道线 (Channel Bands):
- 上轨 = 中线 + (N周期内的最高价 - N周期内的最低价) * K
- 下轨 = 中线 - (N周期内的最高价 - N周期内的最低价) * K
- 参数 K: 通道宽度的系数,例如 0.5。K值越大,通道越宽,交易信号越少;K值越小,通道越窄,交易信号越多。
- 买入和卖出时机
- 买入信号:
当收盘价向上突破上轨时,视为价格进入强势上涨趋势,产生买入信号。 - 卖出信号:
当收盘价向下跌破下轨时,视为价格进入强势下跌趋势,产生卖出信号。
根据上述描述,我们来实现此策略:
第一步先按顺序定义如下指标:
过去20日收盘价中位数:

- SPL公式:median()函数
函数说明:
计算一个数值序列的中位数,中位数比简单平均更能抵抗极端值。
函数语法:
参数说明:
将序列A根据其长度平均分成n段,返回第k段与第k+1段的分界值,有参数x时,先对A计算表达式x,然后再分段。
k省略n不省略时,将各段的分界值组成序列返回。
k、n参数全省略时,如果序列长度是奇数返回中间位置的成员值;如果序列长度是偶数返回中间两个成员的平均值。对于不能平均分段的序列采取逻辑分段。
用法示例:
[1,2,3,4,5,6,7,8,9,10].median() //返回5.5
[1,2,3,4,5,6,7,8,9,10].median(1:2) //返回5.5
[1,2,3,4,5,6,7,8,9,10].median(1:3) //返回4
=[1,2,3,4,5,6,7,8,9,10].median(1:3,~*~) //返回16
过去20日最高价:

过去20日最低价:

中位数通道上轨:

中位数通道下轨:

第二步定义买卖信号列:

第三步定义策略:

点提交后,可以看到回测结果:

600690这只股票,使用中位数通道突破策略,在2024年实现了7.64%的盈利。
SPL量化工作台(临时)网址:http://stock.raqsoft.com.cn:8092/model.jsp
因股票信息量大,请在大屏幕电脑上使用浏览器操作,不合适小屏幕手机体验。
工作台首页:https://www.raqsoft.com.cn/wx/splqt.html (长期有效,临时网址变更时可从这里获取最新的)。
社区网址:https://c.raqsoft.com.cn/tag/QuantitativeTrading
更多推荐


所有评论(0)