问题描述
想了解如何设置回测中的成交比例
解决方案
在 PTrade 量化交易平台中,set_volume_ratio 函数主要用于设置回测环境下的单笔委托成交比例。合理设置该比例可以模拟盘口流动性限制,使回测结果更加逼近真实的交易场景。
1. 函数作用
set_volume_ratio(volume_ratio=0.25)
该函数用于设置回测中单笔委托的成交比例。在真实市场中,大额订单往往无法在一个周期内全部成交,设置成交比例可以限制策略在单个周期内的最大成交量,从而更真实地评估策略在流动性受限时的表现。
2. 参数说明
- volume_ratio (float):设置成交比例。默认值为
0.25,这意味着本周期最大成交数量被限制为本周期市场实际可成交总量的四分之一(25%)。
3. 注意事项
- 仅限回测模块:该函数仅在回测环境中生效,实盘交易中订单直接报送柜台,不受此函数限制。
- 未成交部分处理:假如策略委托下单的数量大于按
volume_ratio计算出的最大可成交数量,系统会按计算后的最大数量进行撮合成交,差额部分的委托数量不会继续挂单(即直接作废)。
4. 代码示例
以下是一个在初始化函数中设置成交比例的完整示例:
def initialize(context):
g.security = '600570.SS'
set_universe(g.security)
# 将最大成交数量设置为本周期市场可成交总量的二分之一 (50%)
set_volume_ratio(volume_ratio=0.5)
def handle_data(context, data):
# 在此处编写交易逻辑
pass
通过在 initialize 中调用 set_volume_ratio,您可以根据策略的资金体量和交易频率,灵活调整流动性假设,提升回测的可靠性。