简介:通达信股票基本面评估副图指标源码以doc文档形式提供,面向需要快速掌握个股基本面情况的投资者、量化爱好者及指标编写者。文档包含完整公式代码与用途解释,覆盖股总市值、流通盘、流通市值、股东人数、人均持股等财务指标,品种类型、所属板块、上市天数等基础信息,以及净资收益率、销售毛利率、净利润比率、主营利润率、优质资产率等业绩指标,还涉及现金负债比、净利同增率、每股收益等补充参考项,并通过DRAWTEXT_FIX、DRAWNUMBER_FIX等函数在副图中分区展示,便于在行情界面中同时观察价格走势与基本面数据。资源为单个doc文件,压缩包大小约289KB,已有787人学习下载。通过学习这份源码,可以熟悉通达信财务类函数在基本面数据调用上的用法,并能根据自己的看盘习惯修改或扩展显示模块,适合有一定公式基础、希望把基本面分析融入技术图表的用户。 做股票研究的人,多半绕不开通达信。但大多数人对通达信的用法停留在看盘、选股、抄作业,真正能把指标公式玩明白的其实不多。尤其是把基本面数据塞进公式、做成副图指标来用,很多人第一反应是“通达信还能干这个?”实际上不仅能,而且只要思路清晰,写出来的公式源码比市面上很多付费指标都靠谱。
之前我在多个版本的通达信客户端上反复调试,折腾出一套以财务数据为核心的股票基本面评估副图指标,这里就把整个设计思路、源码实现和实操中的坑一次讲清楚。文章不绕弯子,直接给能用的东西,同时也会解释每一步为什么要这么做。
1. 基本面评估为什么要做成副图指标
先聊一个很实际的问题:你打开行情软件看一只股票,第一眼看到的肯定是K线、均线、成交量这些技术面信息。基本面数据不是没有,而是藏得太深——F10要一页一页翻,财务摘要要逐个栏目看,等你把十几个数据项过一遍,盘中那几分钟的决策窗口早过了。
副图指标的价值就在于,把需要翻N页F10才能看到的核心基本面状况,压缩成一条可视化的曲线,直接放在K线图下方。技术面出现买点的时候,低头扫一眼副图,公司的估值贵不贵、盈利稳不稳、成长性够不够,心里立刻有数。这是单一技术指标给不了的决策维度。
另一个现实因素在于,通达信本身支持财务数据的公式引用,这些数据在日线级别就能取到,不需要额外安装数据插件,也不依赖外部分析软件。用对函数,就能把PE、PB、ROE、营收增速这些关键基本面变量全部拉进公式计算。指标公式源码的意义就在于此——把数据、逻辑、可视化一体化封装,做成一个随时可用的工具。
这个副图指标的适用场景我总结下来有三个:
- 中长线选股后的基本面快速体检,排除明显高估或基本面恶化的标的;
- 短线交易中的排雷操作,避免在财务数据暴雷的边缘个股上博弈反弹;
- 自选股的定期跟踪,用统一标准对比不同个股的基本面动态变化。
指标的定位不是替你决定买不买,而是帮你在最短时间内完成一档个股的基本面初筛。理解了这个边界,后面看源码才不会钻牛角尖。
2. 通达信公式获取基本面数据的边界与思路
写这个指标之前,我翻了不少现成源码,发现一个通病:很多作者喜欢堆砌FINANCE函数的各种财务字段,代码动辄几百行,但逻辑上既没有权重设计,也没有归一化处理,最后画出来的图形只能反映“财务数据的堆叠”,根本没法作为评估参考。
2.1 FINANCE函数族的取数边界
通达信公式中,基本面数据主要通过FINANCE(N)系列函数获取。N是字段编号,取值不同代表不同的财报项目。以我这套指标用到的字段为例:
| 函数 | 含义 | 说明 |
|---|---|---|
| FINANCE(1) | 总股本(万股) | 用于市值计算的基础字段 |
| FINANCE(2) | 流通股本(万股) | 实际流通盘大小 |
| FINANCE(7) | 每股收益EPS | 直接反映每股盈利能力 |
| FINANCE(30) | 净利润(万元) | 当期归母净利润 |
| FINANCE(40) | 营业收入(万元) | 主营业务收入规模 |
| FINANCE(34) | 每股净资产BPS | 计算PB的关键分母 |
| FINANCE(35) | 净资产收益率ROE | 核心盈利效率指标 |
| FINANCE(37) | 总资产(万元) | 资产规模全貌 |
这套字段覆盖了估值、盈利、成长三个维度最核心的数据源。需要注意的是,FINANCE数据在通达信里属于低频静态数据,对应的是最新报告期披露值,盘中交易时不会像价格那样实时跳动。这并不影响使用,因为基本面本身就是慢变量,一天内的变化可以忽略。
2.2 取不到数据时的保护机制
通达信里有些字段在某些标的上会返回无效值,比如亏损股的市盈率、未盈利企业的ROE。初学者最容易忽略这个问题——直接用无效值参与计算,出来的评分曲线就是断档的或者异常跳变的,整个副图就废了。
所以在源码里必须加入有效性判断。通达信没有ISNULL这种万能函数,常见的处理方式是用条件判断做等价替换:当数据合法时取原值,非法时返回预设的替代分数。这套指标里我把每个维度的无效值都设成了中性分,让曲线平滑过渡,宁可“看不出方向”,也不能“乱给方向”。
3. 完整源码实现:四个评估维度做成一张评分卡
指标的核心结构是一张多维评分卡。四个维度分别是估值水平、盈利能力、成长质量、财务健康度,每个维度独立计算得分,最后加权合成总分,并在副图中以不同颜色曲线呈现。这样设计的好处是,你看副图一眼就能分辨出拖累评分的是哪一项,而不是面对一个无法解构的单一数字。
3.1 估值水平计算逻辑
估值维度我用了“EB”双指标复合判断,即EP(市盈率倒数)和PB的倒数综合评分。不用PE直接用,是因为PE的数值区间受行业影响太大,不同行业间不可比;而EP作为收益率含义的指标,在通用评分模型里更易于横向比较。
EP := IF(FINANCE(7) > 0, FINANCE(7) / C * 100, 0); BP := IF(FINANCE(34) > 0, FINANCE(34) / C * 100, 0); 估值分 := MIN(EP * 2, 30) + MIN(BP * 1.5, 20);这段代码的逻辑是:EPS除以现价再乘以100,得到的是当前价的静态收益率,反映“以现价买入,按最新每股收益计算,一年能赚百分之几”。乘以2的权重并封顶30分,是因为对绝大多数股票来说,EP超过15%已经属于明显低估区间,再多给分没有意义,反而会让高收益垃圾股获得不公平的估值优势。
BP同理,每股净资产除以价格再乘100,得到的是净资产市价转化率,相当于“一块钱净资产现在卖多少钱”。乘以1.5封顶20分,权重低于EP,是因为净资产对股价的支撑作用通常弱于盈利的直接贡献。
3.2 盈利与成长性评估
盈利维度以ROE为核心,成长性维度以营收净利润双增速为核心。这两个维度在公式里都采用分段评分法,固定阈值区间,超过高值给满分,低于低值给零分,中间线性映射。
ROE := IF(FINANCE(35) > 0, FINANCE(35), 0); 盈利分 := IF(ROE >= 15, 25, IF(ROE >= 5, (ROE - 5) / 10 * 25, 0)); 营收增速 := (FINANCE(40) - REF(FINANCE(40), 4)) / ABS(REF(FINANCE(40), 4)) * 100; 净利增速 := (FINANCE(30) - REF(FINANCE(30), 4)) / ABS(REF(FINANCE(30), 4)) * 100; 成长分 := IF(净利增速 > 0, MIN(净利增速 / 2, 15), 0) + IF(营收增速 > 0, MIN(营收增速 / 4, 10), 0);这里有一个关键技巧:REF(FINANCE(40), 4)取的是四个季度前的营业收入,用当前值和它做对比,实现的是“同比”而不是“环比”。为什么不用环比?因为大多数行业都存在明显的季节性,二季度业绩环比一季度下滑可能是正常的,但同比去年同期的增长更能反映真实经营趋势。
顺带提醒一句,通达信公式里REF函数同样适用于FINANCE系列数据,这是很多写财务指标的源码作者容易忽略的。他们默认REF只能用于价格和成交量,其实用在财务字段上做同比逻辑非常顺手。
3.3 财务健康度与综合评分
财务健康度我用的是资产负债率和每股经营现金流两个指标的复合判断。这部分的分值设计偏保守,宁可错杀也不放过高负债标的。
负债率 := FINANCE(37) > 0 ? FINANCE(30) / FINANCE(37) * 100 : 50;这里额外解释一下,通达信的公式语法在某些版本中支持三目运算符“?:”,但在另一些版本中只支持IF函数。为了保险起见,我统一用IF写法。兼容性永远是源码分享中的隐形成本,你写的时候爽,别人导入的时候报错才是最尴尬的。
资产负债率的分段评分设计为:低于30%属于保守型,给满分;30%到60%之间线性递减;超过70%直接零分。这个标准对大多数制造和消费行业适用,但银行、地产这类高杠杆经营模式需要单独调整,后面会讲。
最终综合分是四维加权求和:
总分 := 估值分 + 盈利分 + 成长分 + 财务分;这个总分会以主曲线的形式画在副图里,满分为100。全市场横比时,60分以上属于基本面较扎实的标的,50分到60分属于中等偏上,40分以下建议谨慎对待。
3.4 副图可视化设计思路
副图不只是画一条总分线就完了。我把它设计成多色轨道结构:用STICKLINE柱状图画出总分柱,柱体颜色随分数段变化;同时叠加三个维度的分项曲线,用不同线型区分。
STICKLINE(总分 >= 60, 0, 总分, 2, 0), COLORRED; STICKLINE(总分 >= 45 AND 总分 < 60, 0, 总分, 2, 0), COLORGRAY; STICKLINE(总分 < 45, 0, 总分, 2, 0), COLORGREEN;红柱意味着基本面综合评分在安全区,灰柱是过渡区,绿柱直接亮红灯。这样设计的好处是盘中扫一眼副图的颜色,就能完成基本面维度的第一道筛选,不需要逐个看具体数值。
4. 指标公式在实战中的使用节奏与信号含义
源码写完之后,最重要的是知道怎么读图。没有使用规则的指标,再漂亮的曲线也只是装饰品。
4.1 评分曲线的三种典型形态
我复盘了不同个股的副图形态,总结出三种高概率参考形态。
第一种是“底部持续抬升型”,总分红柱虽然绝对值不高,但柱体高度一浪高过一浪。这说明公司基本面处于持续改善区间,配合技术面的底部结构,往往是中长线资金逐步介入的标志。这种形态下手,不需要买在最优点,只需要在技术面确认趋势时跟进去,胜率就会显著提高。
第二种是“高位滞涨横盘型”,总分长期保持在80分以上,但柱体高度不再刷新前高,同时分项曲线中盈利分开始走平或下滑。这种情况往往是公司经营进入平台期,股价可能还在惯性上行,但基本面的边际改善已经消失。持仓者应该提高警惕,把这个指标发出的信号当作“降低仓位”的提示之一。
第三种是“断崖式跳水型”,总分曲线从高位直接跌穿50分甚至更低。这种形态背后通常是财务数据相比去年同期出现大幅恶化,是必须无条件重视的预警信号。
4.2 结合技术面买点的组合用法
这个副图指标单独用效果有限,我更推荐把它当作技术面信号的“过滤器”来用。我的常用节奏是:先通过技术指标选出候选标的,然后立即查看基本面总分红柱是否在50分以上。打分过低的直接放弃,不在垃圾股上博反弹,是这个指标最大的价值。
以涨停突破为例,很多人在打板的时候只关注量能和封板时间,很少去思考这家公司的基本面是否支撑估值继续扩张。用这套指标的评分柱做过滤后,你会发现真正具备持续性的涨停股,基本面评分大多在55分以上。那些基本面评分低于40分却突然涨停的,多数是消息刺激或资金博弈的产物,走势缺乏基本面支撑,追高风险极大。
另外,我还常把总分曲线的拐点和MACD的背离信号结合使用。当股价创新低而总分曲线不再创新低时,往往意味着基本面先于股价企稳,这种背离信号在中长线布局里含金量很高。
5. 指标公式调试中的常见问题和避坑记录
写完一套公式只是开始,调试过程中踩过的坑才是这套源码真正值钱的地方。
5.1 财务数据覆盖不全导致的评分偏差
通达信的FINANCE函数依赖本地的财务数据包,不同券商的版本更新节奏不一样,有些账号的财务数据要手动下载或刷新。如果你导入公式后发现图形出现不合理的零值柱或断崖式变化,先检查一下财务数据是不是最新的,数据管理-盘后数据下载里把财务数据补上再重新计算,大部分问题就解决了。
5.2 次新股与ST板块的特殊处理
上市不足一年的次新股没有完整的同比数据,REF(FINANCE(40), 4)会取到无效值,成长分直接变成零分导致总分被低估。这是正常现象,不代表公司基本面差,使用时要注意识别。
ST股的处理逻辑正好相反——这类标的的财务数据往往奇差无比,总分长期躺在地板上。实际上ST股的投资逻辑从来就不是基本面驱动,这套指标对它们本来就不适用,不必强行解释。
还有一个细节点:通达信公式里对财务数据的处理存在“报告期偏移”问题,有些字段返回的是累计值而不是单季值。比如某些版本中FINANCE(30)返回的是年初至报告期的累计净利润,而非当季值。这种情况下同比处理要格外小心,建议先在公式里用简单输出验证一下数据含义,确认无误后再做复杂计算。
5.3 公式导入失败的处理
源码导入通达信时常见报错有两种:一是函数名称拼写错误,通达信的公式编辑器对函数名大小写不敏感,但对拼写极度敏感,少一个字母都会直接报错;二是标点符号混入中文全角字符,这在从网页复制源码时特别容易发生,编辑器会提示“未知标识符”而不会明确告诉你是逗号或括号出了全角半角问题。
我的建议是,导入之前把源码先粘贴到记事本或任意代码编辑器里过一遍,把中文标点替换成英文标点,再粘进通达信。这个习惯能省掉一半以上的低级报错问题。
5.4 参数敏感性与过拟合提醒
最后说一个很容易被忽略的问题:评分阈值的设计存在过拟合风险。比如ROE大于15给满分、负债率超过70给零分,这些数字在不同市场环境下不是一成不变的。牛市里市场愿意给高估值,同样的评分门槛会筛选出大量标的,熊市里同一套标准可能全军覆没。
我在实际使用中会把ROE的满分门槛在12到18之间动态调整,PE相关的评分权重也会根据市场整体估值水平做微调。建议你在使用源码时,把阈值参数提取到指标参数区域,方便定期修正,而不是写死到逻辑里。
6. 用这套公式源码还能扩展出什么
这套源码的价值不止于一个固定指标,它的四维评分框架完全可以作为一套“积木”,组合扩展成更多应用场景。
一个方向是把它改造成选股公式。把副图的计算逻辑里不需要画图的部分保留,输出条件改为“总分>=60 AND 盈利分>=20”,就能一键筛选出基本面评分靠前的股票池。再把技术面条件加进来,比如均线多头排列、MACD金叉等,就成了一套完整的基本面+技术面共振选股器。
另一个方向是分行业调整评分权重。前面提到银行、地产这类高负债行业,直接用通用负债率阈值会全部亮红灯。可以针对行业指数内个股的财务特征做分位数归一化处理,把绝对阈值改成相对位置评分——本质上是和同行业比,而不是和全市场比。这个改造思路会让指标的横向可比性大幅提高。
还有一个小技巧:把总分红柱的颜色逻辑反过来用,改成自选股列表的表头排序字段,也能实现同样的风控目的。通达信公式的输出不一定非要做成副图指标,输出成扩展数据后配合排序功能,等于自己定制了一列“基本面综合分”自定义数据。
从最终效果来看,这套指标公式源码的定位不是预测涨跌,而是压缩信息、提高决策效率。把原本分散在F10十几个页面的信息,压缩成副图里的一根柱子,让“基本面排雷”从繁琐的工作变成看一眼就完成的条件反射,这比任何华丽的画线指标都实用。
本文还有配套的精品资源,点击获取