Why technical-only signals don't survive on their own

An honest look at what our backtests show — and what the signal workflow is actually for.

The short version

When you test a single technical signal on US large-caps over the last decade, the alpha is usually somewhere between −1% and +0.3% per 20-day holding period, gross of costs. After transaction costs (20–40bps round-trip) the positive-alpha signals net to approximately zero. The negative-alpha ones (like Bearish Trend Breakout at −6.4% / year vs SPX) would have been a cost to run as a standalone strategy.

This isn't an EQTRun-specific finding. It's what decades of academic and practitioner literature have documented: single-indicator technical signals on liquid US equities are mostly priced in, mostly by construction, and mostly arbitraged away. Anyone who tells you different is either selling you something, cherry-picking a window, or hasn't tested rigorously.

Why this is the case

  1. Market efficiency on widely-known signals. MACD, RSI, Bollinger Bands, moving-average crossovers — these are taught in every introductory trading book. Any edge they provided at the time they were first popularized has been arbitraged down by 40+ years of capital chasing them. If a signal you can compute in three lines of Python generated 20%/year, it wouldn't still be published.
  2. Signals fire in predictable conditions. A MACD bullish crossover mechanically fires on pullback-end setups, not on the start of new trends. That's baked into the math. So "MACD bullish" samples a specific population of stocks (those that pulled back enough for EMAs to cross back up) and their future returns reflect that selection, not the signal's predictive power.
  3. The benchmark you're measuring against beats the universe you're sampling from. Our US large-cap universe (mcap ≥ $100M) systematically lags the S&P 500 in recent years because SPX is market-cap-weighted and a handful of megacaps drove index returns. Random draws from our universe underperform SPX by ~1.6%/year at the 1-year horizon. That's the "null" any signal has to beat before its alpha starts to matter.
  4. Without fundamentals, a technical trigger is incomplete. A stock breaking out of a 5-year low might be a real reversal (fundamentals improving) or a dead-cat bounce (fundamentals still deteriorating). The price pattern alone can't tell you which. Separating the two requires data the chart doesn't contain — earnings revisions, balance-sheet trends, catalyst events, sector breadth.

Then what is the signal workflow actually for?

For discretionary investors and fundamental analysts. The signals surface interesting moves in a universe bigger than you can watch by hand. They tell you what's changed mechanically — not what to trade. The value is in the review step:

The honest workflow

  1. Screen 31,000 tickers for technical triggers (that's the job signals do well).
  2. Filter to a universe you actually follow (watchlist, index membership, mcap range).
  3. For each survivor, ask the fundamental / contextual questions:
    • What are EPS estimates doing over the last 90 days?
    • Are revenue growth and margins accelerating, stable, or deteriorating?
    • Is the balance sheet improving?
    • Is there a catalyst (management change, product launch, regulatory shift)?
    • What's the valuation relative to the sector?
  4. Make a call. The technical trigger got you looking; the fundamental review tells you whether to act.

Where this leaves us

  • Every signal page on this site shows three p-values (naive t-test, Newey-West HAC, permutation null). A signal that clears all three has real statistical information. A signal that fails the permutation null — like most pure-technical signals on US large-caps — doesn't add alpha over random firing.
  • The "How to use this" section on each signal page covers what the signal is mechanically biased to catch, when it historically worked (rarely), and where it systematically failed.
  • The "What would likely rescue this signal" block, where present, names the data that would likely turn the trigger into a useful filter. Almost always fundamentals + event context, not more technicals.
  • Until we ship a fundamentals-filter layer in the screen tool (evaluating commercial feeds now — FMP vs EODHD vs Alpha Vantage), the signal pages are educational and workflow-context, not actionable-alpha claims.

Why we show the numbers anyway

Because the alternative — hiding the uncomfortable data and pretending every signal "works" — is how most retail trading sites operate and how their users lose money. We'd rather tell you up front that MACD bullish returns zero-to-negative alpha on US large-caps than let you find out by running a live strategy on it.

The signals are useful. They're not useful on their own.