Financial Time Series data normalization



I'm using Keras in R to predict financial time series. It's easy to normalize price, simply compute returns or log returns, usually it's enough. I want to use Goldman Sachs Financial Conditions Index and MSCI World Index to predict other securitites and I want to use levels and their returns or first differences. I think that using minmax or z-score normalization is not appropriate because series distribution will change. So, the question is how to normalize nonstationary time series data?


Posted 2018-12-27T14:09:50.913

Reputation: 85



Z-score normalization, as you have already guessed, cannot deal well with non-stationary time series since the mean and standard deviation of the time series vary over time.

Min-max and another commonly used normalization in stationary data, the decimal scaling normalization depend on knowing the maximum values of a time series.

The most commonly used method for data normalization of non-stationary time series is the sliding window approach (J. Lin and E. Keogh, 2004, Finding or not finding rules in time series). In short:

The basic idea of this approach is that, instead of considering the complete time series for normalization, it divides the data into sliding windows of length ω, extracts statistical properties from it considering only a fraction of ω consecutive time series values (H. Li and S. Lee, 2009, Mining frequent itemsets over data streams using efficient window sliding techniques, Expert Syst. Appl., v. 36, n. 2, p. 1466-1477. J.C. Hull, 2005), and normalizes each window considering only these statistical properties. The rationale behind this approach is that decisions are usually based on recent data. (...) The sliding window technique has the advantage of always normalizing data in the desired range. However, it has a drawback of assuming that the time series volatility is uniform, which is not true in many phenomena

Another more advanced and less used (so far) is Adaptive Normalization

can be divided into three stages: (i) transforming the non-stationary time series into a stationary sequence, which creates a sequence of disjoint sliding windows (that do not overlap); (ii) outlier removal; (iii) data normalization itself.

Check the link on Adaptive Normalization and all its references, there is relevant information in there.


Posted 2018-12-27T14:09:50.913

Reputation: 3 000