Пример #1
0
 def testCustomLoader(self):
     from dynts.conf import settings
     settings.default_loader = CustomLoader
     dynts.evaluate('BLT:google').unwind()
     data = CustomLoader.data
     self.assertTrue(data)
     self.assertTrue('BLT:GOOGLE' in data)
Пример #2
0
def get_analysis(code = None, start = None, end = None, format = None, **kwargs):
    '''Econometric analysis'''
    res = dynts.evaluate(code, start = start, end = end)
    if format:
        return res.dump(format = format)
    else:
        return res
Пример #3
0
def get_analysis(code=None, start=None, end=None, format=None, **kwargs):
    '''Econometric analysis'''
    res = dynts.evaluate(code, start=start, end=end)
    if format:
        return res.dump(format=format)
    else:
        return res
Пример #4
0
 def testVbaJson(self):
     ts = dynts.evaluate('AMZN, AAPL').dump('jsonvba')
     self.assertTrue(isinstance(ts, list))
     head = ts[0]
     self.assertEqual(['Date', 'AMZN', 'AAPL'], head)
     for row in ts[1:]:
         self.assertTrue(isinstance(row[0], int))
         self.assertEqual(len(row), 3)
Пример #5
0
 def testVbaJson(self):
     ts = dynts.evaluate("AMZN,AAPL").dump("jsonvba")
     self.assertTrue(isinstance(ts, list))
     head = ts[0]
     self.assertEqual(["Date", "AMZN", "AAPL"], head)
     for row in ts[1:]:
         self.assertTrue(isinstance(row[0], int))
         self.assertEqual(len(row), 3)
Пример #6
0
 def testVbaJson(self):
     ts = dynts.evaluate('AMZN,AAPL').dump('jsonvba')
     self.assertTrue(isinstance(ts,list))
     head = ts[0]
     self.assertEqual(['Date','AMZN','AAPL'],head)
     for row in ts[1:]:
         self.assertTrue(isinstance(row[0],int))
         self.assertEqual(len(row),3)
Пример #7
0
 def testNoParameters(self):
     '''Test mean function with zero parameters'''
     expression = '%s(GOOG)' % self.function
     result = dynts.evaluate(expression)
     self.assertEqual(str(result),expression)
     self.assertEqual(len(result.data),1)
     data = result.ts()
     self.assertTrue(dynts.istimeseries(data))
     self.assertEqual(data.count(),1)
Пример #8
0
 def testFlot1(self):
     ts = dynts.evaluate('YHOO,GOOG').dump('flot')
     dts = ts.todict()
     self.assertEqual(dts['type'],'multiplot')
     self.assertEqual(len(dts['plots']),1)
     plot = dts['plots'][0]
     self.assertEqual(plot['type'],'timeseries')
     self.assertEqual(len(plot['series']),2)
     data = json.dumps(dts)
Пример #9
0
 def testScatter(self):
     ts = dynts.evaluate('scatter(YHOO, GOOG)').dump('flot')
     dts = ts.todict()
     self.assertEqual(dts['type'], 'multiplot')
     self.assertEqual(len(dts['plots']), 1)
     plot = dts['plots'][0]
     self.assertEqual(plot['type'], 'xy')
     self.assertEqual(len(plot['series']), 1)
     serie = plot['series'][0]
Пример #10
0
 def testTwoSeries(self):
     e = '%s(GOOG,YHOO)' % self.function
     result = dynts.evaluate(e)
     symbols = result.expression.symbols()
     self.assertEqual(len(symbols), 2)
     self.assertEqual(len(result.data), 2)
     data = result.ts()
     self.assertTrue(dynts.istimeseries(data))
     self.assertEqual(data.count(), 2)
Пример #11
0
 def testNoParameters(self):
     '''Test mean function with zero parameters'''
     expression = '%s(GOOG)' % self.function
     result = dynts.evaluate(expression)
     self.assertEqual(str(result), expression)
     self.assertEqual(len(result.data), 1)
     data = result.ts()
     self.assertTrue(dynts.istimeseries(data))
     self.assertEqual(data.count(), 1)
