上海免费的量化交易软件在哪申请?ptrade策略引擎简介
发布时间:2024-9-2 15:45阅读:42
策略引擎简介
业务流程框架
ptrade量化引擎以事件触发为基础,通过初始化事件(initialize)、盘前事件(before_trading_start)、盘中事件(handle_data)、盘后事件(after_trading_end)来完成每个交易日的策略任务。
initialize和handle_data是一个允许运行策略的最基础结构,也就是必选项,before_trading_start和after_trading_end是可以按需运行的。
handle_data仅满足日线和分钟级别的盘中处理,tick级别的盘中处理则需要通过tick_data或者run_interval来实现。
ptrade还支持委托主推事件(on_order_response)、交易主推事件(on_trade_response),可以通过委托和成交的信息来处理策略逻辑,是tick级的一个补充。
除了以上的一些事件以外,ptrade也支持通过定时任务来运行策略逻辑,可以通过run_daily接口实现。
initialize(必选)
initialize(context)
使用场景
该函数仅在回测、交易模块可用
接口说明
该函数用于初始化一些全局变量,是策略运行的唯二必须定义函数之一。
注意事项:
该函数只会在回测和交易启动的时候运行一次
可调用接口
set_universe(回测/交易)set_benchmark(回测/交易)set_commission(回测)set_fixed_slippage(回测)set_slippage(回测)set_volume_ratio(回测)set_limit_mode(回测)set_yesterday_position(回测)run_daily(回测/交易)run_interval(交易)get_trading_day(研究/回测/交易)get_all_trades_days(研究/回测/交易)get_trade_days(交易)convert_position_from_csv(回测)get_user_name(回测/交易)is_trade(回测/交易)get_research_path(回测/交易)permission_test(交易)set_future_commission(回测(期货))set_margin_rate(回测(期货))get_margin_rate(回测(期货))create_dir(回测/交易)set_parameters(回测/交易)
参数
context: Context对象,存放有当前的账户及持仓信息;
返回
None
示例
def initialize(context):
#g为全局对象
g.security = '600570.SS'
set_universe(g.security)
def handle_data(context, data):
order('600570.SS',100)
before_trading_start(可选)
before_trading_start(context, data)
使用场景
该函数仅在回测、交易模块可用
接口说明
该函数在每天开始交易前被调用一次,用于添加每天都要初始化的信息,如无盘前初始化需求,该函数可以在策略中不做定义。
注意事项:
- 在回测中,该函数在每个回测交易日8:30分执行。
- 在交易中,该函数在开启交易时立即执行,从隔日开始每天9:10分(默认)执行。
- 当在9:10前开启交易时,受行情未更新原因在该函数内调用实时行情接口会导致数据有误。可通过在该函数内sleep至9:10分或调用实时行情接口改为run_daily执行等方式进行避免。
后续小编会持续更新关于量化ptrade和QMT的相关使用和开通介绍,欢迎点赞评论私信一起交流学习哦!
温馨提示:投资有风险,选择需谨慎。