通达信筹码集中度公式算出来的数字,方向和「集中」这两个字是反的:数值越小,筹码越挤在一段窄价格里;数值越大,分布越散。这一条如果没先记住,后面看阈值、看选股条件、看别人写的「集中度大于九十」,全都会读偏。

这篇从公式本身拆起,先看三个价格端点怎么取,再看 P1 参数动的是哪一段,最后落到复权、新股、停牌这几处会让数值失真的位置。文中的函数语义以通达信金融终端内置的「筹码分布」说明为准,不同版本在函数提示的措辞上可能略有差别。

一、为什么数值越小反而越集中

把筹码分布想成一条横向的柱状图:横轴是价格,柱高是落在该价位的持仓量。COST(N) 取的是这条柱状图从左往右累计到 N 处的那个价格,也就是「N 比例的持仓成本在这一价之下」。COST(95) 与 COST(5) 一上一下,中间夹住的就是主体筹码所在的价格带。

价格带窄,说明持仓成本挤在一起;价格带宽,说明持仓成本摊开了。集中度这个数量的就是这个价格带的相对宽度,所以数值小对应带子窄,也就是集中。口语里的「集中度百分之九十」是把方向反过来讲的另一套说法,两套口径混用,阈值就没法对照了。

通达信筹码集中度公式自带的那一份,输出名是 SCR。它在副图上是一条单独的线,纵轴刻度大致落在个位数到几十之间,看盘时容易和别的指标串行比较,这一点后面单列一节讲。

{ 通达信自带 SCR 筹码集中度的写法 }
P1:=90;
A:=P1+(100-P1)/2;
B:=(100-P1)/2;
CC:=COST(A);
DD:=COST(B);
SCR:(CC-DD)/(CC+DD)*100/2;

二、三个价格端点:COST(95)、COST(5) 与它们的和

P1 取 90,代入两行赋值,A 得到 95,B 得到 5。这两个数的来历是「两端各切掉 5 比例」。100 减 90 得 10,再除以 2,每端 5。要让中段的 90 比例留在带子里,上下就各让出 5。所以 A 与 B 并不是随手取的整数,它们由 P1 决定。

CC 取 COST(95),是带子的上沿;DD 取 COST(5),是下沿。分子 CC 减 DD 就是带子宽度,单位是元。分母 CC 加 DD 是上下沿之和,等于带子中点价格的两倍。宽除以两倍中点,得到的是「半宽相对中点」的比值,再乘 100 除以 2,换成百分数刻度,落在 SCR 这条线上。

把这一步写成算式,可以看得很清楚:SCR 等于带子宽度除以中点,再折半。带子宽 2 元、中点 20 元,SCR 就是 5;带子宽 4 元、中点 20 元,SCR 翻到 10。同一只股票在价格不变的条件下,带子拉宽一倍,SCR 也翻一倍。

看清分子的单位是元、分母的单位也是元,比值没有量纲,这一步很关键。有人把 COST(95) 与 COST(5) 直接相减,再乘 100 当集中度用,得到的数带着价格量级,几十元的股票算出来是几百,与 SCR 完全不在一个刻度上。

三、P1 改的是覆盖面,不是精度

P1 从 90 改成 70,A 变成 85,B 变成 15,带子收窄到中段 70 比例。分子变小,SCR 跟着变小。这时候看着像「更集中了」,其实只是把两端各 15 比例的筹码排除在统计之外,判据本身变窄了。

P1 往 99 调,A 到 99.5,B 到 0.5,带子几乎覆盖全部筹码,SCR 变大。同一只股票、同一天,P1 取 70 与取 99,SCR 能差出一截。拿两个不同 P1 下的 SCR 去比两只股票,比出来的高低没有意义。

P1 取值 A 与 B 带子覆盖 SCR 的变化方向
70 85 / 15 中段 70 比例 数值偏小
90 95 / 5 中段 90 比例 中间档
99 99.5 / 0.5 接近全部 数值偏大

参数表里 P1 的取值范围标为 1 到 100,默认 90。写成指标时把 P1 提成可调参数,比在源码里写死一个 90 更好用:同一只股票换几个 P1 看一遍,能直观看出带子是在哪一段被撑开的。

通达信筹码集中度公式的参数改动,还会牵动另一处:COST 取的是分位价格,P1 取到极端值时,A 或 B 会贴到 0 与 100。COST(0) 与 COST(100) 在部分版本上返回的是分布的两端极值,参与加减后分子分母都会被拉大,SCR 失去参考意义。参数表里把 P1 的下限收到 50 以上,能避开这一段。

四、另一种写法:把分母换成中位价

公式站上流传的另一版,把分母从中点两倍换成了 COST(50):

