大家好,我还是那个喜欢瞎琢磨的达叔,今天想和大家聊聊网格策略的长处和不足,以及如何优化出一个更适合A股市场的网格策略。
网格策略又名渔网交易,可能是大家在日常交易中能接触到的比较完整的一套操作体系了,它的入场和出场价位依靠固定价差计算得出,买卖数量也依靠设置参数维护,所以它更像是一个资金管理策略,将资金分配为N份,然后设定一个价差和基准价格,每当股票现价低于基准价格一个价差时就触发买入,每当股票现价高于基准价格一个价差时就触发卖出,每次交易后基准价格就变成当前触发交易的价格,这样策略就会在一个区间以固定的价差分配资金进场或出场,策略背后的核心逻辑是认为市场总会进行均值回归。
所以从策略描述上来看,我们只要做好区间内资金的分配计算,就可以根据行情的上涨和下跌做到自动的高抛低吸,赚取区间内的波段价值,且每一次交易的收益都可以提前计算得出,看起来只要做的足够久,似乎是个稳定的只赚不亏的策略,但是骚年们,你们确定实际使用起来会和我们预想的一样吗?
1
要搞清策略会不会按预想的执行,我们首先需要考虑所有极端状况下策略的运行情况;
我们假设以0.5元为一个价差,每次买入卖出的数量都一样,我们先来看看网格策略在预想的震荡行情中的表现:
可以看到策略运行产生了5笔买入,5笔卖出,平均买入价格8.5元,平均卖出价格9元,产生了约5.88%的收益,好像还不错哦;
接下来我们看看如果行情一直下跌会产生什么样的结果:
这时候策略产生了8笔买入,没有产生卖出,买入均价7.75元,浮亏约-22.58%!!这好像和预计的完全不一样了,别着急,我们再看看如果行情一直上涨会产生什么样的结果:
这时候策略产生了8笔卖出,没有产生买入,卖出均价12.25元,实现收益约22.5%!!
通过这几个极端情况的验证我们发现了网格策略的一些问题,
网格策略只在震荡行情中运行时才符合预期;
单边下跌行情会买入大量的股票,并产生巨大的浮动亏损;
单边上涨行情会卖出大量的股票,直到卖出所有持仓;
另外,不知道大家有没有发现网格策略的一个特性,它会通过分批进场、出场减少标的股票的波动影响,比如单边下跌行情,如果你是一次买入并持有将产生约-40%的亏损,而单边上涨行情,如果你是一次在高点卖出可以产生约40%的收益,但通过网格策略分别会产生-22.5%的亏损和22.5%的收益,所以这就体现了网格策略平滑波动,获得波动收益的特性,策略的收益不是凭空产生的,而是从股票本身的波动中挤出来的。
网格策略使用还有一些潜在的风险需要大家注意。
第一,策略的收益有限,亏损风险无限。网格策略因为本身交易规则的限制,每次交易可以赚取的收益就是交易价差,但是亏损却是跟随行情变动产生,理论上存在全部亏损完的可能性;
第二,资金使用效率低下。网格策略因为是分批进场、出场,所以会存在大量资金闲置的情况,这就导致了资金整体的使用效率比较低,同时单位时间内的资金收益也不会太高;
第三,存在单方向网格被「击穿」的风险。当出现单边行情的时候,网格策略会不断的产生买入或者卖出交易,当你的资金被用完或者底仓股票被用完时,就发生了网格无法连续的情况,这会导致交易亏损或者在上涨前就卖空了持仓;
总结下来,网格策略适合在震荡行情下使用,逻辑简单,所有的操作都通过客观规则产生,没有夹杂主观判断,但网格策略绝对不是一个只赚不亏的策略,在极端行情中使用不当时甚至会产生巨大的交易风险。那有没有什么办法可以对网格策略进行优化和改良呢?
2
其实明白了网格策略的长处和不足,怎么去优化就已经有了方向。需要说明的是,以下的优化思考都是达叔自己的一些想法,不代表完全正确,大家可以重点聚焦在思考的过程上;
首先,从适应的行情入手去考虑,网格策略最适合震荡行情,单边上涨的行情次之,最不想看到的是单边下跌行情,所以这就需要对策略适合的标的进行一些选择,比如选择这种类型的标的:
这种类型的标的可能会有一些特征去挖掘,比如近期平均交易量较之前一段时间的平均交易量放大较多,比如波动率出现了上升又下降的过程且股价没有创新高或创新低(证明标的有波动且没有走趋势行情),类似这样的特征其实非常多,这里只是简单进行了列举,从特征转化为因子是个很复杂的过程,这里不再累述,大家可以简单的通过比如通达信选股公式或者
同花顺 的爱问财大概尝试挖掘一下此类特征;
其次,需要修改策略的入场和出场规则,基础网格策略的入场和出场是根据基准价格和价差计算得出,这种机械的方式可以避免很多人工干预产生的主观臆断,但是也会导致极端行情时不必要的亏损,达叔认为交易行为本身是一门艺术,需要添加一些创造力,所以在不改变策略整体框架的基础上,需要对入场和出场分别做相应修改;
买入这里我们可以设定触发网格交易时并不是立即执行,而是等待价格出现明确的上涨时才进行委托,如果中间触发了多个买入操作,在最后确定买入时一次性进行下单,这样做的好处是当行情出现单边下跌时可以避免过早的进场,而且买入的成本会比分批买入的成本更低;明确上涨的判断可以用行情最近最低点反弹一定幅度来确认,也可以叠加一些指标进行择时,比如一些比较敏感的超买超卖指标;
卖出的改造和买入类似,单边上涨行情出现时过早卖出股票会导致收益下降,通过叠加一个下跌确认才进行卖出,可以增加卖出的收益;明确下跌的判断可以用行情最近最高点回落一定幅度来确认,也可以叠加一些指标来进行择时,这里都可以灵活测试,需要大家的想象力;
另外,资金的利用效率可以通过多时间周期、多价差幅度配合设置来提升,形成大网嵌套小网的立体网格结构,但是这就需要引入资金管理系统进行
多策略 的资金平衡,达叔的经验是对不同时间周期、不同参数设置的策略进行一个波动幅度的测算,并更具这个幅度进行一个资金权重的分配,波动高的权重就高,波动低的权重也就低,这个需要自己去构建一个波动率的预测模型,如果不擅长的话也可以使用历史回溯波动率,通俗讲就是对波动幅度较强的策略模型分配较多的资金,波动幅度较弱的策略模型分配较少的资金,权重每隔一定周期就重新分配一次,这样就能大幅提升资金的利用效率;
最后,需要增加特殊情形时的策略停止功能,行情的变动经常会超出我们的想象,比如出现异常的连续下挫,或者连续跳空,高开高走,这些都会导致策略的异常运行或者出现亏损,怎么避免这样的情况发生呢,其实我们可以通过给行情增加一个价格笼子来解决这个问题,当行情波动超出这个价格笼子的时候策略不再进行交易;这种价格笼子的设计可以有两种模式,一种是按照固定价格区间,设定策略运行的价格上下限,当股票价格超出上下限时策略停止委托;另一种是按照股票的近期平均波动来设定区间,当实时波动大于平均波动一定阈值时策略停止交易;除了这些大家也可以有自己的解决方案,只要能减少异常行情时产生交易的概率就是好的解决方案;
还有一些方法可以继续优化网格策略,比如引入动态基准价,这个可以解决连续上涨后又回到震荡行情时当前基准价距离现价太远,策略无法触发交易的问题,比如可以引入金字塔加仓和倒金字塔减仓的资金管理系统,通过仓位管理获取部分趋势行情的波动收益;后续大家有更多的优化想法都可以与达叔沟通,这里不再做更深入的讨论;
写在最后
今天达叔带着大家从一个最基础的策略入手进行了模型的拆解和优化,形成的结果可能并不是一个有价值的策略,发现问题和解决问题的过程才是我想和大家分享的;大家在市场中摸爬滚打肯定都有自己的绝活、方法和策略,也相信大家的策略肯定有自己的长处和不足,通过客观的分析去发现和暴露问题,再通过独立思考、量化思维来解决对应的问题,这是一个不断进步的过程,通过一两次的训练大家会惯这种思考和解决问题的方式;很多人喜欢当鸵鸟,遇到问题只是把脑袋塞进土里,问题还是存在,并不是你看不到它就不存在了,最后,达叔希望所有人都能尝试将自己的交易手法、策略、绝招的长处和不足写在一张纸上,然后用一个相对完整的时间来思考如何解决不足和优化策略,相信大家最后都会喜欢上这种方式的,祝大家投资长虹!!