Пример #12
0
 def testTwoSeries(self):
     e = '%s(GOOG, YHOO)' % self.function
     result = dynts.evaluate(e)
     symbols = result.expression.symbols()
     self.assertEqual(len(symbols), 2)
     self.assertEqual(len(result.data), 2)
     data = result.ts()
     self.assertTrue(dynts.istimeseries(data))
     self.assertEqual(data.count(), 2)
Пример #13
0
 def testFlot1(self):
     ts = dynts.evaluate("YHOO,GOOG").dump("flot")
     dts = ts.todict()
     self.assertEqual(dts["type"], "multiplot")
     self.assertEqual(len(dts["plots"]), 1)
     plot = dts["plots"][0]
     self.assertEqual(plot["type"], "timeseries")
     self.assertEqual(len(plot["series"]), 2)
     data = json.dumps(dts)
Пример #14
0
 def testFlot1(self):
     ts = dynts.evaluate('YHOO, GOOG').dump('flot')
     dts = ts.todict()
     self.assertEqual(dts['type'], 'multiplot')
     self.assertEqual(len(dts['plots']), 1)
     plot = dts['plots'][0]
     self.assertEqual(plot['type'], 'timeseries')
     self.assertEqual(len(plot['series']), 2)
     data = json.dumps(dts)
Пример #15
0
 def testScatter(self):
     ts = dynts.evaluate('scatter(YHOO,GOOG)').dump('flot')
     dts = ts.todict()
     self.assertEqual(dts['type'],'multiplot')
     self.assertEqual(len(dts['plots']),1)
     plot = dts['plots'][0]
     self.assertEqual(plot['type'],'scatter')
     self.assertEqual(len(plot['series']),1)
     serie = plot['series'][0]
Пример #16
0
 def testScatter(self):
     ts = dynts.evaluate("scatter(YHOO,GOOG)").dump("flot")
     dts = ts.todict()
     self.assertEqual(dts["type"], "multiplot")
     self.assertEqual(len(dts["plots"]), 1)
     plot = dts["plots"][0]
     self.assertEqual(plot["type"], "xy")
     self.assertEqual(len(plot["series"]), 1)
     serie = plot["series"][0]
Пример #17
0
 def testWindowParameter(self):
     '''Test mean function with one parameter'''
     e = '%(f)s(GOOG,window=30),%(f)s(GOOG,window=60)' % {'f':self.function}
     result = dynts.evaluate(e)
     symbols = result.expression.symbols()
     self.assertEqual(len(symbols),1)
     self.assertEqual(len(result.data),1)
     data = result.ts()
     self.assertTrue(dynts.istimeseries(data))
     self.assertEqual(data.count(),2)
Пример #18
0
 def testDataProvider(self):
     result = dynts.evaluate('2*GOOG,GOOG')
     self.assertEqual(len(result.data),1)
     self.assertEqual(result.expression,dynts.parse('2*GOOG,GOOG'))
     data = result.ts()
     self.assertTrue(dynts.istimeseries(data))
     self.assertEqual(data.count(),2)
     ts1 = data.serie(0)
     ts2 = data.serie(1)
     for v1,v2 in zip(ts1,ts2):
         self.assertAlmostEqual(v1,2.*v2)
Пример #19
0
 def testDataProvider(self):
     result = dynts.evaluate('2*GOOG, GOOG')
     self.assertEqual(len(result.data), 1)
     self.assertEqual(result.expression, dynts.parse('2*GOOG, GOOG'))
     data = result.ts()
     self.assertTrue(dynts.istimeseries(data))
     self.assertEqual(data.count(), 2)
     ts1 = data.serie(0)
     ts2 = data.serie(1)
     for v1, v2 in zip(ts1, ts2):
         self.assertAlmostEqual(v1, 2. * v2)
