def __init__(self, window, dependency=('pRet', 'mRet', 'riskFree')): self._returnSize = 2 super(MovingAlphaBeta, self).__init__(window, dependency) self._pReturnMean = MovingAverage(window, dependency='x') self._mReturnMean = MovingAverage(window, dependency='y') self._pReturnVar = MovingVariance(window, dependency='x') self._mReturnVar = MovingVariance(window, dependency='y') self._correlationHolder = MovingCorrelation(window, dependency=['x', 'y'])
def testMultiplyOperator(self): mv5 = MovingVariance(5, 'close') average = Average('open') mulRes = MovingVariance(5, 'close') * Average('open') for i, (open, close) in enumerate(zip(self.sampleOpen, self.sampleClose)): data = {'close': close, 'open': open} mv5.push(data) average.push(data) mulRes.push(data) if i >= 1: expected = mv5.result() * average.result() calculated = mulRes.result() self.assertAlmostEqual(calculated, expected, 12, "at index {0:d}\n" "expected: {1:f}\n" "calculated: {2:f}".format(i, expected, calculated))
def __init__(self, window, dependency=('ret', 'riskFree')): super(MovingSharp, self).__init__(window, dependency) self._mean = MovingAverage(window, dependency='x') self._var = MovingVariance(window, dependency='x', isPopulation=False)