The purpose of this post is two fold:
- Discuss aspects of the Fourier Transform that will form necessary grounding for subsequent understanding of the Wavelet Transform.
- State why Fourier Transforms are inappropriate for analyzing financial time series data.
The Fourier Transform
In the previous post I hinted at the relationship between the time domain and the frequency domain representations of a signal. The figure below gives a clearer picture of that

A signal that oscillates rapidly with respect to time has a higher frequency relative to one that oscillates slowly. A pure sine wave has only one frequency component, but not all signals are sinusoidal - some may be composed of a number of different frequency signals added together, others such as stock prices can have signal frequency components that change with time. In order to determine the frequency content of a signal, one needs to perform a conversion into the frequency domain, there by giving us a view in the direction shown by the yellow arrow in the figure above (the spectrum of the signal).
The Fourier transform is one of a number of algorithms that provide a way evaluating the frequency content of a signal. The transformation into the frequency domain follows the equation
[tex]X(f)=\int_{\small-\infty}^\infty\text{x(t)}e^{-2j\p\text{ft}}dt[/tex]
and the inverse Fourier transform is
[tex]\text{x(t)}=\int_{\small-\infty}^\infty\text{X(f)}e^{2j\p\text{ft}}df[/tex]
Now the equations listed above belong to one of the many variants of the Fourier transform - the Continuous Time Continuous Frequency Fourier transform. There are few general points to note:
- The equation of the Fourier transform tells us that the integration needs to occur for all times within the range [tex]\small-\infty[/tex] to [tex]\small\infty[/tex]. The implication of this is that the occurrence of time domain signal [tex]\small\text{x(t)}[/tex] needs to exist for any value of time within the said range.
- For the given integration bounds, frequency [tex]\small\text{f}[/tex] needs to be a constant value. This implies that signal [tex]\small\text{x(t)}[/tex] needs to be time-invariant i.e. stationary.
I have drawn up a chart showing the different variants of the FT and their relationship with each other. The diagram is work in progress so please feel free to recommend any changes that can be made. I intend to extend the family tree to show other transforms relevant to our discussions.
The choice of invoking a particular transform depends on the nature of the signal undergoing the transformation (continuous or discrete in time) and the level of detail we wish to obtain in the frequency domain (continuous or discrete frequency bins). This also applies to the inverse Transform.
I do not wish to talk any more than this about the FT as I have provided a few good resources at the end of this post to complement what has already been discussed.
Application to financial time series data
There are two main reasons why FTs are inappropriate for analyzing financial data:
- Bullet points (1.) and (2.) above do not hold for stock prices or any other asset price. Particularly with regard to bullet point (2.) stock prices do not have a constant frequency with respect to time. This points to another short-coming of the algorithm - it tells us nothing about the points at which a frequency change occurs in the time domain, which is essentially one of the things we want to know.
- The other reason is that FTs deliver poor resolution for cycle period measurement. Suppose we perform a 128-point FFT. The largest cycle the algorithm can record is 128 bars. Cycles larger than 128 cannot be recorded because the window length is not large enough for it to be captured fully. One may wish to increase the window length, but it is likely that stationarity is not maintained. And also, only cycles that are an integer power of two (2, 4, 8, 16, 32, 64) can be recorded (in the case of the DTDF transform). Anything that falls between these boundaries cannot be measured accurately as it is mathematically impossible for the algorithm to do so.
Further Reading:
- Tutorial 4 at the ComplexToReal website gives an excellent introduction to the FT.
- Wikipedia gives a good summary of the properties of the algorithm.
- This page is pretty good aswell.









