技术解读

以下内容由 GitRead 中文社区 编辑团队基于项目 README 与官方资料整理, 结合中文开发者的常见使用场景补充技术选型建议。具体以项目官方文档为准。

深度分析:LHanLi/EzQmt 项目

项目背景与痛点

在金融投资领域,交易系统通常以高频率、数据密集型和复杂的策略执行为特征。这种环境下,自动化多因子策略交易执行和账户状态监控成为了市场的主要痛点。手动执行策略不仅耗时、繁琐,还容易产生人为错误。而及时、准确地监控账户状态可以确保策略的有效性和交易的合理性。因此,一个能够高效实现自动化策略执行与账户监控的系统,对于金融投资者来说显得尤为重要。

LHanLi/EzQmt 正是在这种背景下诞生的。它基于迅投QMT,提供了一套自动化多因子策略交易执行、账户状态监控、行情爬虫及风控等综合功能的框架。通过这个框架,交易员可以减少手动操作的复杂度,更加专注于策略设计和优化。

技术核心揭秘

EzQmt 的核心技术在于其对多因子策略执行的自动化管理和账户状态监控的高效实时处理。贯穿其技术架构的关键模块包括策略引擎、数据爬虫、账户管理以及监控告警系统。下图展示了其数据流和技术栈的关键流程:

graph TD A[行情数据] --> B[数据处理] B --> C[策略生成] C --> D[信号执行] D --> E{"执行状态监控"} E -->|"成功"| F[反馈循环] E -->|"失败"| G[告警处理] B --> H[模型训练] H --> I[参数优化] I --> C J{"外部API"} --> D J --> E J --> H

系统通过爬虫获取各种金融市场的实时行情数据,并进行处理以生成交易策略。策略引擎生成交易信号并实施,同时执行状态会在监控系统中实时更新,确保整个交易过程的透明和可控。监控系统还可以提供异常告警和反馈循环,帮助及时调整策略,优化执行效果。

功能亮点与差异

与其他竞品相比,LHanLi/EzQmt 的显著特点是其强大的多策略分仓功能和丰富的账户绩效分析功能。多策略分仓允许用户在不同的账户中同时运行多个策略,实现了资源的最佳分配。此外,系统还利用多因子模型来筛选、训练和优化策略,更好地贴合市场需求。

应用场景与落地建议

EzQmt 适合广泛应用于国内各种交易场景,包括但不限于期货、外汇和股票市场。在实际生产环境中,确保系统稳定运行和数据安全至关重要。除了常规的系统测试和数据备份外,建议用户详细阅读和理解系统文档,以充分利用EzQmt的各项功能。

综合评价

LHanLi/EzQmt 无疑是一款令人印象深刻的自动化投资平台,它在多策略执行和监控方面展现了卓越的性能。然而,开发团队仍需思考如何提升系统的灵活性和扩展性,特别是在应对不同市场环境变化时的适应能力。此外,进一步优化用户体验,如增强图形界面交互,可以显著提升其市场竞争力。总体而言,EzQmt 是金融投资领域中的一个有力工具,值得开发者和投资者关注。

简要分析

热度分
393
价值分
168
活跃状态
活跃

语言占比

Python
Shell

贡献者

README

QMT自动交易及监控脚本

快速开始

账户分析(需配置Summary.py导出策略运行文件)

根据持仓/交割单备注,分析策略持仓,各策略盈亏,分标的盈亏情况。

初始化配置

import EzQmt as qmt

‘’’ summary_loc: 策略运行文件目录, outcash_list: 外部转入转出资金情况(格式:[(‘20250124’, -10000), ]),start_date/end_date: 开始/结束时间,benchmark: 业绩比较基准 conv_stk: 转债转股条款(格式:{转债代码:(股票代码,转股价), …}),if_hide: 是否隐藏具体金额 renamestrat: 策略合并({订单备注1:合并后策略名称a,…}), accnum: 资金账号 ‘’’

acct0 = qmt.smy.account(summary_loc, outcash_list=[], start_date=None, end_date=None, benchmark=None, conv_stk={}, if_hide=True, renamestrat={}, accnum=‘’)

总账户

‘’’ 总组合净值,月度收益,收益的标的贡献 ‘’’

acct0.pnl()

image

image

acct0.pnl_monthly()

image

acct0.contri[‘all’]

image

分策略

‘’’ 策略仓位,各策略表现 ‘’’

acct0.displaystrats_pos()

acct0.displaystrats_pnl()

image image ‘’’ 查看具体某一策略 ‘’’

strat = ‘策略0’

acct0.pnl(strat, benchmark=None)

acct0.contri[strat]

image

image

image

交易滑点分析(单边)

‘’’ 需提供分钟线数据(开盘集合竞价时间戳为9:30,9:30~9:31时间戳为9:31) ‘’’

deal_comm = acct0.cal_deal_comm(min_data, acct0.deal[acct0.deal[‘strat’]==‘策略1’].copy())

deal_comm[[‘comm_close’, ‘comm_open’, ‘comm_mco’, ‘comm_avg’]].mean()

image

策略

Rebalance.py 仓位再平衡策略

自动拆单、挂撤单,将持仓市值占比调整至目标值。

输入为lude(禄得)格式的策略篮子文件,支持阈值调仓。

安装/配置

python库安装

pip install FreeBack

pip install EzQmt

QMT 客户端 配置方法

1731993271869

在模型研究界面,使用策略文件中内容替换图示代码框中全部代码,调整代码中自定义参数,新建策略。 1731993357372 1731993389345

在模型交易界面,找到刚刚新建的策略,新建策略交易,选择自己的账号和账号类型,运行。

备注

-------------------- 联系作者 ---------------------

对于个性化程序交易策略代码需求,可以联系作者。 cde0c826807b3836377d0e13cf4bbf4

评论

暂无评论