上一篇文章里,我们把固定网格拆开揉碎讲了一遍:它靠”赚波动率、攒网格对”盈利,最关键的两个参数是网格间距和单笔交易金额;并用上涨、下跌、横盘三种真实样本做了参数扫描,看到了它的两大软肋——单边上涨时”卖飞踏空”、单边下跌时”满仓接飞刀”。那篇最后留下了一个没有解决的难题:固定网格的最优参数会随行情形状改变,但未来的行情谁也无法预知;并提出了一个进阶方向——能不能让网格的锚点跟着行情自己漂移,而不是钉死不动?
这一篇,就来正面回答这个问题。所谓”让锚点会动”的网格,就是浮动网格。我们把固定网格 vs 浮动网格放进同一套 180 组回测里(沿用上一篇的 khQuant 纯代码、零滑点口径),看看”锚点到底该不该动”——答案可能和很多人的直觉不一样。
这也是一个系列的开始。上一篇把基础网格讲透、把它的短板也摊开了;后续我会沿着这条线继续探索它的各种改进思路——浮动锚点、动态间距、波动率自适应、趋势过滤、多品种组合……每一种都用同样成体系的参数扫描 + 多场景回测对比来检验,让”听起来更聪明”的改进必须先在数据上证明自己。本篇的”浮动网格”,是这个系列的第一站。
一、网格交易:一分钟回顾
网格交易的核心思路非常直白:给价格画一张”网”,价格跌到某条线就买入,涨到某条线就卖出,反复赚取波动差价。
它天然适合 震荡行情 和 ETF 品种(ETF 免印花税、支持 T+0、流动性好),因此成为许多量化入门者的第一个策略。
但”网”怎么画,有两种不同思路——固定网格和浮动网格。它们的差异不在于”买卖规则”,而在于一个关键变量:锚点(anchor)怎么处理。
二、深入拆解:固定网格 vs 浮动网格
2.1 固定网格:锚点一旦确定,永不移动
基本原理
- 首次建仓:以当前价为锚点,买入 50% 底仓
-
以锚点为基准、按绝对等宽划分一整排网格层级:层级宽 = 锚点 × 间距(恒定不变)。价格落在哪一格用
层级 = ⌊(价格 − 锚点) ÷ 层级宽⌋算出 -
只记上次成交所在的层级 base。当价格进入与 base 不同的层级才动作一次:低一层 → 买;高一层 → 卖;一次跨多层也只算一笔(base 直接跳到新层级)
-
锚点永不改变
关键:策略不是”价格每穿一条线就下一单”,而是比较”现在在第几格”和”上次成交在第几格”。盈利来自价格在相邻层级间反复往返——下去一格买、回到上一格卖,构成一组买低卖高。
举例(间距 0.8%,锚点 = 1.000,层级宽 = 0.008):
建仓:锚点=1.000,base=层级0价格在层级0内来回 → 同层级,不交易跌到 0.995(层级-1) → 买,base=-1回到 1.003(层级0) → 卖,base=0 ← 完成一组买低卖高再跌再涨,反复在 -1↔0 之间往返 → 反复成交从 1.003 一口气冲到 1.030(≈层级+3) → 只卖出"一笔",base 直接跳到 +3
2.2 浮动网格:每次成交后,锚点跟着走
基本原理
浮动网格没有一整排固定网格线,任意时刻只记一个数——锚点,并由它实时算出两条线:
- 买入线 = 锚点 ×(1 − 间距)
-
卖出线 = 锚点 ×(1 + 间距)
规则只有两步,循环执行:
- 首次建仓:以当前价为锚点,买入 50% 底仓
-
价格触线就成交,并把锚点搬到成交价:跌到买入线 → 买;涨到卖出线 → 卖。每成交一次,锚点瞬间跳到新成交价,两条线立刻随之平移
关键:浮动网格只记得最近一笔成交,不记得任何更早的价位。两条线像护栏被锚点拽着走,价格在带内的小晃动(幅度不到一个间距)一律忽略。
举例(间距 0.8%):
建仓:锚点=1.000 → 买线=0.992,卖线=1.008 跌到 0.992 → 买,锚点跳到 0.992 → 买线=0.984,卖线=1.000 跌到 0.984 → 买,锚点跳到 0.984 → 买线=0.976,卖线=0.992 反弹到 0.992 → 卖,锚点跳到 0.992 → 买线=0.984,卖线=1.000 涨到 1.000 → 卖,锚点跳到 1.000 → 买线=0.992,卖线=1.008 ……两条线始终"贴身跟随"最近一次成交价
2.3 核心差异一览
| 维度 | 固定网格 | 浮动网格 |
|---|---|---|
| 锚点 | 初始化后永不变 | 每次成交后漂移到新价 |
| 网格线 | 一整排固定层级,钉死在固定价位 | 只有”锚点 ± 间距”两条线,跟着成交价漂移 |
| 触发间隔 | 绝对值固定 (锚点 × 间距) | 随价格放大/缩小(当前价 × 间距) |
| 单次利润 | 1 个间距 | 与固定网格相同 |
| 边涨边震荡 | 价格在相邻层级间往返就反复成对套利,交易多 | 锚点被不断推高,小回撤够不到新触发距离被跳过,交易少 |
| 单边强趋势 | 在固定线上早早把底仓卖光、之后空仓干等 | 锚点跟涨、卖得慢,更能”骑住”趋势 |
2.4 一个例子,看懂两者的根本区别
为了把区别一眼看清,我们构造一段两段式价格走势,间距取 1%、初始锚点 = 100:
- ① 整幅震荡(时间步 0~4):
100 → 99 → 100 → 99 → 100,每次都是满一个间距的来回——用来看清浮动网格的锚点怎么跟着价格上下走 -
② 边涨边浅回踩(时间步 5~11):
101 → 100.5 → 101.5 → 101 → 102 → 101.5 → 102.5,台阶式上行、回踩都不到一个间距——用来看清两者在震荡偏强里的分叉

