
Beyond the Limits: How Volatility Targeting Unlocked Real FX Profit Growth!
## What's the Big Idea: Taming Volatility Over Time
A beginner-friendly summary of the verification: “Beyond the Limits: How Volatility Targeting Unlocked Real FX Profit Growth!”.
What’s the Big Idea: Taming Volatility Over Time
We’ve been hard at work trying to squeeze more performance out of our algorithmic trading systems (EAs). In our previous research (Study 87), we found that simply adding more “sleeves” (diversifying across different EAs) had hit a ceiling. Our Core System v1.2.0 was already performing well, with a Calmar Ratio around 1.4 and a monthly return of +1.17% (normalized for a 10% drawdown). But we knew there had to be another way to improve. Instead of just diversifying across different EAs, we decided to try something entirely different: diversifying over time. The core idea is called Portfolio Volatility Targeting. Imagine you’re sailing a boat: when the seas are rough and choppy (high volatility), you “reef” your sails, reducing your exposure to the wind. When the waters are calm, you unfurl more sail, expanding your exposure. That’s exactly what Volatility Targeting does for our portfolio. It dynamically adjusts our daily exposure – in other words, how much risk we’re taking – to keep the realized volatility (how much our portfolio’s value actually swings up and down) constant. If the market is experiencing high volatility or choppy sideways movement, we shrink our exposure. If things are quiet and calm, we expand it. Crucially, to avoid any “peeking into the future,” we always determine today’s leverage (how much capital we’re using relative to our equity) based only on yesterday’s volatility. This is a big departure from older methods that reacted to our portfolio’s performance (e.g., cutting lot sizes if our equity dipped below a moving average). Those methods are reactive and often lag behind. Volatility Targeting, however, connects directly to the actual market risk we’re experiencing, making it much more potent.
Testing the Waters: How We Verified the Idea
Before getting too excited, we put this idea through rigorous testing. First, we checked its parameter robustness. This means we tested it with a wide range of settings for things like the “window” (how many past days to look at for volatility) and the “cap” (the maximum leverage allowed). We tried 12 different combinations (window sizes from 20 to 90 days, and caps from 1.5 to 3.0 times leverage). The fantastic news? Every single one of these 12 settings outperformed our baseline system! This is critical because it tells us the strategy isn’t over-optimized – meaning it’s not just a fluke that works only with very specific, perfectly-tuned settings. The best combination (a 40-day window and a 1.5x leverage cap) boosted our monthly returns (normalized for a 10% drawdown) by an impressive 39%! Let’s quickly define some jargon:
- Calmar Ratio: A measure of risk-adjusted return, calculated as Annualized Return / Max Drawdown. A higher number is better.
- Drawdown (DD): The peak-to-trough decline in an investment during a specific period. Max Drawdown is the largest such decline.
- Monthly Return (DD10% normalized): This is a way to compare systems by imagining what their monthly profit would be if their maximum drawdown was capped at 10%. It helps compare strategies with different risk appetites on an even playing field.
The Ultimate Test: Forward Validation
The real proof of concept comes from forward validation. This testing method is designed to mimic real-world trading as closely as possible, ensuring there’s no look-ahead bias (using future data that wouldn’t be available in live trading). We fixed our parameters (40-day window, 2.0x cap) and only used past data to set the volatility target. The results were truly exciting: Across the entire testing period, we saw strict improvements in every key metric:
- Total Return: Soared from +152.7% to +185.1%!
- Max Drawdown: Reduced from -9.9% to a safer -8.9%!
- Calmar Ratio: Jumped from 1.41 to a much healthier 1.88!
- Monthly Return (DD10% normalized): Increased from +1.17% to +1.57% – a 34% boost!
- Monte Carlo (MC) Robustness: Improved from 92% to 94%, indicating even greater reliability. (Monte Carlo tests robustness by slightly altering entry/exit points; a higher percentage means the system is less sensitive to minor market fluctuations). What’s really important here is that the average leverage was only 1.04. This means we’re not just blindly increasing risk to get higher returns; we’re intelligently reallocating risk to improve performance and safety. It’s a genuine enhancement! We also looked at how it performed in different market conditions:
- During weak or choppy periods (2015-2020), the improvements were dramatic (Calmar Ratio from 0.55 to 0.92). This confirms the strategy defends well when markets are tough.
- During strong trending periods (2021-2026), raw returns still increased (+82% to +91%). In these calmer, low-volatility environments, the system correctly increased exposure, which also meant a slight increase in drawdown – but the overall drawdown remained lower than the baseline. This shows the system attacks when conditions are favorable and defends when they’re not. This makes it the only improvement in this research session that genuinely surpassed our v1.2.0 system with robust forward validation.
From Theory to Practice: Core System v1.3.0 is Born!
With such promising results, we implemented Volatility Targeting directly into our backtesting engine. This means it’s now an integral part of how we simulate our EAs, ensuring that the improvements hold even with real position sizing adjustments and actual trading costs. Applying this Volatility Targeting to our Core System, we observed even more compelling results:
- Monthly Return (DD10% normalized): Climbed from +1.16% to +1.39% (+20% increase!).
- Max Drawdown: Further reduced from -10.0% to -8.8%.
- Profit Factor (PF): Improved from 1.45 to 1.48. (The Profit Factor is simply Gross Profit / Gross Loss; a PF > 1 means the system is profitable).
- Monte Carlo Robustness: Slightly increased from 92% to 93%.
- Intraday Safety (Core M1): The worst-case daily drawdown within our Core M1 system improved significantly from 2.83% to 2.10%. This means the system is safer during volatile intraday periods, without hitting any daily stop-loss limits. These are strict improvements across ALL key performance indicators – higher returns, lower drawdown, better profit factor, increased robustness, and enhanced intraday safety! Given these undeniable benefits, we are officially promoting this strategy to Core System v1.3.0! This version uses a “decentralized” approach to volatility targeting, where each EA within the portfolio manages its own risk based on its individual volatility. This is a highly practical way to implement it.
The Verdict: Simplicity Wins!
Now, for a twist in the tale! We also explored an alternative: an “aggregated” version of Volatility Targeting. In this setup, a central “master” component would collect volatility data from all EAs in the portfolio, calculate the overall portfolio volatility, and then instruct each EA on how much to risk. Surprisingly, this aggregated version actually performed even better than the decentralized approach we just adopted for v1.3.0! It showed an extra +14% monthly return (normalized for 10% drawdown), bringing the total to +1.56% compared to the decentralized version’s +1.37%. So, why didn’t we adopt the even higher-performing aggregated version? The decision came down to practicality and robustness in live trading. While the aggregated version offers superior theoretical performance, it requires a “master orchestrator” to continuously collect data from all EAs and then distribute leverage adjustments. This introduces:
- Increased Complexity: More moving parts, more code, more potential points of failure.
- Single Point of Failure: If the “master orchestrator” goes down, the entire risk management system for the portfolio could be compromised.
For ease of deployment (where each EA is autonomous and self-sufficient) and the paramount importance of robustness in proprietary trading, we ultimately decided to stick with the decentralized v1.3.0. It’s a proven, robust, and simpler solution that delivers significant, verifiable improvements.
The aggregated version will remain a valuable piece of research, and a technical feature we developed (a
lev_serieshook) will be a permanent asset for potential future applications, perhaps for more centralized account management down the line. But for now, and for Core System v1.3.0, the decentralized approach offers the best balance of performance, safety, and operational simplicity.
How this connects
This verification builds on earlier ones (what failed before and what I tried this time, comparisons between approaches).
- Gold Trading: We Uncovered the Edge of Donchian Trend Following
- Your EA’s Emergency Brake? How Auto-Risk Adjustments Save Your…
- Core System Hit Its Ceiling? Why Index Diversification Failed!
Code to reproduce
You can reproduce this with the following scripts (see repo).
btengine/portfolio_engine.py