def insert_time_to_recession(self): # Get Data Read hndl_Data_Read = EMF_DataSeries_Handle(self.hndl_DB, ticker='US_Rec_Ind') hndl_Data_Read.save_series_local() # Insert Time To hndl_Data_Wrte = EMF_DataSeries_Handle( self.hndl_DB, name='Months to Next Recession', ticker='US_TimeUntilRec', insertIfNot=True) data = hndl_Data_Read.get_series_values() dates = hndl_Data_Read.get_series_dates() trns_Data = transform_TimeToValue(data, {TIME_TO_VALUE: 1})[DATA_KEY] count = self.find_time_to_recession_limits(trns_Data) trns_Data = trns_Data[:-count] trns_Dates = dates[:-count] hndl_Data_Wrte.save_series_db(trns_Dates, trns_Data) hndl_Data_Wrte.periodicity = hndl_Data_Read.periodicity # Insert Time Since hndl_Data_Wrte = EMF_DataSeries_Handle( self.hndl_DB, name='Months since Last Recession', ticker='US_TimeSinceRec', insertIfNot=True) trns_Data = transform_TimeSinceValue(data, {TIME_SINCE_VALUE: 1})[DATA_KEY] count = self.find_time_since_recession_limits(trns_Data) trns_Data = trns_Data[count:] trns_Dates = dates[count:] hndl_Data_Wrte.save_series_db(trns_Dates, trns_Data) hndl_Data_Wrte.periodicity = hndl_Data_Read.periodicity
def testDataSeriesHandle(hndl_DB): dates = np.reshape(np.arange(200),(200,)) data = np.random.randint(100,size=(200,))/2.0 name = 'test1' ticker = 'test1' dataHandle = EMF_DataSeries_Handle(hndl_DB, name=name, ticker=ticker, insertIfNot=True) dataHandle.save_series_db(dates, data) assert np.all(dataHandle.get_series_dates() == dates) assert np.all(dataHandle.get_series_values() == data) assert dataHandle.min_date==0 assert dataHandle.max_date==199 assert dataHandle.name == name assert dataHandle.ticker == ticker