def testDeltaSecurityValueHolder(self):
        mm = SecurityMovingAverage(2, 'close')
        delta1 = SecurityDeltaValueHolder(mm, 2)

        data1 = {'aapl': {'close': 1.0},
                 'ibm': {'close': 2.0},
                 'goog': {'close': 3.0}}
        delta1.push(data1)
        calculated = delta1.value
        for name in calculated.index():
            self.assertTrue(np.isnan(calculated[name]))

        data2 = {'aapl': {'close': 2.0},
                 'ibm': {'close': 3.0},
                 'goog': {'close': 4.0}}

        delta1.push(data2)

        data3 = {'aapl': {'close': 3.0},
                 'ibm': {'close': 4.0},
                 'goog': {'close': 5.0}}

        delta1.push(data3)

        expected = SeriesValues({'aapl': 1.5,
                                 'ibm': 1.5,
                                 'goog': 1.5})
        calculated = delta1.value
        for name in expected.index():
            self.assertAlmostEqual(expected[name], calculated[name])

        data4 = ({'aapl': {'close': 4.0},
                  'ibm': {'close': 5.0},
                  'goog': {'close': 6.0}})

        delta1.push(data4)
        expected = SeriesValues({'aapl': 2.0,
                                 'ibm': 2.0,
                                 'goog': 2.0})
        calculated = delta1.value
        for name in expected.index():
            self.assertAlmostEqual(expected[name], calculated[name])
Exemple #2
0
def DELTA(x, n):
    return SecurityDeltaValueHolder(x, n)