投资不识筹码峰,炒遍A股也枉然? | 如何用python计算筹码分布数据

45 篇文章 7 订阅
35 篇文章 6 订阅

你听说过股市上著名的丁蟹效应吗?

你知道丁蟹报仇点到为止,丁蟹报恩家破人亡吗?

你又是否曾在微信群中见过这些表情包?

01 大时代

不知道大家有没有看过《大时代》这部剧,看过的欢迎点我头像交流讨论。

剧中逆天强运的丁蟹,颜值巅峰的小犹太等角色都已成为影史经典。

但我小时候看剧时,却对退隐股神叶天教主人公方展博如何炒股这一幕最为印象深刻,这也可以算是我金融投资的启蒙了。

也正是这部剧和这个场景让我对股市产生了兴趣

但之前我只认为他们是在传授什么武功秘籍,不明觉厉。

长大后再回想起,才发现他们是在用香烟和其他工具代表股市筹码,推演股价走势,模拟实盘,很显然他们讲的是筹码分布的炒股理论

本文我们就来聊一聊筹码分布,给大家科普一下这个指标是什么如何计算,又可以据此构建出哪些有效的量化策略

02 筹码分布起源

1指标诞生

根据资料,筹码分布理论最早应该是在90年代由陈浩推出于指南针行情软件。

他还在2000年出版了《筹码分布》一书,感兴趣的可以去看看,找不到实体书,也可以点我头像交流,问我要PDF版本。

我猜测筹码分布指标应该不是他的原创,有了解的同学,也欢迎点我头像交流指正。

说回筹码分布指标,虽然它诞生已久,但直至今日热度不减

在所有行情软件上,它也俨然已是标配

2 图解筹码分布

以同花顺为例,K线图右侧区域就是筹码分布图,图中价格上的柱线代表了筹码分布的数量。

上图中70元左右筹码集中,说明很多股票都是在这个价位附近成交的。

随着时间的推移,筹码分布同样会发生变化,这是一个动态的过程。

动图封面

03 筹码分布介绍

1筹码分布含义

筹码分布指标的含义也很好理解。

如果把上市公司发行的股票理解成筹码,发行一股股票就代表一份筹码,发行100万股股票就代表100万份筹码

你以什么价格买入该股票,就会标记为你持有的筹码是什么价格

2 筹码分布介绍

假设某股票中,有300位股东以5元买入,共持有15万股10元位置股东人数为200人,持有2万股。

以此类推,各成本价上持有的股数对应了该价格上指标的长度

指标越长代表越多的人是以此价格买入股票,也就是他们的成本价。

随着交易的发生,筹码的分布也会变化。

此时有土豪以30元高价购买前述股东持有的全部股票,那筹码分布情况就会瞬间改变:筹码大量集中至30附近。

至此我们知道了筹码分布的原理:展示投资者持有某个股票持仓成本

知道了其他人的成本还愁赚不到钱吗

我们做量化交易的,看到这个指标这么厉害,就想去借助Python代码原始股票数据,计算出每个股票的筹码分布情况,借此构建一个有效的量化策略。

但筹码分布指标该如何计算

04 筹码分布计算

1第一笔交易

让我们回到一个股票发行的起点,假设某股票最初以10元发行了1000股

它最初的筹码分布情况如图所示:

10元的地方有1000股的股票其他价格上的股票数量都为0。

等股票开始交易后,假设第一笔交易以10.3的价格成交了300股。

筹码分布图中10.3元处多出300股,而10元处仅剩700股

筹码分布图出现变化:

2 第二笔交易

再看第二笔交易,假设以10.5的价格又成交了200股,此时筹码分布又该如何变化?

我们需要在10.5的价格上增加200股,在10.3和10元处共需减少200股

但这200股中,有多少持有成本是10元,又有多少是10.3元呢?

很可惜这个数据除了交易所外,其他人都无法精确得知,交易所也不会对外公布

所以理论上我们是无法画出完全准确的筹码分布图的。

行情软件上显示的筹码分布又是如何计算的?难不成偷偷窃取了交易所的数据?

3 筹码分布计算

我们再回到之前的案例。既然不知道第二笔交易中的200股分别有多少来源于10元和10.3元,就干脆一刀切。

10.5元成交了200股,占总股本的20%,就意味着这笔交易的换手率就是20%

我们就根据换手率默认10.3元和10元处的股票都卖出了20%

最终筹码分布情况如图所示:

以后的每笔成交,我们都在现有的价格上,使它们均匀的等比例卖出。

按上述逻辑即可在每笔交易后,不断画出新的筹码分布图。

当然行情软件还会做进一步的简化,我们就不多加赘述了,感兴趣的话,可以点我头像和我交流。

4 指标理解

需要注意的是,无论如何计算,我们最终得到的数据,都只是想象中的筹码分布近似模拟

你可以把它当做一个技术指标看待,而不是百分百准确的内幕数据

那这个数据就没有价值了吗?

关键还是看你会不会用,缺失的信息也是信息。

生活中我们本就会在大量信息不完备的情况下做出很多重要的决策。人与人能力重要的差别就体现在决策力上

05 筹码分布验证

知道了筹码分布的计算方法,我们就可以借助全部A股历史数据和Python代码,来计算每个股票每天的筹码分布情况了。

1 数据代码

具体数据我已帮大家准备好,包含了A股历史上所有5000多只股票,甚至包括退市的。

你打开其中任意一个文件,就能看到这个股票上市第一天至今每天的开高收低价格,而且你还可以计算复权价,非常完备。

计算筹码分布的相关Python代码我也已经准备好了,如果你需要这个数据和代码的话,可以点我头像交流,都是可以直接发给你的。

2 筹码分布结果

