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)