Thanks for eigenvector info.
Any tips about m-history setting. From my statistics from post 93-94 performance depends very much of it, however I'm not sure what GA set there in GroupStart/Depth and I couldn't come to any conclusion.
Bigger m-history ===> more eigenvectors ===> lower resolution I think and bigger chance to catch the noise.
Very good example is my GOLD15 sin-cos signal where is just 5 of eigenvectors them than a gap and noise but signal with noise has not so clear structure.
Is CSSA making a kind of Bartel test on eigenvector ? What is a criterium of grouping ??
So what was your procedure to find m history to recover slower cycle from post 95 ??
Krzysztof
m-histories sets the number of cycles. It also means the maximum period that can be resolved by CSSA. When trading Stocks or ETFs EOD I simply set it to 50 bars as I expect the maximum useful period to be one or two months of trading and forget about it. I might in some rare occasion allow the GA to refine it but I make sure that the ranges remain small. As for the Forex, use "time relevance" to set it as per my post#73.
I should say:
Bigger m-history ===> more eigenvectors ===>
higher resolution as the cycles are more continuous when tuning GroupStart and GroupDepth. As you increment/decrement by one unit GroupStart or GroupDepth, the modification of the cycle is small. This feature is great as you can identify hills in the search space. There is a trade off between execution speed (slows quadratically with m-histories) and resolution.
>> lower resolution I think and bigger chance to catch the noise.
No! Higher resolution instead and yes larger m-histories means better capacity at catching fine grained noise but use GroupStart and GroupDepth to remove it.
>> Is CSSA making a kind of Bartel test on eigenvector ?
No it does not. It uses the eigenvalues which are a measure of the variance the cycles account for. It can also be interpreted as the significance of the cycles.
>> What is a criterium of grouping ??
You can imagine the grouping as a band pass window.
GroupStart low means lower cycles
GroupDepth = 1 means only one cycle. The higher GroupDepth, the more cycles in the reconstruction, the better the accuracy at reconstructing the signal but the higher the risk of overfitting. A general rule "Simple but not simpler" or the less cycles is generally better but don't coarse grain too much. The following tuples work well EOD:
(m-histories = 50, GroupStart = 9, GroupDepth = 4)
(m-histories = 50, GroupStart = 10, GroupDepth = 3)
>> So what was your procedure to find m history to recover slower cycle from post 95 ??
Simple: a few manual trials looking for a gradient or a smooth change towards the smallest ripple. I did not even use ShowEigenvector as I new that I had to use Trendline.
In your toy example it is very easy to identify well defined cycles with ShowEigenvector. This is not always true with real data. We mostly use ShowEigenvector to identify plateaus when developing indicators; we rarely use it on raw data
With ShowEigenvector:
- identify the slowest (smoother) component
- in CSSA Cycle, set the component accordingly
- try a few values manually following the gradient until you reduce the ripple to a minimum. When you are done, try other values separated from the value you found by half the period of what you expect. It should take you just a few minutes.
Noxa.