Skip to content

CodeBang06/miniqmt-xtquant-Ashare

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

miniqmt-xtquant-Ashare

1.MiniQMT 轻量级量化交易终端 + XtQuant Python API的Python量化交易框架,是目前最适合普通股民的本地实盘量化方案,低延迟、高稳定、全私密,包括环境搭建、行情获取、api使用、策略开发、实盘自动交易部署,专为A股交易者打造;2.Ashare(开源、极简的A股实时行情数据API),完全免费的沪深股票行情数据,Python最简封装接口,包含日线,历史K线,分时线,分钟线,全部实时采集,系统包括新浪腾讯双数据核心采集获取,自动故障切换,STOCK数据格式成DataFrame格式,可用来查询研究量化分析,股票程序自动化交易系统.为量化研究者在数据获取方面极大地减轻工作量,更加专注于策略和模型的研究与实现。
如果本项目能帮助到您,请右上角帮我们点亮 ★star 以示鼓励!

一、miniqmt+xtquant 券商级高速专业的行情数据交易软件及API接口

1、MiniQMT + XtQuant 的核心量化特点

  • 超低延迟、实盘级交易速度,券商官方通道,券商柜台直连,不是第三方模拟接口.
  • 纯本地运行,策略完全私密,策略代码跑在你自己电脑上,不会泄露策略逻辑、仓位、买卖点,适合不想开源、不想被平台看到策略的个人交易者.
  • Python 原生接口,自由度极高,XtQuant 是标准 Python 库,不受平台限制,想怎么写就怎么写.
  • 全市场覆盖:股票 / 场内基金 / 两融 / 期权 / 期货,一个接口通吃所有品种.
  • 轻量化、不吃资源,不像大 QMT 那样笨重.
  • 数据本地 + 实时推送,历史 K 线、Tick、财务数据本地缓存,推送式行情,不用反复拉取.
  • 券商官方认可,合规安全,不是第三方爬虫、不是模拟接口,是券商级量化通道,实盘稳定、合规.

2、MiniQMT 和 XtQuant 不是同一个软件,是「底层终端 + 上层 Python 接口库」的依赖关系:

  • MiniQMT 软件: https://download.gjzq.com.cn/temp/organ/gjzqqmt_ceshi.rar
  • Xtquant API文档:https://dict.thinktrader.net/nativeApi/start_now.htmlhttps://dict.thinktrader.net/nativeApi/xtdata.html
  • MiniQMT:是可独立运行的量化交易终端软件(你要打开、登录的那个程序),是底层的「交易通道 + 行情服务器」;是迅投(ThinkTrader)开发的 QMT 量化交易系统的「极简 / 轻量版本」,是一个可独立安装、运行的 Windows 桌面软件,是你量化交易的「底层执行终端」;对接券商,完成真实的股票 / 期货 / 期权报单、撤单、成交、资金 / 持仓管理,是你策略落地实盘的唯一通道;实时接收沪深交易所行情、存储历史 K 线 / Tick 数据,给你的策略提供数据支撑;作为本地服务运行,给 XtQuant 提供 API 交互的底层支持,是 XtQuant 能正常工作的前提。
  • XtQuant:是MiniQMT 衍生出的 Python 库 / 框架,是连接你写的 Python 代码和 MiniQMT 终端的「桥梁」,本身不能独立运行,必须依赖 MiniQMT 客户端;作为 Python 代码和 MiniQMT 终端之间的「桥梁」,把 MiniQMT 的交易、行情能力,封装成 Python 可调用的函数 / 接口,让你用 Python 写量化策略,就能自动调用 MiniQMT 完成交易、获取数据;本身不能独立运行,必须先启动 MiniQMT 客户端、登录账号,XtQuant 才能通过 TCP 连接调用 MiniQMT 的服务;以 Python 库形式存在:安装 MiniQMT 后会自动附带,也可通过pip install xtquant单独安装;所有功能都是 MiniQMT 能力的 Python 封装,没有 MiniQMT 就没有 XtQuant;是你量化策略的「代码入口」,你写的所有 Python 量化代码,都要通过 XtQuant 的接口,才能落地到实盘交易。

