Noxa indicators for Neuroshell

and the final one (signal 1 + gauss noise) smoothed. This signal contains two cycles (0.1 HZ + 0.5 HZ)covered by gauss noise. Cycle were not uncovered correctly - but strategy was positive out of sample.

CONCLUSION

For clean signal i was not able to set parameters to extract slow cycle

for gauss noise and gauss noise smoothed i was expecting not to find any cycle - cycles were found.

For combined signal + noise I was expecting to find two cycles, if anybody is able to set
the parameters to extract those two cycles than please post the settings. Fourier analysis of this signal shows cleary two peaks

Trading Strategies Based On Digital Filters - Page 38 - Forex Trading

see post 377

All charts and .csv filest are attached.

Krzysztof

You really want to make CSSA look bad isn’t it? I start to question your real motive behind these posts!

Anyway, I now have added the noise to the signal as you did; so much noise that in fact the signal is very hard to distinguish from (grey line, top chart). As you can see in the graph, CSSA had no trouble finding the two cycles (fast cycle in blue, slow cycle in red).
Furthermore, the trading strategy (bottom chart) was 100% successful in exploiting the cycles despite all that noise.

To wrap up:
- CSSA is able to extract all cycles from clean signal,
- CSSA extracts noise from noise which is expected,
- CSSA extracts successfully cycles that are lost in noise.

A last suggestion: please ask questions when needed. I'll be pleased to answer but learn the facts before making false claims that a product does nor work.

Noxa
 

Attachments

  • Test CSSA sin + noise#1.gif
    Test CSSA sin + noise#1.gif
    26.1 KB · Views: 796
sin(0.5x) + cos(0.1x) ???

Use CSSA Trendline for that! Since you are imputing a cyclical signal, the slow cycle becomes the first component of the decomposition which. The fast cycle is the second component. You might have already noticed but CSSA Cycle shows the cycles starting at component#2.

I suggest that you read the manual for the details about CSSA.
Noxa Analytics Inc :: Your Predictive Edge

I had to recreate the chart. I use 1000 bars. The input is sin(0.5x) + cos(0.1x) as you suggested. I have set TrainBars to 750 so that the last year (250 bars or so) represents test results.

As you can see in Graph#1 the slow cycle (in red) is properly detected. The fast cycle is shown in blue. The trading strategy (bottom chart) has no trouble finding the troughs and peaks.

Noxa

Hi,

The purpouse of this test was to find both cycles using cycle indicator. I was not able to reconstruct slow cycle with cycle indicator. Can you post the settings of cycle indicator which reconstruct slower cycle cos(0.1x) from my signal??

Or I it not possible with cycle indicator ?? It's very easy with simple stochastic...

This what you did with trendlines is not cycle reconstruction but repeating of test strategy which i did already.
We suppouse to find cycles sin .5 and cos .1 not set it by hand as you did !!!!

Krzysztof
 
Last edited:
signals on noise

CSSA does not perform a conventional Spectrum Analysis! Instead, it takes all the variability in price and breaks it into a few oscillation patterns that maximize the variance between lagged market snapshots. The cycles are then ordered according to the variance they account for to form a singular spectrum. Some of them can be used to reconstruct a smoothed and non lagging version of the signal. If you add all cycles together, you eventually reconstruct the full signal.

So since you feed CSSA with noise, CSSA will find the axes of maximum variance in the noise and decompose the noise in cycles of different periods. And since the Entries indicator detects maxima and minima, you’ll have signals.

And as you can see in the graph attached, the first two components (red and blue curve) look just like noise. This is even more true with higher order components. In other words, CSSA has detected noise. Big deal!

Up to you to train a system on noise. You'll always find occurrences when the system makes money out of nothing. Your argument does not hold up.

Noxa

Well,,, generates signals on noise where for sure will be loosers or maybe not ... roullete game...

And as you can see in the graph attached, the first two components (red and blue curve) look just like noise.

look is not good enough....what is the exact condition for assumption that it is a noise??

What will happen if we will have noise with different H value ?? See this

Trading Strategies Based On Digital Filters - Page 41 - Forex Trading

post 403

than your trendlines will randomly cycle in this noise....

Krzysztof
 
Hi,

The purpouse of this test was to find both cycles using cycle indicator. I was not able to reconstruct slow cycle with cycle indicator. Can you post the settings of cycle indicator which reconstruct slower cycle cos(0.1x) from my signal??

Or I it not possible with cycle indicator ?? It's very easy with simple stochastic...

This what you did with trendlines is not cycle reconstruction but repeating of test strategy which i did already.

