视觉化KBARS(2)-python api

上篇大概介绍一下我们所运用的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後,明天要做资料的处理。


<<:  【Day24】I2C Master 的实现及验证(最终章)

>>:  Day 24 Redux 简介

Day11 X Lazy Loading

还记得昨天 Virtualized List 篇章开头放的 Facebook demo 影片吗?有...

[区块链&DAPP介绍 Day2] 区块链技术介绍

今天来稍微简单介绍一下区块链的技术介绍。 我们可以谈谈为什麽区块链可以储存数据,不用害怕被篡改,就是...

[Day15] 第十五章-建立skill的model跟migration

前言 昨天我们把使用者的API 做了一个阶段的完结 今天我们来见使用者技能的资料模型跟migrati...

Day 17 大流量网路安全-Anti-DDoS

前面我们持续带入新的服务利用架构的方式解决网站负载问题,在资安方面使用了应用防火墙(WAF)能有效...

Day 10 JavaScript CSS in JS

Why CSS in JS? 以前在网页开发的时候有一个原则叫做关注点分离(Separation o...