作者: 阿布
阿布量化版权所有 未经允许 禁止转载
前面小节中都使用分解流程方式一步一步实现回测,目的是为了更清晰的说明内部操作流程, 编码过程会显的有些复杂臃肿,但实际上在编写完成一个策略后只需要使用一行代码即abu.run_loop_back可以完成回测。
详细代码实现请阅读abu.run_loop_back()函数,下面使用run_loop_back()进行策略示例:
# 设置初始资金数
read_cash = 1000000
# 设置选股因子,None为不使用选股因子
stock_pickers = None
# 买入因子依然延用向上突破因子
buy_factors = [{
'xd': 60, 'class': AbuFactorBuyBreak},
{
'xd': 42, 'class': AbuFactorBuyBreak}]
# 卖出因子继续使用上一节使用的因子
sell_factors = [
{
'stop_loss_n': 1.0, 'stop_win_n': 3.0,
'class': AbuFactorAtrNStop},
{
'class': AbuFactorPreAtrNStop, 'pre_atr_n': 1.5},
{
'class': AbuFactorCloseAtrNStop, 'close_atr_n': 1.5}
]
# 择时股票池
choice_symbols = ['usNOAH', 'usSFUN', 'usBIDU', 'usAAPL', 'usGOOG',
'usTSLA', 'usWUBA', 'usVIPS']
# 使用run_loop_back运行策略
abu_result_tuple, kl_pd_manger = abu.run_loop_back(read_cash,
buy_factors,
sell_factors,
stock_pickers,
choice_symbols=choice_symbols,
n_folds=2)
如上代码abu.run_loop_back接口只需