iT邦幫忙

2021 iThome 鐵人賽

DAY 4
0
永豐金融APIs

永豐證API X Python系列 第 4

【D4】初步探索廚房器具:登入與帳號

前言

在教學文章中,說的很簡潔,可以快速上手,但有些細節就是要逐步進去看才知道。因此本篇會著重在登入的部份,看看有什麼可以玩的。


登入

在一切一切的開始都是要登入,而這邊會使用Login篇章。

首先使用官方的登入程式碼:

# 載入shioaji套件
import shioaji as sj

# Initialization
api = sj.Shioaji()

# Login: (ID, password)
accounts = api.login("自己的身分證", "自己的密碼")

會顯示這樣的資料:

Response Code: 0 | Event Code: 0 | Info: host '203.66.91.161:80', hostname '203.66.91.161:80' IP 203.66.91.161:80 (host 1 of 1) (host connection attempt 1 of 1) (total connection attempt 1 of 1) | Event: Session up

這樣就簡單的登入自己的帳號。

觀察login功能

如果在login功能中,輸入contracts_cb參數,就會顯示自己的帳號狀態,如證券文件是否簽署過等等。

這邊使用虛擬環境:

api = sj.Shioaji(simulation=True)
accounts = api.login(
    person_id="PAPIUSER01",
    passwd="2222",
    contracts_cb=lambda security_type: print(f"{repr(security_type)} fetch done."),
)

會顯示這樣的結果:

<SecurityType.Index: 'IND'> fetch done.
<SecurityType.Stock: 'STK'> fetch done.
<SecurityType.Future: 'FUT'> fetch done.
<SecurityType.Option: 'OPT'> fetch done.

不過這個顯示需要等待,可以設定中斷點讓他資料跑出來
如果看accounts的資料,就可以看到自己的一些帳戶資料,裡面有股票與期貨帳號兩類,並且包含:account_id、broker_id、person_id、signed、username等等資訊可以進去裡面挖。

https://ithelp.ithome.com.tw/upload/images/20210918/20103826rUFBFH4xE9.png

可以看到我這邊有開戶證券,但是期貨的帳戶signed:False

運用

為什麼會需要帳戶資訊呢?因為一個人可以在同一個券商開多個戶頭,因此可以選擇這時候下單的帳號是哪個,由哪個帳號管理庫存。而這個多帳號的情況,有時也會發生於比較有資本的客戶身上,因為他們避免被別人發現它們購買哪些公司,他們屆會分散股票到各個分公司中,讓別人不要操作我自己的股票。因此這些都是需要多個帳號才能解決問題。


上一篇
【D3】發現廚房不能用,需要更換廚房環境: 使用Python 3.8
下一篇
【D5】取得廚房鑰匙:下載憑證
系列文
永豐證API X Python30

尚未有邦友留言

立即登入留言