Krzysztof

Trenline and Cycle are the same thing in CSSA. The difference is that Trendline provides cycles starting at component one and component one only whereas Cycle provides cycles at the component of your choice except one. Finding cycles is really easy with CSSA!!!

Again, you should read the manual...

- When you need to identify the first component use trendline by setting GroupDepth to 1. And this is what you need to see the slowest cycle of your cyclical signal. There are only two cycles in your case:
- cycle#1 = first component,
- cycle#2 = 2nd component

For the detail, see Graph 2 of post #79 to identify the first component and Graph 3 to identify the second component.

Noxa
 
singal covered with noise

You really want to make CSSA look bad isn’t it? I start to question your real motive behind these posts!

Anyway, I now have added the noise to the signal as you did; so much noise that in fact the signal is very hard to distinguish from (grey line, top chart). As you can see in the graph, CSSA had no trouble finding the two cycles (fast cycle in blue, slow cycle in red).
Furthermore, the trading strategy (bottom chart) was 100% successful in exploiting the cycles despite all that noise.

To wrap up:
- CSSA is able to extract all cycles from clean signal,
- CSSA extracts noise from noise which is expected,
- CSSA extracts successfully cycles that are lost in noise.

A last suggestion: please ask questions when needed. I'll be pleased to answer but learn the facts before making false claims that a product does nor work.

Noxa

I believe you don't use my signal but preprepared chart (date in right corner 2001 !!!)

Please show the test strategy which will uncover two cycles and made the trades from my signal !!

Krzysztof

P.S. I really don't want to look NOXA bad, as everybody I want to earn money on FOREX
but i dont like to be unefficient and waist time. For several years I was debugging very complex software systems for telecoms so I think I know how to test......
 
Last edited:
sin(0.5x) + cos(0.1x)

Trenline and Cycle are the same thing in CSSA. The difference is that Trendline provides cycles starting at component one and component one only whereas Cycle provides cycles at the component of your choice except one. Finding cycles is really easy with CSSA!!!

Again, you should read the manual...

- When you need to identify the first component use trendline by setting GroupDepth to 1. And this is what you need to see the slowest cycle of your cyclical signal. There are only two cycles in your case:
- cycle#1 = first component,
- cycle#2 = 2nd component

For the detail, see Graph 2 of post #79 to identify the first component and Graph 3 to identify the second component.

Noxa



OK i will try with trendlines. For my particular case seems to be only solution.

Krzysztof

P.S. I just started with NOXA so for sure I will have some more ideas :cheesy:
 
Last edited:
I don't think you got my point.

All this trouble comes from the fact you use a toy example that has nothing to do with real market conditions.

Real market data have a trend and some cyclical content.
- The smoothest trend is component#1 of the CSSA decomposition,
- The dominant cycle is component#2 of the CSSA decomposition.

In this normal case of real market data, you only need to use CSSA Cycle to look at cycles. If you want the trend, use CSSA Trenline

In your toy example however, there is no trend so:
- The strongest cycle which explains the most variance (the slow cycle) is component#1,
- The second strongest cycle (the fast cycle) is component#2.

