【D21】修改食谱#2:根据市价,模拟小台改价

前言

昨天已经模拟出改价了,现在更进阶,使用小台的现价来改价。

参考网站: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来处理这两个订阅的内容。

修改trader

昨天的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 起步走

未来狂想:天气气候监测领域

人的科技文明发展始终来自於人性 在科技进步的情况之下,我们已经习惯於使用科技的帮助来介入我们的生活,...

第 25 集:Bootstrap 客制化 RFS 响应式文字

此篇会介绍 Bootstrap 中的 rfs,是如何做到依据视窗大小,来计算适合的元素尺寸。 浅谈...

DAY1 自我介绍及任务规划

我是谁为何要参与 您好我是阿刘,是一名就读资讯管理的同学,之所以会想要参加这个挑战,是因为经历过了社...

DAY11-EXCEL统计分析:卡方检定介绍

卡方检定 下一章节会利用到卡方检定,所以在我们进入下一章节前就先来认识甚麽是卡方检定吧! 卡方检定有...

证照制度:专业分工时代的基石

下载2021年学习成长-PMI证照分享投影片 ...