3、MiniQMT + XtQuant 安装配置流程

  • 操作系统:Windows 10/11 64 位(MiniQMT 仅支持 Windows,不支持 Mac/Linux)
  • Python 环境:推荐 Python 3.8~3.10 64 位(兼容性最好,避免版本过高导致的依赖问题)。
  • 网络:稳定的互联网连接,用于登录券商服务器、接收行情
  • 打开上面的miniqmt链接下载,然后按照向导完成安装,建议安装路径选择非系统盘(如D:\国金QMT\),避免 C 盘权限问题,安装完成后,桌面会生成「国金QMT」快捷方式。
  • 双击打开国金qmt,输入楼主给的账密,并务必勾选「独立交易模式 / 极简模式」登录(MiniQMT 的核心运行模式,否则 XtQuant 无法连接)。
  • 登录成功后,确认客户端正常接收行情、可手动下单,说明终端运行正常,保持 MiniQMT后台在线,这是 XtQuant 正常工作的唯一前提。
  • 安装 Python(已有环境可跳过),打开 Python 官网:https://www.python.org/downloads/windows/ ,下载Python 3.9.13 64 位(稳定兼容版,避免最新版的兼容性问题),安装时务必勾选「Add Python.exe to PATH」,自动配置环境变量,安装完成后,打开 CMD 命令提示符,输入python --version,显示版本号即安装成功。
  • 安装 XtQuant 库的方式 1:从 MiniQMT 本地安装(随客户端自带)(推荐),打开 CMD,进入 MiniQMT 的 Python 包目录:cd D:\国金QMT\bin.x64\Lib\site-packages ;执行本地安装命令:pip install xtquant --no-index --find-links=./ ;等待安装完成,显示Successfully installed xtquant即成功。
  • 方式 2:pip 在线安装(备用),如果方式 1 失败,直接执行在线安装:pip install xtquant -i https://pypi.tuna.tsinghua.edu.cn/simple ,用清华源加速,避免下载超时,安装完成后,同样用pip show xtquant验证版本。
  • 10、验证安装成功,打开 CMD,输入python进入 Python 交互环境,执行:import xtquant // print(xtquant.version) ;正常输出版本号(如2.0.12),说明 XtQuant 安装成功
  • 下一步:开始量化策略开发,环境配置完成后,你可以直接基于 XtQuant 的 API 开发策略:用xtdata获取行情数据,编写策略逻辑(均线、MACD、因子等);用xttrader实现自动下单、撤单、持仓管理;先在模拟盘测试策略,验证稳定后再上实盘;先在模拟盘测试策略,验证稳定后再上实盘.

git量化技术群

扫一扫获取miniqmt模拟和实盘账号

股市程序化交易大群, 圈内大咖量化策略分享

全是干货,无闲聊 ,物以类聚,人以群分,一起感受思维碰撞的力量!

二、Ashare ( 开源 极简 A股实时行情数据API)

中国股市A股股票行情实时数据最简封装API接口,包含日线,分时分钟线,全部格式成DataFrame格式数据,可用来研究,量化分析,证券股票程序化自动化交易系统 行情系统包括新浪腾讯双数据核心,自动故障切换,为量化研究者在数据获取方面极大地减轻工作量,更加专注于策略和模型的研究与实现。

功能特点

  • 核心库轻量化:项目库就一个文件Ashare.py,不用安装设置,可自由裁剪,随用随走 from Ashare import * 即可
  • 双内核封装,新浪财经,腾讯股票的实时行情数据,包括任意历史日线,周线,月线,分钟线,小时线等,已经稳定运行数年
  • 双内核一主一备,自动热备,自动切换,Ashare即使用来做量化实盘行情源也可以满足。
  • 全部数据格式清理成DataFrame格式数据,让您非常方便的使用pandas来分析和处理
  • 和其他行情库(tushare等)比的优点是什么? -- 简单 轻量 便携 开源
  • Ashare把复杂的数据获取,拆分,整合逻辑全部封装成一个函数 get_price() 看完下面例子就会了
  • Ashare可以用在任何需要量化研究,量化分析的场合

先看一个最简单的例子 Demo1.py

from  Ashare import *
    
# 证券代码兼容多种格式 通达信,同花顺,聚宽
# sh000001 (000001.XSHG)    sz399006 (399006.XSHE)   sh600519 ( 600519.XSHG ) 

df=get_price('sh000001',frequency='1d',count=5)      #默认获取今天往前5天的日线实时行情
print('上证指数日线行情\n',df)

