iT邦幫忙

2021 iThome 鐵人賽

DAY 4
0
永豐金融APIs

永豐金融APIs - 從零開始到放棄!?系列 第 4

基本操作 - 登入,取得市場清單

引用 Shioaji

要使用 shioaji 的話,一開始要先引用,這一段就是引用並給予一個簡稱 sj

import shioaji as sj

如果是使用 jupyter notebook,可以使用以下使指令查看物件的屬性和方法

sj.Shioaji?

初始化 api 物件

根據上一段程式碼執行的結果,可以看到 api 初始化有 4 個參數:

  • backend: http(預設), socket(文件說暫時沒有支援,日後有需要再測試)
  • simulation: 預設 False,使用申請的帳號登入
  • proxies: proxy 設定, ex: { 'https': 'your-proxy-url' }
  • currency: 預設 NTD

如果沒有特別的需求,直接始用以下指令就可以初始化 api 了

api = sj.Shioaji()

登入

api.login(person_id="帳號-身份證字號", passwd="密碼")

列出所有帳號:

api.list_accounts()

設定預設帳號

api.set_default_account(api.list_accounts()[0])

設定憑證

  1. 下載專區,下載 憑證管理小AP
    download ca ap

  2. 執行後,就會自動申請憑證

  3. 申請完後可以申新憑證的密碼,然後把這個憑證 copy 到指定的地方,我這就直接放在同一個目錄,方便測試

  4. 啟用憑證
    ca_path 是憑證的路徑,因為我是放在同一個目錄下,所以直接打檔名

api.activate_ca(ca_path='Sinopac.pfx', ca_passwd='密碼', person_id="帳號-身份證字號")

查看市場清單

英文是 Contracts,不確定中文怎麼翻,不過我看結果,應該就是指可以交易的市場清單

api.Contracts

可以看到列出以下幾個分類:
Indexs: 指數
- OTC 上櫃指數
- TSE 上市指數
Stocks: 股票
- OES
- OTC 證券交易所
- TSE 櫃買中心
Futures: 期貨
Options: 選擇權

也可以指定而更細的子項目,來取得列表
ex: 取得選擇權

api.Contracts.Futures

ex: 取得台指期

api.Contracts.Futures.TXF

ex: 取得台指期個別資料
ps: TXF202110 是上一個查詢結果裡其中一個,可以依照執行的時候取得的資料來變更

api.Contracts.Futures.TXF.TXF202110

查詢結果如下:

Future(code='TXFJ1', symbol='TXF202110', name='臺股期貨', category='TXF', delivery_month='202110', delivery_date='2021/10/20', underlying_kind='I', unit=1, limit_up=19023.0, limit_down=15565.0, reference=17294.0, update_date='2021/09/18')

以上查詢,也可以使用 code = 'TXFJ1' 來進行查詢

api.Contracts.Futures.TXF['TXFJ1']
# or
api.Contracts.Futures['TXFJ1']

同理,查詢股市也是一樣的,只是 future 換成 stock 而已:
ex: 查詢股市

api.Contracts.Stocks

ex: 查詢 台積電 (2330)

api.Contracts.Stocks.TSE.TSE2330
# or
api.Contracts.Stocks["2330"]

今天先介紹到這,明天再介紹怎麼取得報價


上一篇
官方文件
下一篇
基本操作 - 取得報價
系列文
永豐金融APIs - 從零開始到放棄!?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言