"Tick"代表"檔位",那什麼是檔位呢?" 檔位"就是當我們在買賣股票時會看到股票依成交價格上下跳動的固定升降單位,由證交所所訂定,分為6個級距,每股市價未滿10元者,升降單位為0.01元,10元至未滿50元者為0.05元、50元至未滿100元者為0.1元、100元至未滿500元者為0.5元、500元至未滿1000元者為1元、1000元以上者為5元,這裡可供參考。而我們用API去取ticks就等於是在取得股票的每筆成交資料。
在這邊我們一樣以"永豐金"為例,代碼為「2890」
我們來試著抓取前一天的Ticks資料
以下為其程式碼
ticks = api.ticks(
contract=api.Contracts.Stocks["2890"], #先用Contract傳入要抓取Ticks的公司資料
date="2021-09-27" #要抓取的交易日期
)
print(ticks)
那抓出來的資料會呈現以下這樣
為了讓我們更加方便觀看及瀏覽想要的資訊,我們必須要再把它轉為DataFrame的形式
但在將資料轉成DataFrame之前,我們勢必要做一個動作,就是先安裝pandas
"pandas"是用於python語言當中拿來做數據分析及操縱的軟體函式庫,可以把它想像成跟excel一樣用來對資料做計算、分析或制定圖表,有了它,我們就可以更方便且更快速的對大量的資料做處理。
用以下程式碼安裝pandas
pip install pandas
首先,我們先引入pandas並命名為pd
import pandas as pd
接著輸入以下程式碼
df = pd.DataFrame({**ticks}) #將ticks資料轉換為DataFrame形式
df.ts = pd.to_datetime(df.ts) #將ts欄位轉換為datetime格式,ts為時間
print(df) #將已轉換成DataFrame的資料輸出至終端機
左下角的「1577 rows」代表有著1577筆的ticks資料