Пример #20
0
 def testBinOpSerieFunction(self):
     '''Get a timeseries and a function and check for consistency'''
     res = dynts.parse('goog:yahoo-ma(goog:yahoo,window=30)')
     self.assertEqual(res.symbols(),['GOOG:YAHOO'])
     self.assertEqual(len(res),2)
     self.assertEqual(str(res[0]),'GOOG:YAHOO')
     self.assertEqual(str(res[1]),'ma(GOOG:YAHOO,window=30)')
     result = dynts.evaluate(res)
     self.assertEqual(len(result.data),1)
     data = result.ts()
     self.assertTrue(dynts.istimeseries(data))
     self.assertEqual(data.count(),1)
Пример #21
0
 def testBinOpSerieFunction(self):
     '''Get a timeseries and a function and check for consistency'''
     res = dynts.parse('goog:yahoo-ma(goog:yahoo, window=30)')
     self.assertEqual(res.symbols(), ['GOOG:YAHOO'])
     self.assertEqual(len(res), 2)
     self.assertEqual(str(res[0]), 'GOOG:YAHOO')
     self.assertEqual(str(res[1]), 'ma(GOOG:YAHOO, window=30)')
     result = dynts.evaluate(res)
     self.assertEqual(len(result.data), 1)
     data = result.ts()
     self.assertTrue(dynts.istimeseries(data))
     self.assertEqual(data.count(), 1)
Пример #22
0
 def testWindowParameter(self):
     '''Test mean function with one parameter'''
     e = '%(f)s(GOOG,window=30),%(f)s(GOOG,window=60)' % {'f':self.function}
     result = dynts.evaluate(e)
     symbols = result.expression.symbols()
     self.assertEqual(len(symbols),1)
     self.assertEqual(len(result.data),1)
     ts = result.ts()
     self.assertTrue(dynts.istimeseries(ts))
     self.assertEqual(ts.count(),2)
     back = ts[-1]
     self.assertEqual(len(back),2)
     self.assertEqual(back[0],back[0])
     self.assertEqual(back[-1],back[-1])
Пример #23
0
 def testWindowParameter(self):
     '''Test mean function with one parameter'''
     e = ('%(f)s(GOOG, window=30), %(f)s(GOOG, window=60)' % {
         'f': self.function
     })
     result = dynts.evaluate(e)
     symbols = result.expression.symbols()
     self.assertEqual(len(symbols), 1)
     self.assertEqual(len(result.data), 1)
     ts = result.ts()
     self.assertTrue(dynts.istimeseries(ts))
     self.assertEqual(ts.count(), 2)
     back = ts[-1]
     self.assertEqual(len(back), 2)
     self.assertEqual(back[0], back[0])
     self.assertEqual(back[-1], back[-1])
Пример #24
0
 def testTSName(self):
     '''
     The dslresult should include an attribute 'name' 
     which is the equivalent to the expression passed.
     In situations where multiple timeseries are returned 
     the name should be the concatenation of all the names 
     joined by "__".
     '''
     expressions = ['GOOG+YHOO',
                    '2*GOOG',
                    'GOOG,YHOO',
                    ]
     for expr in expressions:
         result = dynts.evaluate(expr)
         ts = result.ts()
         name = ts.name
         
         expected_name = '__'.join(expr.split(','))
         self.assertEqual(name, expected_name)
Пример #25
0
 def getdata(self, request, expression, start, end, **kwargs):
     res = dynts.evaluate(expression, start=start, end=end)
     return res.dump('flot')
Пример #26
0
 def getdata(self, request, expression, start, end, **kwargs):
     res = dynts.evaluate(expression, start = start, end = end)
     return res.dump('flot')
Пример #27
0
 def testyahoo(self):
     ts = dynts.evaluate('GOOG:yahoo')
     self.assertTrue(ts)