日期 2024/8/2
意外发现的,抛砖引玉,测试了下,其他券商的也可以。
可以直接获取 1m 5m 1day 级别的数据,全A股市场的都可以。期货未测试。
需要 其他的级别的分数数据可以自行合成。
原理
券商版qmt获取行情数据时,不需要登陆带qmt权限的账户,即可下载和订阅数据
完整操作如下:
下载安装任意券商版qmt,我这里以 国投证券 举例。
下载链接 https://www.essence.com.cn/download?type=1以脱机模式启动 大QMT,然后去设置里面下载python库
脱机登录
下载python库
下载python库完成后,关掉QMT,然后寻找 xtquant 库,并复制出来把 xtquant 复制到任意一个目录,写python代码进行测试,注意 xtquant 暂时只支持 python3.11 及更老的,不支持新的 python 3.12
启动 miniquote.exe ,这是数据订阅和推送的程序,可以直接双击启动
任务管理器可以看到启动后的程序,没有界面。把以下代码写入 try_get_all_5m_kline.py ,然后保存
from xtquant import xtdata def get_kline(stock='600000.SH', period='5m', dividend_type='front_ratio', field_list=('time', 'open', 'high', 'low', 'close', 'volume'), start_time='', end_time='', count=-1, fill_data=True, download_data=True): if download_data: xtdata.download_history_data2( [stock], period ) # r = xtdata.get_local_data( r = xtdata.get_market_data_ex( list(field_list), [stock], period=period, count=count, dividend_type=dividend_type, fill_data=fill_data, start_time=start_time, end_time=end_time, ) df = r[stock] return df if __name__ == '__main__': df = get_kline() print('第一根5m k线', df.iloc[0]) print('最新一根5m k线', df.iloc[-1]) print('共获取 5m k线 数量', df.shape[0])
- 使用 python 运行,可以获得以下输出结果
- 结束,其他请自行研究。也可以订阅每日tick,单推,全推数据,这些都行。
附加
附加1:有时下载数据时,会突然变得很慢,可以直接任务管理器结束掉 miniquote.exe ,再启动它
附加2:各家券商 QMT 名字一览(不全)
https://www.xuntou.net/forum.php?mod=viewthread&tid=232
附加3:其他证券的 QMT 下载链接
国金qmt实盘
https://download.gjzq.com.cn/gjty/organ/gjzqqmt.rar
国金qmt模拟
https://download.gjzq.com.cn/temp/organ/gjzqqmt_ceshi.rar
附加4:对一般人来说,开qmt时,要问是否能小资金ETF免5,ETF不免5就非常坑爹,不如用 easytrader+低佣账号。
附加5:股票免五门槛,好像全部券商最低都要50w,另一种十分坑爹。