Q-CodeQ-Code 打开工作台

ETF 网格再平衡

均值回归A股风险 中入门更新 2026-09-24#网格#ETF#震荡市

在预设价格区间内分档低买高卖,把震荡波动转化为再平衡收益;本质是价格网格上的恒定比例策略。

策略目标

网格策略不预测方向,只在预设的价格区间内机械地低买高卖:每跌一档买入一份,每涨一档卖出一份。它的理论本质是恒定比例动态策略——通过逆向再平衡把波动转化为收益,波动越充分、收割越多 [2]。网格是这类思想最朴素的离散实现,适合震荡市;它的软肋同样明确:单边下跌时会在错误的方向上持续加仓。

数据需求(量价)

数据 字段 频率 用途
量价 ETF 日内价格(或收盘价) 日内/日频 触发档位
估值锚 标的估值分位或历史价格区间 设定时使用 区间上下界

区间上下界是策略成败的关键输入:可用估值分位(如 PB 分位 20%-70% 对应的价格带)或历史箱体设定,必须事前锁定,不可随行情漂移。

网格与档位资金

网格间距:g=2%g = 2\%(示例,待实测);第 kk 档触发价:

Pk=Pbase×(1−g)kP_k = P_{base} \times (1 - g)^k

每档投入固定份额的资金(等金额或等份额,二选一并全程一致)。持仓总份数不超过网格档数,资金在启动时按档数预先分配。

执行规则

启动时确定基准价与上下界,资金等分到各档。价格每向下穿越一档买入该档份额,向上穿越一档卖出该档份额(一档一仓位,循环使用)。跌破下界:停止加仓,转入人工评估(继续持有等待回归或整体止损,规则须事前设定)。涨出上界:网格使命完成,清仓结算。整个生命周期只做记录,不做主观干预。

风险与失效场景

  • 单边下跌:网格在下跌途中逐档接货直至满仓,浮亏随跌幅扩大,区间下界设定过低的代价是致命的;
  • 区间设定主观:上界过高收益有限,下界过低风险放大,估值锚只能缓解不能消除;
  • 趋势市失效:单边上涨时提前清仓踏空,网格只在震荡市有优势;
  • 成本侵蚀:间距必须显著大于交易成本,2% 间距对应单次往返成本占比需要实测;
  • 资金效率:未触发的档位资金长期闲置。

验证状态

待验证。需要完成:不同间距(1%/2%/3%)与不同标的波动特性的匹配;区间设定方法的对照(估值锚 vs 历史箱体);单边下跌样本(如 2018、2024 初)的极限回撤;成本占比测算。本文不提供任何未实测的收益或回撤数字。

参考文献与延伸

[1] Markowitz, H. (1952). Portfolio Selection. Journal of Finance, 7(1).(组合与再平衡收益的理论起点)

[2] Perold, A. F., & Sharpe, W. F. (1988). Dynamic Strategies for Asset Allocation. Financial Analysts Journal, 44(1).(恒定比例等动态策略的波动收割机制)

[3] Q-Code 量化策略工作台

策略逻辑结构

  1. ETF 行情 — 预设区间内的价格序列
  2. 网格档位触发 — 价格穿越档位判定
  3. 分档买入 — 下跌一档买入一份
  4. 分档卖出 — 上涨一档卖出一份
  5. 区间边界控制 — 跌破下界停加、涨出上界终止
  6. 网格终止结算 — 生命周期结束清仓结算

AI 生成提示词

复制以下提示词,打开 Q-Code 工作台粘贴到 AI 对话框,即可自动生成该策略的 QMT 策略代码(单个完整 .py 文件,支持 QMT 回测与实盘)。

请生成一个 QMT 兼容的 ETF 网格策略。标的与价格上下界由参数注入,网格间距 2%(可参数化),每档分配等比资金:价格每下跌一档买入一份,每上涨一档卖出对应份额;跌破下界停止加仓并进入观望评估,涨出上界清仓终止网格。所有档位状态、成本与剩余资金写入状态管理,禁止使用未来数据,兼容回测与实盘分支,参数内联在 init,输出单个完整 Python 文件并包含详细 print 日志。
用自然语言,生成你的 QMT 策略
注册即赠 200 积分,约可生成 5 次 · 支持 Kimi / GLM / DeepSeek
打开 Q-Code 工作台