给商品期货策略加上一个闹钟--策略中的定时设计

经常有设计策略的朋友问我,如何给策略设计定时功能,让策略在指定的时间去处理某些任务。例如,一些日内策略,需要在下午收盘前平仓。类似这样的需求在策略中要如何设计才好。一个策略里面可能要用到很多时间控制,这样来说我们把时间控制功能封装起来最好,最大程度降低时间控制代码与策略的耦合性,让这个时间控制模块可以复用,并且在使用方面简洁易懂。

俄罗斯超越哈萨克斯坦成为世界第二大比特币挖矿国家:4月8日消息,截至2023年一季度末,俄罗斯已经超越哈萨克斯坦,成为全球比特币挖矿能力第二大的国家。《莫斯科时报》援引Bittriver数据显示,今年前三个月俄罗总计产生了1GW比特币挖矿电力,而美国仍然排名第一,同期产生了3-4 GW的比特币挖矿电力,据悉这也是俄罗斯首次成为世界第二大加密货币挖矿国家。[2023/4/8 13:51:52]

设计一个“闹钟”

以太坊Layer 2总锁仓量回升至57.8亿美元,7日涨幅5.44%:金色财经报道,据L2BEAT数据显示,当前以太坊Layer 2总锁仓量回升至57.8亿美元,7日涨幅5.44%。其中,锁仓量前五分别为:Arbitrum One(28.5亿美元,7日涨幅2.91%);Optimism(19.2亿美元,7日涨幅10.44%);dYdX(3.94亿美元,7日跌幅0.94%);Metis Andromeda(1.47亿美元,7日涨幅5.92%);Loopring(1.16亿美元,7日涨幅7.18%)。[2023/2/6 11:49:35]

我们设计并实现了一个创建闹钟对象的函数,其它语言直接可以设计一个闹钟类。

Web3协议Koop融资500万美元,1confirmation和Variant Fund领投:8月31日消息,专注于创造者经济的 Web3 协议 Koop 筹集了 500 万美元的资金,由 1confirmation 和 Variant Fund 领投。Palm Tree Crew、Day One Ventures、Ethereal Ventures、DeFi Alliance、Volt Capital 等参投。包括加密影响者 Cooper Turley、前 Coinbase 首席技术官 Balaji Srinivasan 和前红杉合伙人刘江在内的天使投资者也支持了这一轮融资。

Koop 于今年早些时候由 21 岁的女性创始人 Natalia Murillo 创立。Koop 让创作者组织和管理他们的社区,并允许社区做出贡献。Koop 目前有 5 名员工为 Koop 工作,而 Murillo 正在寻求再招聘 3 名工程师担任工程职位。[2022/8/31 13:00:38]

设计好构造“闹钟”对象的函数,在使用时只需一行代码即可创建一个“闹钟”对象。

例如,创建一个对象t,并且定时每天14:58触发。

可以再创建一个对象t1,定时每天9:00触发。

测试策略

我们写一个测试用的策略,策略使用最简单的均线系统,策略只是用来测试而已不用在意收益情况。策略计划在每天9:00开盘时,根据日均线金叉、死叉判定开仓,并且在下午14:58时平仓。

在策略中放入我们已经实现的CreateAlarmClock函数,并且在main函数开始部分构造两个“闹钟”对象。在策略判断开仓、平仓的位置,加上“闹钟”对象调用Check函数的代码,如代码中注释掉的部分。

回测运行

可以看到回测,早上9点之后开仓,下午14:58开始平仓。也可以用于多品种策略,在多品种策略中可以创建多个这样的“闹钟”对象,用于多品种的时间控制,互不影响。

Python语言实现闹钟类

实现以及测试代码:

回测测试运行:

需要注意的是,回测测试运行,底层K线周期不能设置过大,否则可能直接跳过时间检测的点导致没有触发。

策略代码仅仅抛砖引玉提供思路,感谢阅读。

来源:金色财经

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

银河链

[0:15ms0-1:630ms