网格交易:网格模型分析
本文基于ABenStock GridTrading网格回测软件的详解。
本文主要分析并用数学公式推导了网格模型中每个网格的上下界的确定,网格总数的确定,网格模型的资金分配情况。分门别类地剖析了等资金等比例、等差数列、金字塔网格模型的内在结构。
有兴趣的读者可以自行下载ABenStock GridTrading网格回测软件并进行深入探索。
ABenStock旗下—GridTrading网格交易软件:
网格交易链接(附视频教程):https://pan.baidu.com/s/12rJ7MFwY6GOTJfeOWuFNIw?pwd=1234
或者直接下载:
一、网格模型
本文将介绍如下四种对称网格模型。所谓对称,指的是网格买卖的数量一样。
- 等资金等比例
等资金就是每个网格的所分配的资金相等,等比例就是每个网格百分比大小相等。 - 等资金等差数列
等资金就是每个网格的所分配的资金相等,等差数列就是每个网格上下界的差值相等。 - 金字塔等比例
金字塔,指的是分配到每个网格的资金递增,看上去像一个金字塔;等比例就是每个网格百分比大小相等。 - 金字塔等差数列
金字塔,指的是分配到每个网格的资金递增,看上去像一个金字塔; 等差数列就是每个网格上下界的差值相等。
注1:这里的金字塔,指的是网格分配的资金依次递增,看上去像个金字塔。
注2:这里的等比例,指的是网格上界和下界的比例,每个网格的百分比大小是相等的。
注3:这里的等差数列,指的是网格上界和下界的差值,每个网格的公差是相等的。
注4:以上这些模型,买入和卖出的数量是一样的,是对称的。即,它们都是对称模型。
决定网格模型的参数 - 股价上界(*必须指定)
- 股价下界(*必须指定)
- 起始资金(*必须指定)
- 网格大小(*必须指定)
- 网格类型(*必须指定)
- 子网格 (可选,可不指定)
- 初始建仓股数 (可选,可不指定,软件自动计算)

图示 1: 网格模型的必须参数
1.1 股价上界下界
在做任何交易的时候,肯定会定义价格交易的范围,总不能盲目的在任何价格都做交易。若当前股价大于设置的股价上界,肯定所持有的股票都卖空了,当前持有为0,不做任何网格交易。当股价小于设置的股价下界,肯定已经全仓持有该股,没有多余的资金时,网格肯定保持沉默,什么都不做。所以,网格交易策略只有当股价在设置的上界下界范围内,才做交易,否则保持沉默。
1.2 起始资金
所谓起始资金是指你打算投入该证券标的(股票、ETF、可转债、期货等)总资金,这些资金会被有序地分配到每个网格中。
1.3 网格大小
指的是每个网格的大小,单位为百分比或者股价的绝对差值。如果是等比例类型的网格,其单位为百分比。如果是等差数列类型的网格,其含义是该网格股价的上界减去下界。
1.4 初始建仓股数
指的是在回测模拟这一天(或回测时间颗粒度),按照其收盘价买入,买入的数量就是该参数指定的数值。
二、网格模型的数学推导
2.1 网格总数的计算
首先确定网格模型的网格总数的计算。
设 Threshold\% 是等比例模型定义的网格大小。
设 P_{High} 和 P_{ Low } 是网格上界、网格下界。
假设,我们期望股价 P \in [ P_{Low}, P_{High} ] 范围内对股票做网格交易,超出该范围保持静默:即,股价高于 P_{High} 或者股价低于 P_{Low} ,网格模型什么都不做。
假设,我们该股投入的最大起始资金为 TotalMoney 。
假设,网格大小为 Threshold\% ,百分比单位。
那么第一个网格上界为: GridPrice_{High(1)} = P_{ High } ,
第一个网格下界为: GridPrice_{Low(1)} = GridPrice_{High(1)} * (1 - Threshold\%)
第二个网格的上界为第一个网格的下界,即: GridPrice_{High(2)} = GridPrice_{Low(1)} ,
第二个网格的下界为: GridPrice_{Low(2)} = GridPrice_{High(2)} * ( 1 - Threshold\% )
依次类推,直到某个网格的下界限大于等于 P_{Low},然后数一数就可以知道网格的总数 N 了。
即:
第 i 个网格的股价上界为上一个网格的下界 GridPrice_{ High(i) } = GridPrice_{ Low(i-1) }
第 i 个网格的股价下界为: GridPrice_{Low(i)} = GridPrice_{High(i)} * ( 1 - Threshold\% )
其中, i \in [ 1, N ], GridPrice_{ Low(N) } <= P_{ Low }, GridPrice_{ High(N) } > P_{ Low }
推导至此,很容易计算网格模型分配的网格总数了,并且也确定了任意一个网格的上界和下界:和
其次,根据上面的推导,我们知道了网格总数和每个网格的上下界,接下来就是确定每个网格分配的资金数量。
等差数列模型的网格总数的推导类似,不再赘述。
2.2 每个网格所分配的资金数和买卖股票数量
由于我们用的是等资金等比例模型,该股投入的最大起始资金 TotalMoney 是一定的,总的网格个数 N 也确定了,所以,每个网格对应的资金数也确定了。每个网格可以持有的股票数量等于每个网格对应的资金数除以该网格的股价下界,即第 i 个网格所买入的股票数量为 TotalMoney/N/GridPrice_{ Low(i) } 。
另外还需要注意一点:普通A股的最小买入数量是1手,即100股,所以要做取整运算。可转债按照张来计算,期货也是1手来计算。但是总的来说不影响对网格模型的理解。
2.3 网格资金的分配
网格交易非常重要的一项就是资金管理,它科学地分配资金到每个网格中,本质上它就是一种量化。任何一个成熟的、可行的、经得起考验的策略,都必须有资金管理方法。下面就来谈谈各种模型的资金分配情况。
等资金等比例
设 m_i 为第 i 个网格分配的资金;
设 n 为模型分配的网格的总数
则,总分配的资金(即,起始资金)满足:
m_{ 1 } = m_{ 2 } = ... = m_{ n } = TotalMoney/n
等资金等差数列
设 m_i 为第 i 个网格分配的资金;
设 n 为模型分配的网格的总数
则,总分配的资金(即,起始资金)满足:
m_{ 1 } = m_{ 2 } = ... = m_{ n } = TotalMoney/n
金字塔等比例
设 m_{i} 为第 i 个网格分配的资金;
设 q 为 (1 + 下一个网格分配的资金增长百分比) ,
所以有: m_{2} = m q^{1} , m_{3} = m q^{2} , ... m_{n}=m q^{n-1}
设 m = m_{ 1 },即第一个网格分配的资金
设 n 为模型分配的网格的总数
则,总分配的资金(即,起始资金)满足:
TotalMoney = m + m q^{1} + m q^{2} + ... + mq^{ n-1 } = m( 1 - q^n )/(1 - q)
所以,第一个网格分配的资金为:
m = m_{ 1 } = TotalMoney*( 1 - q )/( 1 - q^n )
以此类推,很容易算出各个网格应该分配的资金。
金字塔等差数列
设 m_{i} 为第 i 个网格分配的资金;
设 m = m_{ 1 },即第一个网格分配的资金
设 n 为模型分配的网格的总数
设 f 为下一个网格比上一个网格资金分配的增量。
即有: m_{ 2 } = m_{ 1 } + f, m_{ 3 } = m_{ 2 } + f = m_{1} + 2f
以此类推, m_{ i } = m_{1} + ( i - 1 )f
则,总分配的资金(即,起始资金)满足:
TotalMoney = m + ( m + f ) + ( m + 2f ) + ... + ( m + (n-1)f )
\Rightarrow TotalMoney = nm + ( f + 2f + ... + (n-1)f ) = nm + nf( n-1 )/2
\Rightarrow m = (TotalMoney - n*f*(n-1)/2)/n
以此类推,很容易算出各个网格应该分配的资金。
视图化网格模型
上面的分析看似很难,实则只需要一些高中或者大学低年级的数学知识。好在ABenStock GridTrading网格交易回测软件已经通过计算机实现了。下面分别视图化每个网格模型。
等资金等比例
用户的配置:
- 等资金等比例模型,
- 股价上界10元,即 P_{High} = 10
- 股价下界5元,即 P_{Low} = 5
- 起始资金100万,即 TotalMoney = 100万
- 网格大小5%,即 Threshold\% = 5\% 。

