上上篇已經寫了一個Flask API的Hello World,
現在我們的Flask API要開始串接永豐證券API的方法。
(1)第一步驟是匯入我們要用的庫,
值得注意的是我這次會用到json作為API傳輸資料的格式
import flask
from flask import jsonify
import shioaji as sj
from shioaji.data import Ticks
import json5
(2)撰寫Flask API內容,
app.route先設定方法路徑,
一樣老方法登入我們的永豐API去取得最後五筆Ticks的資料,
而Ticks裡面有很多個list,我們以成交價close作範例,
我們取得tick中的close list,
用json5.dumps的方法將list轉成json string並回傳
@app.route('/testdata', methods=['GET'])
def test_tick():
api = sj.Shioaji(simulation=True)
api.login(
person_id="PAPIUSER01",
passwd="2222",
contracts_cb=lambda security_type: print(f"{repr(security_type)} fetch done.")
)
tick = api.ticks(
contract=api.Contracts.Stocks["2330"],
date="2021-09-17",
query_type=sj.constant.TicksQueryType.LastCount,
last_cnt=5
)
return json5.dumps(tick['close'])
app.run()
(3)呼叫該url結果如下
這樣就代表成功了,
之後我們的流程就是用client端的專案呼叫這些Flask API,
再進行資料視覺化。