6. 統一定義的金融歷史數據表
DataTable是qteasy內置統一定義的數據存儲表。包括:
6.1. 最重要的數據表
trade_calendar– 交易日曆表,包含了所有交易所的交易日曆資訊,包括交易日、交易所代碼、交易所名稱等資訊。可以說這是qteasy運行的基礎,如果缺了這張表,qteasy的很多功能都將無法運行或者將降低效率。qteasy使用這張表中的數據來判斷交易日,如果要下載其他的數據表,通常也必須通過交易日數據表來確定下載的起止日期,因此,這是您應該絕對優先填充的數據表。stock_basic– 股票基本資訊表,包含了所有上市股票的基本資訊,包括股票代碼、股票名稱、上市日期、退市日期、所屬行業、地域等資訊。這張表是很多其他數據表的基礎,例如股票日K線數據表、股票財務數據表等,因此,這也是您應該優先填充的數據表。index_basic– 指數基本資訊表,包含了所有指數的基本資訊,包括指數代碼、指數名稱、發佈日期、退市日期等資訊。這張表是很多其他數據表的基礎,例如指數日K線數據表、指數成分股表等,因此,這也是您應該優先填充的數據表。fund_basic– 基金基本資訊表,包含了所有基金的基本資訊,包括基金代碼、基金名稱、基金類型、基金規模等資訊。這張表是很多其他數據表的基礎,例如基金日K線數據表、基金淨值數據表等,因此,這也是您應該優先填充的數據表。
除了上面提到的幾張重要的數據表之外,數據源中還定義了大量的數據表,這些數據表包含了各種各樣的金融數據,包括股票、指數、基金、期貨、期權等各種金融產品的基本資訊、日K線數據、財務數據、分紅數據、業績報表、宏觀經濟數據等等,主要分類如下:
行情數據表 – 這類數據表包含了股票、基金、指數各個不同頻率的K線行情數據
基本資訊表 – 這類數據表包含了股票、基金、指數、期貨、期權等各種金融產品的基本資訊
指標資訊表 – 這類數據表包含了各種指標的資訊,例如技術指標、基本面指標、宏觀經濟指標等
財務數據表 – 這類數據表包含了上市公司的財務報表數據,包括資產負債表、利潤表、現金流量表等
業績報表表 – 這類數據表包含了上市公司的業績報表數據,包括業績快報、業績預告、業績預測等
分紅交易數據表 – 這類數據表包含了上市公司的分紅數據,以及股票大宗交易、股東交易等資訊表
參考數據表 – 這類數據表包含了各種參考數據,例如宏觀經濟數據、行業數據、交易所數據等
數據表的schema資訊可以通過DataSource對象的get_table_info()方法獲取:
>>> from qteasy import DataSource
>>> ds = DataSource()
>>> ds.get_table_info('trade_calendar')
6.2. 數據表的定義
在qteasy中,每一張數據表都有以下幾個基本屬性:
數據表用途:表示該數據表的用途,不同用途的數據表可用的操作不同。不同的用途包括:
basics表示基本資訊表,finance表示財務數據表,report表示業績報表表,reference表示參考數據表等資產類型:表示該數據表包含的資訊屬於哪種資產類型。不同的資產類型包括:
E表示股票,IDX表示指數,FD表示基金,FT表示期貨,OPT表示期權等數據頻率:表示存儲的數據的頻率,不同的數據頻率包括:
mins表示分鐘級別數據,d表示日頻數據,w表示周頻數據,m表示月頻數據,q表示季頻數據,y表示年頻數據,none表示無頻率數據分表資訊:對於某些數據表,由於數據量極大,因此需要分表存儲,與分表相關的屬性包括分表數量以及分表字段等
數據表的
SCHEMA:數據表的SCHEMA定義了數據表的所有字段和數據類型
數據表的SCHEMA定義了數據表的所有字段和數據類型,SCHEMA各個字段的含義如下:
columns– 字段名dtypes– 字段數據類型,varchar表示字符串類型,int表示整數類型,float表示浮點數類型,date表示日期類型,text表示文本類型remarks– 字段備註is_prime_key– 是否是主鍵,Y表示是主鍵,N表示不是主鍵
6.3. 交易日曆表的定義:
以最重要的交易日曆表爲例,它的屬性及SCHEMA定義如下:
交易日曆表: trade_calendar
數據表用途: basics, 資產類型: none, 數據頻率: none
columns |
dtypes |
remarks |
is_prime_key |
|
|---|---|---|---|---|
0 |
cal_date |
date |
日期: 格式YYYYMMDD |
Y |
1 |
exchange |
varchar(9) |
交易所:SSE上交所,SZSE深交所,CFFEX 中金所,SHFE 上期所,CZCE 鄭商所,DCE 大商所,INE 上能源 |
Y |
2 |
is_open |
tinyint |
是否交易:是:1,否:0 |
N |
3 |
pretrade_date |
date |
上一交易日 |
N |