PDF下载 下载

策略程序架构

掘金策略程序初始化

通过init函数初始化策略,策略启动即会自动执行。在init函数中可以:

  • 定义全局变量
    通过添加context包含的属性可以定义全局变量,如context.x,该属性可以在全文中进行传递。

  • 定义调度任务
    可以通过schedule配置定时任务,程序在指定时间自动执行策略算法。

  • 准备历史数据
    通过数据查询函数获取历史数据

  • 订阅实时行情
    通过subscribe订阅行情,用以触发行情事件处理函数。

行情事件处理函数

  • 处理盘口tick数据事件
    通过on_tick响应tick数据事件,可以在该函数中继续添加自己的策略逻辑,如进行数据计算、交易等

  • 处理分时bar数据事件
    通过on_bar响应bar数据事件,可以在该函数中继续添加自己的策略逻辑,如进行数据计算、交易等

交易事件处理函数

  • 处理回报execrpt数据事件
    当交易委托被执行后会触发on_execution_report,用于监测委托执行状态。

  • 处理委托order状态变化数据事件
    订单状态产生变化时会触发on_order_status,用于监测委托状态变更

策略入口

run函数用于启动策略,策略类交易类策略都需要run函数。在只需提取数据进行研究(即仅使用数据查询函数时)的情况下可以不调用run函数,在策略开始调用set_token即可

  • 用户tokenID
    用户身份的唯一标识,token位置参见终端-系统设置界面-密钥管理(token)

  • 策略ID strategy_id
    策略文件与终端连接的纽带,是策略的身份标识。每创建一个策略都会对应生成一个策略id,创建策略时即可看到。

  • 策略工作模式
    策略支持两种运行模式, 实时模式和回测模式,实时模式用于仿真交易及实盘交易,回测模式用于策略研究,用户需要在运行策略时选择模式.