文章目录股票筹码分布及其数据获取一、筹码分布的核心概念与意义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 df

except 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线后自行计算;筹码分布需结合成交量验证——突破密集区时需放量,否则可能是假突破;不同行业筹码特征不同(如白酒股主力控盘更强)。