3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在PTrade量化交易引擎中,一个允许运行的最基础策略结构必须包含两个核心函数:initialize 和 handle_data。这两个函数是策略运行的必选项,缺一不可。
使用场景:仅在回测、交易模块可用。
接口说明:
用于初始化一些全局变量,是策略运行的唯二必须定义函数之一。
注意事项:
该函数只会在回测和交易启动的时候运行一次。通常在这里设置股票池(set_universe)、基准(set_benchmark)、佣金费率(set_commission)以及定义全局变量(如 g.security)。
参数:
context: Context对象,存放有当前的账户及持仓信息。使用场景:仅在回测、交易模块可用。
接口说明:
该函数在交易时间内按指定的周期频率运行,是用于处理策略交易的主要模块。根据策略保存时的周期参数,分为每分钟运行和每天运行。
注意事项:
参数:
context: Context对象,存放有当前的账户及持仓信息。data: 字典(dict),存放当前周期的数据,可通过 data[security] 获取标的信息。以下是一个包含这两个必选函数的极简策略框架:
def initialize(context):
# 初始化全局变量,设置要操作的股票池
g.security = '600570.SS'
set_universe(g.security)
def handle_data(context, data):
# 盘中逻辑处理,例如买入100股
order(g.security, 100)
除了这两个必选函数外,PTrade还提供了 before_trading_start(盘前事件)、after_trading_end(盘后事件)和 tick_data(Tick级处理)等可选函数,供开发者根据策略需求按需使用。