我们随意挑选一个股票运行程序,它在2023年7月5日的筹码分布情况就如图所示:

比如128元附近成交的股票占所有股份的0.38%

按照这个数据我们可以画出更直观的筹码分布图:

可以发现在84元附近的筹码是最多的,而111元附近的筹码最为密集,这可能是一个重要的支撑位或者阻力位

用同样的方法,我们就可以得到每个股票每天的筹码分布图

至此,我们就有了筹码分布的具体数据,但如果无法把数据直接应用到交易中,它就没有任何价值

06 筹码分布应用

1 筹码分布口诀

大家一般又是如何使用筹码分布数据的

网上有很多筹码分布相关的战法口诀,听上去都很牛X。

什么上峰不死、熊市不止,单峰密集、后市看涨之类的。

这些都是民间大神们总结出的经验,类似的炒股经验还有很多。

但大家一定要学会甄别,我测试过其中很多理论,有些非常有价值,有些根本没用甚至会亏钱。

我们要做的就是取其精华去其糟粕,结合自身投资实践,构建一些不错的量化策略。

2 筹码分布策略

比如基于筹码分布数据,我们目前就有正在实盘的策略,整体效果还不错。

随着对于筹码数据的研究越发深入,我对它也是越来越有信心的。

大家感兴趣的话可以多多点赞,点赞破500的话,下次我就尝试着来分享相关的策略供大家去进一步研究,形成自己的策略。.

07 后记

文章的最后,和大家分享一点量化投资的心得。

经常有人问我小白如何入门量化投资,有什么资料分享。

我特意为大家准备了一个《量化投资新手学习大礼包》。

首先是我们自己总结的适合零基础新手的量化投资学习路径,可以让你知道自己每一步需要达到什么阶段。

接下来你可以通过我整理的量化文章合集,来更全面的了解量化投资到底是什么。

我还精选了适合各个学习阶段的策略研报合集,正如我一直所说,量化研报是很好的量化实践项目,深度研报可以显著提升你的量化水平。

这一份代码则适合喜欢研究技术指标的人,你可以跟着教程轻松计算出所有技术指标,并测试这个指标的有效性。

如果你有一定的基础,还可以尝试回测一些策略,我为你准备好了十几个不同类型的经典策略和它们的代码,相信总有一个适合你自己去魔改开发,运用到实盘。

最后也是最关键的,量化的基础就是准确的历史数据,我会送你一份股票历史日线数据和一份财务数据,你可以用它测试所有技术指标和财务指标,也可以用来回测大部分策略

识货的你一定能够发现这个大礼包的价值吧。如果你需要的话,可以点我头像交流都是可以直接免费发给你的。

证券分析系统适用于证券市场中的各类投资者。软件独创的以投资策略为核心的投资方式,为投资者提供了获取长期稳定收益的方法,使投资者摆脱了凭感觉、听消息、盲目短线搏杀、追求短期利益、而后又被庄家悉数套牢的被动局面。本软件根据资本的运作规律及概率分析原理,对股市进行统计分析,风险收益皆在掌握之中,投资者可以真正做到高枕无忧赚大钱,从而科学的、理性的在股市投资获利。该软件包含十大特色功能,自带多套成功率很高的投资策略,根据策略投资,操作简单,为投资者提供实实在在的帮助。 香港富豪李嘉诚给我们举了这样一个例子,每年拿出1.4万元投资,每年的收益为20%,那么40年内就会拥有过亿的财富。每年20%的收益不算高,但是很少有人能够保持这个收益,主要是因为盲目投机,操作缺乏纪律造成的。国外有人统计过,1945年在美国股市投入1万美元,按一定的投资策略操作,每年收益15%左右,到1995年可增至1千万美元,可见长期投资收益是非常可观的。 这套软件凝聚着华尔街历代分析大师的心血和国内诸多人士的成功经验,以行家的角度、独特的分析、理性的决断,为投资者带来实际的收益。 国际证券市场多年的历史发展证明,市场最终的胜利者是极少数始终坚持既定策略的投资者,希望本软件能够伴您走向成功!
假设股票的成交量和价格数据已经存储在两个列表中,分别为 volumes 和 prices,列表的长度为 300。可以按照以下步骤计算最后一天的筹码获利比率: 1. 找到最高价和最高价对应的成交量。 ```python max_price = max(prices) # 最高价 max_volume = volumes[prices.index(max_price)] # 最高价对应的成交量 ``` 2. 找到筹码价格和筹码以下的成交价总和。 ```python chip_sum = 0 # 筹码以下的成交价总和 for i in range(len(prices)): if prices[i] <= max_price: chip_sum += prices[i] * volumes[i] else: break chip_price = chip_sum / sum(volumes[:i]) # 筹码价格 ``` 3. 计算获利比率。 ```python profit_rate = (chip_price - chip_sum / max_volume) / (chip_sum / max_volume) print("获利比率为:{:.2f}%".format(profit_rate * 100)) ``` 完整代码如下: ```python volumes = [...] # 300天的成交量数据 prices = [...] # 300天的价格数据 max_price = max(prices) # 最高价 max_volume = volumes[prices.index(max_price)] # 最高价对应的成交量 chip_sum = 0 # 筹码以下的成交价总和 for i in range(len(prices)): if prices[i] <= max_price: chip_sum += prices[i] * volumes[i] else: break chip_price = chip_sum / sum(volumes[:i]) # 筹码价格 profit_rate = (chip_price - chip_sum / max_volume) / (chip_sum / max_volume) print("获利比率为:{:.2f}%".format(profit_rate * 100)) ``` 需要注意的是,这种计算方式只能反映出最后一天的筹码获利比率,不能代表整个股票的获利情况。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值