Skip to content
All library documents

Balancing Trading Frequency and Expectancy in Strategy Optimization

Article Quant Q&A · Author: Vazgen

Summary

The document asks how to optimize an automated trading strategy when higher expectancy coincides with sharply fewer trades. It also notes that maximum drawdown appears to improve as trade counts fall, making it difficult to judge whether performance gains reflect better trading or simply reduced activity. The example compares several parameter settings and shows that both metrics and trade frequency vary together; the author considers a minimum acceptable frequency important.

The answer frames the issue as a trade-off similar to changing a statistical test’s rejection threshold: a stricter threshold can yield a higher proportion of successful signals but fewer signals overall. It argues that changing the optimization metric alone will not solve the problem. To achieve both more trades and higher expectancy, the signal or testing procedure itself must improve. The response offers no specific revised procedure or statistical validation, so it supplies a conceptual diagnosis rather than a ready-to-use optimization method.

Key ideas

  • A parameter can raise expectancy while reducing the number of trades substantially.
  • Lower trade counts can also make drawdown appear better, complicating comparisons between settings.
  • Dividing a metric by trade count does not necessarily resolve the frequency trade-off.
  • Changing a signal threshold trades off signal quality against the number of opportunities.
  • Improving both frequency and expectancy requires changing the signal or testing procedure, not only the objective metric.

Tags

Full text
# Optimization metric that takes into account number of trades vs expectancy


# Optimization metric that takes into account number of trades vs expectancy












In optimizing my automated trading system I find that certain combinations while increasing the expectancy:

```
(AverageWin * ProfitableTradesRatio) - (AverageLoss * (1 - ProfitableTradesRatio))
```

Reduces the number of trades the strategy is making.

So although the expectancy increased dramatically, the number of trades went from 2,000 to just 40 over a 3 year backtest period which is not acceptable frequency of trading.

What performance metric can I optimize to balance this. I'd like to increase the expectancy without reducing the number of trades significantly.

EDIT: Further analysis shows that this is not only a problem with expectancy but other metrics like Max Drawdown that I'm measuring which also decreases as the numbers of trades decrease.

What method can I generically apply to adjust for this? This is not to be confused with SomeMetric "Per Trade". Simply dividing a metric by the number of trades does not seem to allow me to optimize that metric such that I can identify performance gains that have not decreased the frequency of trading.

If this doesn't make much sense, here's some data to illustrate. This is an optimization for "parameter" column (each row is an optimization run). I'm not sure how to identity whether there is any meaningful increase in expectancy (or decrease in max drawdown) by increase said "parameter" since the number of trades depletes along with each metric.

```
 parameter  total trades    expectancy    expectancy per trade  max drawdown 
 0          710             233.2957746   0.328585598           -1.389104131
 2          640             158.53125     0.247705078           -1.799492989
 4          559             129.9463327   0.232462134           -2.127999294
 6          478             106.6945607   0.223210378           -1.463252512
 8          402             134.6641791   0.33498552            -1.364193967
 10         349             176.0601719   0.504470407           -1.196254362
 12         303             134.4224422   0.443638423           -1.114376551
 16         225             193.6222222   0.86054321            -0.657900215
 20         181             242.3480663   1.338939593           -0.558306147
 25         135             514.6296296   3.812071331           -0.493760619
 30         106             47.16981132   0.44499822            -1.471772548
 35         85              206           2.423529412           -1.482912119
```

I can't tell if it's worth decreasing the trading frequency for these performance gains. Anything under 300 trades in 3 years is not even an acceptable frequency of trading.

## Answer by James (score 1, accepted)

https://quant.stackexchange.com/a/15306

I think the problem is not that you optimize a wrong criterion, but the trading strategy itself. Compare this to testing a hypothesis: if you reject at p-value of 1% then the proportion of true discoveries among all discoveries is, say, 70% (high "expectancy"). If you reject at 10% then the true discovery proportion is 40% (lower "expectancy"), but you make a lot more rejections ("trades").

Of course, one would prefer having a lot of rejections and a high "expectancy", but for that you need to modify the testing procedure itself as opposed to changing the cutoff p-value.

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.