无法转换类型'???'到分子/分母

问题描述 投票:0回答:1

我正在尝试对我的量化策略进行回溯测试。我为该任务选择了backtrader。这就是我现在所拥有的,在回传系统之外可以正常工作。我必须说实话,我在课堂写作方面非常阴暗。

    def __init__(self):
        # Keep a reference to the "close" line in the data[0] dataseries
        self.dataclose = self.datas[0].close
        # To keep track of pending orders
        self.order = None
        self.buyprice = None
        self.buycomm = None

        # Add a MovingAverageSimple indicator
        self.sma5 = bt.talib.SMA(self.datas[0], timeperiod=self.p.ma5period)
        self.sma20 = bt.talib.SMA(self.datas[0], timeperiod=self.p.ma20period)
        self.sma60 = bt.talib.SMA(self.datas[0], timeperiod=self.p.ma60period)

        self.stdev = stats.pstdev((self.sma5, self.sma20, self.sma60))

        self.MACDhisto = bt.indicators.MACDHisto(self.datas[0])

DOM

  File "P:/LEIGH PYTHON/Codes/Quant/backtrader_initiation.py", line 67, in __init__
    self.stdev = stats.pstdev((self.sma5, self.sma20, self.sma60))
  File "C:\Users\Mike_Leigh\.conda\envs\LEIGH\lib\statistics.py", line 666, in pstdev
    var = pvariance(data, mu)
  File "C:\Users\Mike_Leigh\.conda\envs\LEIGH\lib\statistics.py", line 637, in pvariance
    T, ss = _ss(data, mu)
  File "C:\Users\Mike_Leigh\.conda\envs\LEIGH\lib\statistics.py", line 535, in _ss
    c = mean(data)
  File "C:\Users\Mike_Leigh\.conda\envs\LEIGH\lib\statistics.py", line 312, in mean
    T, total, count = _sum(data)
  File "C:\Users\Mike_Leigh\.conda\envs\LEIGH\lib\statistics.py", line 148, in _sum
    for n,d in map(_exact_ratio, values):
  File "C:\Users\Mike_Leigh\.conda\envs\LEIGH\lib\statistics.py", line 230, in _exact_ratio
    raise TypeError(msg.format(type(x).__name__))
TypeError: can't convert type 'SMA' to numerator/denominator

任何人都可以给我指导吗?非常感谢!

python-3.x standard-deviation quantitative-finance backtrader
1个回答
0
投票

也许您应该看看其他平台,看看它如何发展。据我了解,backtrader非常适合测试您的数据,而不适合过滤数据。

© www.soinside.com 2019 - 2024. All rights reserved.