【D23】修改食谱#3:不知道来的客人是谁,先设定预设值

前言

在昨天的范本中,前提是先拿到期货的交易资料,可是万一是选择权先到呢?我们那个弱弱的预设值是不太能用的,最好是一个真正的数值才是比较准。

本日程序码使用:d23_set_default.py


增加功能函式-init_pirce

这次要用的方法是使用第12天的snapshot,就是把选择权和期货当下的值取得,然後当作我们的预设值,而这个函式就是init_pirce()

在这个方法中,会带入两个参数,分别是期货和选择权的合约,也就是昨天订阅用的api.Contracts.Futures.TXF["TXF202110"]以及api.Contracts.Options.TX2.TX2202110016300C。详细的程序码如下:

def init_pirce(self, contract_txf, contract_opt):
    snapshot_txf = self.api.snapshots([contract_txf])
    snapshot_opt = self.api.snapshots([contract_opt])

    self.txf = snapshot_txf[0]["close"]
    self.diff = snapshot_txf[0]["change_pric"]
    print(f"The TXF price={self.txf}")

    self.txo = snapshot_opt[0]["close"]
    print(f"The TXO price={self.txo}")
)

取得snapshot资料後,就把这个收盘价当作预设值,并且记录价差。这边会记录期货和选择权的收盘价价格,主要用来确定我们的资料是否正确。像是收到:

The TXF price=16777.0
The TXO price=515.0

於是上网检查价格和点数是否正确,结果都正确,表示这个snapshot是可以用的!

修改主程序

增加新功能函式後, 我们就把这个加到我们主程序中,就可以设定我们的预设值罗~记得要在订阅之前,不然预设值就是为0。

t = trader()
t.login()

t.init_pirce(
    t.api.Contracts.Futures.TXF["TXF202110"],
    t.api.Contracts.Options.TX2.TX2202110016300C,
)

<<:  Day 22 - Blocking & Non-blocking Mode

>>:  # Day 28 Page Migration (三)

Vue.js指令(v-on)绑定(DAY29)

v-on (事件绑定) v-on是用来绑定event事件的指令,就像之前javascript介绍过...

学习Python纪录Day13 - Web API、JSON

Web API Open data是一种Web API,使用HTTP请求来执行其他系统提供功能来存取...

【後转前要多久】# Day02 HTML - 基本观念复习

基本上网页与HTML、CSS、JavaScript息息相关, 虽然有办法、但很难去完整地分别拆开来讲...

sklearn dataset make_moons() make_circles()

有趣的toy datasets make_moons() make_circles() 取自skle...

JavaScript学习日记 : Day9 - 执行环境(Execution Context)

执行环境就是当前Javascript代码被执行时所在的环境,Javascript在运行任何代码都是在...