期货日线布林带策略
由crisvalentine创建,最终由crisvalentine 被浏览 278 用户
布林带策略的交易规则
相关定义如下:
中轨 = N时间段的close价格简单移动平均线
上轨 = 中轨 + K × N时间段的标准差
下轨 = 中轨 − K × N时间段的标准差
当前价格相对位置 percent_b = (close - lower)/(upper - lower)
本例中N取20,K取2
当percent_b ≥ 1时,以第二日开盘价平空开多;
当percent_b ≤ 0时,以第二日开盘价平多卖空;
策略构建步骤
-
确定期货合约和回测时间
通过证券代码列表输入要回测的期货合约,以及回测的起止日期
-
确定买卖条件信号
在输入特征列表中通过表达式引擎定义 buy_condition=where((close-(mean(close,20) - 2std(close,20))) / (4std(close,20))>=1,1,0),实现买入信号。 在输入特征列表中通过表达式引擎定义 sell_condition=where((close-(mean(close,20)- 2std(close,20))) / (4std(close,20))<=0,1,0),实现卖出信号。 通过自定义Python模块获取合约基础数据,通过衍生特征抽取模块实现买卖条件指标 buy_condition 和 sell_condition 数据的抽取。 通过缺失数据处理模块删去有缺失值的数据。
-
确定买卖原则
如果当日 buy_condition > 0,执行平空开多操作; 如果当日 sell_condition > 0,执行平多开空操作。
-
模拟回测
通过 trade 模块中的初始化函数定义交易手续费、滑点、杠杆比例和是否逐日结算; 通过 trade 模块中的准备函数定义 context.buy_condition 和 context.sell_condition 变量来获取并存放每日买卖交易信号; 通过 trade 模块中的主函数(handle函数)查看每日的交易信号,按照买卖原则执行相应的交易操作。
https://bigquant.com/experimentshare/f3dc7afacc5042bfa00b61e52c3478df
\