量化交易学习(六十七)在Mac上使用miniqmt
前一篇文章实现了在Mac上安装qmt,本文介绍如何在Mac上安装xtquant连接miniqmt,实现股票行情的获取。
qmt使用起来真的是有点别扭,内置的python版本也比较低,内置的编辑器也不是很好用,好在qmt提供了一个极简模式,极简模式就是miniqmt,界面很简洁,只提供交易功能,没有行情展示、策略回测、代码编辑等功能。
在qmt登录的时候选择极简模式登录,就能进入miniqmt界面,如下图所示:
miniqmt相比qmt最大的优势就是它支持在第三方编辑器(比如pycharm、vscode)中编辑代码,用户可以自由使用第三方库。比如想用backtrader做回测就得用miniqmt,用qmt就没法接入backtrader。
miniqmt在使用时还需要安装xtquant,在代码中,通过xtquant库连接miniqmt来获取行情。
xtquant包含两个模块,xtdata和xttrader,xtdata用于获取行情数据,xttrader用于交易。
下面来讲一下怎么在mac上的CrossOver环境中安装xtquant。
CrossOver模拟了一个windows环境,但是它没有安装python,所以需要手动安装python。在 https://www.python.org/downloads/ 下载能和xtquant兼容的python版本,比如我下载的是python3.12.4,下载后安装,这样就可以在CrossOver中正常使用python了。
安装完成后如果没有设置环境变量,则需要手动设置环境变量,设置方法如下:
-
在CrossOver上方菜单栏选择【容器】->【打开Shell】,打开一个shell窗口,然后输入
wine cmd
,就能调出cmd。 -
然后输入
regedit
调出注册表编辑器,找到HKEY_CURRENT_USER\Environment
,然后双击右侧的PATH
,把值设置为C:\users\crossover\AppData\Local\Programs\Python\Python312
和C:\users\crossover\AppData\Local\Programs\Python\Python312\Scripts
,如下图所示: -
接下来是安装在迅投官网下载xtquant包 https://dict.thinktrader.net/nativeApi/download_xtquant.html 下载最新版就可以了。
-
把下载的压缩包解压到python的site-packages目录下,比如我的python安装在CrossOver容器下的
C:\users\crossover\AppData\Local\Programs\Python\Python312
文件夹,那么site-packages目录就是C:\users\crossover\AppData\Local\Programs\Python\Python312\Lib\site-packages
,把压缩包解压到这个目录下就可以了。 -
安装完成后,就可以在python中导入xtquant了。
因为xtquant是安装在CrossOver中的,所以需要使用wine来运行python,下面我就来演示一下怎么用xtquant获取行情数据。
-
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18from xtquant import xtdata
code = '600519.SH'
#取全推数据
full_tick = xtdata.get_full_tick([code])
print('全推数据 日线最新值', full_tick)
#下载历史数据 下载接口本身不返回数据
xtdata.download_history_data(code, period='1m', start_time='20230701')
#订阅最新行情
def callback_func(data):
print('回调触发', data)
xtdata.subscribe_quote(code, period='1m', count=-1, callback= callback_func)
data = xtdata.get_market_data(['close'], [code], period='1m', start_time='20230701')
print('一次性取数据', data) -
在CrossOver上方菜单栏选择【容器】->【打开Shell】,打开一个shell窗口,然后输入
wine cmd
,就能调出cmd。 -
进入存放test.py文件的目录,输入
wine python test.py
,就能看到输出结果了。