【深度学习量化生意业务18】盘前盘后回调机制设计与实现——基于miniQMT的 ...

打印 上一主题 下一主题

主题 961|帖子 961|积分 2883

我是Mr.看海,我在尝试用信号处置惩罚的知识积累和思考方式做量化生意业务,应用深度学习和AI实现股票自动生意业务,目的是实现财务自由~  
目前我正在开发基于miniQMT的量化生意业务系统——看海量化生意业务系统。  盘前时间是生意业务者准备当日生意业务计划、分析隔夜数据和市场感情的黄金时段,而盘后则适合总结当日体现、调解策略参数并为次日生意业务做准备。本文将详细介绍盘前盘后回调机制的设计与实现过程,探讨如何在量化生意业务框架中优雅地集成这一功能,使策略开发者可以或许充分使用非生意业务时段举行策略优化和执行。
一、系统架构设计

前文讲到过,策略文件是由初始化设置和重要生意业务逻辑两个核心部分组成,本日则是要在这两个组成部分之外,额外增长两个回调函数,分别处置惩罚盘前和盘后操作。固然这个设置是可选项,不做盘前盘后处置惩罚也是没问题的。
盘前盘后回调机制的系统架构基于事件驱动模型实现。设置数据从GUI层通报至框架层,包含回调开关和时间设置。框架使用反射机制检测策略是否实现了盘前盘后回调接口,并维护状态变量避免重复触发。
触发时,系统构造仅含时间信息的数据结构通报给回调函数,返回的生意业务信号由生意业务管理器统一处置惩罚。
整个设计保持了接口同等性和模块间低耦合,使策略开发者能专注于业务逻辑而非底层实现。
二、策略接口设计

为支持盘前盘后回调,我们在策略模块中界说了两个尺度函数接口:
  1. def khPreMarket(data: Dict) -> List[Dict]:
  2. """盘前回调函数,在每个交易日开盘前执行"""
  3. # 策略逻辑
  4. return signals
  5. def khPostMarket(data: Dict) -> List[Dict]:
  6. """盘后回调函数,在每个交易日收盘后执行"""
  7. # 策略逻辑
  8. return signals
复制代码
这两个函数接口与主策略函数(khHandlebar)接纳雷同的数据格式和返回值结构,确保了接口同等性,低落了用户的学习资本。回调函数接收包含时间信息的市场数据,并返回生意业务信号列表,系统会自动处置惩罚这些信号。
顺便说一句,策略模块中其他两个接口是:
策略主逻辑khHandlebar:
  1. def khHandlebar(data: Dict) -> List[Dict]:
  2.     """策略主逻辑
  3.    
  4.     Args:
  5.         data: 行情数据,格式为 {股票代码: {字段名: 字段值}, "__current_time__": {...}}
  6.               其中包含特殊键"__current_time__",其值为一个字典,包含以下字段:
  7.               - timestamp: 时间戳(整数,秒级)
  8.               - datetime: 格式化的日期时间字符串,格式为"%Y-%m-%d %H:%M:%S"
  9.               - date: 格式化的日期字符串,格式为"%Y-%m-%d"
  10.               - time: 格式化的时间字符串,格式为"%H:%M:%S"
  11.               - raw_time: 原始时间戳(保持原格式)
  12.         
  13.     Returns:
  14.         List[Dict]: 交易信号列表,每个信号字典包含以下字段:
  15.         {
  16.             "code": str,       # 股票代码
  17.             "action": str,     # 交易动作,可选值:"buy"(买入) | "sell"(卖出)
  18.             "price": float,    # 委托价格
  19.             "volume": int,     # 委托数量,单位:股
  20.             "reason": str,     # 交易原因说明
  21.             "order_type": str, # 可选,委托类型,默认为"limit":
  22.                               # "limit"(限价) | "market"(市价) | "best"(最优价)
  23.             "position_type": str,  # 可选,持仓方向,默认为"long":
  24.                                   # "long"(多头) | "short"(空头)
  25.             "order_time": str, # 可选,委托时间,格式"HH:MM:SS"
  26.             "remark": str      # 可选,备注信息
  27.         }
  28.     """
复制代码
以及策略初始化init:
  1. def init():
  2.     """策略初始化"""
复制代码
这里就先不展开说了,回头专门会写文章介绍策略编写框架。
三、用户界面实现

为了让用户可以灵活设置盘前盘后回调,我在GUI界面中设计了专门的设置地区:


  • 复选框控制是否启用盘前盘后回调
  • 时间选择器设定详细的触发时间
这个界面是很简朴的:


这些设置被保存在设置文件中,系统在启动时会加载这些设置,确保每次运行时都应用用户的偏好。界面设计遵循了直观、简便的原则,使用户可以或许轻松理解和操作。
四、回测模式实现

