Q:天软取表格数据中(Infotable|Marketable|Tradetable)字段StockName的说明
简述
在取天软数据表格时,取同样一段时间的数据,会发现最新取到的StockName可能会与历史取到的数据存在差异?
这是什么原因?
A:
在天软的数据表格中(基本面表、行情数据表),表格实际并不存在StockName这个字段。
这个在数据字典的各表结构介绍中可以看出,都不包含这个字段的介绍。
用户在通过关键字Infotable|Marketable|Tradetable进行表格数据的提取时,考虑到StockName是常用的数据,天软在这中间做了一层视图,自动从RD(可理解为盘口)中匹配到当前证券的名称并补充到表格中,一起返回。
因此,用户在使用的过程中,容易产生两类疑问:
第一类:为什么取同一段时间的表格数据,今天取的跟之前取的StockName不一样?
原因是:表格中实时取到的StockName表示的是取数时当时盘口中StockID对应的名称信息,即为现在的名称状态,不能代表时间序列相关数据的指定日的名称信息。
第二类:在取期货期权名称时,为什么有些合约的StockName会等于StockID,而有些合约表现为中文名称?
原因是:1、盘口的名称依赖于各交易所推送的数据,实时行情中,部分品种不包含中文名,部分品种包含中文名,与品种相关。
即,有些交易所的合约名称就是StockID,特别是期货非常常见。
2、在通过RD(1)取StockName的数据时,若是盘口中这个合约代码的没有数据时(比如近期才上市,但是极度不活跃,盘口还没有它有数据,也就取不到它的盘口名称),则会从天软底层的配置表中去获取,而天软的配置表中一般配置的是中文名称。
此时,就可能出现同一个品种的合约只有个别合约的StockName表现为中文名称的现象。
相关问题解决方案:
1、若用户想统一取合约的中文名称,可以通过函数StockName(StockID)进行获取。
2、用户若需要历史指定日当时的名称,需要通过跟时间相关的基本面数据进行获取。
比如,股票在指定日的真实名称,可通过股票.名称变更表(14)获取,也可以通过由该表封装的公用函数stockNameEndt(stockID,Endt)获取。
再比如,历史指定日期权名称,可通过期权.期权基本信息(720)表中的“合约简称”获取,该表是每日一条记录,能够很清楚地记录每日的名称情况。