前言
“筹码分布”自从问世以来一直受到广大投资者的追捧,它是把股票按不同价位上的流通数量做了排布,从而反映了这个股票对于全体投资者来说持仓成本的分布情况。
我们知道主力的常用手段是:吸筹、拉升、派发、回落,这四个阶段我们用筹码分布可以研判出主力的踪迹,这也是为什么“筹码分布”一直热度不减,股市高手都不约而同地会去研究“筹码分布”,同时各大行情软件也会标配上“筹码分布”功能。
不过对于要搭建自己的量化交易系统的人群来说,我们只是看行情软件的指标是没有太大用途的,我们要把“筹码分布”作为一个研判因子结合到我们的交易系统中去,那么势必需要明晰“筹码分布”是如何计算出来的。
接下来我们就从原理上来讲解下行情软件上的“筹码分布”是如何计算出来的。
概述计算原理
要讲清楚“筹码分布”的原理,得从股票第一天上市发行开始说起。
比如某个股票以10元价格发行了100股,然后发生了以下的几笔交易:
第一笔是:10.1元成交了50股,这时会在10.1元增加50股,在10元减少50股
第二笔是:10.2元成交了20股,这时会在10.2元增加20股,但是我们无法知道这20股分别来自10元和10.1元的多少部分,因为交易所是不会向公众提供投资者的帐目信息的。
因此理论上,我们根本无法绘制完全准确的筹码分布图,包括各类软件中的筹码分布状况也是通过历史交易计算出来的近似值。
所以,我们不能完完全全地只是依赖“筹码分布”做分析,而是应该把它作为一个因子和其他指标结合去综合分析。
那么行情软件上的“筹码分布”图又是如何绘制出来的呢?
这里就需要先设定一个计算规则,比如最简单的做法是10.2元增加了20股,同时10.1元和10元等比例的减少相应的股数(分别减少10股)。再复杂点的计算规则,会假设卖出行为背后的动机,比如盈利越多的价位卖的越多,也就是10元的筹码会比10.1元减少多点。
依照计算的规则,随着交易的继续,筹码会在不同价位之间进行流动,当不同的价位区间和相应的持仓量堆积起来之后,就形成了高矮不齐的山峰状态,也就形成了筹码分布的形态。
如何分析主力
虽然我们无法精确地得到“筹码分布”,但是并不影响我们的使用。
因为目前相对有效的“筹码分布”用法,主要是利用筹码的分散与密集来研判股价的运行趋势。
如果一只股票在某一个价位附近横盘了很长的时间,就会造成横盘区上方和下方的筹码向这个横盘区集中,在这个价格空间内,聚集了该只股票几乎所有的筹码,这种状态称之为筹码的密集状态。
反之,如果一只股票的筹码分布在比较广阔的价格空间之内,我们就称其为筹码的发散状态。
如果筹码自高位流向低位,在相对低位的狭窄价格空间实现聚集,就叫“筹码的低位密集”,此时是不错的买点。
如果筹码从低位筹码向上转移,在高价位区实现密集,它就应该被称之为筹码的高位密集,说明在市场上发生或正在发生大量的获利了结的行为,这很有可能是主力出货的迹象。
因此我们只需要计算得到筹码分布的形态即可,这样一来我们不需要使用逐笔成交数据,而是用当天的均价和成交量这种更简化的方法近似计算。
如何实现代码
代码实现其实比较简单。
第一步,获取股票数据。我们的历史股票数据除了有OCHLV之外,还要包含换手率和成交金额数据,OCHL使用复权数据。
可以使用baostock的数据源,返回列包含以下数据:
fields= "date,open,high,low,close,volume,pctChg,amount,turn"
第二步,计算筹码分布。
我们把当天的价格范围和成交量分成N份,近似地视为某个价位成交了多少股份。
price_per = (highT - lowT) / div_num
vol_per = volT / length
对于每天的换手率,指的是每天交易的股数占流通股数量的比例,也就是历史的股数有多少发生了转手,于是今天的股数增加,意味着历史的股数相应减少。
循环以上操作,滚动累计即可完成。
第三步,绘制柱状图形。
说明
1. 我们会把完整的源码上传到知识星球《玩转股票量化交易》中,帮助小伙伴们更好地掌握这个方法。
2.想要加入知识星球《玩转股票量化交易》的小伙伴记得先微信call我获取福利,名额有限先到先得!
元宵大师的量化交易书籍开售!!
京东、当当、天猫有售!!