固定网格 vs 浮动网格 网格划分方式对比
上图一眼看清区别:两者的买卖方向规则相同,都是进入更低一格就买、进入更高一格就卖;真正不同的是”格子怎么划”。 两图共用 y 轴 60~180,方便直接对比网格的疏密。左侧固定网格——灰色虚线是钉死的固定层级(加粗实线是锚点 = 100),从 70 到 170 共 11 条线、间距全程恒定 10,整张网永不挪动。右侧浮动网格——灰色虚线标出了每个曾经的锚点位置(90 / 100 / 121 / 133.5 / 147 / 162),间距依次是 10、21、12.5、13.5、15——虚线越往上越疏,对应网格随价格越涨越宽;橙/绿虚线段是各阶段当前生效的买卖触发线,黑色阶梯线是成交后跳到新成交价的锚点。下面用一段示例价格序列(间距 10%、初始锚点 100)逐步还原两种网格的触发逻辑。
固定网格:锚点定死在 100,层级宽 = 100 × 1% = 1.0(绝对等宽,永不变)。层级 = ⌊(价格−100)/1.0⌋,base = 上次成交层级(建仓后 = 0):
| 时间步 | 价格 | 所在层级 | 对比 base | 动作 | base |
|---|---|---|---|---|---|
| 0 | 100 | 0 | 建仓 | 买 50% 底仓 | 0 |
| 1 | 90 | -1 | <0 | 买 | -1 |
| 2 | 100 | 0 | >-1 | 卖 | 0 |
| 3 | 90 | -1 | <0 | 买 | -1 |
| 4 | 100 | 0 | >-1 | 卖 | 0 |
| 5 | 110 | 1 | >0 | 卖 | 1 |
| 6 | 105 | 0 | <1 | 买 | 0 |
| 7 | 121 | 2 | >0 | 卖 | 2 |
| 8 | 115 | 1 | <2 | 买 | 1 |
| 9 | 133.5 | 3 | >1 | 卖 | 3 |
| 10 | 127 | 2 | <3 | 买 | 2 |
| 11 | 147 | 4 | >2 | 卖 | 4 |
| 12 | 139 | 3 | <4 | 买 | 3 |
| 13 | 162 | 6 | >3 | 卖 | 6 |
→ 固定网格触发成交 13 笔(8 卖 5 买,不含初始建仓)。层级钉死,无论 ① 段的满幅震荡还是 ② 段的浅回踩,只要价格落进与上次成交不同的格,就买/卖一次——它把碎波动反复收割了。
浮动网格:只有两条线 锚点×0.90(买)/ 锚点×1.10(卖),每成交一次锚点立刻搬到成交价:
| 时间步 | 价格 | 买线 | 卖线 | 动作 | 新锚点 |
|---|---|---|---|---|---|
| 0 | 100 | 90 | 110 | 建仓 | 100 |
| 1 | 90 | 90 | 110 | ≤买线 → 买 | 90 |
| 2 | 100 | 81 | 99 | ≥卖线 → 卖 | 100 |
| 3 | 90 | 90 | 110 | ≤买线 → 买 | 90 |
| 4 | 100 | 81 | 99 | ≥卖线 → 卖 | 100 |
| 5 | 110 | 90 | 110 | ≥卖线 → 卖 | 110 |
| 6 | 105 | 99 | 121 | 带内,不动 | 110 |
| 7 | 121 | 99 | 121 | ≥卖线 → 卖 | 121 |
| 8 | 115 | 108.9 | 133.1 | 带内,不动 | 121 |
| 9 | 133.5 | 108.9 | 133.1 | ≥卖线 → 卖 | 133.5 |
| 10 | 127 | 120.15 | 146.85 | 带内,不动 | 133.5 |
| 11 | 147 | 120.15 | 146.85 | ≥卖线 → 卖 | 147 |
| 12 | 139 | 132.3 | 161.7 | 带内,不动 | 147 |
| 13 | 162 | 132.3 | 161.7 | ≥卖线 → 卖 | 162 |
→ 浮动网格触发成交 8 笔(6 卖 2 买,不含初始建仓)。① 段:每成交一次锚点就搬家,买线/卖线跟着平移,所以它能跟着 100↔90 的满幅震荡一买一卖——这就是”锚点跟随”的真实样子。② 段:由于锚点不断推高,买卖线的绝对宽度也在放大(半宽从 10 放大到 16.2),105 / 115 / 127 / 139 这些回踩都没跌破越来越宽的买线,于是全被跳过,直到价格够到卖线才再成交。
同一段行情,固定网格触发 13 笔、浮动网格只触发 8 笔(均不含初始建仓)——这就是两者最根本的区别:
- 固定网格的层级钉死在绝对价位上,只要价格在相邻层级间一上一下,它就一遍遍买低卖高 → 吃透”边涨边回踩”的震荡(这正是标的 B 上固定网格成交 5941 笔、收益 +14.13% 反超的原因)。
-
浮动网格每成交一次就把锚点搬到现价、整条带子跟着走:满幅波动它照样跟、能一买一卖,但不到一个间距的浅回撤会被带子”罩住”而跳过 → 少做无谓往返、顺着趋势走(这正是它在单边强趋势标的 C 上更能骑住行情、+16.02% 占优的原因)。
-
单边下跌(标的 A)里两者都在接刀、都亏,浮动网格因锚点跟跌、节奏稍缓而亏得略少。
这就是全部秘密:不是哪种网格”更聪明”,而是钉死等宽的层级网 vs 跟随漂移的两线网这两种形态,分别匹配不同形状的行情。
三、理论好看,数据说话:180 组回测实验
3.1 实验设计
我们设计了一组大规模参数扫描实验:
| 维度 | 取值 |
|---|---|
| 测试标的 | 3 只行情特征各异的 ETF |
| 网格间距 | 0.3%、0.5%、0.8%、1.2%、1.8%、2.5%(6 档) |
| 单笔金额 | 0.5万、1.5万、3万、5万、8万(5 档) |
| 回测区间 | 约 14 个月(274 个交易日) |
| 数据频率 | 1 分钟 K 线 |
| 初始资金 | 100 万,初始建仓 50% |
| 交易成本 | 佣金万0.5(最低 0.5 元)、无印花税(ETF免税)、滑点设为 0 |
两种策略 × 3 只 ETF × 30 个参数组合 = 180 组回测,每组在独立进程中运行,确保结果互不干扰,全部 180 组均成功。
说明:本轮回测滑点设为 0,只保留极低的佣金。目的很简单——把交易成本这个变量从结果里拿掉,让两种网格的差异纯粹由机制本身决定,便于看清”网格形态”与”行情形状”的匹配关系。
3.2 标的选择:覆盖三种典型行情