回测模式下,盘前盘后回调的实现必要办理以下关键问题:

  • 时间点识别:系统必要识别新的生意业务日开始和结束
  • 数据处置惩罚:纵然某些时间点缺乏市场数据,也能正确执行回调
  • 信号处置惩罚:回调函数天生的生意业务信号必要被正确处置惩罚
详细实现中,系统会根据汗青数据天生一系列时间点,按时间序次模拟市场运行。当检测到新的生意业务日开始时,先执行盘前回调;当生意业务日结束时,则执行盘后回调。为确保在没有市场数据时也能执行回调,我们实现了一种机制,创建只包含时间信息的数据结构。
五、工具函数支持

为支持盘前盘后回调机制,我们在工具类中增长了一些辅助函数,如is_trade_day方法用于判断某个日期是否为生意业务日:
  1. def is_trade_day(self, date_str: str = None) -> bool:
  2. """判断是否为交易日"""
  3. if date_str is None:
  4.         date_str = datetime.datetime.now().strftime("%Y-%m-%d")
  5. # 解析日期
  6.     date = datetime.datetime.strptime(date_str, "%Y-%m-%d")
  7. # 排除周六和周日
  8. if date.weekday() >= 5:
  9. return False
  10. # 这里可以添加节假日的判断逻辑
  11. return True
复制代码
这些工具函数极大地简化了重要逻辑的复杂度,提高了代码的可读性和可维护性。
六、下一步思量

后边还有几件事要做,做完后回测系统就可以跟大家见面了:


  • 完善不同数据订阅模式与框架的兼容
  • 策略的项目化管理设置
  • 回测结果可视化与评估参数优化
  • 与成熟的回测软件(好比QMT)举行雷同策略的对比,以验证软件的有用性
因此,目前的回测系统还不满足放出来给大家使用的状态,待测试稳固后,快捷的安装包版本以及全部开源代码都会放出来给读者朋侪们使用。
近期我只管加快软件和文章更新的频率,尽早让朋侪们使用上这个软件。


回测系统一览

end、开通miniQMT

上述讲到的系统是基于miniQMT,很多券商都可以开通miniQMT,不过门槛各有不同,很多朋侪找不到合适的券商和开通渠道。这里我可以联系券商渠道帮忙开通,股票生意业务费率是万1,开通成功的朋侪都可以免费使用上边开发的“看海量化生意业务系统”。这个系统还在连续开发的过程中,数据下载的功能已经可以使用,回测部分正在加紧开发,大家可以先开通MiniQMT的权限,这样回测部分的功能放出后就能第一时间用上了~
对于想要开通miniQMT、使用上边开发的“看海量化生意业务系统”的朋侪们,请大家关注一下我的公众号“看海的城堡”,在公众号页面下方点击相应标签即可获取。


相关文章

【深度学习量化生意业务1】一个金融小白尝试量化生意业务的设想、畅享和遐想
【深度学习量化生意业务2】财务自由第一步,三个多月的尝试,找到了最合适我的量化生意业务路径
【深度学习量化生意业务3】为了轻松免费地下载股票汗青数据,我开发完成了可视化的数据下载模块
【深度学习量化生意业务4】 量化生意业务汗青数据洗濯——为后续分析扫清停滞
【深度学习量化生意业务5】 量化生意业务汗青数据可视化模块
【深度学习量化生意业务6】优化改造基于miniQMT的量化生意业务软件,已开放下载~(已完成数据下载、数据洗濯、可视化模块)
【深度学习量化生意业务7】miniQMT快速上手教程案例集——使用xtQuant举行汗青数据下载篇
【深度学习量化生意业务8】miniQMT快速上手教程案例集——使用xtQuant举行获取实时行情数据篇
【深度学习量化生意业务9】miniQMT快速上手教程案例集——使用xtQuant获取根本面数据篇
【深度学习量化生意业务10】miniQMT快速上手教程案例集——使用xtQuant获取板块及成分股数据篇
【深度学习量化生意业务11】miniQMT快速上手教程——使用XtQuant举行实盘生意业务篇(一万七千字超...
【深度学习量化生意业务12】基于miniQMT的量化生意业务框架总体构建思路——回测、模拟、实盘通吃的系统架...
【深度学习量化生意业务13】继续优化改造基于miniQMT的量化生意业务软件,增长增补数据功能,优化免费下载...
【深度学习量化生意业务14】正式开源!看海量化生意业务系统——基于miniQMT的量化生意业务软件
【深度学习量化生意业务15】基于miniQMT的量化生意业务回测系统已根本构建完成!AI炒股的框架开端实现
【深度学习量化生意业务16】韭菜进阶指南:A股生意业务资本全剖析
【深度学习量化生意业务17】触发机制设置——基于miniQMT的量化生意业务回测系统开发实记

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

万有斥力

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表