1.自定义数据的使用场景 自定义数据功能实现高效的指标值计算和统计功能。能进行指标值取值或者单值排序或者全市场横向统计。通常有以下6种常见的使用场景:
场景1:在任意日期或时间按照某指标变量统计的排序结果
例:统计A股市场,任意品种,任意日期或时间的涨幅排名。
场景2:按照某指标变量的最新值统计的排序结果。只取最新值的排序结果,无历史排序结果
例:统计A股市场,任意品种,最新的涨幅排名。
场景3:在任意日期/时间的某指标变量的值。不排序,仅取指标变量的值,有历史值
例:统计A股市场,任意品种,任意日期或时间的涨幅数值。
场景4:某指标变量的最新值,不排序,无历史值,仅取当前最新的指标变量值
例:A股市场,任意品种 当前最新的涨幅数值。
场景5:所有品种在任意日期/时间按照某个指标变量值生成某种统计结果。如平均值,最大值,累加和等
例:统计A股全市场的 任意日期或时间 的平均涨幅或最大涨幅或最小涨幅等。
场景6:提高跨周期调用复杂公式或计算量大的公式时的运行效率。自定义能定期刷新并保存计算结果,与在公式中直接使用stkindi等跨周期调用相比减少了不必要的重复计算。因此可以一定程度上提高计算效率的。
以上总结:自定义数据能排序(历史的/最新的),能取值(历史的/最新的),也能进行全市场的横向统计(均值,最大值,最小值)。还可以利用自定义数据提高跨周期调用的计算效率。
2.自定义数据的设置
以自定义数据的”证券相关序列值”类型为例说明。我们将利用指标ZF来统计任意品种在某个时间或者日期在全市场中的涨幅排名。也就是前面场景1的需求
步骤1: 新建指标公式。
在代码公式中定义需要进行统计的变量:
ZF:(C-REF(C,1))/REF(C,1);//涨幅
*需要注意的是指标公式中参与统计的变量必须采用“:”去定义。否则在设置指标关联时无法显示该变量的选择项。
步骤2: 点开分析-自定义数据。
新建一个自定义数据,选择类型为“证券相关”:
此主题相关图片如下:temp.png
步骤3:指标关联到ZF指标,设置周期,统计的品种范围,并勾选“生成横向排名数据”:
此主题相关图片如下:temp.png
步骤4:刷新数据,然后点击修改数据, 就能看到某个品种在某个日期上 按照指标ZF的排名情况了:
此主题相关图片如下:temp.png
此主题相关图片如下:temp.png
自定义数据其他几种类型:
1.如果要取有历史值的指标值或者排名结果就选择“证券相关序列值”
2.如果只取最新指标计算结果或者排序结果就选择“单值数值”
3.如果要获取全市场的横向统计,就选择“横向统计序列值”
此主题相关图片如下:temp.png
在“证券相关序列值”和“单值数值”中如果需要排名值,勾选“生成横向排名数据”即可,否则就只会生成指标值。而"横向统计序列值”是默认有历史结果的。
此主题相关图片如下:temp.png
3. 代码中调用自定义数据
此主题相关图片如下:temp.png
设置好的自定义数据有名称和序号,可以根据名称或序号去调用该自定义数据。
X1:SELFDATAS('DATA1');//根据名称取得自定义数据的值
X2:SELFDATAN(1);//根据序号取得自定义数据的值
通常SELFDATAS或SELFDATAN默认根据当前运行或监控的品种去取值但是也可以取指定品种去取值。
X1:SELFDATALABELN(1,'RB00');//取序号1的自定义数据 中螺纹连续的数据
X2:SELFDATALABELS(‘DATA1,'RB00');//取名称为DATA1的自定义数据 中螺纹连续的数据
下面是在K线上输出效果,每个K上输出对应日期下的排名结果:
此主题相关图片如下:temp.png
[此贴子已经被作者于2020/7/3 14:41:29编辑过]