
有同学问60分钟, 周线等周期数据如何处理,这里简单说明下。
大家都知道,使用QMT平台提供的基础行情数据,基础周期包括:tick、1m、5m、1d,这些是实际用于存储的周期,如果我们想要使用其他周期的周期数据,则基于这些基础周期数据进行自行合成而得。原始周期包括tick、1m、5m、1d。
我们了解下基础周期与合成周期关系
tick(分笔成交)1m(1分钟线)5m(5分钟线)1d(日线)重要提示:合成周期的数据无需单独下载,只需下载其依赖的基础周期数据即可通过函数合成
这里需要注意几个问题:
1、如果直接去获取15m/60m数据,但未下载其依赖的5m基础数据 → 返回结果可能为空或错误
2、每次调用download_minute_data都全量下载 → 网络请求冗余。我们可以启用增量下载模式(仅补缺失数据):
最后,这里提供一个例子, 下载分钟数据,然后分别查询15分钟、60分钟的demo,可以参考。 代码可以直接复制,如果存在格式有问题, 打开普通浏览器复制应该没问题。
from xtquant import xtdata
import pandas as pd
import time
def download_minute_data(stock_code, period):
xtdata.download_history_data(
stock_code=stock_code,
period=period
)
print(f"{period}数据下载完成!")
def get_minute_data(stock_code, period):
data = xtdata.get_market_data(
field_list=["time", "open", "high", "low", "close", "volume"],
stock_list=[stock_code],
period=period,
fill_data=True # 填充缺失数据
)
return data
if __name__ == "__main__":
# ===== 配置参数 =====
stock_code = "000001.SZ" # 平安银行
# ===== 获取分钟周期数据 =====
# for period in ["1m"]:
# download_minute_data(stock_code, period)
# df = get_minute_data(stock_code, period)
# print(df)
#
for period in ["5m"]:
download_minute_data(stock_code, period)
df5 = get_minute_data(stock_code, period)
print(df5)
df15 = get_minute_data(stock_code, '15m')
print(df15)
df60 = get_minute_data(stock_code, '60m')
print(df60)如果我的分享对你投资有所帮助,不吝啬给个点赞关注呗。