通达信涨跌家数公式的写法,卡点不在函数会不会用,而在「家数」这个词背后到底指谁。软件自带的指数标的函数里,INDEXADV 返回上涨家数、INDEXDEC 返回下跌家数,两个函数各返回一个数字;但一个市场只有一个数字,两个市场就有两组数字,再加上统计范围是按指数成分算还是按全市场算,拼法不同,得出的数也不同。本文把这几个口径拆开讲,最后给一张可以直接抄的记录表。

先说明一件事:通达信涨跌家数公式不是一条画出来好看的副图线,它是复盘时用来描述当日市场宽度的原始读数。宽度和指数涨跌是两回事,指数由权重股带着走,家数由大量中小标的的涨跌决定,两者并不总是同向,这一点在后面第四节会展开。

一、四个市场,四组数字

在个股上写 INDEXADV,取到的不是全市场家数,而是「该股所属大盘」的上涨家数。上证的标的取到沪市,深市的标的取到深市。把这条公式挂在一只沪市股票的副图上,看到的只是沪市一侧,深市那一侧根本没参与。

所以第一件事是把范围想清楚:要看两市合计,就得同时取到两个市场的数。做到这一点有两条路,一条是在指数 K 线上写公式,另一条是用跨标的引用把指定指数的家数取过来。

二、INDEXADV 与 INDEXDEC 的取数规则

这两个函数属于指数标的函数族,同一族里还有 INDEXC、INDEXO、INDEXH、INDEXL、INDEXV、INDEXA,分别对应大盘的收盘、开盘、最高、最低、成交量与成交额。族内函数的共同前提是一条:对应指数的数据要先下载到本地。数据没下来,函数返回的就是空值,公式不报错,图上是一条断线或者一段零。

写法 取到的内容 挂在哪
INDEXADV 所属大盘的上涨家数 个股、指数均可
INDEXDEC 所属大盘的下跌家数 个股、指数均可
HY_INDEXADV 所属行业指数的上涨家数 需本机有通达信板块指数
HY_INDEXDEC 所属行业指数的下跌家数 需本机有通达信板块指数

另有一条跨标的引用的写法,用「代码加字段」的方式直接指向某个指数的家数,例如指向沪市与深市各自的上涨、下跌家数。这种写法在部分版本里可用,字段名与支持范围随版本不同,写之前先在公式管理器里点「测试公式」看输出区有没有值,不要凭记忆套。

{ 单市场写法:在本市场内统计涨跌家数 }
UP:=INDEXADV;
DN:=INDEXDEC;
TOTAL:UP+DN,NODRAW;
RATIO:UP/TOTAL,NODRAW;
{ 想合成两市,需要两个市场各取一组 }
{ 沪市一组指向沪市指数,深市一组指向深市指数 }
{ 具体指向写法按本机版本支持的形式,先在测试公式里验值 }

上面这段先解决单市场:两个变量装本市场的涨、跌家数,合计与比值都由它们算出来。这一点能跑通,再谈两市合并。合并时的坑在于变量名——两个市场都用 INDEXADV 取数,取到的是各自所属市场的那一份,看上去是两个变量,实际含义随标的漂移。要么用跨标的引用把指数代码写死,要么干脆分两段公式、各自只在对应市场的标的上运行。

三、加总前的三件事:范围、重复、停牌

把两市的数相加之前,先确认三件事,任何一件没确认,合计数都不可比。

第一件是统计范围。指数标的函数对应的是几只大盘指数,而大盘指数未必覆盖全市场:有的指数按成分股编制,成分数量固定;有的按全部上市标的编制。函数返回的家数究竟是「该指数成分内」的还是「该市场全部」的,要在自己的版本上核对一次。核对办法很直接:在一个交易日收盘后,把两市家数之和与软件里显示的上市家数并排看,两个数量级差得远,说明统计范围不是全市场。

第二件是重复计数。沪市与深市分开取,加总不会重复;但如果为了看细分,再把创业板、中小板这类板块的家数加进去,就会与所属市场那一侧重复。加总的层级要统一:要么只加两级市场,要么只加板块,不要混着加。

第三件是停牌与新股。停牌的标的当日没有涨跌,是否计入分母,取决于数据源的统计方式,公式侧看不到明细。这个差异在停牌家数多的日子里会体现出来:家数之和明显低于上市家数。记录时把当日家数之和与上市家数一并写下,日后回看就能判断当天的缺口是不是由停牌造成的。

