AI 原生量化投研平台AI-native quantitative research platform
正在加载…Loading…
页面仍在加载,可以继续等待,或重新加载。The page is still loading. You can keep waiting or reload.
部分页面资源未能加载,请重新加载。Some page resources could not load. Please reload.
设备当前处于离线状态,恢复连接后可以继续等待或重新加载。Your device is offline. Once connected, you can keep waiting or reload.
股票的筹码分布数据是一种反映不同价位上投资者持仓成本的统计分析工具,主要用于分析市场参与者的平均持仓价格分布情况。它通过图表形式展示在特定时间点,持有某只股票的投资者在不同价格区间的筹码(股票数量或比例)积累情况,帮助判断支撑位、压力位以及主力资金的动向。
筹码分布反映不同价位上投资者的持仓成本,用来分析市场参与者的平均持仓价格分布。它展示在某个时间点,持有某只股票的投资者在各价格上累积的筹码(股票数量或比例),可以帮助判断支撑位、压力位以及主力资金的动向。
本表每只股票每个交易日有多行,每行是一个价格上的筹码量。价格为未复权口径,只包含沪深股票,不含北交所。
| 关键字 | 释意 |
|---|---|
| date | 交易日,不含时分秒,表示该日收盘后的筹码分布 |
| instrument | 股票代码,格式为 代码.交易所后缀,如 000001.SZ |
| price | 筹码价格,保留两位小数,是价格区间的代表价格 |
| 字段 | 口径 |
|---|---|
| chips | 该价格上的筹码数量,单位为股,整数。同一股票同一天各价格行之和约等于当日 cn_stock_shares 的 total_float_shares |
| chips_ratio | 该价格上的筹码占比,同一股票同一天各价格行之和为 1 |
| avg_cost | 平均成本,等于 sum(price * chips_ratio) |
| win_percent | 获利比例,价格低于当日 (open + close) / 2(取两位小数)的筹码占比之和,不是与收盘价比较 |
| upper_90 / lower_90 | 90% 筹码的成本区间上限和下限,价格从低到高累计筹码占比,取累计占比在 5% 至 95% 之间的最高价格和最低价格 |
| upper_70 / lower_70 | 70% 筹码的成本区间上限和下限,取累计占比在 15% 至 85% 之间的最高价格和最低价格 |
| concentration | 筹码集中度,按 90% 区间计算,越小表示筹码越集中;上限和下限相同时取 1 |
集中度的计算公式为:
concentration = (upper_90 - lower_90) / (upper_90 + lower_90)avg_cost、win_percent、upper_n、lower_n、concentration 是按股票每日计算的指标,同一只股票同一天的所有价格行取值相同。win_percent 中的 open、close 来自 cn_stock_real_bar1d。
把上市公司发行的股票理解成筹码,发行一股就是一份筹码,你以什么价格买入,持有的筹码就记为什么价格。
假设某股票最初以 10 元发行了 1000 股,则最初的筹码分布是:10 元处有 1000 股,其他价格上为 0。
| 筹码价格 | 筹码量 |
|---|---|
| 10.5 | 0 |
| 10.3 | 0 |
| 10.0 | 1000 |
股票开始交易后,假设第一笔交易以 10.3 元成交了 300 股,筹码分布变为:
| 筹码价格 | 筹码量 |
|---|---|
| 10.5 | 0 |
| 10.3 | 300 |
| 10.0 | 700 |
第二笔交易以 10.5 元成交了 200 股,需要在 10.5 元处增加 200 股,同时在 10.3 元和 10 元处共减少 200 股。但这 200 股里有多少成本是 10 元、有多少是 10.3 元,除非能拿到所有交易账户的买卖记录,否则无法精确得知。因此计算时统一按换手率处理:成交 200 股占总股本的 20%,就认为 10.3 元和 10 元处的筹码都卖出了 20%。此时的筹码分布是:
| 筹码价格 | 筹码量 |
|---|---|
| 10.5 | 200 |
| 10.3 | 240 |
| 10.0 | 560 |
按上述逻辑,每笔交易后都可以得到新的筹码分布。
本表按日计算,每个交易日只有一个价格,核心步骤如下:
cn_stock_real_bar1d 的 (open + close) / 2,保留两位小数,不是当日真实的成交均价。cn_stock_shares 的 total_float_shares)发生变动时,各价格上的筹码量随之调整。cn_stock_real_bar1d)计算。发生除权除息时,历史价格上的筹码不会按除权价格重新调整,只随流通股本变动调整数量。例如 603409.SH 在 2026-06-18 除权,前收盘价与前一交易日收盘价相差较大,该日前后 price 的最大值都是 45.04。(high + low) / 2 和流通股本作为初始筹码分布。instrument 限定股票,不限定时单日全部字段约 66 MB,多个交易日会超过单次查询约 100 MB 的上限。下面的代码画出某只股票某个交易日的筹码分布图,结果和第三方软件的筹码分布图具有一定的可比性。
from bigquant import daiimport matplotlib.pyplot as plt
df = dai.query( "SELECT price, chips FROM cn_stock_chips_distribution", filters={"instrument": ["000002.SZ"], "date": ["2025-06-23 00:00:00", "2025-06-23 23:59:59"]},).pl().sort("price")
plt.figure(figsize=(10, 6))plt.barh(df["price"].to_numpy(), df["chips"].to_numpy(), height=0.1, color="skyblue")plt.xlabel("Chips")plt.ylabel("Price")plt.title("Price vs Chips (Horizontal Bar Chart)")plt.grid(axis="x", linestyle="--", alpha=0.7)plt.tight_layout()plt.show()以平安银行(000001.SZ)为例,取 2026-10-28 至 2026-11-04 内最新一个交易日的数据,按价格排序,展示前 5 行和后 5 行。
| date | instrument | price | chips | chips_ratio | avg_cost | win_percent | upper_90 | lower_90 | upper_70 | lower_70 | concentration |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026-11-04 00:00:00 | 000001.SZ | 9.07 | 4908656 | 0.000252951 | 11.3485 | 0.825586 | 12.23 | 10.45 | 11.74 | 10.86 | 0.0784832 |
| 2026-11-04 00:00:00 | 000001.SZ | 9.16 | 22224933 | 0.00114528 | 11.3485 | 0.825586 | 12.23 | 10.45 | 11.74 | 10.86 | 0.0784832 |
| 2026-11-04 00:00:00 | 000001.SZ | 9.25 | 12342388 | 0.000636022 | 11.3485 | 0.825586 | 12.23 | 10.45 | 11.74 | 10.86 | 0.0784832 |
| 2026-11-04 00:00:00 | 000001.SZ | 9.34 | 4256036 | 0.00021932 | 11.3485 | 0.825586 | 12.23 | 10.45 | 11.74 | 10.86 | 0.0784832 |
| 2026-11-04 00:00:00 | 000001.SZ | 9.43 | 8440553 | 0.000434955 | 11.3485 | 0.825586 | 12.23 | 10.45 | 11.74 | 10.86 | 0.0784832 |
| 2026-11-04 00:00:00 | 000001.SZ | 13.23 | 2558395 | 0.000131838 | 11.3485 | 0.825586 | 12.23 | 10.45 | 11.74 | 10.86 | 0.0784832 |
| 2026-11-04 00:00:00 | 000001.SZ | 13.37 | 1984113 | 0.000102244 | 11.3485 | 0.825586 | 12.23 | 10.45 | 11.74 | 10.86 | 0.0784832 |
| 2026-11-04 00:00:00 | 000001.SZ | 14.04 | 2480717 | 0.000127835 | 11.3485 | 0.825586 | 12.23 | 10.45 | 11.74 | 10.86 | 0.0784832 |
| 2026-11-04 00:00:00 | 000001.SZ | 14.37 | 1972323 | 0.000101637 | 11.3485 | 0.825586 | 12.23 | 10.45 | 11.74 | 10.86 | 0.0784832 |
| 2026-11-04 00:00:00 | 000001.SZ | 14.57 | 2255861 | 0.000116248 | 11.3485 | 0.825586 | 12.23 | 10.45 | 11.74 | 10.86 | 0.0784832 |
SELECT date, instrument, price, chips, chips_ratio, avg_cost, win_percent FROM cn_stock_chips_distribution WHERE date >= '2026-10-06' ORDER BY date LIMIT 100
SELECT date, instrument, price, chips, chips_ratio, avg_cost, win_percent FROM cn_stock_chips_distribution WHERE date >= '2026-10-06' ORDER BY date LIMIT 100