3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 ptrade 量化平台中,使用 get_price 函数获取历史行情数据时,start_date(开始时间)和 count(K线数量)是互斥参数。根据 ptrade API 文档的规定:
start_date与count必须且只能选择输入一个,不能同时输入或者同时都不输入。
因此,如果您在调用 get_price 时同时传入了这两个参数,系统就会抛出参数互斥的错误。
为了正确获取历史数据,您需要根据实际需求选择以下两种组合方式之一:
start_date 和 end_date 组合如果您想获取某个具体时间段内的数据,请同时传入 start_date 和 end_date。
def initialize(context):
g.security = '600570.SS'
set_universe(g.security)
def handle_data(context, data):
# 获取 2015年1月1日 到 2015年1月31日 的日线开盘价数据
price_open = get_price('600570.SS', start_date='20150101', end_date='20150131', frequency='1d')['open']
log.info(price_open)
end_date 和 count 组合如果您想获取指定结束日期往前推算 N 根 K 线的数据,请传入 end_date 和 count。
def initialize(context):
g.security = '600570.SS'
set_universe(g.security)
def handle_data(context, data):
# 获取 2015年1月31日 往前推 10 个交易日的日线开盘价数据
price_open = get_price('600570.SS', end_date='20150131', frequency='1d', count=10)['open']
log.info(price_open)
count 参数只针对特定的频率有效,如 '1d', '1m', '5m', '1w' 等。对于不支持的频率,只能使用 start_date 和 end_date 组合。'1w', 'mo', '1q', '1y' 等频率,不支持 start_date 和 end_date 组合,只支持 end_date 和 count 组合。get_price 返回的数据内容不包括当天的数据。