qmt提供了大qmt和miniqmt,大qmt在平台使用,miniqmt提供了交易的api和数据可以本地使用,非常的方便,合适自己开发大型的策略,本地还可以访问其他数据,网络等,也支持服务器
以前的教程
qmt教程1---qmt安装,提供下载链接
qmt教程2----订阅单股行情,提供源代码
1复制文件xtquant
2找到python的安装路径
打开文件夹位置
找到lib
打开site-packages文件夹复制xtquant文件夹到里面
这里就完成了设置,打开qmt,选择极简模式
获取历史分钟数据的代码
from xtquant import xtdata
#获取历史数据1分钟
xtdata.download_history_data(stock_code='600031.SH',
start_time='20210101',
end_time='20240508',
period='1m')
#获取历史数据
df=xtdata.get_market_data_ex(stock_list=['600031.SH'],
start_time='20210101',
end_time='20240508',
period='1m',
count=1000)
print(df)
参数说
def get_market_data(
field_list = [], stock_list = [], period = '1d'
, start_time = '', end_time = '', count = -1
, dividend_type = 'none', fill_data = True
):
'''
获取历史行情数据
:param field_list: 行情数据字段列表,[]为全部字段
K线可选字段:
"time" #时间戳
"open" #开盘价
"high" #最高价
"low" #最低价
"close" #收盘价
"volume" #成交量
"amount" #成交额
"settle" #今结算
"openInterest" #持仓量
分笔可选字段:
"time" #时间戳
"lastPrice" #最新价
"open" #开盘价
"high" #最高价
"low" #最低价
"lastClose" #前收盘价
"amount" #成交总额
"volume" #成交总量
"pvolume" #原始成交总量
"stockStatus" #证券状态
"openInt" #持仓量
"lastSettlementPrice" #前结算
"askPrice1", "askPrice2", "askPrice3", "askPrice4", "askPrice5" #卖一价~卖五价
"bidPrice1", "bidPrice2", "bidPrice3", "bidPrice4", "bidPrice5" #买一价~买五价
"askVol1", "askVol2", "askVol3", "askVol4", "askVol5" #卖一量~卖五量
"bidVol1", "bidVol2", "bidVol3", "bidVol4", "bidVol5" #买一量~买五量
:param stock_list: 股票代码 "000001.SZ"
:param period: 周期 分笔"tick" 分钟线"1m"/"5m"/"15m" 日线"1d"
Level2行情快照"l2quote" Level2行情快照补充"l2quoteaux" Level2逐笔委托"l2order" Level2逐笔成交"l2transaction" Level2大单统计"l2transactioncount" Level2委买委卖队列"l2orderqueue"
Level1逐笔成交统计一分钟“transactioncount1m” Level1逐笔成交统计日线“transactioncount1d”
期货仓单“warehousereceipt” 期货席位“futureholderrank” 互动问答“interactiveqa”
:param start_time: 起始时间 "20200101" "20200101093000"
:param end_time: 结束时间 "20201231" "20201231150000"
:param count: 数量 -1全部/n: 从结束时间向前数n个
:param dividend_type: 除权类型"none" "front" "back" "front_ratio" "back_ratio"
:param fill_data: 对齐时间戳时是否填充数据,仅对K线有效,分笔周期不对齐时间戳
为True时,以缺失数据的前一条数据填充
open、high、low、close 为前一条数据的close
amount、volume为0
settle、openInterest 和前一条数据相同
为False时,缺失数据所有字段填NaN
:return: 数据集,分笔数据和K线数据格式不同
period为'tick'时:{stock1 : value1, stock2 : value2, ...}
stock1, stock2, ... : 合约代码
value1, value2, ... : np.ndarray 数据列表,按time增序排列
period为其他K线周期时:{field1 : value1, field2 : value2, ...}
field1, field2, ... : 数据字段
value1, value2, ... : pd.DataFrame 字段对应的数据,各字段维度相同,index为stock_list,columns为time_list
'''
获取数据的结果,1分钟的数据
完成没有问题
源代码我全部的上传了知识星球感兴趣的可以加我获取优惠券,最后几张