【量化交易】QMT回测时推荐用什么函数获取行情?
发布时间:2026-4-24 14:28阅读:94
在 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!更多优惠欢迎找我!

温馨提示:投资有风险,选择需谨慎。
-
养虾理财用的金融Skill是什么?国泰海通灵犀Skills实测,新手也能装
2026-05-09 13:41
-
豆包开启付费!AI行业迎来拐点,普通投资者该怎么布局?
2026-05-09 13:41
-
2026国金证券新人开户能够享受哪些福利?(含6888元品质礼包)
2026-05-09 13:41


问一问

+微信
分享该文章
