Skip to content

快速入門

只需像使用其他流行的 Python 套件一樣,導入我們的應用程式介面並新建實例即可開始使用我們的應用程式介面。

注意

在開始前請還需完成前置作業,包含開戶服務條款Token

登入並啟用憑證

import shioaji as sj

api = sj.Shioaji()
accounts =  api.login("YOUR_API_KEY", "YOUR_SECRET_KEY")
api.activate_ca(
    ca_path="/c/your/ca/path/Sinopac.pfx",
    ca_passwd="YOUR_CA_PASSWORD",
    person_id="Person of this Ca",
)
import shioaji as sj

api = sj.Shioaji()
accounts = api.login("YOUR_PERSON_ID", "YOUR_PASSWORD")
api.activate_ca(
    ca_path="/c/your/ca/path/Sinopac.pfx",
    ca_passwd="YOUR_CA_PASSWORD",
    person_id="Person of this Ca",
)

認證路徑

Windows環境下複製文件路徑時用\分隔文件,需要用/替換。

訂閱行情

訂閱行情需將合約帶入 subscribe 功能,並指定行情類型,就可以接收資料。

api.quote.subscribe(api.Contracts.Stocks["2330"], quote_type="tick")
api.quote.subscribe(api.Contracts.Stocks["2330"], quote_type="bidask")
api.quote.subscribe(api.Contracts.Futures["TXFC0"], quote_type="tick")

行情類型

目前我們支持 shioaji.constent.QuoteType 中的兩種行情類型。最好的使用方法是直接將這個枚舉類型傳入 subscribe 函數。

下單

與上面訂閱行情的方法雷同,需將合約及定義下單資訊帶入 place_order 函數,然後它將返回描述您交易狀態。

contract = api.Contracts.Stocks["2890"]
order = api.Order(
    price=12,
    quantity=5,
    action=sj.constant.Action.Buy,
    price_type=sj.constant.StockPriceType.LMT,
    order_type=sj.constant.OrderType.ROD,
)
trade = api.place_order(contract, order)

總結

這個快速入門演示了我們使用原生 Python 的套件是有多簡單,與許多其他交易應用程式介面不同。我們致力於為用戶提供更具有 Python 特色的交易應用程式介面。