投资者时刻紧盯盘面,不仅身心俱疲,还极为耗时。工作繁忙时,很容易错过最佳买卖点,与绝佳行情失之交臂。有没有办法实现自动买卖,解放双手呢?答案是肯定的,量化交易就能做到。
究竟什么是量化交易?以往,投资者依靠人工看盘,并基于特定策略进行买卖。而量化交易借助数学模型与统计原理,通过计算机来实现交易。投资者只需事先设定参数,当股票价格达到指定价位时 ,系统便会自动执行买入或卖出操作。
今天,我们来分析一下量化投资者,也就是宽客们所关注的各类量化平台之间的差异,探讨它们的优缺点。市面上较为常见的量化平台有聚宽(JoinQuant)、宽邦(BiggQuant)、掘金量化、同花顺 supermind。另外,QMT 和 PTrade 尽管宣传力度稍弱,但这并不妨碍它们成为主流的量化交易软件,在量化投资领域一样占据重要地位。
一
目前有哪些量化平台?
1、聚宽(JoinQuant)
优势:聚宽平台的文档资料丰富且详尽,数据精准度高,用户无需安装客户端,通过网页就能便捷使用。它的回测速度较快,还支持实时模拟交易,可以帮助用户及时验证策略的可行性。
不足:目前聚宽暂不支持实盘交易,同时回测时间存在一定限制,在一定程度上影响了用户的策略优化效率。
2、掘金量化
优势:掘金量化框架设计新颖,数据储备全面。它支持在本地运行,用户有足够的自主操作空间。这个平台采用开源模式,同时兼容多种编程语言,无论是资深专业用户,还是刚接触量化投资的新手,都能轻松上手。
不足:使用时需将数据先行下载到本地,这种操作不仅占用本地存储空间,有时也会耗费较多时间,影响数据获取效率。
3、同花顺 Supermind
优势:同花顺 Supermind 回测速度较快,能实时开展模拟交易,帮助用户迅速验证投资策略的有效性。另外,它集成了智能的同花顺问财功能,给用户提供丰富的资讯和数据支持。
不足:实盘使用个数有所限制,且平台代码并不开源,对于一些希望深度定制、修改平台功能的用户来说,可能会造成一定困扰。
4、宽邦(BiggQuant)
优势:宽邦最大的亮点在于,支持以可视化模块编写策略,降低了量化投资的技术门槛,即便是没有编程基础的用户,也能轻松搭建交易策略。平台数据比较全面,在实盘使用个数上不设限制,还内置 ChatGPT 辅助交流,助力投资者更好地优化策略。
不足:平台文档的可读性欠佳,免费的技术支持服务相对较少,并且代码不开源,可能会影响投资者对平台功能的全面了解和深度挖掘。
优势:PTrade 平台提供了极其详尽的文档资料,为使用者搭建起便捷的入门和学习途径。其策略依托云端运行,免除了本地部署的繁琐。平台内置的交易工具十分丰富,智能条件单、拐点交易、抢单交易等功能,满足了不同投资者在各类市场环境下的差异化交易需求,助力投资者抓住转瞬即逝的市场机会。
不足:实盘个数有限制,回测较慢,不开源。
5、QMT(miniQMT)
优势:QMT 支持策略在本地运行,它的数据储备非常齐全,搭配先进的回测框架,能够让投资者高效进行策略回测。并且它给用户提供极大的自主发挥空间,尤其是miniQMT,miniQMT 采取开源模式,方便开发者灵活定制和优化策略。
不足:使用 QMT 时,需提前将数据下载至本地。同时,平台对使用者的编程技术要求较高,比较适合有一定量化投资经验,同时具备扎实编程基础的进阶型投资者。
二
什么是QMT(miniQMT)
QMT 是一款专门给量化交易爱好者设计的量化交易软件,它具备行情展示、策略研究、交易执行和风控管理等多种功能。它提供了从数据获取、策略开发到交易执行的全套解决方案,并且采用全内存交易技术,单笔交易延迟低于1毫秒。另外,QMT支持多种编程语言,如Python、和C++,用户可以根据自己的技能和偏好选择合适的语言进行策略开发。
miniQMT是QMT的极简模式,miniQMT模式直接使用xtquant这个Python包,在软件外部编写Python程序与QMT客户端连接,然后实现程序化下单。这样一来,QMT客户端就完全转变为一个交易终端,量化程序可以独立于QMT运行,只要确保极简客户端处于运行状态就可以了。
三
QMT和miniQMT的差别
QMT:集行情显示、策略研究、交易执行和风控管理于一体,提供实时、全面的市场行情数据,涵盖股票、ETF、可转债、期权和期货等多种交易品种。支持策略编写和测试,可利用历史行情数据进行回测,还有丰富的风险管理工具。
miniQMT:主要提供数据源和交易接口,更侧重于编程灵活性和策略开发,支持实盘交易,通常不支持回测,需要回测时需借助其他工具。
QMT:提供了一定的脚本编写功能,但在编程灵活性和可扩展性上不如 miniQMT。策略编写需在 QMT 软件内部进行,受到 QMT 框架的限制。
miniQMT:使用 Python 包的形式提供 API,允许用户与其他 Python 程序无缝集成,可在任何支持 Python 的环境中编写策略代码,如 PyCharm、VSCode 等,开发更复杂和更具创新性的量化策略,不受特定客户端和平台的限制。
QMT:对本地硬件有较高的要求,尤其是处理大量数据或进行复杂计算时。
miniQMT:更为轻量级,资源占用较少,即使在配置不高的电脑上也能流畅运行。
QMT:适合希望使用图形化界面进行交易和策略开发的用户,对编程能力要求相对较低,适合初学者或者偏好一站式解决方案的用户,以及需要全面分析市场数据和进行复杂策略开发的投资者。
miniQMT:适合具有一定编程能力和金融知识的量化交易者,尤其是希望在 Python 环境中进行策略开发和测试的用户,以其轻量级、灵活性和可定制性受到追求高效、便捷交易体验的投资者青睐。
四
如何使用QMT和miniQMT
步骤1:安装和配置
QMT的安装和配置前面文章已经详细说明了,大家可以返回看看,或者找我领取安装教程。
2025年最全QMT量化交易保姆级教程: 从安装到回测(附最低开户佣金和QMT开通门槛)
QMT量化交易:什么是miniQMT? miniQMT如何安装和配置?如何低门槛低费率开通miniQMT?