通过软件直接点击“查看网格配置”即可输出网格模型的详细信息,如下所示。
很明显,一共分配了14个网格,每个网格的资金分配和上下界如下图所示。


等资金等差数列
略,篇幅有限,自行参考软件。
金字塔等比例
用户的配置:
- 金字塔等比例模型。这里的金字塔,指的是“资金分配,看上去像金字塔”。用户的指定的下一个网格分配的资金比上一个增加2%。当然你也可以选择增加固定金额方案。
- 股价上界10元,即 P_{High} = 10
- 股价下界5元,即 P_{Low} = 5
- 起始资金100万,即 TotalMoney = 100万
- 网格大小5%,即 Threshold\% = 5\% 。
很明显,一共分配了14个网格,每个网格的资金分配和上下界如下图所示。

每个网格的资金肯定和“等资金等比例”模型不一样,这导致每个网格买卖的数量有差异。

下图是资金分配以及每个网格的上下界:
很明显,每个网格的资金分配增加大约2%。

金字塔等差数列
略,篇幅有限,自行参考软件。
网格交易回测软件的功能
如果你需要网格交易策略回测、复盘,可以参考ABenStock GridTrading网格交易软件。到目前为止,软件支持以下功能:
1. 模拟回测网格交易的收益率。
2. 查看网格交易的最大回撤。
3. 动态展示网格交易历史买卖点,买卖数量和收益。
4. 独创的子网格交易,尽量提高策略的收益率。
5. 支持同时模拟回测多只股票。
6. 支持多种网格模型:等资金等比例,等资金等差网格大小。
7. 支持动态展示网格交易成本曲线。
8. 网格交易优化:使用闲置资金购买国债逆回购,支持利用网格利润再投资。
9. 支持商品期货、沪深A股、ETF、可转债5分钟级数据回测,无回测数量的限制。
长期执行下去,成本会变成负数。
经过软件回测,让你感受复利的力量!
参考文章
ABenStock:网格交易:ETF在5分钟K线回测下的收益率
ABenStock:网格交易:收益率提升的方法--网格利润再投资
ABenStock:网格交易:股票套牢、解套扭亏再到盈利的自救利器
如果有用,请双击屏幕,点上你的小星星,谢谢