df=get_price('000001.XSHG',frequency='1d',count=5,end_date='2021-04-30')  #可以指定结束日期,获取历史行情
print('上证指数历史行情\n',df)                        

df=get_price('000001.XSHG',frequency='1w',count=5,end_date='2018-06-15')  #支持'1d'日, '1w'周,  '1M'月  
print('上证指数历史周线\n',df) 

df=get_price('sh600519',frequency='15m',count=5)     #分钟线实时行情,可用'1m','5m','15m','30m','60m'
print('贵州茅台15分钟线\n',df)

df=get_price('600519.XSHG',frequency='60m',count=6)  #分钟线实时行情,可用'1m','5m','15m','30m','60m'
print('贵州茅台60分钟线\n',df)
#上证指数日线行情----------------------------------------------------
              open    close     high      low       volume
2021-06-07  3597.14  3599.54  3600.38  3581.90  303718677.0
2021-06-08  3598.75  3580.11  3621.52  3563.25  304491470.0
2021-06-09  3576.80  3591.40  3598.71  3572.64  298323296.0
2021-06-10  3587.53  3610.86  3624.34  3584.13  318174808.0
2021-06-11  3614.11  3589.75  3614.40  3587.15  360554970.0


#贵州茅台60分钟线----------------------------------------------------
                       open    close     high      low    volume
2021-06-10 14:00:00  2237.00  2224.16  2245.00  2222.00   4541.53
2021-06-10 15:00:00  2222.21  2238.48  2240.34  2222.21   4146.88
2021-06-11 10:30:00  2239.00  2220.00  2244.00  2197.86  12030.00
2021-06-11 11:30:00  2220.01  2210.18  2231.80  2200.18   4868.00
2021-06-11 14:00:00  2210.10  2223.35  2224.48  2206.01   4544.00
2021-06-11 15:00:00  2223.33  2178.81  2226.80  2178.81  12529.00

再看一个配合MyTT的例子 Demo2.py

#股市行情数据获取和作图 -2
from  Ashare import *          #股票数据库    https://github.com/mpquant/Ashare
from  MyTT import *            #myTT麦语言工具函数指标库  https://github.com/mpquant/MyTT
    
# 证券代码兼容多种格式 通达信,同花顺,聚宽
# sh000001 (000001.XSHG)    sz399006 (399006.XSHE)   sh600519 ( 600519.XSHG ) 

df=get_price('000001.XSHG',frequency='1d',count=120)      #获取今天往前120天的日线实时行情
print('上证指数日线行情\n',df.tail(5))

#-------有数据了,下面开始正题 -------------
CLOSE=df.close.values;         OPEN=df.open.values           #基础数据定义,只要传入的是序列都可以 
HIGH=df.high.values;           LOW=df.low.values             #例如  CLOSE=list(df.close) 都是一样     

MA5=MA(CLOSE,5)                                #获取5日均线序列
MA10=MA(CLOSE,10)                              #获取10日均线序列
up,mid,lower=BOLL(CLOSE)                       #获取布林带指标数据

#-------------------------作图显示-----------------------------------------------------------------
import matplotlib.pyplot as plt ;  from matplotlib.ticker import MultipleLocator
plt.figure(figsize=(15,8))  
plt.plot(CLOSE,label='SHZS');    plt.plot(up,label='UP');           #画图显示 
plt.plot(mid,label='MID');       plt.plot(lower,label='LOW');
plt.plot(MA10,label='MA10',linewidth=0.5,alpha=0.7);
plt.show()
image

About

1.MiniQMT 轻量级量化交易终端 + XtQuant Python API的Python量化交易框架,是目前最适合普通股民的本地实盘量化方案,低延迟、高稳定、全私密,包括环境搭建、行情获取、api使用、策略开发、实盘自动交易部署,专为A股交易者打造;2.Ashare(开源、极简的A股实时行情数据API),完全免费的沪深股票行情数据,Python最简封装接口,包含日线,历史K线,分时线,分钟线,全部实时采集,系统包括新浪腾讯双数据核心采集获取,自动故障切换,STOCK数据格式成DataFrame格式,可用来查询研究量化分析,股票程序自动化交易系统.为量化研究者在数据获取方面极大地减轻工作量,更加专注于策略和模型的研究与实现。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages