예제 #1
0
	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
예제 #2
0
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