5. 管理历史数据的类型——DataType对象
DataType 用于以「名称 + 频率 + 资产类型」三元组的方式描述单一历史数据类型,是 数据管线与策略声明历史数据需求时的统一语言。qteasy 预置了大量常用 DataType, 也支持通过文档中介绍的接口定义用户自定义数据类型。
- class qteasy.DataType(name: str = '', *, freq: Optional[str] = None, asset_type: Optional[str] = None)[源代码]
qteasy 中用于描述单一历史数据类型(名称、频率与资产类型)的核心对象。
每个 DataType 由
name、freq和asset_type三要素唯一确定,可用于 统一声明策略所需的数据、驱动get_history_data_from_source()等内部取数流程, 并在需要时扩展出自定义数据类型。关于完整的数据类型表与自定义流程,见文档 「DataType 与历史数据类型管理」章节。示例
下面示例展示 DataType 类名(稳定输出)。实际创建 DataType 时,需要提供 name/freq/asset_type:
>>> import qteasy as qt >>> qt.DataType.__name__ 'DataType'
- property asset_type: str
资产类型的字符串表示形式,如’E’或’E,IDX’
- property asset_type_str: str
资产类型的字符串表示形式,如’E’或’E,IDX’
- property asset_types: list
所用用户定义的资产类型列表
- property data_table_names
获取数据表名称,优先使用用户定义的数据表名称,如果没有用户定义的数据表名称,则使用内置数据表名称
- property dtype_id
形如:close_E_d
- get_available_time(asset_type=None) Optional[str][源代码]
数据类型在一天之内开始可用的时间,如收盘价在15:00可用,开盘价在9:30可用,高频数据没有可用时间
5. Properties
- asset_type: str
资产类型,如’E’、’IDX’、’FD’等,因为现在支持多资产类型,所以需要指定资产类型以获取对应的可用时间
- get_data_from_source(datasource, *, symbols: Optional[str] = None, starts: Optional[Union[str, Timestamp]] = None, ends: Optional[Union[str, Timestamp]] = None)[源代码]
Datatype类从DataSource类获取数据的方法,根据数据类型的获取方式,调用相应的方法获取数据并输出
如果symbols为None,则输出为un-symbolised数据,否则输出为symbolised数据
- 参数:
datasource (DataSource) – 数据类型对象
symbols (str) – 股票代码列表,一个逗号分隔的字符串,如’000001.SZ,000002.SZ’
starts (str) – 开始日期, YYYYMMDD格式
ends (str) – 结束日期, YYYYMMDD格式
- property id
忽略数据频率的ID形如:close(E),用于标记不同资产类型的数据
- property unsymbolized
return True if this data type is unsymbolized data type (i.e. reference data type)