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)