5. 管理历史数据的类型——DataType对象

DataType 用于以「名称 + 频率 + 资产类型」三元组的方式描述单一历史数据类型,是 数据管线与策略声明历史数据需求时的统一语言。qteasy 预置了大量常用 DataType, 也支持通过文档中介绍的接口定义用户自定义数据类型。

class qteasy.DataType(name: str = '', *, freq: Optional[str] = None, asset_type: Optional[str] = None)[源代码]

qteasy 中用于描述单一历史数据类型(名称、频率与资产类型)的核心对象。

每个 DataType 由 namefreqasset_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)