Table of Contents
大數據隨著晶片計算能力的提升,在現代社會越顯重要,尤其在複雜的金融市場,如何判斷一產業的趨勢和一間公司的前景,直覺的判斷常常存在偏誤,而以大量數據作為分析基礎,更能客觀研究標的物。
TEJ 建立了免費的試用資料庫,提供近一年的各式財務資料,包括營運面、交易面、財務面、基金、期貨、選擇權和不動產,作為程式財金分析的起始是 CP 值非常高的資料庫了,這些資料可以應用於制定交易策略、投資風險評估和定價模型等等,話不多說馬上來跟著我們一步步來做吧!
本文章使用 Mac OS 並以 Jupyter Notebook 作為編輯器
import tejapi
import pandas as pd
import numpy as np
Note: tejapi 安裝以命令提示字元 (Windows)/終端機 (Mac),輸入 pip install tejapi
Step 1. 點選 TEJ API 網址
Step 2. 點選申請試用,輸入基本資料
Step 3. 檢視簡訊,收取認證碼
Step 4. 輸入認證碼
Step 5. 申請成功
Step 6. 檢視Email
在 TEJ API 資料庫清單可以看到試用資料庫,點選後我們可以看到試用資料庫的內容非常豐富
現在就試試看把最近很夯的長榮2603的日收盤價和交易量抓出來,點選公司交易面資料下面「上市(櫃)未調整股價(日)」後面的詳細說明
接下來就可以開始玩這些資料了!開啟 Jupyter Notebook
tejapi.ApiConfig.api_key = "your key"
將等號後面的 your key 替換成我們上面申請的金鑰
data = tejapi.get('TRAIL/TAPRCD')
每一個資料表都有專屬的代碼,TRAIL/TAPRCD 是上市(櫃)未調整股價(日)的專屬代碼,我們使用 tejapi 的屬性 get 來獲得此資料表,並儲存在data
這個變數
但這樣會把所有的資料都下載下來,但我們只想找長榮2603的特定資料,這時就要增加欄位的篩選,根據欄位說明來選出我們要的資料
篩選條件
coid 證券代碼
mdate 日期 (gte起始日、lte終止日)
opts 欄位 (選擇:日期、收盤價、成交量)
chinese_column_name 是否以中文顯示
data = tejapi.get('TRAIL/TAPRCD',
mdate={'gte':'2020-01-01', 'lte':'2020-12-31'},
coid='2603',
opts={'columns':['mdate','close_d', 'volume']},
chinese_column_name=True
)
是否發現電腦顯示的日期格式和我們照片裡的不太一樣,可以試著加入這一行代碼,只顯示以日為單位的資料
tejapi.ApiConfig.ignoretz = True
最後將「年月日」轉換成 index 就完成我們要的資料集了
data.set_index('年月日', inplace=True)
今天展示了如何使用 TEJ API 的免費試用資料庫,裡面還有很多的資料等著我們去挖掘,有了這些資料我們可以去做更進階的分析,比如制定程式交易、評估投資風險等等,在此文章底下的延伸閱讀可以看到其他應用,如果想要使用更長時間的資料或是其他專業財金資料,推薦使用斜槓方案組合,對於制定我們的策略會更加的完善!
電子報訂閱