三只测试标的走势对比
- 标的 A:区间下跌约 11%,代表”逆风环境”——网格策略最不利的场景
-
标的 B:区间上涨约 25%,波动大,代表”顺风 + 震荡环境”
-
标的 C:区间上涨约 83%,单边强势上行,代表”强趋势环境”——网格策略最容易踏空、跑输买入持有的场景(与标的 A、B 均几乎不相关,提供完全独立的第三类行情)
四、实验结果:逐场景分析
4.1 标的 A —— 单边下跌,生存考验

标的A 区间走势
标的 A 在测试区间内持续走弱,累计下跌约 11%。对网格策略来说,这是最不利的环境——不断触发买入,却很少有机会卖出获利。
| 指标 | 固定网格 | 浮动网格 |
|---|---|---|
| 平均收益率 | -6.98% | -5.63% |
| 平均最大回撤 | 15.75% | 15.71% |
| 平均成交笔数 | 1565 | 979 |
| 最优参数下收益 | +3.78% | +2.95% |
| 最差参数下收益 | -17.65% | -18.38% |
两种策略在下跌市都亏损,差距很小:浮动网格平均少亏约 1.4 个百分点(-5.63% 对 -6.98%),固定网格的最优参数反而略高(+3.78% 对 +2.95%),两者参数跨度也基本相当(约 21 个百分点)。
机制上,这正符合预期:单边下跌中,固定网格沿着钉死的网格线一路接刀,越跌买得越多;浮动网格的锚点跟着价格往下漂,节奏稍缓,所以平均亏得略少。但这只是”五十步与百步”——下跌市是网格的天然逆风,它假设价格会回归,单边趋势中这个假设失效,无论哪种网格,方向上都难以扭亏。

