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')
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
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]