三件事的核对顺序不要颠倒。先确认范围,再确认层级,最后解释缺口。反过来先解释缺口,会把「统计范围本来就不是全市场」误判成「数据缺了」。

四、比值、差值、占比:三种口径各有用途

同样两组数字,可以做三种读数。选哪一种,取决于你要回答什么问题。

口径 写法 特点 适合回答
比值 上涨家数 ÷(上涨 + 下跌) 归一到 0 到 1 之间,跨日可比 当日宽度在历史里处于什么位置
差值 上涨家数 − 下跌家数 保留家数的原始规模,正负号直观 两侧家数的差距有多大
占比 上涨家数 ÷ 上市家数 分母含停牌,读数偏低 上涨标的占全部标的的比重

比值的好处是不受上市家数增长影响。市场扩容后,家数的读数整体抬高,同一水平的历史对比会失真;比值把分母换成「上涨加下跌」,规模因素被消掉,多年数据能放在一张图上。

差值的好处是能看出方向与力度。上涨比下跌多两千家与多两百家,比值可能都接近 1,差值却差一个量级。做宽度记录时,两个数一起记,回看时才有信息量。

占比这一列要谨慎。分母用上市家数,分子只用上涨家数,停牌的不在分子里却在分母里,读数天然偏低。这个口径适合与自己历史上同一天数比,不适合跨市场比。

五、数据前提:指数数据要先落到本地

家数取自指数数据,指数数据不在本地,读出来就是空的。这一步在盘后做比较稳,收盘后把当日数据下载完整,再执行公式。

下载入口在盘后数据下载里,勾选指数类数据;下载完成后,把公式挂到指数 K 线上看一眼,两条线有没有值、量级对不对。有值之后再去看个股上的效果,顺序不能反。个股上取不到值时,先怀疑指数数据,再去怀疑公式写法,这条排查顺序能省掉大量无效改动。

另一个容易忽略的点是周期。家数是按日统计的,挂到分钟周期上时,函数返回的是该日所属大盘的家数,不是这一分钟的家数。分钟图上看到一条阶梯状的线,就是这个原因,不是数据出错。

站内 复盘方法与数据工具 里讲过数据完整性与结果的一致性,这里的家数属于同一类问题:读数不对,后面的记录与对比都建立在错的基础上。

六、行业与板块:HY_INDEXADV 的适用范围

想看某个行业内部有多少只上涨,用带 HY_ 前缀的那一组。它们取的是行业指数的家数,前提是本机装有通达信板块指数;没有板块指数,这一族函数不支持,输出为空。

板块家数的样本小,读数的波动比大盘大。一个三十只成分的行业,一两只权重的涨跌就能让家数从二十变成十八,比值的跳动幅度远大于大盘。用板块家数做横向对比时,样本数要一起写进记录,否则两天的读数放在一起看不出可比性。

还有一层是板块归属的时效。行业分类会调整,成分会更换,同一只标的在不同时间可能落在不同行业指数里。历史对比时把口径固定到「按当期分类」,不要用今天的分类去解释去年的读数。

七、一张可以直接抄的记录表

把通达信涨跌家数公式用起来的做法是每天记一行,而不是每天看一眼。列不多,六列就够。

列名 填什么 为什么记
日期 交易日 排序与对齐
沪市涨 / 跌 两个家数 分市场看宽度
深市涨 / 跌 两个家数 同上
合计与比值 四个数加总,再算比值 跨日对比的主读数
上市家数 当日两市上市标的数 解释缺口,判断停牌影响
指数涨幅 对应大盘指数的当日涨幅 与宽度并排,看是否同向

最后两列放在一起看,能看出宽度与指数的背离:指数涨而家数比值靠近中间值,说明上涨集中在权重;指数平而家数比值明显偏向一侧,说明权重与多数标的的走向不一致。这两种情形都属于「指数不能代表全部」,记录里留痕,比凭印象回忆可靠。

把这几节收起来看,通达信涨跌家数公式能做的事就清楚了:它把市场宽度这个外部统计量搬进公式,让你可以在同一张图上与指数、与个股指标并排。它不能做的是替你判断宽度意味着什么,也不能替代对成分与停牌口径的核对。这两件事留在公式外面,恰恰是记录里最值钱的部分。

本文只作技术研究口径,内容为指数标的函数的取数与统计口径说明,不涉及对任何标的的判断,也不提供操作层面的建议。函数名、字段名与界面项以本机版本的实际显示为准,版本不同支持范围可能有差异。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。