예제 #1
0
 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'])
예제 #2
0
    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))
예제 #3
0
 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)