3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在ptrade量化交易平台中,**研究环境(Research)和回测环境(Backtest)**有着截然不同的定位和底层架构。理解它们的区别,就能明白为什么在研究环境中无法调用order等下单函数。
get_history、get_price)和财务数据(如get_fundamentals)进行静态分析。initialize、before_trading_start、handle_data)被系统自动触发执行。order 下单函数?根据ptrade API文档,order、order_target、order_value等交易相关函数,其使用场景明确标注为“仅在回测、交易模块可用”。原因如下:
order函数的作用是将委托单发送给撮合引擎。研究环境是一个纯粹的数据分析环境,底层并没有挂载模拟撮合引擎,因此无法处理订单的撮合、成交和滑点计算。context.portfolio对象中。研究环境没有账户的概念,也没有context对象来记录可用资金(cash)和持仓(positions),因此无法进行买卖操作。handle_data(context, data)按周期推进时间,而研究环境是静态的,没有“当前交易日/分钟”的动态概念。在编写ptrade代码时,请务必注意API文档中注明的使用场景:
order系列下单函数、cancel_order、get_open_orders、get_position、set_universe、initialize、handle_data等。get_price、get_history、get_fundamentals、get_stock_info、get_trading_day等。开发建议:标准的量化开发流程是,先在研究环境中调用get_price等接口获取数据,完成策略逻辑的推演和指标计算;确认逻辑无误后,将核心逻辑迁移到回测环境的handle_data函数中,结合context和order函数进行动态的历史回测。