作者: 阿布
阿布量化版权所有 未经允许 禁止转载
abu量化系统github地址(欢迎+star,你的支持是我更新的动力!)
上一节编写了AbuFactorBuyBreak和AbuFactorSellBreak,做为择时买入策略和择时卖出策略,本节将继续使用这两个策略,
通过混入其它卖出策略来提高优化交易效果。
备注:已将AbuFactorBuyBreak和AbuFactorSellBreak做为abupy内置策略示例因子在项目中,所以本节不重复编写因子,直接从abupy中import因子,如下所示
from abupy import AbuFactorBuyBreak, AbuFactorSellBreak
# buy_factors 60日向上突破,42日向上突破两个因子
buy_factors = [{
'xd': 60, 'class': AbuFactorBuyBreak},
{
'xd': 42, 'class': AbuFactorBuyBreak}]
# 使用120天向下突破为卖出信号
sell_factor1 = {
'xd': 120, 'class': AbuFactorSellBreak}
1 基本止盈止损策略
上一节的策略大多数的交易卖出因子都生效了,但效果很不好,量化交易系统一般都会有止盈策略和止损策略。
下面使用abupy中内置的基本止盈止损策略AbuFactorAtrNStop做回测,即使用AbuFactorAtrNStop和AbuFactorSellBreak两个卖出因子策略并行同时生效, 交易结果如下所示
备注:
AbuFactorAtrNStop是真实波幅atr作为最大止盈和最大止损的常数值:
- 当stop_loss_n 乘以 当日atr > 买入价格 - 当日收盘价格:止损卖出,如下止损n = 0.5
- 当stop_win_n 乘以 当日atr < 当日收盘价格 -买入价格:止盈卖出,如下止盈n = 3.0
更多详情请阅读abupy中AbuFactorAtrNStop代码实现
from abupy import AbuFactorAtrNStop
from abupy