固定网格 标的A 收益曲面

浮动网格 标的A 收益曲面
4.2 标的 B —— 震荡偏强,固定网格反超

标的B 区间走势
标的 B 在测试期内波动剧烈但整体上涨约 25%。
| 指标 | 固定网格 | 浮动网格 |
|---|---|---|
| 平均收益率 | +14.13% | +11.22% |
| 平均最大回撤 | 16.86% | 14.37% |
| 平均成交笔数 | 5941 | 1204 |
| 最优参数下收益 | +33.46% | +20.41% |
| 最差参数下收益 | +6.84% | -9.75% |
这是固定网格表现最好的场景,也最能说明两者的机制差异。 固定网格平均 **+14.13%**,反超浮动网格的 +11.22%,最优参数高达 +33.46%,连最差参数都是正收益 +6.84%(浮动最差 -9.75%)。
道理就藏在 2.4 节那个例子里:标的 B 是典型的”边涨边反复回踩“——价格涨上去又跌回来、再涨上去。固定网格的层级体系钉死、绝对等宽,价格每完成一次”跌入低一层、再回到高一层”的往返,就再形成一组买低卖高,把这种反复波动反复收割(成交 5941 笔)。而浮动网格成交后锚点被一次次推高,价格回踩时往往还没够到”从新锚点再走满一个间距”的触发条件,于是跳过了大量波段(成交仅 1204 笔),吃到的波动自然更少。
换句话说:在”震荡 + 偏强”的行情里,钉死等宽的层级网恰好咬合了价格在固定层级间反复往返的形态,这是固定网格的主场。浮动网格在此唯一保留的优势是回撤略低(14.37% 对 16.86%)——它动得少,单次暴露也小。

固定网格 标的B 收益曲面

浮动网格 标的B 收益曲面
4.3 标的 C —— 单边强趋势,网格的踏空考验

标的C 区间走势
标的 C 是一条单边强势上行曲线,区间累计上涨约 83%。它由黄金价格驱动,与标的 A(美股消费)、标的 B(港股科技)的日收益相关系数均接近 0,构成一类完全独立的第三类行情。对网格策略而言,强趋势是另一种典型的不利场景:价格一路上行很少回踩,网格不断卖出后无法在更低位接回,越涨越空仓,极易跑输”买入并持有”。
| 指标 | 固定网格 | 浮动网格 |
|---|---|---|
| 平均收益率 | +13.08% | +16.02% |
| 平均最大回撤 | 2.61% | 3.19% |
| 平均成交笔数 | 1110 | 161 |
| 最优参数下收益 | +37.05% | +38.92% |
| 最差参数下收益 | +0.82% | +0.92% |
这是网格”软肋”的场景,但也清楚地展示了浮动网格的长处。标的 C 单边上涨约 83%,价格一路向上很少回踩,两种网格都早早卖出、接不回来,**严重跑输”买入并持有”的 +83%**(都只赚 +13% ~ +16%)。
但浮动网格小幅领先(+16.02% 对 +13.08%),原因正是 2.4 节讲的机制:固定网格的卖出线钉死在低位,价格刚起步就把底仓沿固定线一批批卖光,之后彻底空仓干等;浮动网格的锚点跟着价格往上漂,卖得更慢、更分散,等于”骑”住了一截趋势,所以多吃到一些涨幅。两者成交都极少(固定 1110 笔、浮动仅 161 笔),回撤也极小(2~3%)、最差参数仍是正收益(+0.82% / +0.92%)——网格在强趋势中不会亏钱,但会大幅踏空,这是它与单边下跌(标的 A)相对应的另一类典型不利场景;而在”踏空”这件事上,跟随式的浮动网格踏得稍微少一点。

固定网格 标的C 收益曲面

