8. 详解低门槛搭建个人量化平台 - backtrader+pyfolio 做策略回测(6)

记录最近用backtrader+pyfolio 做策略回测。

安装 backtrader 和 pyfolio :

pip install backtrader
pip install pyfolio 

导入 backtrader 和 pyfolio :

import backtraderas bt
import pyfolio as pf

在代码中,先定义策略 class(以EMA cross策略为例)。

EMACross:EMA(Exponential Moving Average)是指数移动平均值,趋向类指标,指数移动平均值是以指数式递减加权的移动平均。 其构造原理是:对收盘价进行加权算术平均,用于判断价格未来走势的变动趋势。与MACD指标、DMA指标相比,EMA指标由于其计算公式中着重考虑了当天价格(当期)行情的权重,决定了其作为一类趋势分析指标,在使用中克服了MACD指标对于价格走势的滞后性缺陷,同时,也在一定程度上消除了DMA指标在某些时候对于价格走势所产生的信号提前性。当EMA快线上穿EMA慢线为买入信号,EMA快线下穿EMA慢线为卖出信号

class MyStrategy(bt.Strategy):
    params = ()

    def log(self, txt, dt=None):
        ''' Logging function fot this strategy'''
        dt = dt or self.data.datetime[0]
        if isinstance(dt, float):

你可能感兴趣的:(量化,backtrader,python,策略,回测)