3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 ptrade 量化平台中,调用 get_trade_days 接口时,如果同时传入 start_date 和 count 参数,系统会抛出“参数不可同时使用”的错误。这是因为该接口的设计逻辑中,这两种方式代表了不同的查询维度,属于互斥参数。
根据 ptrade API 文档,get_trade_days(start_date=None, end_date=None, count=None) 的参数规则如下:
start_date:指定查询的起始日期。count:指定查询的交易日数量(往前推算)。这两个参数只能二选一。你不能既告诉系统“从哪天开始”,又告诉系统“往前取多少天”,这在逻辑上会产生冲突。
为了正确获取指定范围的交易日期,你可以根据实际需求选择以下三种组合方式之一:
start_date + end_date)如果你知道确切的开始和结束日期,使用这种方式。
# 获取 2016-01-01 到 2016-02-01 之间的所有交易日
trade_days = get_trade_days(start_date='2016-01-01', end_date='2016-02-01')
log.info(trade_days)
end_date + count)如果你想获取某个特定日期往前推算的 N 个交易日(包含该特定日期),使用这种方式。
# 获取 2016-02-01 往前推的 10 个交易日
trade_days = get_trade_days(end_date='2016-02-01', count=10)
log.info(trade_days)
count)如果你想获取当前日期(回测中为当前回测日,实盘中为当天)往前推算的 N 个交易日,只需传入 count。
# 获取当前日期往前推的 10 个交易日
trading_days = get_trade_days(count=10)
log.info(trading_days)
在编写 ptrade 策略时,明确你的时间获取需求:
start_date 和 end_date。count(配合或不配合 end_date)。start_date 和 count 永远不要出现在同一个 get_trade_days 调用中即可避免此报错。