基础 · 长文
网格交易到底在做什么
它在一个你划定的价格区间里,每跌一格买一份、每涨一格卖一份,赚的是价格来回震荡的差价。这篇从「机器在替你按什么按钮」讲起,把区间、格数、每格金额三者的关系拆开,以及它成立的那个唯一前提。
机器在替你按什么按钮
只有两个按钮:买入和卖出。触发条件是价格走到了某个位置,不是别的任何东西。
把网格想复杂了,是很多困惑的开始。它不是一套策略、不是一个模型、也没有在分析什么。它是一段极其简单的规则:价格到了 A 就买,到了 B 就卖,反复执行。
它不看新闻,不看成交量,不看别人在做什么。它甚至不知道自己交易的是什么资产。它唯一的输入是价格,唯一的输出是下单。
就这么简单,也就这么麻烦。
这个简单性是它的全部优点,也是它全部麻烦的来源。优点是它绝对不会犹豫、不会因为害怕而错过;麻烦是它绝对不会因为情况变了而停下来。
理解这一点之后,很多问题就有了答案——比如「为什么跌成这样它还在买」。因为你没告诉它「跌成这样要停」,你告诉它的是「跌到这个价就买」。
你只给了它三个数字
区间(在哪一段价格上工作)、格数(这段切成几份)、每格金额(每次用多少钱)。剩下的都是这三个数字的推论。
创建界面上的字段可能有五六个,但核心就这三样。触发价决定什么时候开始,等差等比决定怎么切,停止条件是你另加的判断——这些都是修饰,不是主体。
值得停下来想一想这件事的分量:你用三个数字,就把接下来几周甚至几个月的全部交易决策定下来了。之后发生的每一笔成交,都是这三个数字的机械展开。
这也意味着,如果结果不理想,问题几乎总是出在这三个数字上——或者更准确地说,出在你填这三个数字时对行情的那个假设上。机器只是忠实地执行。
区间:它的工作范围
区间是一个上限和一个下限。机器只在这两个价格之间干活,出了这个范围它什么都不做。
把它想象成一把竖着靠墙的梯子。梯子的顶端是上限,底端是下限,价格是一个在梯子上下移动的东西。
梯子有多高,决定了机器能容纳多大的波动。梯子搭得高,价格不容易爬出顶端或掉出底端,但同样的钱要铺在更长的一段上。梯子搭得矮,每一档更厚实,但价格很容易走出去。
这里有个必须说清楚的不对称:价格从顶端出去和从底端出去,后果完全不同。从顶端出去你手里是现金,只是少赚;从底端出去你手里是满仓的币,而且现金已经用完了。
所以下限这个数字的分量比上限重得多。它实际上定的是「我最多愿意在这个东西上投多深」。
格数:把范围切成几份
格数决定梯子上有多少档。档越多,每档之间的距离越短,价格走一小段就能触发一次交易。
一档的高度 = 区间高度 ÷ 格数。这是个简单的除法,但它连带的后果不简单。
格数调多,价格轻微波动就能触发成交,机器变得很忙。直觉上这像是好事——成交多,赚的次数多。但每一档变矮了,意味着单次来回赚到的差价变小。
而手续费是按成交次数收的,不是按赚多少收的。次数变多、单次赚的变少,两头一挤,费用占单次利润的比例就上去了。这个关系单独写在手续费在高频策略里有多重。
格数调少则相反:机器很闲,价格要走一大段才动一次,但每次动的收获更实在。震荡幅度小的时候,可能长时间一笔都不成交。
每格金额:每次动用多少钱
它决定每次触发买入时投进去多少。乘以格数,大致就是你在这个网格里最多会投入的总额。
多数平台让你填总投入,然后自动除以格数得到每格金额。所以调格数的时候,每格金额会跟着变——这是很多人没注意到的联动。
每格金额大,震荡时单次赚的绝对金额多,手续费的固定部分被摊薄。代价是下跌途中钱消耗得更快:同样跌到下限,你投进去的更多,浮亏的绝对金额也更大。
每格金额小,跌下去时更有余地,但单次收益可能覆盖不了成本。
还有一件容易被忽略的事:这笔钱在网格运行期间是被占住的。它铺在各档上等着成交,不能做别的。这不是账单上的支出,但它确实是成本。
三者之间的关系
区间 ÷ 格数 = 每档高度;总投入 ÷ 格数 = 每格金额。动任何一个,另外两个的实际效果都会变。
| 你改动 | 每档高度 | 成交频率 | 每格金额 | 费用占比 |
|---|---|---|---|---|
| 区间拉宽(格数不变) | 变大 | 变低 | 不变 | 下降 |
| 区间收窄(格数不变) | 变小 | 变高 | 不变 | 上升 |
| 格数调多(总投入不变) | 变小 | 变高 | 变小 | 上升 |
| 格数调少(总投入不变) | 变大 | 变低 | 变大 | 下降 |
| 总投入加大 | 不变 | 不变 | 变大 | 下降 |
看这张表最该注意的是:没有哪一列是可以单独优化的。让成交更频繁就要接受费用占比上升,让费用占比下降就要接受成交变稀。
这也是「最优参数」这个说法不成立的原因——优不优取决于接下来的行情,而填参数的时候行情还没发生。逐项的因果在网格的几个参数分别是什么意思里展开,也可以用网格参数因果推演自己拨。
按下创建的那一刻发生了什么
机器会在各档价位挂上限价单,并且通常会先按当前价格买入一部分底仓。
这一步经常出乎新用户的意料:网格开起来之后,账户里立刻就有持仓了。
原因是网格需要有东西可卖。如果当前价格在区间中部,那么上方那些档位的卖单需要对应的持仓才挂得出来,所以机器会先买入一部分。这部分叫底仓。
底仓的大小取决于当前价格在区间里的位置。价格越接近下限,需要预先买入的越少;越接近上限,需要预先买入的越多。
这意味着开网格的瞬间你就已经承担了价格风险,不是「等它慢慢建仓」。如果开完立刻大跌,底仓也立刻浮亏。
跌一格,买一份
价格下跌触及某一档,挂在那里的买单成交,你的现金减少、持仓增加。这一步不产生任何收益。
这是网格最频繁的动作,也是理解它的关键一步。买入完成之后,账面上发生的是:现金变少了,币变多了,总资产没变(除了手续费)。
然后价格如果继续跌,这一份买入就开始浮亏。而这个浮亏不会出现在「网格收益」里,因为那个数字只统计完成配对的部分。
一次连续下跌里,这个动作会重复很多次。每重复一次,你的现金少一点、持仓重一点、浮亏多一点,而收益数字纹丝不动。
如果你只看收益数字,这整个过程是「没发生任何事」。这是全站最需要记住的一句话。
涨一格,卖一份
价格回升触及上一档,机器把之前在下面买的那一份卖出。这一步才产生收益。
卖出的对象是之前某一次买入的那份仓位。买入价和卖出价之间差着一档的高度,这个差额扣掉两笔手续费,就是这一格的利润。
注意「之前买的那一份」——网格卖的不是随便什么持仓,是它自己按规则建立的那些。所以如果你在网格运行期间手动买卖,这个对应关系会被打乱,后面的成交会和你以为的不一样。
上涨过程中这个动作也会重复。每重复一次,你的持仓少一点、现金多一点、收益数字往上跳一格。
什么时候才算赚到钱
一次买入和一次卖出配上对,才算完成一格。只买没卖不算,哪怕已经买了几十份。
这是「网格收益」这个数字的全部逻辑。它是一个配对计数器,配成一对加一笔。
所以在震荡行情里它增长得很快——价格来回一趟就配成一对。在下跌行情里它长时间不动——买了很多,一对都没配成。
而在跌穿区间之后,它会停在一个正数上不再变化,因为机器已经不动了。那个正数记录的是下跌之前的成绩,对你此刻的处境没有任何说明能力。
这个数字怎么算的,写在网格收益是怎么算出来的;它为什么会和总资产背离,写在为什么网格显示赚钱、我的总资产却在缩水。
手续费夹在每一格中间
买入收一次,卖出收一次。一格的真实利润是差价减掉这两笔,而不是差价本身。
手动交易的人对这件事有直觉,因为每笔都是自己点的。网格一天成交几十次,很容易忘记每一次背后都有一次扣费。
这里有一条可以事前算清楚的临界线:当一档的高度换算成百分比之后,小到接近买卖两笔费率之和,这一格就白跑了;再小下去,成交越多亏得越快。
这条线不需要预测行情,只需要你的费率和档位高度。它是网格里少有的「开之前就能检查、不查纯属浪费」的东西。名词记不住可以对着自动化术语速查看。
算一次,五分钟。
还有一点:下跌途中的那些买入,费用当场就扣了。
即使这些仓位永远没能卖出去,这笔钱也已经花掉了。
它不做的三件事
不预测行情、不判断资产好坏、不止损。这三件事从来都是你的责任,机器没有接管过。
- 不预测。它没有任何关于「接下来会涨会跌」的看法。你划的区间就是那个看法,它只是执行。
- 不判断资产。它不知道自己在交易什么,也不关心这个东西是不是在长期走弱。价格跌了它就买,跌到零它买到最后一分钱。
- 不止损。这一条是逻辑上的,不是功能缺失——网格每笔买入都预期价格会涨回来,设止损等于承认这个预期不成立。部分平台的「到价停止」是你另加的判断,不是网格自带的能力。
把这三条并排看,会发现一件事:网格接管的是操作,不是判断。而在交易里,贵的从来是判断。
它成立的唯一前提
价格必须在你划的区间里反复来回。这一条成立,网格就工作;不成立,它就失效甚至变成负担。
整篇文章如果只留一句,是这一句。网格的所有收益来自「来回」,而来回是否发生,完全取决于行情,不取决于你怎么设参数。
这也意味着:开网格这个动作本身就是一次预测。你在宣称接下来这段时间价格会在这个范围里晃。这个判断做对了,机器帮你把它变现;做错了,机器把错误忠实地执行到底。
很多人被网格吸引,是因为它看起来「不需要判断行情」。实际情况是判断被前置了——你在按下创建的那一刻就做完了,只是没意识到自己在做判断。
什么样的行情算「来回」、为什么这个标签只能事后贴,写在什么行情适合网格。
前提破了(往上):踏空
价格涨出区间上限,你手里的币在上涨过程中已经一格一格卖光了,剩下现金看着它继续涨。
这种情况让人难受,但要说清楚:账户里的钱是增加的。你赚了一路卖上去的所有差价,只是比「什么都不做一直拿着」少赚很多。
这个差距不会显示在任何界面上——没有平台会告诉你「你如果不用网格会赚多少」。它只在事后回想时浮现。
这也是网格和定投的根本分歧:定投的持仓只增不减,涨多少赚多少;网格必须卖,因为卖出是它产生收益的唯一方式。两者的完整对比在网格和定投有什么区别。
前提破了(往下):满仓浮亏
价格跌出区间下限,此时你的状态是:满仓、浮亏最大、现金用完、机器停止动作。四件事同时发生。
这四条是同一个原因造成的——网格在下跌途中的工作方式就是把现金一档一档换成币。跌到下限时钱按设计正好用完,这不是意外。
然后机器停下来,因为下限之外没有档位可挂。停下来是防止无限加仓,它保护的是你不再继续投钱,不保护已经投进去的部分。
此时最容易误导人的一环出现了:界面上「网格收益」很可能还是正的,因为它记录的是下跌之前完成的那些配对。你打开界面想看看情况多糟,第一眼看到一个绿色的正数。
这个状态的完整描述、以及此刻你还有哪些选择(各自的代价是什么),写在币价跌出网格区间会发生什么。建议在开网格之前就读一遍——那是你判断错误时会落到的地方。
界面上那些数字在说什么
「网格收益」是业绩统计,只增不减;「总盈亏」是资产统计,会变负。判断处境要看后者。
各平台字段名不统一,但判别标准只有一条:这个数字在你浮亏的时候会不会变成负的。会,它就是该看的那个;只增不减的,一定只统计了已实现部分。
「年化收益率」这类外推数字继承了同样的问题,它的分子就是网格收益,所以在下跌行情里可能一边很好看、一边你在亏钱。而且它假设未来会以相同频率继续成交,而成交频率完全由行情决定。
最稳的办法是绕开所有平台口径:开始时账户里有多少钱,现在把现金和持仓按当前价折算加起来是多少,两者相减。这个差额没有解释空间。
同一台机器,装在合约上
规则完全一样,但后果不一样:现货网格最坏是拿着贬值的币,合约网格会被强制平仓,本金可能归零。
最需要注意的是下跌加仓这个动作在两边的含义相反。现货网格越往下买,平均成本越低;合约网格越往下买,持仓量和保证金要求同步上升,强平价格反而向当前价靠近。动作一样,方向相反。
还有一个现货没有的持续支出:永续合约按周期结算资金费用,方向不利时即使价格不动账户也在减少。网格通常持仓时间长,这笔费用会累积,而且不进「网格收益」。
完整对照在合约网格和现货网格差在哪。如果你不确定自己开的是哪一种,先去确认——那比读完这篇更要紧。
为什么这些比调参数更值得花时间
因为参数的好坏取决于行情,而机制的理解在任何行情下都有效。
网上关于网格的内容,绝大多数在讨论参数怎么设。这类内容的隐含前提是「你已经知道这台机器在干什么了」——而多数人并不知道。
能说明这一点的证据是那个最高频的问题:「为什么我的网格显示赚钱、账户总资产却在缩水」。会问这句话的人,往往已经跑了几个星期的网格。工具用起来了,机制没搞懂。
把这篇讲的东西弄明白之后,你不会因此赚更多钱——机制知识不产生收益。但你会知道自己在什么处境里,以及界面上哪个数字在说真话。这是做任何决定的前提,包括「不做」这个决定。
如果你还没有手动完整地买卖过一轮,那个顺序比什么都重要:先手动,再自动。理由写在什么样的人不适合用自动化工具。
常见疑问
- 网格交易到底在做什么
- 它在一个你划定的价格区间里,每跌一档买入固定金额、每涨一档卖出对应数量,赚一买一卖之间的差价。它不预测行情、不判断资产好坏、也不止损,只对已经发生的价格变动做反应。
- 刚开网格为什么就有持仓了
- 因为网格需要有东西可卖。当前价格上方那些档位的卖单要有对应持仓才挂得出来,所以机器会先买入一部分底仓。底仓大小取决于当前价格在区间里的位置,价格越靠近上限,预先买入的越多。
- 区间、格数、每格金额是什么关系
- 区间高度除以格数等于每档高度,总投入除以格数等于每格金额。所以调整格数会同时改变每档高度和每格金额,三者不能单独优化——让成交更频繁就要接受费用占比上升,反之亦然。
- 网格会自动止损吗
- 默认不会。网格每一笔买入都预期价格会涨回来,自动止损和这个逻辑冲突。部分平台提供到价停止功能,但那是在网格之外另加的一条你自己的退出规则,价格设在哪要你判断。
- 为什么下跌时网格收益一直不动
- 因为只买没卖。收益只在完成一次买卖配对时才记录,而下跌途中机器一直在买、很少卖,配不成对就不加数。这些买入变成了浮亏的持仓,而浮亏不计入这个数字。
- 网格适合什么行情
- 价格在区间内反复来回的震荡行情。这是它成立的唯一前提。单边上涨会让你踏空,单边下跌会让你满仓浮亏。而你在开网格的时候并不知道接下来是哪一种。