前2天写了tushare获取A股数据, 一些同学让我写一写miniqmt, 那这篇文章写一写miniqmt。提到miniqmt,一起讲一讲xtquant。miniQMT 是一个本地的量化交易终端,而xtquant 是一个Python 接口库,用于在Python 程序中与miniQMT 交互。简单来说,miniQMT 负责接收和存储行情数据,并提供交易接口;xtquant 则充当Python 和miniQMT 之间的桥梁,让量化交易员可以用Python 编写策略并控制交易。XtQuant是基于迅投MiniQMT衍生出来的一套完善的Python策略运行框架,对外以Python库的形式提供策略交易所需要的行情和交易相关的API接口。#XtQuant 运行依赖环境
XtQuant 目前提供的库包括 64 位 Python 3.6
、3.7
、3.8
、3.9
、3.10
、3.11
、3.12、3.13
版本,不同版本的 Python 导入时会自动切换。 在运行使用 XtQuant 的程序前需要先启动 MiniQMT 客户端。
#XtQuant 运行逻辑
Xtdata 作为行情模块,本模块旨在提供精简直接的数据满足量化交易者的数据需求,主要提供行情数据(历史和实时的K线和分笔)、财务数据、合约基础信息、板块和行业分类信息等通用的行情数据。
Xttrader 作为交易模块,封装了策略交易所需要的 Python API 接口,可以和 MiniQMT 客户端交互进行报单、撤单、查询资产、查询委托、查询成交、查询持仓以及接收资金、委托、成交和持仓等变动的主推消息。
如果你有miniqmt 开户需求,可以找我私聊,门槛低, 费率优惠。这里写个例子,怎么把数据下载到本地,例子比较简单。from xtquant import xtdata
import datetime
import pandas as pd
def download_full_market_history():
"""下载全市场近1年日线数据"""
end_date = datetime.datetime.now().strftime("%Y%m%d")
start_date = (datetime.datetime.now() - datetime.timedelta(days=365)).strftime("%Y%m%d")
all_stocks = xtdata.get_stock_list_in_sector("沪深A股")
def on_progress(data):
print(f"进度: {data['finished']}/{data['total']} - {data['stockcode']}")
xtdata.download_history_data2(
stock_list=all_stocks,
period="1d",
start_time=start_date,
end_time=end_date,
callback=on_progress
)
if __name__ == "__main__":
download_full_market_history()
data = xtdata.get_local_data(
field_list=["open", "high", "low", "close", "volume"],
stock_list=['000001.SZ'],
period="1d",
start_time="",
end_time=""
)
print(data)
如果我的分享对你投资有所帮助,不吝啬给个点赞关注呗。