Exemplo n.º 1
0
 def test(self,serspec,*args):
     logger.debug('entered into TEST function')
     if type(serspec) in (str,unicode):
         series = grep(IS,serspec)
         return self._sTEST(series,*args)
     elif type(serspec) in (list,):
         return self._sTest(serspec,*args)
     elif type(serspec) is ets.Timeseries:
         return self._sTEST((serspec,),*args)
     logger.error('Non posso operare con l\'operazione TEST')
Exemplo n.º 2
0
    def futures(self,*args):
        """
        FUT=FUTURES("LLC(?<yy>:[0-9]{2})(?<mm>[0-9]{2})","M")
        """
        (spec,[freq]) = args
        freq = str(freq)
        _vars = grep(spec,udict(IS))
        rx = re.compile(spec,re.I)
        if _vars is None:
            logger.error('Non posso creare i futures per %s', spec)
            raise ValueError, "Niente futures per %s" % spec
        dates = []
        values = []
        for _v in _vars:
            m = re.match(spec,_v,re.IGNORECASE)
            if m:
                if freq=='Y':
                    idx1 = int(m.group('yy'))
                    if idx1<100: idx1 += 2000
                    dates.append(ts.Date(freq,
                                         year=idx1))
                elif freq=='M':
                    idx1 = int(m.group('yy'))
                    idx2 = int(m.group('mm'))
                    if idx1<100: 
                        idx1 += 2000
                    dates.append(ts.Date(freq,
                                         year=idx1,
                                         month=idx2))
                elif freq=='D':
                    idx1 = m.group('yy')
                    idx2 = m.group('mm')
                    idx3 = m.group('dd')
                    dates.append(ts.Date(freq,
                                         year=2000+int(idx1),
                                         month=int(idx2),
                                         day=int(idx3)))
                else:
                    raise ValueError, "FUTURES"
                v = IS[_v]
                values.append(v.data[-1])
        if values and dates:
            _ts =  ts.time_series(values,
                                  freq=freq,
                                  dates=dates)

            return ets.Timeseries(data=_ts)
        return None
Exemplo n.º 3
0
    def drop(self,tsl,*args):
        """Drop time-series from information-set

        :param tsl: the input time-series (not used)
        :type tsl: time-series
        :param args: names of time-series to drop
        :type args: list of strings or regexp
        
        :Example:
        dstream://datastream/JP?proc=drop(TODROP)

        """
        if len(args)>0:            
            for s in args:
                K = self._dataset.keys()
                C = grep(s,K)
                for c in C:
                    logger.debug('Dropping series %s from IS',c)
                    del self._dataset[c]