To be clear, this post is a thought experiment but curious how close we could land with given system and maybe a little help from Tomas.

We've all built models that have varying degrees of performance based on the optimization variables and values selected. High profit with high risk or low profit with low risk and lots of middle ground.

To spell it out, for example, if a custom indicator does a "Cross" from below 20, backtesting has shown that it has a 75% Win rate and profit factor of 5 and there are 32 trades in the past 3 years. If that same model does a "Cross" from below 10, it has a 90% win rate with a 15 profit factor, but it happens much less frequently with only 12 trades in 3 years (these are real system stats). From a risk management perspective, and more specifically, from a position sizing perspective it would be interesting to dynamically size positioning base on a variety of backtesting results. For example, on the 90% win rate version of the model with a profit factor of 15, I might risk 4 lot size whereby for the 75% win rate version with many more trades, I would risk 1 lot size.

I don't only want to trade the model with the higher win rate, but is seldomly traded model. I'd be missing out on profit from the other model. I want to trade them both, but with different risk profiles for each, which when combined, generates more overall profit and reduces risk by combining but with different lot sizes. To maximize profit and minimize risk, this needs to be modeled out.

It would be interesting to have AmiBroker optimize a model's trading algorithm(s) to size trades based on varying levels of win rate, Sharpe Ratio, Profit Factor etc. to generate a model that overall generates more revenue rather than having to cherry pick the ONE version of the model that maximizes ONE metric or a few versions of the model's key metrics. That can be done manually, but it would be much more efficient to have it algorithmically tested to maximize the aggregated model's performance for some investment objective.

It's a version of curve fitting to be certain as all those adjusted parameters that define the various winning systems will optimize for the dataset it's trained on ultimately shaping itself to the trained historical data/parameters. There are ways to reduce this risk. But, it's an interesting concept to think about a multi-variate model that position sizes based on the inherent risk of the model that's playing out at the time. It would take AmiBroker, or an external product, processing through an entire optimization report to identify the most "successful" models resulting from an optimization to help the investor create a version of the model that incorporates many versions of the model into on group of models. Optimizing this aggregation of models to build a "successful" model is highly personal since the resulting recommendation would need to be based on an individuals investment goals and how they define success (eg. low risk vs. max profit). However, give the 80/20 rule, there's likely 5-7 risk profiles (conservative to risky) that could be developed to defined to represent 80% of investors investment objectives and have the model optimize for those.

A minimum viable version of this product would be: based on the rows in the backtesting report that you select, it could provide you alerts as to when that version of the model would have provided a trade signal ( buy, sell, short, cover) while indicating which version of the model (which parameters) were triggered and the overall performance of that version of the model.

Thoughts?

This topic was automatically closed 100 days after the last reply. New replies are no longer allowed.