上篇大概介紹一下我們所運用的js與方法,
今天我們要先來寫python api的部分。
(1)首先新增需要的庫
from shioaji.data import Kbars
(2)新增一個kbars的方法,
date_start = request.args.get('date_start')
取得url開始的時間,
date_end = request.args.get('date_end')
取得url結束的時間,
stock_code = request.args.get('stock_code')
取得url股票代碼,
將以上三個參數帶入shioaji api取得kbars的方法,
最後將資料傳回client。
@app.route('/kbars', methods=['GET'])
def test_kbar():
api = sj.Shioaji(simulation=True)
api.login(
person_id="PAPIUSER01",
passwd="2222",
contracts_cb=lambda security_type: print(f"{repr(security_type)} fetch done.")
)
date_start = request.args.get('date_start')
date_end = request.args.get('date_end')
stock_code = request.args.get('stock_code')
kbars = api.kbars(api.Contracts.Stocks[stock_code], start=date_start, end=date_end)
j = {'ts': kbars['ts'], 'Open': kbars['Open'], 'High': kbars['High'], 'Low': kbars['Low'], 'Close': kbars['Close'], 'Volume': kbars['Volume']}
return json5.dumps(j)
回傳json後,明天要做資料的處理。