股票筹码分布及其数据获取
文章目录
- 股票筹码分布及其数据获取
- 一、筹码分布的核心概念与意义
- 1. **基本定义**
- 2. **核心意义**
- 二、Python实现:AKShare获取贵州茅台筹码分布
- 1. 安装依赖
- 2. 完整代码
- 3. 关键代码解析
- 三、实战应用案例(贵州茅台)
- 1. **低位密集反弹信号**
- 2. **高位派发预警**
股票筹码分布及其数据获取
一、筹码分布的核心概念与意义
1. 基本定义
筹码分布(也称为成本分布)是一种展示股票持仓成本结构的技术分析工具。它通过统计不同价格区间的成交量分布,直观呈现市场参与者的持股成本集中区域。核心要素包括:
- 颜色标识:
- 蓝色:套牢盘(当前价格 < 持仓成本)
- 红色:获利盘(当前价格 > 持仓成本)
- 白线:所有筹码的平均成本
- 筹码峰:成本密集区形成的价格尖峰,代表强支撑/阻力位。
- 集中度:数值越低(如<10%),表明筹码越集中,主力控盘可能性越高。
2. 核心意义
应用场景 | 判断逻辑 | 实战意义 |
---|---|---|
趋势判断 | 低位筹码密集 → 主力吸筹完毕,上涨概率高;高位密集 → 套牢盘压力大,可能回调 | 识别牛熊转折点,如贵州茅台在2025年1422元低位密集后反弹 |
主力动向识别 | 获利30%不抛、横盘不卖、解套不走的筹码多为主力筹码 | 发现高控盘个股,如迪安诊断拉升时底部筹码锁定 |
支撑/阻力分析 | 筹码峰在下跌中形成支撑(投资者惜售),上涨中形成阻力(解套抛压) | 制定买卖点,突破密集区放量可追涨 |
二、Python实现:AKShare获取贵州茅台筹码分布
1. 安装依赖
uv add akshare pandas matplotlib
2. 完整代码
import akshare as ak
import pandas as pd
import matplotlib.pyplot as plt# 获取贵州茅台筹码分布数据(同花顺接口)
def get_chip_distribution():try:# 从AKShare获取筹码分布数据df = ak.stock_cyq_em(symbol="600519")# 数据清洗:转换日期格式,筛选关键列df['日期'] = pd.to_datetime(df['日期']) return dfexcept Exception as e:print(f"数据获取失败: {e}")return None# 可视化筹码分布
def plot_chip_distribution(df):plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 用来正常显示中文标签plt.figure(figsize=(14, 7))# 绘制收盘价走势plt.subplot(2, 1, 1)plt.plot(df['日期'], df['平均成本'], 'b--', label='平均成本')plt.fill_between(df['日期'], df['90成本-低'], df['90成本-高'], color='gray', alpha=0.3, label='90%成本区间')plt.title('贵州茅台(600519) 筹码分布分析', fontsize=14)plt.legend()plt.grid(True)# 绘制集中度与获利比例plt.subplot(2, 1, 2)plt.bar(df['日期'], df['获利比例'], color='red', alpha=0.6, label='获利比例')plt.plot(df['日期'], df['90集中度'], 'go-', label='90集中度')plt.xlabel('日期')plt.legend()plt.grid(True)plt.tight_layout()plt.savefig('茅台筹码分布.png', dpi=300)plt.show()# 主程序
if __name__ == "__main__":chip_data = get_chip_distribution()if chip_data is not None:print("最新5条筹码分布数据:")print(chip_data.tail(5)) # 打印最新5条数据plot_chip_distribution(chip_data)else:print("请检查网络或AKShare接口更新!")
程序运行结果:
最新5条筹码分布数据:日期 获利比例 平均成本 90成本-低 90成本-高 90集中度 70成本-低 70成本-高 70集中度
85 2025-07-01 0.062117 1526.65 1384.01 1651.46 0.088108 1428.59 1593.52 0.054574
86 2025-07-02 0.081460 1526.65 1384.01 1647.01 0.086767 1428.59 1593.52 0.054574
87 2025-07-03 0.118443 1526.65 1388.47 1647.01 0.085171 1424.13 1593.52 0.056132
88 2025-07-04 0.138176 1526.65 1388.47 1647.01 0.085171 1424.13 1593.52 0.056132
89 2025-07-07 0.080325 1526.65 1388.47 1647.01 0.085171 1424.13 1593.52 0.056132
3. 关键代码解析
- 数据接口:
ak.stock_cyq_em(symbol="600519")
直接获取东方财富筹码分布数据。 - 核心字段:
获利比例
:当前价格下盈利筹码占比(红色区域)集中度
:数值越低主力控盘越强(一般<10%为强势股)90%成本区间
:90%筹码聚集的价格区间
- 可视化设计:
- 上图:股价与成本区间叠加,识别支撑/压力位
- 下图:获利比例(红柱)与集中度(绿线)联动,捕捉主力动向
三、实战应用案例(贵州茅台)
1. 低位密集反弹信号
- 若数据显示:
- 股价跌至1400元附近时,90%成本区间收缩至1350-1450元
- 集中度骤降至8%(主力吸筹完成)
- 获利比例<5%(市场恐慌抛售)
- 策略:突破平均成本线且放量时介入
2. 高位派发预警
- 若数据显示:
- 股价在1800元时,获利比例>95%
- 集中度升至15%(筹码分散)
- 90%成本区间上移至1700-1850元(套牢盘堆积)
- 策略:跌破密集区下沿止损
💡 注意事项:
- AKShare的东方财富接口需关注数据源稳定性,若失效可切换至
stock_zh_a_hist
获取K线后自行计算;- 筹码分布需结合成交量验证——突破密集区时需放量,否则可能是假突破;
- 不同行业筹码特征不同(如白酒股主力控盘更强)。