网格交易原理:核心思想与自动化逻辑
网格交易,说白了就是「低买高卖」的机械化版本。我刚开始接触量化时,觉得这玩意儿太简单了——不就是画几条线,到了就买,涨了就卖吗?后来真正实盘跑起来才发现,里面的门道比想象中多得多。
今天咱们就把网格交易的底裤扒干净。从核心思想到数学定义,我一个一个讲透。
一、网格交易的核心思想
网格交易的核心,就一句话:在震荡市中反复收割差价。
你想想看,市场大部分时间都在震荡。涨一点就跌回来,跌一点又涨回去。如果你能抓住每一次小波动,低买高卖,积少成多,收益其实很可观。
网格交易就是干这个的。它把价格区间分成若干格子,每个格子对应一个买入或卖出点。价格跌到某个格子就买入,涨到某个格子就卖出。循环往复,像渔网一样把利润兜住。
核心逻辑: 网格交易不预测方向,只利用波动。它假设价格会在某个区间内来回摆动,我们就在摆动中套利。
我在项目中遇到过一位朋友,他手动做网格,每天盯着盘面,累得半死。后来我帮他写了个自动化脚本,他整个人都解放了。这就是网格交易的魅力——一旦设好参数,机器替你干活。
二、低买高卖的自动化逻辑
自动化网格的逻辑其实不复杂。我拆成三步来讲:
- 设定价格区间:比如某ETF当前价格1.0元,你设定区间0.8元到1.2元。低于0.8或高于1.2就不操作。
- 划分网格:把区间分成N等份。比如分成10格,每格间距0.04元。
- 挂单与执行:在每个格子挂上买入单和卖出单。价格到了就成交,成交后自动挂反向单。
举个例子你就明白了:
假设某ETF现价1.0元,你设了5格,每格0.02元。那么:
- 在0.98元挂买入单,买入1000份
- 在1.02元挂卖出单,卖出1000份
- 价格跌到0.98,买入成交。系统自动在1.00元挂卖出单
- 价格涨回1.00,卖出成交。赚了0.02元差价
- 同时系统又在1.02元挂卖出单...如此循环
嗯,这里要注意:每次成交后,系统要自动补单。比如你在0.98买入了,就要在1.00挂卖出。这叫「配对挂单」,是网格自动化的核心机制。
个人经验: 我建议用「先买后卖」的顺序。先建立底仓,再挂卖出单。这样即使价格直接上涨,你也有货可卖。空仓等下跌,容易踏空。
三、网格参数的数学定义
网格参数看着多,其实就几个核心变量。我列个表,一目了然:
| 参数名称 | 符号 | 定义 | 示例值 |
|---|---|---|---|
| 价格上限 | Pmax | 网格最高买入/卖出价 | 1.20元 |
| 价格下限 | Pmin | 网格最低买入/卖出价 | 0.80元 |
| 网格数量 | N | 价格区间被分成多少格 | 10格 |
| 网格间距 | G | 相邻两格的价格差 | 0.04元 |
| 每格数量 | Q | 每格买入/卖出的份额 | 1000份 |
| 初始价格 | P0 | 开始运行时的价格 | 1.00元 |
这些参数之间有个简单关系:
网格间距 G = (P_max - P_min) / N
比如:G = (1.20 - 0.80) / 10 = 0.04元
每格利润 = G × Q × (1 - 手续费率)
举个例子:间距0.04元,每格1000份,手续费0.1%。那么:
每格利润 = 0.04 × 1000 × (1 - 0.001) = 39.96元
看起来不多对吧?但别忘了,网格是循环运行的。如果一天来回10次,就是400元。一个月...你自己算算。
避坑指南: 我曾经把网格间距设得太小,结果手续费吃掉了大部分利润。后来我算了一笔账:间距必须大于手续费的两倍,否则就是给交易所打工。记住这个底线。
四、网格的数学本质
网格交易本质上是一个离散化的做市策略。你想想看,做市商就是在买一卖一之间赚差价。网格把价格区间离散成多个买卖点,相当于同时做了N个做市商。
数学上,网格的期望收益可以写成:
E[收益] = 波动次数 × 每格利润 × 网格数量 / 2
其中波动次数 = 总时间 / 平均波动周期
这个公式告诉我们两件事:
- 波动越频繁,收益越高
- 网格数量越多,单次收益越小,但机会越多
我习惯用这个公式来估算年化收益。比如某ETF日均波动20次,每格利润40元,10格网格:
日均收益 = 20 × 40 × 10 / 2 = 4000元
年化收益 = 4000 × 250 = 100万元
当然这是理想情况。实际中要考虑滑点、手续费、单边行情等。但至少给了你一个预期。
五、网格的三种形态
根据网格间距的计算方式,我把它分成三类:
- 等差网格:间距固定,比如每格0.04元。简单直观,适合波动均匀的品种。
- 等比网格:间距按比例递增,比如每格0.5%。适合价格波动幅度大的品种。
- 动态网格:间距根据波动率动态调整。我比较喜欢这种,但实现起来复杂一些。
我个人习惯用等差网格起步。等跑顺了,再考虑动态调整。别一上来就搞复杂的,容易翻车。
核心要点: 网格交易不是万能药。它最适合震荡市,最怕单边行情。如果价格一路下跌,你会不断买入,仓位越来越重。如果价格一路上涨,你会不断卖出,早早空仓。所以一定要配合止损和仓位管理。
六、网格的流程图
下面这张图展示了网格交易的完整流程。从初始化到循环执行,每一步都很清楚:
这张图把整个流程串起来了。你仔细看,核心就是那个菱形判断——价格触发了就成交,没触发就等着。循环往复,直到你手动停止。
七、实战中的参数选择
参数怎么选?我分享几个经验:
- 价格区间:取过去3个月的最高最低价,再上下各放10%的余量。别太窄,容易破网。
- 网格数量:我一般用10-20格。太少利润薄,太多管理麻烦。
- 每格数量:根据总资金算。比如你有10万,分10格,每格1万。再除以单价,就是份额。
- 初始仓位:我习惯50%底仓。这样无论涨跌都有操作空间。
小技巧: 你可以先用历史数据回测一下。看看过去一年,你的网格参数能赚多少。我每次上线新策略前,都会跑一遍回测。心里有底,实盘才不慌。
好了,网格交易的原理就讲到这里。核心思想、自动化逻辑、数学定义,我都掰开揉碎了讲给你听。下一章咱们聊实战——怎么用Python写一个网格交易机器人。到时候我会把代码一行一行拆给你看。
公众号:蓝海资料掘金营,微信deep3321