So since you use this toy example which has no trend you have to use CSSA Trendline to see your slow cycle (component#1) and use CSSA Cycle to see the fast cycle (Component#2). But with real market data you don't need to use CSSA Trendline to deal with cycles alone!!!

As for the noise, CSSA will decompose it in the form of very high frequency cycles of low amplitude. These cycles explain a small portion of the variance so they are numbered high in the decomposition. For example if you set m-histories to 50 components, you'll have 50 cycles; component#1 is the trend, component#2 is the strongest cycle, component#3 is the second strongest cycle and so on. Farther in the list, component#10 and above might be just noise... If you make sure you don't use these high indexed cycles, CSSA takes care of removing them and you don't have to worry about noise anymore.

BTW we don't trade intraday with NSDT so I had to reconstruct the charts myself to emulate your toy example.

Finally I really recommend that you go through all the examples provided. Also the Help File is really helpful. We made sure that the settings for the indicators did not become more complex as they needed to be, and so the indicators are simple and easy to use.

Wish you well.

Noxa

Trenline and Cycle are the same thing in CSSA. The difference is that Trendline provides cycles starting at component one and component one only whereas Cycle provides cycles at the component of your choice except one. Finding cycles is really easy with CSSA!!!

Again, you should read the manual...

- When you need to identify the first component use trendline by setting GroupDepth to 1. And this is what you need to see the slowest cycle of your cyclical signal. There are only two cycles in your case:
- cycle#1 = first component,
- cycle#2 = 2nd component

For the detail, see Graph 2 of post #79 to identify the first component and Graph 3 to identify the second component.

Noxa



OK i will try with trendlines. For my particular case seems to be only solution.

Krzysztof

P.S. I just started with NOXA so for sure I will have some more ideas :cheesy:
 
very valuable !!!

I don't think you got my point.

All this trouble comes from the fact you use a toy example that has nothing to do with real market conditions.

Real market data have a trend and some cyclical content.
- The smoothest trend is component#1 of the CSSA decomposition,
- The dominant cycle is component#2 of the CSSA decomposition.

In this normal case of real market data, you only need to use CSSA Cycle to look at cycles. If you want the trend, use CSSA Trenline

In your toy example however, there is no trend so:
- The strongest cycle which explains the most variance (the slow cycle) is component#1,
- The second strongest cycle (the fast cycle) is component#2.

So since you use this toy example which has no trend you have to use CSSA Trendline to see your slow cycle (component#1) and use CSSA Cycle to see the fast cycle (Component#2). But with real market data you don't need to use CSSA Trendline to deal with cycles alone!!!

As for the noise, CSSA will decompose it in the form of very high frequency cycles of low amplitude. These cycles explain a small portion of the variance so they are numbered high in the decomposition. For example if you set m-histories to 50 components, you'll have 50 cycles; component#1 is the trend, component#2 is the strongest cycle, component#3 is the second strongest cycle and so on. Farther in the list, component#10 and above might be just noise... If you make sure you don't use these high indexed cycles, CSSA takes care of removing them and you don't have to worry about noise anymore.

BTW we don't trade intraday with NSDT so I had to reconstruct the charts myself to emulate your toy example.

Finally I really recommend that you go through all the examples provided. Also the Help File is really helpful. We made sure that the settings for the indicators did not become more complex as they needed to be, and so the indicators are simple and easy to use.

Wish you well.

Noxa

Thanks, this is very valuable mail for me. I read help a few times and till now relation
between eigenvectors, components and m-history was unclear for me. Related part of help file

Let’s now consider a more practical case for which m-histories=50. The vector space has now 50 dimensions. Needless to say that such hyperspace is impossible to picture as a simple graph. Nevertheless, SSA extracts 50 eigenvectors, each of them representing a preferred direction in that hyperspace.





What did we learn so far?

· m-histories corresponds to the number of components to decompose the series into,

· Embedding transforms a price series into a multi-dimensional space,

· Eigenvectors may be thought as elementary patterns of behavior that maximize the variance between lagged market snapshots. They provide a graphical representation of the structure in a price series.

· The eigenvalues are a measure of the importance of the eigenvectors.


So from this components and eigenvectors was the same for me. But now what i understand eigenvectors are inputs and components are outputs. Is it correct ???

The number of inputs/outputs is equal to m-history ???

The way of dealing with noise is just to decrease m-history so only trend and the strongest cycles will remain ?? Any side effect of this ???

Do you know the performance of CSSA intraday ?? Does a TF matter in accuracy
of CSSA ??

Additional question. Did you measure the MSE error of the signal prediction for CSSA ??
Can you provide some statistic ?? For comparision SSA from gistagroup, see bottom of PDF.

Krzysztof
 

Attachments

  • mssa2.pdf
    164.7 KB · Views: 2,230
usage of 'toy' example

I believe usage of my 'toy' example is very correct here because:

1) Contents of FOREX/Stock market signal is unknown and it suppouse to bb find by indicator

2) Characteristics/measurement quality of indicator is also unknown and it is a function under test !!

obviously from 2 unknowns is difficult to make a conclusions than i replaced first unknown with known signal to find 2nd unknown.

so using this example i learned this.

Real market data have a trend and some cyclical content.
- The smoothest trend is component#1 of the CSSA decomposition,
- The dominant cycle is component#2 of the CSSA decomposition.

In this normal case of real market data, you only need to use CSSA Cycle to look at cycles. If you want the trend, use CSSA Trenline

In your toy example however, there is no trend so:
- The strongest cycle which explains the most variance (the slow cycle) is component#1,
- The second strongest cycle (the fast cycle) is component#2.

and this

For example if you set m-histories to 50 components, you'll have 50 cycles; component#1 is the trend, component#2 is the strongest cycle, component#3 is the second strongest cycle and so on. Farther in the list, component#10 and above might be just noise...

Relation between m-history, components and eigenvectors should be also clarified i think.

Perhaps all this should be added to help as it is nowhere clearly written.

