昨天已经模拟出改价了,现在更进阶,使用小台的现价来改价。
参考网站:Futures
本日程序码使用:d21_change_MXF_by_tick.py
根据昨天的程序进行修改,做成我们今日的程序码。最主要的变动是在trader
中修改了改价的逻辑。
不过首先要看主程序码,因为这边订阅了两个商品的行情:
timer = threading.Thread(target=sleeper) # 建立执行绪
t = trader()
t.login()
t.subscribe(t.api.Contracts.Futures.TXF["TXF202110"]) # 订阅台指期-2021/10
t.subscribe(t.api.Contracts.Futures.MXF["MXF202110"]) # 订阅小台指期-2021/10
t.api.quote.set_quote_callback(t.quote_callback) # 设定处理回报的功能
timer.start() # 执行thread
timer.join() # 等待结束thread
t.unsubscribe(t.api.Contracts.Futures.TXF["TXF202110"]) # 取消订阅台指期-2021/10
t.unsubscribe(t.api.Contracts.Futures.MXF["MXF202110"]) # 取消订阅小台指期-2021/10
这边订阅了TXF和MXF,分别是大台和小台。而这边用t.quote_callback
来处理这两个订阅的内容。
昨天的quote_callback()
功用只是印出行情资料,不过这边要改成纪录大小台的目前价格,以及根据大小台进行小台的价格处理。
def quote_callback(self, topic: str, quote: dict):
"""Get the quote info and change the oder price.
The quote's format is v0: quote is a dict and the value is a list.
"""
print(
f"{topic}-Price:[{quote['Close']}]Diff:[{quote['DiffPrice']}]volumn:[{quote['Volume']}]"
)
if topic.find("/TXF") > 0:
self.txf_point = quote["Close"] # 设定大台目前的价格
self.change_price(quote["Close"], True, 10)
elif topic.find("/MXF") > 0:
self.mxf_point = quote["Close"] # 设定小台目前的价格
def change_price(self, price, diff, points):
"""Simulate to change the price of the order."""
self.mxf_price = price[0] - points if diff else price[0] + points
print(f"小台:current price:{self.mxf_point}-new price:{self.mxf_price}")
在quote_callback()
中,使用字串.find("/TXF")
功能,找出这个行情topic是属於谁的,如果是大台进入修改目前大台的价格,并且进入修改价格-也就是change_price()
-的地方。如果是小台的话,只是修改价格。
而在change_price()
则把昨天的简单化,修改成用大台的点数-10的方式,当作小台的价格进行挂单作业。
到这边有没有发现,其实小台的价格跟昨天一样,并不重要,因为在计算中没有使用到小台的价格。其实运用可以很多种,这个是只用大台的点数价格当作小台的价格,我们也可以这样运用,就是判断大台和小台哪个比较小,然後用小的价格再减去一个数值,最後的数字就是我们委托单价格。诸如此类的运用。
不过这样点数差距很大,除非穿价很厉害,不然很难打到我们这样的算法XD
这只是一种订阅的方式,以及运用的实例展示,真正的交易不会这麽随便的!
<<: Day20 - this&Object Prototypes Ch3 Objects - Review 开头
>>: [第二十只羊] 迷雾森林舞会XIV 进房间聊天 hotwire + stimulus 起步走
人的科技文明发展始终来自於人性 在科技进步的情况之下,我们已经习惯於使用科技的帮助来介入我们的生活,...
此篇会介绍 Bootstrap 中的 rfs,是如何做到依据视窗大小,来计算适合的元素尺寸。 浅谈...
我是谁为何要参与 您好我是阿刘,是一名就读资讯管理的同学,之所以会想要参加这个挑战,是因为经历过了社...
卡方检定 下一章节会利用到卡方检定,所以在我们进入下一章节前就先来认识甚麽是卡方检定吧! 卡方检定有...
下载2021年学习成长-PMI证照分享投影片 ...