浮动网格 标的C 收益曲面
五、180 组的全局结果与归因
全局大平均
| 策略 | 平均收益率 | 平均最大回撤 | 平均成交笔数 | 样本 |
|---|---|---|---|---|
| 固定网格 | +6.74% | 11.74% | 2872 | 90 组 |
| 浮动网格 | +7.21% | 11.09% | 781 | 90 组 |

固定网格 vs 浮动网格 对比柱状图
排除交易成本后整体几乎打平(浮动仅领先 0.47 个百分点)。但分场景看差距都不小:固定网格在震荡偏强(B)大幅领先(+14.13% vs +11.22%),浮动网格在单边强趋势(C)与下跌市(A)小幅占优——两类优势在三只标的上恰好相互抵消。所以真正该问的不是”哪种网格更好”,而是”面对的行情是哪种形状“。
按网格间距切片
| 网格间距 | 固定网格 成交 / 收益 | 浮动网格 成交 / 收益 |
|---|---|---|
| 0.3%(最密) | 4425 笔 / +3.9% | 2351 笔 / +1.0% |
| 0.5% | 3761 笔 / +4.4% | 1221 笔 / +2.5% |
| 0.8% | 3126 笔 / +6.4% | 550 笔 / +6.7% |
| 1.2% | 2515 笔 / +7.4% | 313 笔 / +9.0% |
| 1.8% | 1910 笔 / +7.3% | 154 笔 / +10.9% |
| 2.5%(最疏) | 1497 笔 / +11.1% | 98 笔 / +13.1% |
同一间距档,固定网格的成交永远是浮动的 2~5 倍——不是谁更勤快,而是两种网格形态的必然结果:
- 固定网格 = 静止的密网:层级钉死、绝对等宽,价格在相邻层级间往返就反复成对套利,适合”边涨边回踩”的震荡偏强行情(B +14.13% 反超);但单边趋势中要么早早卖空(C 踏空)、要么一路接刀(A 越跌买越多)。
-
浮动网格 = 跟随的疏网:锚点漂移、网撒到新价位,小幅回撤被跳过,少动顺势。代价是漏掉震荡中的小波段(B +11.22% 不及固定),回报是趋势市跟得住(C +16.02% 占优、A 跟跌节奏稍缓)。
-
“间距越大越好”是样本形状决定的,不是定律:本批 3 只里有 2 只整体上涨,疏网才占上风;若样本多几只宽幅横盘,密网(小间距、固定网格)反而会占优。
六、软肋、实操与总结
共同软肋:单边趋势必吃亏
网格策略假设价格会来回波动并回归——一旦行情单边运行,这个假设就失效。A 单边下跌,两种网格都亏(-6.98% / -5.63%);C 单边强涨,两种网格都只赚 +13%~+16%、大幅跑输 +83% 的买入持有。形态匹配能决定”谁亏少一点 / 谁踏空少一点”,但改变不了”趋势市网格必吃亏”的方向性结论。另外,下跌市里网格间距不能太密:A 上最差档都出现在最小间距 0.3%——网越密,阴跌途中接刀越频繁。
实操建议:先判断行情形状,再选网格形态
| 你预判的行情 | 推荐策略 | 理由 |
|---|---|---|
| 震荡偏强 / 宽幅来回回踩 | 固定网格 | 在固定层级间反复成对套利(B +14.13% 反超) |
| 偏强但趋势性强、回踩少 | 浮动网格 | 锚点跟涨、卖得慢、更能骑住趋势(C +16.02% 占优) |
| 单边下跌 | 都不推荐(硬选则浮动) | 网格逆势必亏,浮动跟跌节奏稍缓 |
| 方向不明 | 浮动网格 | 回撤更低、对单边行情更宽容 |
- 网格间距:越小越吃震荡、越怕单边;越大越能留住趋势。本批样本偏上涨故”大间距”占优——这是样本形状决定,不是定律
-
单笔金额:占初始资金的 **1% ~ 5%**,下跌市偏小可控接刀风险
-
单边趋势的标的不要用网格;可能下跌的标的上间距不要过小,搭配仓位上限或止损
一句话收束
没有哪种网格永远更好。固定网格是静止的密网,最吃”边涨边回踩”;浮动网格是跟随的疏网,最吃”单边顺势”。胜负手是”网格形态”与”行情形状”的匹配,不是哪种锚点更聪明——而单边趋势中两者都跑不赢方向,形态匹配只能决定”谁吃亏少一点”。
本文”多参数扫描 + 三维曲面 + 分行情形状归因”的方法,本身也是一套通用范式:与其问”哪个策略更好”,不如把它拆成”这个策略的机制,匹配的是哪种行情形状”。