def testCum(self): w = Feed(self._inst) w.insert(talibfunc.SMA('SMA50', w, 50)) w.insert(CUM(name='cum2(SMA50)', period=2, baseIndicator='SMA50')) # just going to spot check a few values randomly (but hard-coded) # we know that the base indicator is NAN up through at least 50 cum = w.get_series('cum2(SMA50)') base = w.get_series('SMA50') self.assertAlmostEqual(cum[79], base[79] + base[78], places=4) self.assertAlmostEqual(cum[112], base[112] + base[111], places=4) self.assertAlmostEqual(cum[176], base[176] + base[175], places=4)
def testCum(self): w = Feed(self._inst) w.insert( talibfunc.SMA('SMA50',w,50)) w.insert( CUM( name='cum2(SMA50)', period=2, baseIndicator='SMA50') ) # just going to spot check a few values randomly (but hard-coded) # we know that the base indicator is NAN up through at least 50 cum = w.get_series('cum2(SMA50)') base = w.get_series('SMA50') self.assertAlmostEqual( cum[79], base[79] + base[78], places=4 ) self.assertAlmostEqual( cum[112], base[112] + base[111], places=4 ) self.assertAlmostEqual( cum[176], base[176] + base[175], places=4 )
def testBasic2(self): w = Feed(self._inst) w.insert(talibfunc.MAX('MAX50', w, 50)) w.insert(talibfunc.MAX('MAX25', w, 25)) w.insert(talibfunc.MIN('MIN50', w, 50)) w.insert(talibfunc.MIN('MIN25', w, 25)) self.assertEqual(len(w.values()), 10) self.assertEqual(len(w.values()[0]), 252) self.assertAlmostEqual(w.get_series('MAX50')[232], 2.459) self.assertAlmostEqual(w.get_series('MAX25')[231], 2.448) self.assertAlmostEqual(w.get_series('MIN50')[230], 2.267) self.assertAlmostEqual(w.get_series('MIN25')[229], 2.289)
def testBasic2(self): w = Feed(self._inst) w.insert( talibfunc.MAX('MAX50',w,50) ) w.insert( talibfunc.MAX('MAX25',w,25) ) w.insert( talibfunc.MIN('MIN50',w,50) ) w.insert( talibfunc.MIN('MIN25',w,25) ) self.assertEqual( len(w.values()), 10 ) self.assertEqual( len(w.values()[0]), 252 ) self.assertAlmostEqual( w.get_series('MAX50')[232], 2.459 ) self.assertAlmostEqual( w.get_series('MAX25')[231], 2.448 ) self.assertAlmostEqual( w.get_series('MIN50')[230], 2.267 ) self.assertAlmostEqual( w.get_series('MIN25')[229], 2.289 )
def testBasic(self): w = Feed(self._inst) w.insert( ATR() ) w.insert( talibfunc.SMA('SMA10',w,10)) self.assertEqual( len(w.values()), 8 ) self.assertEqual( len(w.values()[0]), 252 ) self.assertEqual( w.values()[0][251], datetime.datetime(2013,1,18,0,0) ) self.assertTrue( math.isnan(w.get_series('ATR')[5])) self.assertTrue( math.isnan(w.get_series('ATR')[98])) self.assertAlmostEqual( w.get_series('ATR')[99], 0.03493, places=5 ) self.assertAlmostEqual( w.get_series('ATR')[251], 0.03307, places=5 ) self.assertAlmostEqual( w.get_series('SMA10')[251], 2.2921 ) self.assertAlmostEqual( w.get_series('SMA10')[188], 2.3989 )
def testBasic(self): w = Feed(self._inst) w.insert(ATR()) w.insert(talibfunc.SMA('SMA10', w, 10)) self.assertEqual(len(w.values()), 8) self.assertEqual(len(w.values()[0]), 252) self.assertEqual(w.values()[0][251], datetime.datetime(2013, 1, 18, 0, 0)) self.assertTrue(math.isnan(w.get_series('ATR')[5])) self.assertTrue(math.isnan(w.get_series('ATR')[98])) self.assertAlmostEqual(w.get_series('ATR')[99], 0.03493, places=5) self.assertAlmostEqual(w.get_series('ATR')[251], 0.03307, places=5) self.assertAlmostEqual(w.get_series('SMA10')[251], 2.2921) self.assertAlmostEqual(w.get_series('SMA10')[188], 2.3989)
def testBasic3(self): w = Feed(self._inst) w.insert(talibfunc.ATR('ATR10', w, 10)) self.assertEqual(len(w.values()), 7) self.assertEqual(len(w.values()[0]), 252) self.assertAlmostEqual(w.get_series('ATR10')[251], 0.031196, places=6)
def testBasic3(self): w = Feed(self._inst) w.insert( talibfunc.ATR('ATR10',w,10) ) self.assertEqual( len(w.values()), 7 ) self.assertEqual( len(w.values()[0]), 252 ) self.assertAlmostEqual( w.get_series('ATR10')[251], 0.031196, places=6 )
def testPriceVelocity(self): w = Feed(self._inst) w.insert( talibfunc.SMA('SMA50',w,50)) w.insert( PriceVelocity('PVEL',period=10,baseIndicator='SMA50') ) self.assertEqual( len(w.values()), 8 ) self.assertEqual( len(w.values()[0]), 252 ) self.assertAlmostEqual( w.get_series('PVEL')[251], -0.001576, places=4 ) feedout = '%s/writefeed.csv' % os.path.dirname(__file__) wf = open(feedout,'w') w.write_csv(wf) wf.close() self.assertTrue(test_util.file_compare('%s/writefeed.refcsv' % os.path.dirname(__file__), feedout)) os.remove(feedout)
def testPriceVelocity(self): w = Feed(self._inst) w.insert(talibfunc.SMA('SMA50', w, 50)) w.insert(PriceVelocity('PVEL', period=10, baseIndicator='SMA50')) self.assertEqual(len(w.values()), 8) self.assertEqual(len(w.values()[0]), 252) self.assertAlmostEqual(w.get_series('PVEL')[251], -0.001576, places=4) feedout = '%s/writefeed.csv' % os.path.dirname(__file__) wf = open(feedout, 'w') w.write_csv(wf) wf.close() self.assertTrue( test_util.file_compare( '%s/writefeed.refcsv' % os.path.dirname(__file__), feedout)) os.remove(feedout)
def testNeg(self): w = Feed(self._inst) with self.assertRaisesRegexp(Exception, "Workspace does not have a.*series in"): w.get_series('notexist')
def testNeg(self): w = Feed(self._inst) with self.assertRaisesRegexp(Exception,"Workspace does not have a.*series in"): w.get_series('notexist')