def __init__(self, type_indicator, init_acceleration_factor, acceleration_factor_step, max_acceleration_factor, previous_day, period): assert(period > 0) super(PSAREventWindow, self).__init__(windowSize=2) self.__value = None self.__numDays = 0 self.type_indicator = type_indicator self.init_acceleration_factor = init_acceleration_factor self.acceleration_factor = init_acceleration_factor self.acceleration_factor_step = acceleration_factor_step self.max_acceleration_factor = max_acceleration_factor self.previous_day = previous_day self.high_prices_trend = [] self.low_prices_trend = [] self.high_prices_window = collections.NumPyDeque(period, float) self.low_prices_window = collections.NumPyDeque(period, float) self.extreme_point = None self.trend_type = None self.reversal_toUptrend = False self.reversal_toDowntrend = False
def testNumPyDequeResize(self): d = collections.NumPyDeque(10) self.assertEqual(len(d), 0) for i in range(20): d.append(i) self.assertEqual(d[0], 10) self.assertEqual(d[9], 19) self.assertEqual(d[-1], 19) self.assertEqual(len(d), 10) d.resize(5) self.assertEqual(len(d), 5) self.assertEqual(d[-0], 10) self.assertEqual(d[4], 14) self.assertEqual(d[-1], 14) d.resize(10) self.assertEqual(len(d), 5) self.assertEqual(d[-0], 10) self.assertEqual(d[4], 14) self.assertEqual(d[-1], 14) d.append(15) self.assertEqual(len(d), 6) self.assertEqual(d[5], 15) self.assertEqual(d[-1], 15)
def __init__(self, windowSize, dtype=float, skipNone=False): assert (windowSize > 0) assert (isinstance(windowSize, int)) #self.__multiplier = (2.0 / (windowSize + 1)) self.__values = collections.NumPyDeque(windowSize, dtype) #self.__weights = collections.NumPyDeque(windowSize, dtype) self.__windowSize = windowSize self.__skipNone = skipNone
def testNumPyDeque(self): d = collections.NumPyDeque(10) self.assertEqual(len(d), 0) for i in range(10): d.append(i) self.assertEqual(d[0], 0) self.assertEqual(d[9], 9) self.assertEqual(d[-1], 9) self.assertEqual(d[-2], 8) self.assertEqual(d[0:3].sum(), 3) for i in range(3): d.append(i) self.assertEqual(len(d), 10) self.assertEqual(d[0], 3) self.assertEqual(d[9], 2) self.assertEqual(d[-1], 2) self.assertEqual(d[-2], 1)
def testSum(self): d = collections.NumPyDeque(10) for i in range(10): d.append(i) self.assertEqual(d[0:3].sum(), 3)
def buildCollection(self, maxLen): return collections.NumPyDeque(maxLen)
def __init__(self, windowSize): assert (windowSize > 1) technical.EventWindow.__init__(self, windowSize) self.__timestamps = collections.NumPyDeque(windowSize)
def __init__(self, windowSize): assert (windowSize > 1) super(LeastSquaresRegressionWindow, self).__init__(windowSize) self.__timestamps = collections.NumPyDeque(windowSize)
def __init__(self, windowSize, dtype=float, skipNone=True): assert (windowSize > 0) assert (isinstance(windowSize, types.IntType)) self.__values = collections.NumPyDeque(windowSize, dtype) self.__windowSize = windowSize self.__skipNone = skipNone