Algo Trading
A Simple Strategy That Quietly Delivers ~26% CAGR over 20 years!

FabTrader
Article overview
Some are juggling complex options strategies, others are glued to screens scalping intraday moves, and many are busy analysing stocks in the hope of finding the next big winner. There’s effort everywhere — but surprisingly, not always results. The strategy I’m sharing here goes in the opposite direction. It works on weekly charts, uses just one indicator, trades index ETFs instead of individual stocks, and requires almost no day-to-day involvement. And yet, over long-term backtests, it has managed to deliver around 26% CAGR, quietly and consistently.
If you spend any time around traders, you’ll notice something interesting. Some people are deep into options strategies — constantly adjusting positions, tracking Greeks, and reacting to every small move. Others are scalping on very short timeframes, trying to enter and exit trades in seconds. Some prefer leveraged futures, while many try their hand at stock picking by reading earnings reports, analysing fundamentals, and running complex screeners in the hope of finding the next big multibagger.
There’s nothing wrong with any of this in theory. But in practice, a lot of people put in an enormous amount of effort, time, and emotional energy — only to end up frustrated or underperforming over the long run.
That’s what makes the Happy Twins strategy I want to share today so interesting!
Note: This strategy was actually shared with me by Jai (based on a study shared on X by MomoSwing), a member of our community. I want to give him a genuine shout-out here — this is exactly the kind of idea-sharing that makes a community valuable. I’ve taken that idea, built a backtesting framework around it, and packaged it so anyone can explore it further.
The Appeal of Simplicity
This is a simple, rules-based strategy that works on weekly charts and uses just one indicator: SuperTrend. No intraday monitoring. No fast decisions. No constant second-guessing. And yet, over a 20 year backtest, this strategy has delivered around 26% CAGR, quietly and consistently. You won’t feel like you’re “doing a lot” — but that’s kind of the point.
Happy Twins : The Idea Behind this Dual Super Trend Strategy
Instead of using a single SuperTrend for everything, this strategy uses two. One reacts faster and helps us get into trades relatively early. The other reacts more slowly and decides when we exit.
So the logic becomes very straightforward:
- Enter when momentum turns positive
- Stay in the trade as long as the broader trend remains intact
- Exit only when that larger trend clearly weakens
In practice, this often means getting in early enough to benefit from a move, while avoiding the temptation to exit too soon.
How the Strategy Actually Trades
The rules are intentionally simple. On the weekly timeframe:
- A fast SuperTrend (ATR 2, Factor 1) is used for entries. When it turns green, we enter a long trade.
- A slow SuperTrend (ATR 3, Factor 1) is used for exits. When it turns red, we exit the trade.
That’s it.
Note: The ATR lengths above are not set in stone and could be optimized for the specific instrument that you plan to trade on and thus improve the returns further and reduce drawdown. Use the backtest python code to do a little bit of research yourself!

Why ETFs Make a Big Difference
Another important choice here is what we trade. Instead of individual stocks, this strategy is applied to ETFs linked to indices. That changes the entire risk profile. Individual stocks can fall apart for reasons that have nothing to do with the broader market — bad earnings, management issues, regulatory trouble, or plain bad luck. When that happens, trends can break violently.
An index ETF, on the other hand, represents a basket of companies. Over time, it tends to move in the direction of the economy as a whole. That doesn’t eliminate drawdowns, but it does reduce the chances of being stuck in a deeply damaged position. The result is fewer nasty surprises and a much smoother psychological experience. And yes — that also means better sleep.
Capital Usage and Compounding
One thing I really like about this strategy is how it uses capital. Each trade deploys 100% of the available capital. There’s no idle cash waiting around for another setup (except for between two trades). When a trade ends, whatever the portfolio balance is at that point — profits included — becomes the capital for the next trade.
Over time, this creates a very clean compounding effect. Profits naturally build on previous profits, without needing any special position-sizing tricks. It’s simple, but extremely effective.
What the Backtests Show
I ran this strategy over 20 years of weekly data across four indices (when this is actually traded, the signals would be generated on index but the actual trade would happen on its corresponding ETF) , using realistic assumptions and including brokerage costs. The results were surprisingly strong:
- ✅Around 26% CAGR
- ✅Relatively low trade frequency
- ✅Clear, rule-based entries and exits
- ✅No need for constant monitoring
I have also tested against 3 other popular indices which have produced equally fantastic returns over 20 years and its all included as part of the backtest package below
Instrument : Nifty Smallcap 250 Index
===== PERFORMANCE METRICS =====
Starting Balance : 100000.00
Ending Balance : 11486105.99
Total Net PnL : 11386105.99
Total Net PnL % : 11386.11
CAGR : 25.70
Number of Trades : 66.00
Win Rate (%) : 59.09
Average Win (%) : 16.18
Average Loss (%) : -2.23
Average Win Amount : 364749.88
Average Loss Amount : -105153.30
Risk/Reward Ratio : 3.47



What You’ll Get If You Want to Test It Yourself
For those who want to dig deeper, I’ve put together a complete package that includes:
- ✅The full Python backtesting code
- ✅20 years of weekly OHLC data for four indices
- ✅A complete tradebook covering every trade
- ✅A detailed performance metrics report
- ✅4 indices included - Weekly Historic data, Backtest Results and the respective tradebooks
You can run the tests yourself, tweak parameters, optimize for better returns and lower drawdown or use the code as a starting point for your own research. You can access this backtest package here
Future Perspectives and Taking things further
Well, the numbers look very good. Is this where we should stop? Absolutely not. This strategy can further be optimized for better returns and lower drawdown. A few tweaks that I casually tried has shown promise and has pushed the cagr by another 10%. I will continue to push through and I am hoping you would do the same - now that you have the backtest code.
I have also created a fully automated version of this strategy and have productionized it. This is expected to run starting tomorrow and I can't wait to see how this works across 4 indices that I plan to trade using algos. If you would like to get this ready-to-run versions of this strategy, do check out my Algo Trading course below!
How I Backtested This
I have a full-fledged backtesting framework in Python, built to test trading strategies with precision.
More from Algo Trading
Algo Trading Cost in India: How I Built a Reliable Setup for ₹150/Month
Wondering how much algo trading costs in India? In this article, I break down the real expenses involved in running an algorithmic...
When Your Job Feels Shaky: Can Trading Become an Alternate Income Stream?
Can trading become a stable source of income in India? While many consider it during times of job uncertainty, the reality is...
How Much Capital Do You Really Need for Sustainable Trading Income in India?
How much capital is needed for sustainable trading income in India? This in-depth guide explores the realistic returns traders can expect, the...