Krzysztof
 
Last edited:
NOXA charts

Use CSSA Trendline for that! Since you are imputing a cyclical signal, the slow cycle becomes the first component of the decomposition which. The fast cycle is the second component. You might have already noticed but CSSA Cycle shows the cycles starting at component#2.

I suggest that you read the manual for the details about CSSA.
Noxa Analytics Inc :: Your Predictive Edge

I had to recreate the chart. I use 1000 bars. The input is sin(0.5x) + cos(0.1x) as you suggested. I have set TrainBars to 750 so that the last year (250 bars or so) represents test results.

As you can see in Graph#1 the slow cycle (in red) is properly detected. The fast cycle is shown in blue. The trading strategy (bottom chart) has no trouble finding the troughs and peaks.

Noxa

Hi NOXA,

I tried to reproduce your charts but I'm not able to insert in such easy way for example
sin (.1x) + cos(.5x) as you did, i dont have in NS KS Gaussian random numbers also. My signal has only 600 bars length and you suggested to use 750 bars. Can you post your charts and maybe indicator with gaussian numbers and this which allows to insert math
functions in such easy way ??

With 600 bars and your settings it was not possible to recreate slower cycle. See screenshoots.

Krzysztof
 

Attachments

  • n1.JPG
    n1.JPG
    126.1 KB · Views: 748
  • n2.JPG
    n2.JPG
    46.2 KB · Views: 548
Noxa NEI vs Noxa CSSA

Hi Noxa,

Refer to your chart, should we use Noxa Entrophy to define the training and walk forward test range?

Is there any other Noxa CSSA indicators can help to define these ranges?

Thank you,
Arry

The NEI set is based on entropy while CSSA exploits variance. They both reveal hidden dependencies in price but in different ways so they are not fully equivalent. As you can see in the graph attached, CSSA Change Point Score (blue curve bottom chart) confirmed the early 2007 low entropy signal (red curve middle chart) but missed the signal that occurred in 2003.

Noxa

ps: Entropy is currently dropping to low levels again... Something is amiss with the current trend...
 

Attachments

  • NEI vs CSSA Change Point Score.gif
    NEI vs CSSA Change Point Score.gif
    22.7 KB · Views: 764
Thanks, this is very valuable mail for me. I read help a few times and till now relation
between eigenvectors, components and m-history was unclear for me. Related part of help file

Let’s now consider a more practical case for which m-histories=50. The vector space has now 50 dimensions. Needless to say that such hyperspace is impossible to picture as a simple graph. Nevertheless, SSA extracts 50 eigenvectors, each of them representing a preferred direction in that hyperspace.


What did we learn so far?
· m-histories corresponds to the number of components to decompose the series into,
· Embedding transforms a price series into a multi-dimensional space,
· Eigenvectors may be thought as elementary patterns of behavior that maximize the variance between lagged market snapshots. They provide a graphical representation of the structure in a price series.
· The eigenvalues are a measure of the importance of the eigenvectors.


So from this components and eigenvectors was the same for me. But now what i understand eigenvectors are inputs and components are outputs. Is it correct ???

The number of inputs/outputs is equal to m-history ???

The way of dealing with noise is just to decrease m-history so only trend and the strongest cycles will remain ?? Any side effect of this ???

Do you know the performance of CSSA intraday ?? Does a TF matter in accuracy
of CSSA ??

Additional question. Did you measure the MSE error of the signal prediction for CSSA ??
Can you provide some statistic ?? For comparision SSA from gistagroup, see bottom of PDF.

Krzysztof


>> So from this components and eigenvectors was the same for me.
That’s correct. m-histories is the number of cycles you decompose the price into. Internally CSSA calculates one eigenvector per cycle. I often use the term component for both.


>> But now what i understand eigenvectors are inputs and components are outputs. Is it correct ???
Let’s say m-histories = 50 for convenience:
The first step in CSSA is to calculate 50 eigenvectors which are internal basis functions used to calculate the cycles. I would say the input is price. Eigenvectors are internal calculation results.


>> The number of inputs/outputs is equal to m-history ???
m-histories = 50 means that you want to decompose price into 50 cycles. That’s all there is.


>> The way of dealing with noise is just to decrease m-history so only trend and the strongest cycles will remain ?? Any side effect of this ???
No to both! m-histories is only the number of cycles. In order to deal with noise, you’ll need to choose a selection of these cycles. Use GroupStart and GroupDepth to this end. I can explain farther if you need it in a later post.