步骤2:获取数据
(1)QMT行情数据获取
在QMT客户端界面可以直接查看实时行情,支持查看K线、分时、盘口等数据,可导出历史数据为CSV或Excel格式。

(2)QMT历史数据下载
进入"数据管理"→"历史数据下载",可选择股票、期货、指数等品种,可选择1分钟、5分钟、日线等不同周期。

(3)通过QMT的Python接口获取
from xtquant.xtdata import get_market_data, get_local_data, download_history_data# 获取实时行情stock_data = get_market_data(stock_list=['600519.SH', '000001.SZ'],period='1d',start_time='20230101',end_time='20231231',dividend_type='front')# 下载历史数据download_history_data(stock_code='600519.SH',period='1d',start_time='20200101',end_time='20201231')# 获取本地已下载数据local_data = get_local_data(field_list=['close', 'volume'],stock_list=['600519.SH'],period='1d',start_time='20200101',end_time='20201231')
(4)miniQMT通过xtdata模块获取数据
from xtquant import xtdata# 获取股票列表all_stocks = xtdata.get_stock_list_in_sector('沪深A股')# 订阅实时行情xtdata.subscribe_quote(stock_list=['600519.SH', '000001.SZ'], period='1d')# 获取实时行情数据quote_data = xtdata.get_market_data(field_list=['open', 'high', 'low', 'close', 'volume'],stock_list=['600519.SH', '000001.SZ'],period='1d',count=5) # 获取最近5条数据# 获取历史数据history_data = xtdata.get_local_data(field_list=['open', 'close'],stock_list=['600519.SH'],period='1d',start_time='20230101',end_time='20230131')
(5) mini获取板块数据
# 获取板块成分股sector_stocks = xtdata.get_stock_list_in_sector('白酒板块')# 获取板块行情sector_quote = xtdata.get_sector_quote('白酒板块', '1d')
步骤3:新建策略
这里可以选择自己新建策略,也可以在QMT提供的示例基础上编辑修改。以下是一个简单的移动平均线交叉策略示例:
def moving_average_crossover(data, short_window, long_window):signals = pd.DataFrame(index=data.index)signals['signal'] = 0.0# 计算短期和长期移动平均线signals['short_mavg'] = data['close'].rolling(window=short_window, min_periods=1, center=False).mean()signals['long_mavg'] = data['close'].rolling(window=long_window, min_periods=1, center=False).mean()# 生成信号signals['signal'][short_window:] = np.where(signals['short_mavg'][short_window:]> signals['long_mavg'][short_window:], 1.0, 0.0)# 生成交易指令signals['positions'] = signals['signal'].diff()return signals
步骤4:回测
在实际交易之前,你需要对你的策略进行回测,以评估其性能。
def backtest_strategy(data, signals):initial_capital = float(100000.0)positions = pd.DataFrame(index=signals.index).fillna(0.0)portfolio = pd.DataFrame(index=signals.index).fillna(0.0)portfolio['holdings'] = (signals['positions'] * data['close']).cumsum()portfolio['cash'] = initial_capital - (positions.diff() * data['close']).fillna(0.0)portfolio['total'] = portfolio['cash'] + portfolio['holdings']portfolio['returns'] = portfolio['total'].pct_change()return portfolio
步骤5:执行交易
# 这里需要替换为实际的交易执行代码def execute_trades(signals):# 根据signals中的交易信号执行买卖操作pass
五
如何开通QMT和miniQMT
◆◆开通门槛
◆◆QMT开通流程
开户成功后入金,第二天股东账户正常后开始走QMT申请流程 申请过程全程线上,预计2个工作日申请完成。 等待开通过程中,可以提供测试账号和软件给你试用,可以提供资料和安装配置流程。 开通成功后,会通过邮件发送你软件下载地址,登录账号后就可以使用。
股票无条件万1,根据资金量最低可以做到万0.854 融资无条4.5%,根据资金量,最低可以做到4% 
福利1:量化讨论群
福利2:提供专业量化问题解答
福利3:量化工具安装使用教程、视频
福利4:极速柜台,量化投资者专用,速度微秒级
夜雨聆风