當我們要使用交易,或是做策略的時候,歷史資料是不可或缺的,這邊就使用Shioaji的歷史資料功能。
根據教學,我們簡單的import進入,並且觀察他
from shioaji.data import Ticks
Ticks??
會有這樣的資訊:
Init signature: Ticks(**data:Any) -> None
Docstring: <no docstring>
Source:
class Ticks(BaseModel):
ts: typing.List[int]
close: typing.List[float]
volume: typing.List[int]
bid_price: typing.List[float]
bid_volume: typing.List[int]
ask_price: typing.List[float]
ask_volume: typing.List[int]
File: shioaji/data.py
Type: ModelMetaclass
可以看到他的資料結構,還有最佳五檔的買賣價格與數量資訊。
使用ticks()
功能,並且用我們昨天的Contracts.Stocks["代碼"]
功能,取得Shioaji
中的合約物件,並且指定日期date
,就可得到該股票特定日期的交易資訊
ticks = api.ticks(
contract=api.Contracts.Stocks["2330"],
date="2020-03-04"
)
ticks
就會出來這樣的資料:
Ticks(
ts=[1583312400821000000, 1583312405836000000, 1583312410849000000, 1583312415864000000, 1583312420877000000],
close=[322.0, 321.5, 321.0, 321.0, 321.0],
volume=[5098, 91, 126, 59, 90],
bid_price=[321.5, 321.0, 321.0, 321.0, 321.0],
bid_volume=[5, 100, 94, 78, 20],
ask_price=[322.0, 321.5, 321.5, 321.5, 321.5],
ask_volume=[646, 13, 31, 86, 199]
)
歷史資料感覺可以玩很多,就繼續挖看看可以看到啥。