文章目录股票筹码分布及其数据获取一、筹码分布的核心概念与意义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线后自行计算;筹码分布需结合成交量验证——突破密集区时需放量,否则可能是假突破;不同行业筹码特征不同(如白酒股主力控盘更强)。