3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 ptrade 量化交易平台中,使用 get_price 函数获取不到当天的行情数据是正常现象。根据 ptrade 官方 API 文档的说明,这与该接口的设计机制有关。
根据 ptrade API 文档中关于 get_price 接口的注意事项:
数据返回内容不包括当天数据
get_price 主要被设计用于获取指定日期之前的历史 K 线数据,因此它在底层实现上过滤掉了当前交易日的数据。
如果您在策略中需要获取包含当天的 K 线数据或实时的行情信息,可以使用以下替代方案:
get_history 函数(推荐获取 K 线)get_history 函数同样用于获取历史行情,但它提供了一个 include 参数,允许您控制是否包含当前周期的数据。
include 参数设置为 True。代码示例:
def handle_data(context, data):
# 获取过去5天(包含今天)的日K线收盘价
# include=True 表示包含当前周期(即今天)
his_data = get_history(5, '1d', 'close', security_list='600570.SS', include=True)
log.info(his_data)
get_snapshot 函数(推荐获取实时切片)如果您只需要获取当天的最新价格、开盘价、最高价、最低价或成交量等实时快照信息,而不需要完整的 K 线序列,使用 get_snapshot 是最高效的选择。
代码示例:
def handle_data(context, data):
# 获取当前股票的实时行情快照
snapshot = get_snapshot('600570.SS')
if snapshot:
# 获取最新成交价
last_price = snapshot['600570.SS']['last_px']
# 获取今开盘价
open_price = snapshot['600570.SS']['open_px']
log.info(f"最新价: {last_price}, 今开价: {open_price}")
get_price。get_history 并设置 include=True。get_snapshot 或在 handle_data 中直接通过 data[security]['close'] 获取。