While CSSA calculates the cycles, it also calculates the significance of each cycle (the variance that each cycle accounts for or the eigenvalues). The cycles are then ordered by eigenvalue, highest to lowest. The ordered eigenvalues are referred to collectively as the Singular Spectrum. Most of the data is usually explained by a few dominant cycles only. And since no other cycles contribute much (all eigenvalues are small) we can assume that everything else found in the series is structure less noise.


>> Do you know the performance of CSSA intraday ?? Does a TF matter in accuracy of CSSA ??
Most CSSA users are trading intraday (except us ;-)). Noxa Indicators
What do you mean by TF?


>> Additional question. Did you measure the MSE error of the signal prediction for CSSA ?? Can you provide some statistic ?? For comparision SSA from gistagroup, see bottom of PDF.
What I understand from the paper is that MSSA is not causal. So it is not much use for trading. They do a multistep ahead prediction which notoriously diverges from the data; with market data the last leg of SSA (the last m-histories points) is wrong and making recurrent predictions starting from a section of data that is wrong is obviously wrong.

I also noticed that the MSE improves over SSA during reconstruction. I don’t think this is good as MSSA becomes more prone to over-fitting. Over-fitting occurs when a system learns the data by heart. This is a major problem as it eventually learns the noise in the data as well. If this happens, the system loses its ability to generalize to new data; results are great in the training set but fall apart on out-of-sample test data.

MSE might apply in predicting sinusoids; the equity line is more appropriate in trading. See attached statistics from our example post#64

Noxa
 
NOXA/MACD under different noise levels

Hello

Thanks for reply, It makes my understanding of NOXA indicator much easier. Meanwhile I made following test

Similar to post from NOXA i added noise to reference signal (multiplication of
2 RANDOM numbers) to see reaction and accuracy of strategy based on Long/Short Entries 0 in comparision with MACD strategy under different levels of noise. Both strategies are optimized with GA, additionally M-history was in one case fixed to 5, than range was set to 5-50 and in third case 5-250. Training bars and out of sample
period were fixed in all cases. I was modulating noise level with changing range of random numbers during optimization.

