Re: Methods for Evaluation Strategy Performance

I thought the Out of Sample testing would help with generating good strategies but I find that what it does is to bring the OOS data into the in sample data because it is still rejecting strategies based on bad OOS performance.

This is a very important conclusion and it's completely true. There is no such thing as OOS.

That's the reason we want to develop an algorithm for evaluating strategies. I think on this matter for last 10 years and I have some ideas, but not a practical application for now. We can discuss this on our Sunday meeting tomorrow.

27 (edited by ab 2012-03-24 14:15:42)

Re: Methods for Evaluation Strategy Performance

I think that we are looking at 3 different topics in this thread now:
1. Requested metrics and stats for strategy performance;
2. The reasons why there really is no such thing as OOS; and
3. Some form of way to product a highy detailed strategy performance report.

I will comment on #1 and #3, and stay out of the other discussion.

Metrics and Stats

I ignore almost all the math and statistical values that are currently in FSB, and look for the least 'bumpy' equity line.  I'm not paticularly interested in the various ratios available, as net profit doesn't really mean anything in FX as we can use higher leverage and/or more a different lot size to ramp up the profitability of a strategy that has a good equity line.  There are some methods (http://en.wikipedia.org/wiki/Correlation_and_dependence) to achieve this.  Saying this, I am always interested in the minimum number of trades, and also the % accuracy.  Having a small number of trades, or a very high % accuracy will generally result in correlation values that are meaningless so I really just use these as filtering mechanisms.

As far as making changes to the generator process and modifying the top 10 output goes, this is a lot more difficult than it looks (I made some attempts to do exactly this), although I believe that there is a solution for users who wish to do their own post-generator analysis.  As there are only a small number of users (judging by the interest in the thread) interested in this feature, it may not be worthwhile adding it to the core application, but incorporating it in another way.

I have been experimenting with the development of a 'plugin' interface for FSB that would allow that application to work with external compiled DLL's as extensions in a similar way to how the application can currently work with custom indicators.  The plugin interface would allow for smaller development efforts to be maintained without the need to incorporate additional complex functionality into the core application.  Problems with these external plugin modules could be isolated by disabling the 'Enable Plugins' option in FSB (that would need to be added), allowing the main codebase to the maintained without adding (or maintaining) logic that is only used by a small number of people.

What may be possible is to develop a plugin that would be called after each strategy is developed by the generator - what occurs in the DLL plugin would be independent of FSB, and any sort of analysis and filtering could be performed by the plugin (such as calculating the stats, and recording the strategies based on out custom criteria).

This would require considerable work, but once the plugin interface code in incorporated into FSB, there would be very little maintenance overhead involved.

Strategy Performance Report

In the same way, a custom strategy performance report could be developed using a plugin module that doesn't involve a larger number of FSB changes for a small number of users.

I have a lot of ideas on this topic and the comments above probably just scratch the surface ... I'll join the Skype session tomorrow and we can discuss this more if there is come interest.