3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 JoinQuant(聚宽)量化平台中,context 不需要连接实盘账户,您也不需要额外去申请一个真实的资金账号来获取它。
context 是聚宽回测引擎和模拟交易引擎自动生成并维护的一个全局对象(策略信息总览)。它的主要作用是存放当前策略运行时的上下文信息,包括当前的账户资金、股票持仓信息、当前时间等。
完全不需要。
context 对象记录的就是这个虚拟账户里的资金变动和持仓情况。您不需要去“找”或者“创建”这个对象。在聚宽的策略代码架构中,引擎会在调用特定的生命周期函数时,自动将 context 作为参数传递给您的函数。
例如,在以下核心函数中,context 都是直接可用的:
# 初始化函数,回测/模拟开始时运行一次
def initialize(context):
# 可以通过 context 获取初始资金等信息
print("初始资金:", context.portfolio.starting_cash)
# 每天开盘前运行
def before_trading_start(context):
# 可以通过 context 获取当前的时间
print("当前日期:", context.current_dt)
# 盘中运行(按天或按分钟)
def handle_data(context, data):
# 可以通过 context 获取当前可用资金和持仓
cash = context.portfolio.available_cash
positions = context.portfolio.positions
print("可用资金:", cash)
context 对象是一个只读对象(尝试修改它会报错),它包含了非常丰富的策略运行状态:
context.portfolio:总账户信息。包含 available_cash(可用资金)、total_value(总资产)、positions(当前持仓字典)、returns(累计收益)等。context.current_dt:当前单位时间的开始时间(datetime.datetime 对象),即策略运行到的当前逻辑时间。context.previous_date:前一个交易日(datetime.date 对象)。context.universe:当前设定的股票池。context.run_params:此次运行的参数,包含回测的开始/结束日期、运行频率(天/分钟/tick)、运行类型(回测还是模拟交易)等。context 只是聚宽代码框架里的一个上下文变量,代表了您当前回测或模拟交易的“虚拟账户状态”和“时间状态”。您只需在聚宽网页端写好代码并点击运行,系统就会自动为您生成并管理这个对象,无需任何实盘绑定或额外申请。