🚀 AI 一键生成 ptrade 策略代码
立即体验
👉 AI 生成代码 👈

PTrade 中 before_trading_start 函数的参数有哪些?

ptrade | 发布时间: 2026/6/1
以下内容由 EasyQuant 生成。

问题描述

PTrade中before_trading_start函数的参数有哪些?

解决方案

在 PTrade 量化交易平台中,before_trading_start 函数用于在每天开始交易前执行盘前初始化操作。该函数接受两个参数:contextdata

参数详解

  1. context

    • 类型Context 对象
    • 说明:存放有当前的账户及持仓信息。你可以通过 context 获取当前的资金状况(如 context.portfolio.cash)、持仓信息(如 context.portfolio.positions)以及当前的回测/交易时间等。
  2. data

    • 类型:保留字段
    • 说明:目前为保留字段,暂无数据传入。在编写策略时,通常不需要使用此参数,但必须在函数定义中保留它以符合 API 规范。

函数定义示例

def before_trading_start(context, data):
    # 打印当前账户的可用资金
    log.info("当前可用资金: %s" % context.portfolio.cash)
    
    # 进行一些盘前的变量初始化
    g.daily_buy_count = 0
    log.info("盘前初始化完成")

注意事项

  • 执行时间:在回测中,该函数在每个回测交易日 8:30 分执行;在实盘交易中,开启交易时立即执行,从隔日开始每天 9:10 分(默认)执行。
  • 可选性:该函数是可选的,如果你的策略不需要每天进行盘前初始化,可以不在策略代码中定义它。
  • 行情数据限制:在实盘交易中,如果在 9:10 前开启交易,由于行情可能未更新,在此函数内调用实时行情接口可能会导致数据有误。建议通过 run_daily 在指定时间执行相关逻辑来避免此问题。