{ 变体:宽度除以中位价,数值约为 SCR 的两倍 }
成本上沿:=COST(95);
成本下沿:=COST(5);
集中度:(成本上沿-成本下沿)/COST(50)*100;

COST(50) 是中位成本,价格带的中点与它接近,所以这一版算出来的数值约等于 SCR 的两倍。倍数关系只在带子上下对称时成立,带子偏斜时,两者会拉开。

两版混用的后果是阈值全线错位。有人按变体定下「大于 20 算分散」,换到自带 SCR 上,同一只股票只有 10 出头,条件永远不成立;反过来按 SCR 定阈值,套到变体上,筛选结果会被放大一档。

选哪一版,取决于你这套条件是在哪一版上试出来的。定下来之后把版本写进公式注释,下次改参数或换股票池时,对着注释核对,不必凭印象回忆。通达信筹码集中度公式的阈值不是行业统一值,它跟着写法走。

五、复权设置会改变 COST 的取值

COST 读的是历史成交在价格轴上的分布。除权之后价格轴被折叠,同一段成交在前复权与不复权下落在不同价位,COST 的返回值随之改变。带子宽度与中点一起被缩放,SCR 的变化幅度小于价格本身,但不会完全抵消,因为分位价格对价格轴是非线性映射。

实际影响有两处。一处是跨除权日比较同一只股票的 SCR,前后两天的数值会出现台阶。另一处是同一只股票在不同复权设置下算出不同的 SCR,回测时把两组数字并排放,会误判成信号变化。

处理办法是把复权设置固定下来,写进公式注释或记录表。做历史核对时用前复权,看当下盘面用不复权,两套数字各自成序列,不交叉比较。这一点与站内讲复权口径的那几篇是同一个道理,指标换了,口径问题不换。

六、新股与长期停牌位置上的失真

筹码分布由历史成交反推,历史长度不够,分布就退化成一条窄带。新股上市初期 K 线只有几十根,成交集中在很小的价格区间,COST(95) 与 COST(5) 贴得很近,SCR 落在一个偏小的值上。这个偏小不是筹码真的集中,是样本不够。

长期停牌的股票同理。停牌期间没有成交,分布停在停牌前那一天;复牌后一根跳空 K 线把价格拉开,分布要经过一段时间的成交才会重新铺开。停牌前后两天的 SCR 不可比。

做过大比例送转的股票还有一层。送转让价格轴整体下移,前复权会把历史价位折算回来,折算后的成交分布与当时盘面上的真实成交并不一致。用这类股票做 SCR 的历史序列,起止点要避开送转日附近。

筛选条件里加一道「上市天数」的门槛,是省事的做法。上市满一年的股票,历史成交足够铺开分布,SCR 的读数才有比较的基础。门槛具体取多少,按你关心的价格带宽度定,取 250 个交易日与取 500 个交易日,筛出来的股票数量会差一档。

七、核对顺序:先看两个端点,再看比值

算出来的数与预期不符时,按下面三步查,每一步只排除一类原因。

  1. 先把 CC 与 DD 单独输出,看两个端点是否满足 CC 大于 DD。端点顺序颠倒,多半是 COST 的取值被写成了 COST(B) 与 COST(A) 互换。
  2. 再看端点所在的价格区间是否落在该股票近一年的成交区间内。落在区间外,说明复权设置或数据长度有问题。
  3. 最后核对比值。手算一次 (CC-DD)/(CC+DD)*50,与副图读数对照,两者一致说明公式写法没错;不一致多半是分母用了 COST(50) 那一版。

在公式管理器里按 Ctrl+F 打开「公式管理器」,选「技术指标公式」下的「其他类型」,点「新建」,把源码粘进去,点「测试公式」,输出区会逐个列出中间量。CC 与 DD 就在这个列表里,取的是哪一版数据、数值落在什么量级,一眼能看到。

副图对照是第二道核对。软件自带的 SCR 与本机自编的 SCR 画在同一只股票上,两条线应当重合;出现系统性偏移,先查 P1 的默认值是否一致,再查复权设置是否一致。

通达信筹码集中度公式能给出的,是持仓成本在价格轴上的相对宽度。这个宽度由历史成交推算,不含账户信息,也不含持仓意图;带子收窄之后价格往哪个方向走,公式里没有这一项。把它当成一条描述分布形状的线来看,比当成方向判据稳妥。

站内还有 通达信指标原理与参数 的条目,通达信公式编写教程 讲参数化与中间量输出,指标回测与风险验证 讲复权口径与样本区间怎么固定。

本文只作技术研究口径,内容是指标字段的取数与参数口径,不涉及也不构成对任何标的的判断。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。