【量化交易】QMT回测时推荐用什么函数获取行情?
发布时间:2026-4-24 14:28阅读:156
在 QMT 进行回测时,根据不同的数据需求,有几个常用的函数来获取行情数据:
1. xtquant.xtdata.get_market_data
- 功能:用于获取指定周期和时间范围内的市场行情数据。它可以获取多种金融产品(如股票、基金、期货等)的行情,包括开盘价、收盘价、最高价、最低价、成交量、成交额等基础数据。
- 参数:
- 示例:
python
import xtquant.xtdata as xtdata
# 获取平安银行(000001.SZ)2023年1月1日至2023年12月31日的日线收盘价
field_list = ['close']
stock_list = ['000001.SZ']
period = '1d'
start_time = '20230101'
end_time = '20231231'
data = xtdata.get_market_data(field_list=field_list, stock_list=stock_list,
period=period, start_time=start_time, end_time=end_time)
print(data)
2. xtquant.xtdata.get_full_tick
- 功能:获取实时的全推行情数据,在回测时可以模拟实时行情数据的获取,对于一些需要根据最新行情数据进行决策的策略很有用。它能获取到最新的逐笔成交数据、买卖盘口数据等。
- 参数:
stock_list,即要获取行情的证券代码列表。 - 示例:
python
import xtquant.xtdata as xtdata
# 获取贵州茅台(600519.SH)的实时全推行情
stock_list = ['600519.SH']
tick_data = xtdata.get_full_tick(stock_list)
print(tick_data)
3. xtquant.xtdata.get_local_data
- 功能:从本地缓存数据中获取行情数据,这在回测时如果已经下载并缓存了大量历史数据,使用这个函数可以快速获取数据,提高回测效率。获取的数据内容和格式与
get_market_data类似。 - 参数:与
get_market_data类似,包括field_list、stock_list、period、start_time、end_time等,另外还可以设置dividend_type(复权类型)和fill_data(是否填充缺失数据)等参数。 - 示例:
python
import xtquant.xtdata as xtdata
# 从本地获取五粮液(000858.SZ)2022年全年的前复权日线数据
field_list = ['open', 'close', 'high', 'low', 'volume']
stock_list = ['000858.SZ']
period = '1d'
start_time = '20220101'
end_time = '20221231'
dividend_type = 'pre' # 前复权
fill_data = True
local_data = xtdata.get_local_data(field_list=field_list, stock_list=stock_list,
period=period, start_time=start_time, end_time=end_time,
dividend_type=dividend_type, fill_data=fill_data)
print(local_data)
这些函数能满足 QMT 回测时不同场景下对行情数据的获取需求,帮助投资者更准确地模拟和验证交易策略。开户找我优惠多多!选8888资金靓号!ETF佣金万0.5!逆回购手续费百万分之一!免费量化qmt/ptrade!更多优惠欢迎找我!

温馨提示:投资有风险,选择需谨慎。
-
本周打新日历:一只新股+两只可转债即将发行!点击查看可转债权限开通+申购指南
2026-06-01 14:07
-
华泰证券银证转账是什么时候?支持哪些银行?怎么操作?
2026-06-01 14:07
-
国泰海通证券新人开户有哪些超值福利?怎么高效领取?(含新客理财券)
2026-06-01 14:07


问一问

+微信
分享该文章
