當可以登入後,我們首先要做的是取得商品資料,有商品才能做後續的交易,因此要取得商品或合約資訊。
本篇主要是參考文件:https://sinotrade.github.io/tutor/contract/
首先登入,一樣套用import shioaji as sj
,並且登入,然後把可取得的商品資料印出。
# 載入shioaji套件
import shioaji as sj
# Initialization
api = sj.Shioaji()
# Login: (ID, password)
accounts = api.login(
"註冊的ID",
"註冊的密碼",
contracts_cb=lambda security_type: print(f"{repr(security_type)} fetch done."),
)
這邊顯示商品以及其代碼:
<SecurityType.Index: 'IND'> fetch done.
<SecurityType.Future: 'FUT'> fetch done.
<SecurityType.Stock: 'STK'> fetch done.
<SecurityType.Option: 'OPT'> fetch done.
使用:api.Contracts
,可以取得合約資訊,也就是商品的基本資料。這邊後面接Stock
,表示股票資訊,然後再用股票代碼,就可以取得資訊。
contract_0050 = api.Contracts.Stocks["0050"]
print(contract_0050)
以0050
來說,可以取得商品代碼、名稱,漲跌最大樹等等。
exchange=<Exchange.TSE: 'TSE'> code='0050' symbol='TSE0050' name='元大台灣50' category='00' unit=1000 limit_up=154.1 limit_down=126.1 reference=140.1 update_date='2021/09/17' margin_trading_balance=6478 day_trade=<DayTrade.Yes: 'Yes'>
在股票中的資料型態為:
exchange (Exchange): Attributes of industry.
{OES, OTC, TSE ...etc}
code (str): Id.
symbol (str): Symbol.
name (str): Name.
category (str): Category.
limit_up (float): Limit up.
limit_down (float): Limit down.
reference (float): Reference price.
update_date (str): Update date.
margin_trading_balance (int): Margin trading balance.
short_selling_balance (int): Short selling balance.
day_trade (DayTrade): Day trade.
{Yes, No, OnlyBuy}
同樣的api.Contracts
,後面接Futures
,接著就是期貨的代碼,這邊會這樣的格式:「期貨代碼」+「月份」+「年的個位數」。其中月份為1~12月的英文代碼,分別從A
到L
。
contract_txf = api.Contracts.Futures["TXFJ1"]
print(contract_txf)
然後印出的結果如下:
code='TXFJ1' symbol='TXF202110' name='臺股期貨' category='TXF' delivery_month='202110' underlying_kind='I' unit=1 limit_up=19023.0 limit_down=15565.0 reference=17294.0 update_date='2021/09/18'
在股票中的資料型態為:
code (str): Id.
symbol (str): Symbol.
name (str): Name.
category (str): Category.
limit_up (float): Limit up.
limit_down (float): Limit down.
reference (float): Reference price.
update_date (str): Update date.
delivery_month (str): Delivery Month.
underlying_kind (str): Underlying Kind.