3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 ptrade 量化交易平台中,get_history 函数是获取历史 K 线行情数据的核心接口。其中,include 参数用于控制返回的数据中是否包含当前周期的数据。
include 参数详解bool)。True:包含当前周期。False:不包含当前周期。False(如果不显式传入该参数,系统默认不包含当前周期)。“当前周期”取决于你调用 get_history 时所处的环境(回测/实盘)以及你请求的数据频率(frequency)。
frequency='1d')假设今天是 2023年10月20日,你在 handle_data 中调用 get_history(count=5, frequency='1d'):
include=False(默认):返回过去 5 个已结束的交易日数据,即 10月13日、16日、17日、18日、19日的日 K 线。include=True:返回包含今天在内的 5 个交易日数据,即 10月16日、17日、18日、19日、20日的日 K 线。注意,如果是在盘中调用,10月20日的数据是截至调用时刻的未走完的 K 线数据。frequency='1m')假设当前时间是 10:05:00,你在 handle_data 中调用 get_history(count=3, frequency='1m'):
include=False(默认):返回 10:02、10:03、10:04 这三根已经走完的分钟 K 线。include=True:返回 10:03、10:04 以及当前正在运行的 10:05 这三根分钟 K 线。同样,10:05 的 K 线数据是截至调用时刻的动态数据。def initialize(context):
g.security = '600570.SS'
set_universe(g.security)
def handle_data(context, data):
# 获取过去 5 天的收盘价(不包含今天)
history_without_today = get_history(5, '1d', 'close', g.security, include=False)
log.info("不包含今天的历史数据:\n%s" % history_without_today)
# 获取过去 5 天的收盘价(包含今天当前的最新价)
history_with_today = get_history(5, '1d', 'close', g.security, include=True)
log.info("包含今天的历史数据:\n%s" % history_with_today)
include=False 获取昨天的收盘价作为参考,或者使用 data[security]['close'] 获取当前时刻的最新价。如果使用 include=True 获取日线数据,可能会提前获取到当天的最终收盘价(取决于回测引擎的撮合机制),从而引入未来函数。include=False 是最常用的选择。