After reading a few references here to wavelets, I'm trying to denoise (or at least 'compress') a time-series of forex prices using a Daubechy04 wavelet (forward tranform, 8 most important (in absolute value) coeffients are kept among the 64 values, reverse-transform).
When a down or up trend is occuring, there is a border-effect since the first and last values differ, on the last point (and the first, but that doesn't matter, since it's possible to remove some of the first points).
The wavelet is in red, (in blue, a moving average)
(This happens also, with Discrete Fourier tranform, where I believe it's normal since they assume periodicity)
I tried to diff (b[i] = a[i+1]-a[i]
) then undiff the series before the tranform: terrible results.
Another try with b[i] = a[i] - ((a[63]-a[0])/63*i + a[0])
(subtracting the line between the two extremities: better 'visual' result
but not perfect, several time steps further.. (the end slope is not matching well):
I'm also reading Wavelet thresholding methods, because this idea of relying on a fixed number of coefficients (8) is maybe problematic
No comments:
Post a Comment