The S/N levels were 1.25, 0.25, 0.125 and 0.0625 (no decibels, it's easier like this I think)

Here are the results. S-signal, N-noise, result is % if profitable trades and profit factor

============================
S=2.5 N=2 MACD 100%

M-history 5
61,9%/1.41 <------ very bad ???

M-history 5-50
100%

M-history 5-250
100%

============================
S=2.5 N=10 MACD 66.7%/0.72

M-history 5 <------- NOXA performs better !!!! Lower number of trades won but PF higher
42,9%/1.09

M-history 5-50 (L50/S46)
25%/0.31

M-history 5-250(L153/S150) <------- NOXA performs very well !!!!
75%/9.94

============================
S=2.5 N=20 MACD 42,9/1.17


M-history 5
52,9%/073

M-history 5-50 (L33/S50)
5 losers


M-history 5-250 (L233/S249)
25%/0.07

============================
S=2.5 N=40 MACD 40%/0.21

M-history 5 <------- NOXA performs very well in High noise !!!!
54%/1.74

M-history 5-50 (L36/S22) <------- NOXA performs better !!!! Lower number of trades won but PF higher
36,4%/0.54


M-history 5-250
4 losers

CONCLUSION

Out of 12 cases NOXA performed equal twice and worse 6 times than MACD. Influence of M-history parameter is very strong and difficult to find the rule of using it. Performance of MACD was going down together with S/N fall.

NOXA performed very well in high noise (last case for M-history = 5). On the other hand some performance was terrible - only losers. So I really don't know how to conclude this. Seems GA can not set is well. Proper setting depend very much
from S/N level which is dificult to measure in the market anyway.


Chart for N=2 and M-history=5 is attached, everybody can repeat those tests

NOXA. If you don't mind, please answer also post #90. I'm very curious how you put this sin + cos to input series and as you can see I didn't recreate the slow cycle.

If you have any comments on those results than please post it.

Krzysztof

P.S. TF - time frame
 

Attachments

  • NOISE_test.zip
    27.8 KB · Views: 301
  • NT3.JPG
    NT3.JPG
    42 KB · Views: 449
  • NT2.JPG
    NT2.JPG
    41.3 KB · Views: 501
  • NT1.JPG
    NT1.JPG
    108.8 KB · Views: 690
NOXA/MACD under different noise levels part 2

In order to be sure that NOXA doesn't get overfitted during optimization i added paper trading to the test above, I split 1 day out of sample to 12 hours of paper trading and 12 hours of out of sample. Additionally I added new S/N level 0.03125. PT means trades with paper trading. Here are the results

============================
S=2.5 N=2 MACD 100%

M-history 5
61,9%/1.41 <------ very bad ???
PT
62,5/0.77 <------ very bad in PT also

M-history 5-50
100%
PT
100%

M-history 5-250
100%
PT
100%

============================
S=2.5 N=10 MACD 66.7%/0.72

M-history 5 <------- NOXA performs better !!!! Lower number of trades won but PF higher
42,9%/1.09
PT
45,6/1.66

M-history 5-50 (L50/S46)
25%/0.31
PT
2 losers

M-history 5-250(L153/S150) <------- NOXA performs very well !!!!
75%/9.94
PT
2 winners (L116/S133)

============================
S=2.5 N=20 MACD 42,9/1.17


M-history 5
52,9%/073
PT
50%/0.49

M-history 5-50 (L33/S50)
5 losers
PT
50%/0.69 (L17/S32)

M-history 5-250 (L233/S249)
25%/0.07
PT
3 losers (L235/S117)

============================
S=2.5 N=40 MACD 57.1%/1.33

M-history 5 <------- NOXA performs very well in High noise !!!!
54%/1.74
PT
53,8/1.73

M-history 5-50 (L36/S22)
36,4%/0.54
PT
33%/0.71 (L13/S34)

M-history 5-250
4 losers
PT
75%/6.7(L147/S232)

============================
S=2.5 N=80 MACD
57,1%/1.66
PT
2 losers

M-history 5
50%/1.11
PT
54.5%/2.46

M-history 5-50
61,5%/0.68
PT
50%/2.08 (L6/S33)

M-history 5-250
57,1/2.68
PT
75%/2.04 (L228/S232)


I think is possible to draw some conclusions now

for S/N 1.25 MACD hit 100%, NOXA for m-history=5 hit twice > 60%

for S/N 0.25 performance depends of m-history, the lowest for range 5-50, the highest for m-history 133/150 Paper trading in one case worsen in other improved performance

for s/N 0.125 the worst performance of NOXA for all ranges of m-history. PT didn't change much

for S/N 0.0625 performance suddenly become much better even noise increased. For m-history 5-250 PT improved results from losers to winners so overfit occured most likely there

for S/N 0.03125 NOXA stil performs very good in high noise, MACD produces losers in PT, reasonable without PT

So out of 30 cases NOXA performed 15 times worse and 4 times equal to MACD. PT should be used most likely as in a few cases it reversed losers to winners or improved performance. Unfortunatelly for certain level of noise (N=20) NOXA was performing very bad,

Also the rule of using m-history is very unclear, sometimes high values were efficient sometimes fixed 5 value.

So in my opinion this indicator has some faults because it's behaviour is not consistent at all !! I just wonder how and if it was tested before release and on which sort of data,
Maybe NOXA can provide Test Instruction document. Beside this if it can not make consistent results on stationary simple two oscillations for sure it will have a problems with non stationary signals for the market.

Charts with some historical data and adjusted parameters to it proves nothing, you can always adjust indicators on historical chart that it will make you money.

If anybody has another opinion than instead of zylion words please post exact settings or exact optimization procedure than we can make out of sample test and compare to MACD strategy performance.

Than for time being i will suspend test with non stationary signals

Krzysztof
 
No problem finding slow cycles with CSSA

Hi NOXA,
I tried to reproduce your charts but I'm not able to insert in such easy way for example
sin (.1x) + cos(.5x) as you did, i dont have in NS KS Gaussian random numbers also. My signal has only 600 bars length and you suggested to use 750 bars. Can you post your charts and maybe indicator with gaussian numbers and this which allows to insert math
functions in such easy way ??

With 600 bars and your settings it was not possible to recreate slower cycle. See screenshoots.

Krzysztof

Krzysztof,

I have tried with 600 bars and had no problem finding the slow cycle (see charts attached). There are in fact several settings that produce it:
m-histories = 76, 107, 138, 169, 200, 231, 262, 293

Notice that they are separated by 31 bars which correspond to half the period of the cycle of interest on my system. These values might be different on your system.

I also have attached the chart. Contact us; we will be pleased to send you our KS package.

Noxa
 

Attachments

  • Test CSSA sin#2.gif
    Test CSSA sin#2.gif
    22.9 KB · Views: 767
  • Test CSSA sin#2b.gif
    Test CSSA sin#2b.gif
    14.3 KB · Views: 808
  • Test CSSA sin#2c.gif
    Test CSSA sin#2c.gif
    15.3 KB · Views: 698
  • CSSA sin+cos test 3 (data saved).zip
    42.6 KB · Views: 432
CSSA + Genetic Algorithm

In order to be sure that NOXA doesn't get overfitted during optimization i added paper trading to the test above, I split 1 day out of sample to 12 hours of paper trading and 12 hours of out of sample. Additionally I added new S/N level 0.03125. PT means trades with paper trading. Here are the results

============================
S=2.5 N=2 MACD 100%

M-history 5
61,9%/1.41 <------ very bad ???
PT
62,5/0.77 <------ very bad in PT also

M-history 5-50
100%
PT
100%

M-history 5-250
100%
PT
100%

============================
S=2.5 N=10 MACD 66.7%/0.72

M-history 5 <------- NOXA performs better !!!! Lower number of trades won but PF higher
42,9%/1.09
PT
45,6/1.66

M-history 5-50 (L50/S46)
25%/0.31
PT
2 losers

M-history 5-250(L153/S150) <------- NOXA performs very well !!!!
75%/9.94
PT
2 winners (L116/S133)

============================
S=2.5 N=20 MACD 42,9/1.17


M-history 5
52,9%/073
PT
50%/0.49

M-history 5-50 (L33/S50)
5 losers
PT
50%/0.69 (L17/S32)

M-history 5-250 (L233/S249)
25%/0.07
PT
3 losers (L235/S117)

============================
S=2.5 N=40 MACD 57.1%/1.33

M-history 5 <------- NOXA performs very well in High noise !!!!
54%/1.74
PT
53,8/1.73

M-history 5-50 (L36/S22)
36,4%/0.54
PT
33%/0.71 (L13/S34)

M-history 5-250
4 losers
PT
75%/6.7(L147/S232)

============================
S=2.5 N=80 MACD
57,1%/1.66
PT
2 losers

M-history 5
50%/1.11
PT
54.5%/2.46

M-history 5-50
61,5%/0.68
PT
50%/2.08 (L6/S33)

M-history 5-250
57,1/2.68
PT
75%/2.04 (L228/S232)


I think is possible to draw some conclusions now

for S/N 1.25 MACD hit 100%, NOXA for m-history=5 hit twice > 60%

for S/N 0.25 performance depends of m-history, the lowest for range 5-50, the highest for m-history 133/150 Paper trading in one case worsen in other improved performance

for s/N 0.125 the worst performance of NOXA for all ranges of m-history. PT didn't change much

for S/N 0.0625 performance suddenly become much better even noise increased. For m-history 5-250 PT improved results from losers to winners so overfit occured most likely there

for S/N 0.03125 NOXA stil performs very good in high noise, MACD produces losers in PT, reasonable without PT

So out of 30 cases NOXA performed 15 times worse and 4 times equal to MACD. PT should be used most likely as in a few cases it reversed losers to winners or improved performance. Unfortunatelly for certain level of noise (N=20) NOXA was performing very bad,

Also the rule of using m-history is very unclear, sometimes high values were efficient sometimes fixed 5 value.

So in my opinion this indicator has some faults because it's behaviour is not consistent at all !! I just wonder how and if it was tested before release and on which sort of data,
Maybe NOXA can provide Test Instruction document. Beside this if it can not make consistent results on stationary simple two oscillations for sure it will have a problems with non stationary signals for the market.

Charts with some historical data and adjusted parameters to it proves nothing, you can always adjust indicators on historical chart that it will make you money.

If anybody has another opinion than instead of zylion words please post exact settings or exact optimization procedure than we can make out of sample test and compare to MACD strategy performance.

Than for time being i will suspend test with non stationary signals

Krzysztof

Krzysztof,

Just out of curiosity: is NeuroShell Trader new to you? You seem to do something wrong with it. The problem you are looking at is trivial for CSSA. You should get 100% profitable trades on out-of-sample data 100% of the time in the limit of reasonable noise. We did the test up to 6dB of noise (see screenshots). Would you please communicate your long and short entry rules as well as all the details of your strategy parameters?

Noxa
 

Attachments

  • Test CSSA + GA sin#2 stats.gif
    Test CSSA + GA sin#2 stats.gif
    16.1 KB · Views: 602
  • Test CSSA + GA sin#2 Short Entry.gif
    Test CSSA + GA sin#2 Short Entry.gif
    16.4 KB · Views: 636
  • Test CSSA + GA sin#2 Long Entry.gif
    Test CSSA + GA sin#2 Long Entry.gif
    16.6 KB · Views: 657
  • Test CSSA + GA sin#2 zooming in.gif
    Test CSSA + GA sin#2 zooming in.gif
    24.9 KB · Views: 890
  • Test CSSA + GA sin#2.gif
    Test CSSA + GA sin#2.gif
    28.6 KB · Views: 756
  • Test CSSA + GA sin#2 Dates.gif
    Test CSSA + GA sin#2 Dates.gif
    9.6 KB · Views: 573
S/N -9db

Thanks for a chart, i will try.

Than look at this one S/N -9db. NOXA PF 0.26, MACD 0.87. My chart is attached.
I change the noise amplitude by changing the maximum of random numbers in this case is 5X4=20, signal=2.5

Yes, Please send mi KS package at [email protected]

Krzysztof
 

Attachments

  • NT6.JPG
    NT6.JPG
    26.1 KB · Views: 408
  • NT4.JPG
    NT4.JPG
    41.4 KB · Views: 426
  • NT3.JPG
    NT3.JPG
    75.6 KB · Views: 421
  • NT2.JPG
    NT2.JPG
    60.5 KB · Views: 410
  • NT1.JPG
    NT1.JPG
    60.4 KB · Views: 480
  • NT5.JPG
    NT5.JPG
    104.6 KB · Views: 519
  • NOISE_test.zip
    25.9 KB · Views: 228
S/N 0.96db

And this one. MACD 80%/4.85 NOXA 59%/1.26 m-history fixed to 5, noise =2, signal=2.5

So I really don't know what to think about it...

Krzysztof
 

Attachments

  • NT7.JPG
    NT7.JPG
    76.3 KB · Views: 375
  • NT8.JPG
    NT8.JPG
    42.5 KB · Views: 383
  • NT9.JPG
    NT9.JPG
    75.8 KB · Views: 345
  • NT10.JPG
    NT10.JPG
    41.8 KB · Views: 410
NS version

Krzysztof,

I have tried with 600 bars and had no problem finding the slow cycle (see charts attached). There are in fact several settings that produce it:
m-histories = 76, 107, 138, 169, 200, 231, 262, 293

Notice that they are separated by 31 bars which correspond to half the period of the cycle of interest on my system. These values might be different on your system.

I also have attached the chart. Contact us; we will be pleased to send you our KS package.

Noxa

Petty, I can not open your chart. I use NS 5.3 yours is done by 5.5 but I will try to recreate the cycle with your setting anyway.

Do you know maybe some trick (if exist) how to open charts made by higher revision of NS. Hexeditor and change the string version i tried already.

Krzysztof
 
You have to set the parameter ranges in CSSA

Thanks for a chart, i will try.

Than look at this one S/N -9db. NOXA PF 0.26, MACD 0.87. My chart is attached.
I change the noise amplitude by changing the maximum of random numbers in this case is 5X4=20, signal=2.5

Yes, Please send mi KS package at [email protected]

Krzysztof

I can see what goes wrong. You did not set the parameter ranges for the optimization; I suggest that you check the validity of the values the Genetic Algorithm produced to assess the quality of your model. The GA produced the following values:

- Long entries:
m-histories = 24: fine
means that the slowest cycle CSSA can see is 48 bars wide

GroupStart = 3: fine
Means that the GA choose the third cycle in the decomposition which counts four cycles (use ShowEigenvectors to know the number of cycles that are likely to not be noise).

GroupDepth = 1: fine
I suggest that you reduce this range to avoid overfitting.

Lead = 2: wrong
Since CSSA cycles do not lag a lead of 2 is very suspicious. We suggest that you set the range to 0 or to 0~1

Smoothing = 0.86: very wrong
This one alone tells that your model is not valid. You should not expect anything more that 0.1 for this parameter. I suggest that you set this range to 0 as well. Our experiment works just fine (100% profitable entries) even with noise.

TrainStart = 1
TrainBars = 435
I don't know whether 435 bars for training is enough to learn the slow cycle correctly. I'll give it a try.


- Short Entries
m-histories = 151: fine
means that the slowest cycle CSSA can see is 302 bars wide

GroupStart = 9: very wrong
The GA picked a cycle that is noise (Use ShowEigenvector)

GroupDepth = 1: fine

Lead = 0: fine

Smoothing = 0.96: very wrong
Confirming that your model is not valid

TrainStart = 1
TrainBars = 435
Same that above which is good

To wrap up on this. You did not set the parameter ranges so the system was poised to fail. All the results you reported so far are not valid. I won't do the analysis for your post 98. You get the idea.

Noxa
 
Top