Stork_NDX
Cross-sectional momentum with a volatility target
Every figure on this page is a hypothetical backtest: not a live account, and not a prediction.Read the full disclosure
About the figures on this page
Any results shown are hypothetical backtests, not the performance of a live account. Backtested results have inherent limitations: they are computed with hindsight over a chosen period, they cannot fully model costs, slippage or liquidity, and they do not represent actual trading.
Nothing here is a prediction, a promise, or an indication of future results. Trading involves risk, including total loss of capital. This material is informational only. StratoQuant is not a licensed investment adviser, does not provide personalised investment advice, and does not manage money or access client accounts. See the full disclaimer.
Stork_NDX can only be tested honestly with historical index membership, including stocks later delisted or bought out. What you need
Ranks the members of a large-company growth index by medium-term strength each month and holds a concentrated handful, investing less of the account when its recent ride has been rough. Across the test it grew faster than the index with a shallower worst fall, but its typical failure is sudden: its deepest drawdown came in the rebound after the 2008 crash, when the strongest stocks fell as the weakest soared. Four stocks at a time, so a single company can move the whole account, and it can only be tested honestly with historical index membership and delisted stocks.
- Direction
- Long only, often partly in cash
- Universe
- Large-cap index members on the day, survivorship-corrected
- Holding period
- Weeks to months
- Positions held
- Up to four, sized to a volatility target
- Action needed
- Monthly: rank at the month-end close, orders at the next open
- Tooling
- Python, end-of-day data with index membership
| Test period | 2005-01-03 to 2026-09-30 (21.7y) |
|---|---|
| CAGR | 22.69% |
| Max drawdown | −36.7% |
| Volatility | 21.9% |
| Sharpe | 1.05 |
| Trades per year | 15.8 |
Simulated results only; no live account results appear anywhere in this record. Every stock that was a member of the index on each date, including those later removed, delisted or acquired, so the test is not limited to survivors; membership is point-in-time and the minimum-price test uses the price as traded that day. Split-adjusted prices without dividends, which understates the system slightly. Per-share commission with a per-order minimum; proportional slippage on every fill. The ranking is taken at a month-end close and every change executes at the next session’s open. Position size follows a volatility estimate from a shadow portfolio that is never traded, total exposure capped at 100%; cash earns nothing. Compounding single account, whole shares, no additions or withdrawals. CAGR and volatility from the daily series; maximum drawdown measured on daily marks (−36.7%); the monthly curve below shows a shallower −30.4%. Sharpe is on a zero-rate basis. The final 21 months (+65% a year) rest on a few very strong stocks and should not be read as typical. Parameters are fixed as originally researched and were not tuned to this test, but the system was selected for publication from a larger set of researched systems. Benchmark (an index fund tracking the same index, dividends included) on the same dates: CAGR 15.29%, max drawdown −53.4%, volatility 21.6%.
How it moved with the other systems
Correlation of monthly changes, and how often both rose or fell in the same month, over the months both tests share.
| System | Correlation | Same direction | Period |
|---|---|---|---|
| Harrier_SPY | 0.46 | 66% | Jan 2005 to Sep 2026 |
| Owl_SPY | 0.18 | 63% | Jan 2005 to Sep 2026 |
| Crane_ETF | 0.47 | 72% | Jan 2005 to Sep 2026 |
Hypothetical backtests. These are facts about the past, not a suggestion to run any systems together.
What you get
- The rules written out in plain language
- The Python code that runs them
- Every assumption of the simulated backtest, stated
- One payment of $499, no subscription
- Corrections to your version at no charge, and a refund if the code does not run as described and we cannot fix it within 14 days
- A personal, non-commercial licence
What you need
- Python 3.10 or later, with pandas and numpy
- Daily end-of-day prices you are licensed to use; we do not supply market data
The data this system needs
Historical, point-in-time membership of the index it trades, including every stock later removed, delisted or bought out, with daily prices for each. Without it, a backtest sees only the companies that survived, and its results will look far better than anything you could have achieved.
Code release in preparation
Stork_NDX is being prepared as a code release: its rules written out in plain language and the Python code that runs them, for you to run on market data you are licensed to use. It is not available yet. The planned price is $499, paid once.
Thank you. We will email you once, when this system is released.
That did not go through. Please check your email address and try again.
We use your email only to tell you about this release. See the privacy notice.