Source code for pyFTS.common.transformations.roi

from pyFTS.common.transformations.transformation import Transformation 
import numpy as np


[docs]class ROI(Transformation): """ Return of Investment (ROI) transformation. Retrieved from Sadaei and Lee (2014) - Multilayer Stock Forecasting Model Using Fuzzy Time Series y'(t) = ( y(t) - y(t-1) ) / y(t-1) y(t) = ( y(t-1) * y'(t) ) + y(t-1) """ def __init__(self, **kwargs): super(ROI, self).__init__() self.name = 'ROI'
[docs] def apply(self, data, param=None, **kwargs): modified = [(data[i] - data[i - 1]) / data[i - 1] for i in np.arange(1, len(data))] modified.insert(0, .0) return modified
[docs] def inverse(self, data, param=None, **kwargs): modified = [(param[i - 1] * data[i]) + param[i - 1] for i in np.arange(1, len(data))] return modified