miniQMT官方说明文档API接口文档XtQuant.XtData 行情模块(2)

miniqmt 阅读:1601 2025-01-02 11:23:48 评论:0

数据获取方法

202412311641242299502.jpg

推荐方法 1:

使用 download_history_data + get_local_data + get_full_tick

这种方法适合获取历史数据和最新数据,且不受订阅数限制。

import xtquant.xtdata as xtdata

# 定义ETF基金的代码
etf_code = '510300.SH'  # 510300是沪深300ETF,SH表示上海证券交易所

# 1. 下载历史数据到本地
xtdata.download_history_data(etf_code, period='1d', start_time='20230101', end_time='20231010')

# 2. 获取本地历史数据开户咨询微信gjquant
history_data = xtdata.get_local_data(
    field_list=[],  # 空列表表示获取所有字段
    stock_list=[etf_code],  # 指定获取的股票代码
    period='1d',  # 获取日线数据
    start_time='20230101',  # 起始时间
    end_time='20231010',  # 结束时间
    count=-1,  # 获取全部数据
    dividend_type='none',  # 不复权
    fill_data=True  # 填充空缺数据
)

# 打印历史数据
print("历史数据:")
print(history_data)

# 3. 获取最新的全推数据(盘中实时更新)
latest_tick_data = xtdata.get_full_tick([etf_code])

# 打印最新数据
print("最新全推数据:")
print(latest_tick_data)

代码说明:

  • download_history_data:下载指定时间范围的历史数据到本地。

  • get_local_data:从本地获取历史数据,速度快,适合回测。

  • get_full_tick:获取客户端缓存中的最新全推数据,盘中实时更新,速度快,且不受订阅数限制。

推荐方法 2:

使用 subscribe_quote + get_market_data_ex

这种方法适合需要实时订阅并获取最新数据的场景。

import xtquant.xtdata as xtdata

# 定义ETF基金的代码
etf_code = '510300.SH'  # 510300是沪深300ETF,SH表示上海证券交易所

# 1. 订阅单股行情数据
seq = xtdata.subscribe_quote(etf_code, period='1d')

# 2. 获取订阅的最新数据
market_data = xtdata.get_market_data_ex(
    field_list=[],  # 空列表表示获取所有字段
    stock_list=[etf_code],  # 指定获取的股票代码
    period='1d',  # 获取日线数据
    start_time='',  # 起始时间,为空表示从最早时间开始
    end_time='',  # 结束时间,为空表示到最新时间
    count=10,  # 获取最近10条数据
    dividend_type='none',  # 不复权
    fill_data=True,  # 填充空缺数据
    subscribe=True  # 从订阅数据中获取
)

# 打印获取的行情数据
print("订阅的最新数据:")
print(market_data)

# 3. 反订阅行情数据
xtdata.unsubscribe_quote(seq)

本文由 海星量化研究所 作者提供,转载请保留链接和署名!网址:https://qmt.hxquant.com/?id=13

声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源; 2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任; 3.作者投稿可能会经我们编辑修改或补充。

搜索
排行榜
关注我们

扫码开通QMT/ptrade