Пример #1
0
    def test_nan_before_size(self):
        bar = self.app_context.inst_data_mgr.get_series("bar")
        bar.start(self.app_context)

        stddev = StdDev(bar, input_key='close', length=3)
        stddev.start(self.app_context)

        t1 = datetime.datetime.now()

        nextTime = lambda t: t + datetime.timedelta(0, 3)

        x = np.random.normal(0, 2.0, 3)
        ts = np.cumsum(x) + 100

        i = 0

        bar.add({"timestamp": t1, "close": ts[i], "open": 0})
        self.assertEquals([{
            "name": "'%s'" % stddev.name,
            "timestamp": t1,
            'value': np.nan
        }], stddev.get_data())

        t2 = nextTime(t1)
        i = i + 1
        bar.add({"timestamp": t2, "close": ts[i], "open": 1.4})
        self.assertEquals([{
            "name": "'%s'" % stddev.name,
            "timestamp": t1,
            'value': np.nan
        }, {
            "name": "'%s'" % stddev.name,
            "timestamp": t2,
            'value': np.nan
        }], stddev.get_data())

        t3 = nextTime(t2)
        i = i + 1
        bar.add({"timestamp": t3, "close": ts[i], "open": 1.8})
        self.assertEquals([{
            "name": "'%s'" % stddev.name,
            "timestamp": t1,
            'value': np.nan
        }, {
            "name": "'%s'" % stddev.name,
            "timestamp": t2,
            'value': np.nan
        }, {
            "name": "'%s'" % stddev.name,
            "timestamp": t3,
            'value': np.std(ts)
        }], stddev.get_data())
Пример #2
0
    def test_nan_before_size(self):
        bar = self.app_context.inst_data_mgr.get_series("bar")
        bar.start(self.app_context)

        stddev = StdDev(inputs=bar, input_keys='close', length=3)
        stddev.start(self.app_context)

        t1 = 1

        nextTime = lambda t: t + 3

        x = np.random.normal(0, 2.0, 3)
        ts = np.cumsum(x) + 100

        i = 0

        bar.add(timestamp=t1, data={"close": ts[i], "open": 0})
        self.assertEquals([{'value': np.nan}], stddev.get_data())

        t2 = nextTime(t1)
        i = i + 1
        bar.add(timestamp=t2, data={"close": ts[i], "open": 1.4})
        self.assertEquals([{
            'value': np.nan
        }, {
            'value': np.nan
        }], stddev.get_data())

        t3 = nextTime(t2)
        i = i + 1
        bar.add(timestamp=t3, data={"close": ts[i], "open": 1.8})
        self.assertEquals([{
            'value': np.nan
        }, {
            'value': np.nan
        }, {
            'value': np.std(ts)
        }], stddev.get_data())
Пример #3
0
    def test_nan_before_size(self):
        bar = self.app_context.inst_data_mgr.get_series("bar")
        bar.start(self.app_context)

        stddev = StdDev(bar, input_key='close', length=3)
        stddev.start(self.app_context)

        t1 = datetime.datetime.now()

        nextTime = lambda t : t + datetime.timedelta(0,3)

        x = np.random.normal(0, 2.0, 3)
        ts = np.cumsum(x) + 100

        i = 0

        bar.add({"timestamp": t1, "close": ts[i], "open": 0})
        self.assertEquals([{"name": "'%s'" % stddev.name,
                            "timestamp": t1,
                            'value': np.nan}],
                          stddev.get_data())

        t2 = nextTime(t1)
        i = i+1
        bar.add({"timestamp": t2, "close": ts[i], "open": 1.4})
        self.assertEquals([{"name": "'%s'" % stddev.name, "timestamp": t1, 'value': np.nan},
                           {"name": "'%s'" % stddev.name, "timestamp": t2, 'value': np.nan}],
                          stddev.get_data())

        t3 = nextTime(t2)
        i = i+1
        bar.add({"timestamp": t3, "close": ts[i], "open": 1.8})
        self.assertEquals([{"name": "'%s'" % stddev.name, "timestamp": t1, 'value': np.nan},
                           {"name": "'%s'" % stddev.name, "timestamp": t2, 'value': np.nan},
                           {"name": "'%s'" % stddev.name, "timestamp": t3, 'value': np.std(ts)}],
                          stddev.get_data())
Пример #4
0
 def test_empty_at_initialize(self):
     close = self.app_context.inst_data_mgr.get_series("bar")
     stddev = StdDev(close, input_key='close', length=3)
     self.assertEquals(0, len(stddev.get_data()))
Пример #5
0
 def test_name(self):
     bar = self.app_context.inst_data_mgr.get_series("bar")
     stddev = StdDev(bar, input_key='close', length=3)
     self.assertEquals("StdDev('bar',close,3)", stddev.name)
Пример #6
0
 def test_empty_at_initialize(self):
     close = self.app_context.inst_data_mgr.get_series("bar")
     stddev = StdDev(close, input_key='close', length=3)
     self.assertEquals(0, len(stddev.get_data()))