3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 ptrade 量化平台中,get_all_trades_days(date=None) 函数用于获取某个日期之前的所有交易日日期。根据是否传入参数,其获取结果和基准日期会有所不同。
date='20160213'):函数会返回指定日期(如 2016年2月13日)之前的所有交易日日期列表。date=None):函数会根据当前运行的模块环境(回测、研究或交易),自动获取一个默认的当前日期,并返回该默认日期之前的所有交易日日期列表。当不传入 date 参数时,默认获取的截止日期取决于你当前运行策略的模块:
context.blotter.current_dt)。随着回测的推进,这个默认日期会动态变化。def initialize(context):
# 1. 不传参数:获取当前回测日期(或真实当天)之前的所有交易日
all_trades_days_default = get_all_trades_days()
log.info("默认获取的交易日列表:\n%s" % all_trades_days_default)
# 2. 传入特定日期:获取 2015年3月12日 之前的所有交易日
all_trades_days_specific = get_all_trades_days('20150312')
log.info("指定日期获取的交易日列表:\n%s" % all_trades_days_specific)
g.security = ['600570.SS', '000001.SZ']
set_universe(g.security)
def handle_data(context, data):
pass
总结:为了避免在回测中引入未来函数,通常在回测环境中不传参数,让其自动跟随回测时间;而在需要获取特定历史阶段的交易日历时,则明确传入 date 参数。