同一个搜索词下会跳出十几个下载页。有的给了参数表,有的把参数写死在源码里;有的能打开源码,有的只有加密封装。在下载之前,怎么选择指标公式可以从说明与结构里读出几个判断点,不必先装上软件跑一遍。

下面按查看顺序排列五个维度,每个维度都说明「看到什么算信息充分」与「看到什么要留一个问号」。文中提到的菜单项与文件名以通达信金融终端个人版为准,券商定制版的界面项可能有差异。全文只讨论指标公式的来源信息与结构,不涉及任何标的的判断。

一、筛选发生在实测之前

把「挑选」和「验证」当成一件事,顺序就会乱。验证需要软件、需要历史数据、需要一段可比的样本区间,做一次要花时间;挑选只需要看对方提供了哪些信息,几乎不花时间。

两者能回答的问题也不同。挑选回答的是这份公式值不值得花时间去装,验证回答的是装上之后它的输出稳不稳定。前者可以把明显缺信息的东西先排除掉,后者才能给出结论。先做前者,能少走一段弯路。

阶段 需要什么 能回答的问题
挑选 说明、参数表、源码或封装类型 值不值得装
验证 软件、历史数据、样本区间 输出是否稳定、边界行为如何

还要承认一个限制:挑选只能筛掉信息不全的东西,它筛不掉逻辑有问题的东西。一份说明写得完整、参数表清楚、依赖项也列明了的公式,照样可能在自己的使用场景里不成立。挑选解决的是「要不要花这个时间」,不回答「它有没有效」。

二、输出定义写没写明

怎么选择指标公式,第一眼要看的是它输出什么。说明写得清楚的,会写明输出几个值、每个值在什么范围、以及它代表的是什么量;写得含糊的,装上之后才暴露。

说明里写到的程度 装上之后会遇到什么
写了输出个数与每个值的含义 能直接判断该放主图还是副图
只写了「输出信号」四个字 副图上可能出现一条恒为 0 或恒为 1 的线
与输出有关的信息都没有 挂载位置靠试,试错成本转给自己

副图指标与条件选股公式对输出的要求并不一样。副图要的是连续数值,条件选股要的是成立与不成立的判断。一份公式如果同时被标成「副图」和「选股」,而说明里没有区分两种用法下各自的输出,就要留意它的描述是否经过整理。

一个省事的核对办法:找说明里有没有提到输出值的范围。写了几何范围或数值区间的,署名方至少盘过一遍边界;只写效果描述而不写范围的,能拿到的信息更少。

三、参数是外露的还是写死的

参数表是通达信公式的正式机制。声明在参数表里的变量,可以在公式管理器里直接改数值,不必打开源码;写死在源码里的常量,每次调整都要进编辑器。

差别不只在便利性上。参数外露的公式,它的阈值是明示的;参数写死的公式,阈值藏在源码中间,想核对就得先能读到源码。

{ 参数表声明的写法:N 出现在公式上方的参数栏 }
N: 20 (1, 250, 1)
A:MA(C,N);

{ 写死在源码里的写法:阈值散落在语句中 }
A:=MA(C,20);
B:=MA(C,60);
条件:A>B AND V>MA(V,20)*1.5;

第二种写法并不是错误,语义上完全成立,只是把三个数字固定住了。挑选时要判断的是:这份公式的使用场景是否需要调整这些数字。说明里写着适用于不同周期,而源码把周期相关常量写死,说明与实际就对不上。

还有一层要看的是参数取值的合理区间。参数表里可以给每一项标出上限与下限,上下限写得过窄,使用者就调不到自己需要的取值;完全没标,则意味着这项参数在极端取值下的行为没有被盘过。

四、未来函数能不能自己查出来

未来函数指的是求值时引用了当前 K 线之后的数值,或者引用了会被后续数据改写的量。它的表现是同一根 K 线在不同时刻算出的值不一样。

挑选阶段不必运行公式就能做一部分判断。通达信的公式管理器里有函数列表,把源码里用到的函数逐个对一遍,就能找出可疑项。需要重点核对的包括 ZIG、PEAK、TROUGH 这类峰谷类函数,以及各类带未来数据标注的引用。

核对的方法是按函数名逐个查。把源码里的函数名整理成一张清单,然后在函数说明里找有没有未来数据相关的标注。这一步不要求看懂整份公式的逻辑,只要求把用到的名字查完。

这一步只做初筛。源码里出现未来函数,不等于整份公式不能用;但如果说明里对这些函数只字未提,同时又把信号的即时性当作宣传点,这份说明的可信度就要打折。

五、数据来源与版本边界写没写

怎么选择指标公式,还要看它依赖什么数据。同一份源码在不同数据条件下会给出不同结果,原因落在三处:

  • 数据周期。日线公式与分钟线公式引用的历史根数含义不同。说明里没写周期,装上之后要自己试。
  • 复权设置。前复权与不复权下,同一根 K 线的开高低收数值不同,依赖价格的表达式结果随之改变。
  • 数据完整度。需要较长历史的公式,在本地数据未下载全的品种上会给出空值。

版本边界同样要看。库文件名与函数可用范围在不同版本之间有调整,官方更新记录里会写明新增或修正了哪些函数。说明里标注了适用版本区间的,等于承认兼容性问题存在;完全没提版本的,把兼容性判断留给了使用者。

这三处加上版本,合起来是一组前置条件。前置条件写得越具体,说明署名方对自己那份公式了解得越清楚;写得越笼统,装上之后要自己补的功课就越多。

六、换台机器还能不能算出同样的结果

最后一个维度是可复现性:同样的源码、同样的数据、同样的设置,在两台机器上应不应该得到同样的输出。如果一份公式依赖了本机特有的东西,它在别人机器上会算不出东西,或者算出的东西不一样。

这类依赖本身不是缺陷,有些公式确实需要外部数据。问题在于说明里有没有写出来。写了,使用者可以提前准备;没写,装上之后会误以为是公式本身出了问题。

依赖项 说明里可以怎么写
自建扩展数据 注明需要先导入某个数据文件,并给出字段名
自定义板块 注明板块名与成分维护方式
外部财务数据 注明数据来源与更新频率
特定指标引用 注明需要先安装被引用的另一份公式

核对可复现性有一个不用装软件的办法:把公式里引用的所有外部名称抄下来,看说明里能不能逐项对上。对不上的那些名字,就是要提前准备的部分。

前面的部分合起来是一条查看顺序:先看它输出什么,再看参数在哪,再看未来函数有没有,再看数据与版本条件,最后看依赖项。怎么选择指标公式,落到操作上就是对下面五处逐项打勾。

  • 输出值的个数与含义是否写明;
  • 参数是否声明在参数表里、阈值是否明示;
  • 源码用到的函数是否逐个核对过未来数据标注;
  • 数据周期、复权口径与适用版本是否写明;
  • 是否依赖本机自建的扩展数据或自定义板块。

本文只讲指标公式的来源信息与结构判断方法,不涉及具体标的的判断,也不构成对任何公式效果的承诺。站内还有 指标资源选择与会员 里讲文件格式与来源核对的条目、公式安装与导入 里讲安装路径与目录结构的条目、指标回测与风险验证 里讲样本区间与判定口径的条目,可对照查看。

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