Skip to content

Built-in Strategy Methodology

This is the full technical reference for how QuantAscent's built-in strategy library is generated and tested. The in-app summary (Strategy Builder → Built-in Library → "How are these built & tested?") covers the same pipeline at a high level; this page is the in-the-weeds version — the actual algorithm, with the math.

Everything below is fully automated. No strategy is hand-picked, hand-tuned, or removed because its backtest looks bad. The library regenerates on a regular schedule as new data arrives, by the same rules every time, and every strategy card in the app shows the exact recipe the algorithm produced. Built-in strategies are starting points, not recommendations — you are encouraged to modify and re-test them against your own criteria.

A step-by-step recap of the whole process — detailed enough to replicate — is at the end of this page.


1. Data foundation

The pipeline operates on a point-in-time metrics matrix: one row per (company, as-of date), where every metric value is computed strictly from information that had been filed and public on that date. Fundamentals are stamped by filing date, not fiscal-period end, so a strategy evaluated "as of" March 2021 can only see statements companies had actually filed by March 2021.

  • Rebalance grid: as-of dates are spaced 90 calendar days apart. All scoring, testing, and record-keeping happens on this quarterly grid.
  • Forward returns: each row carries the company's total return over the 90 days following the as-of date, computed from dividend- and split-adjusted prices.
  • Survivorship: the database includes delisted companies (sourced from exchange delisting filings), so strategies are scored against the universe as it actually existed — including the companies that later disappeared.
  • Outlier control: forward returns are clipped to ±100% per quarter before any averaging, for strategies and random benchmarks alike, so a single data artifact or extreme micro-cap move cannot dominate a record.

2. Universe construction

Every strategy draws from one universe: a single sector, or the multi-sector universe (all sectors pooled). Two screens apply uniformly before any scoring:

Screen Rule Rationale
Size Market cap ≥ $300M Below this, prices and fills are too unreliable to act on
Freshness Latest filing ≤ 135 days old One quarter plus normal filing lag; stale books aren't comparable books

The freshness screen is deliberately universal and disclosed once — the algorithm is barred from learning recency-based filters, a class of screen that historically exploited data artifacts rather than economics.

Some strategies additionally carry one hard quality floor (section 5).

3. Signal measurement: the Information Coefficient

The basic question — "does this metric predict returns in this universe?" — is answered with the Information Coefficient (IC): the average of per-date cross-sectional Spearman rank correlations between metric values and subsequent 90-day returns.

For each as-of date \(t\) with companies \(i\) in the universe:

\[ \mathrm{IC}_t = \rho_{\text{Spearman}}\big(\, m_{i,t},\; r_{i,\,t \to t+90d} \,\big) \qquad\qquad \mathrm{IC} = \frac{1}{T}\sum_{t=1}^{T} \mathrm{IC}_t \]

where \(m_{i,t}\) is the metric value and \(r_{i,\,t\to t+90d}\) the clipped forward return. Rank correlation is used because metric scales are arbitrary; per-date computation prevents one unusual period from dominating.

4. Strategy construction

4.1 Direction priors — labels win

Every metric carries one allowed direction, fixed by its economic meaning: higher return-on-capital is good (desc), heavier leverage is bad (asc), and so on. If the data says a metric "works" in the opposite direction, that metric is dropped for that universe — never flipped. A Financial Strength strategy is structurally incapable of preferring the most-levered companies, no matter what a backtest suggests.

A small set of metrics is excluded from recipes entirely: short-horizon reversal instruments, economically ambiguous measures, and aliases of other metrics (so the same ratio can't enter twice under two names).

4.2 Templates — fixed economic structure

Each of the seven factor approaches is a fixed template of weighted slots. Each slot names a cluster of closely related metrics (all the margin measures form one cluster, all the leverage ratios another). The template's structure and weights never change; training data only decides which single metric fills each slot.

Approach Slots (weight)
Momentum core momentum (0.45) · trend position (0.35) · long-horizon momentum (0.20)
Growth growth rates (0.40) · acceleration (0.35) · earnings surprise (0.25)
Quality returns on capital (0.30) · margins (0.30) · payout discipline (0.25) · earnings quality (0.15) · low-volatility anchor (0.15)
Value yields (0.35) · EV multiples (0.35) · price multiples (0.30)
Financial Strength solvency (0.35) · leverage (0.35) · liquidity (0.30)
Defensive low volatility (0.40) · margins (0.30) · returns on capital (0.30)
Equal Weighting one slot from each of six major clusters, 1/6 each

Because each cluster contributes at most one metric, a composite can never quietly become one bet counted several times. Slot weights renormalize to sum to 1 over the slots that actually fill.

4.3 The stability gate

A metric qualifies for a slot only if, on the training window split into two halves at its midpoint:

  1. Sign stability: its IC has the same sign in both halves,
  2. Prior agreement: that sign matches the metric's direction prior,
  3. Magnitude: the mean \(\tfrac{1}{2}|\mathrm{IC}_{H1} + \mathrm{IC}_{H2}| \geq 0.02\),
  4. Coverage: at least 500 valid (metric, return) pairs in each half.

Among qualifying metrics in a slot's cluster, the one with the largest mean absolute IC wins the slot. If fewer than two slots fill, no strategy is generated for that universe and approach — this is where record gaps come from (section 7).

5. Hard quality floors

Some strategies carry one hard filter — a screen that removes the unfavorable half of the universe before scoring (e.g., "above-median interest coverage only"). Floors are chosen from a small curated pool of economically sensible candidates (volatility measures, balance-sheet strength, earnings quality) — never mined from the full metric library.

Selection uses per-date median-split lift. For each training date, the universe is split at the metric's median; the lift is the difference in mean forward return between halves, averaged across dates:

\[ \mathrm{lift} = \frac{1}{D}\sum_{d=1}^{D}\Big( \bar r_{\text{above-median},\,d} - \bar r_{\text{below-median},\,d}\Big) \]

A date only counts if it has ≥ 40 valid pairs and ≥ 15 companies in each half; at least 8 such dates are required. The learned favorable side must match the metric's direction prior (the drop-don't-flip rule extends to floors), and the qualifying metric with the largest absolute lift is selected.

Two consequences follow. First, the floor is chosen per universe: selection depends only on the sector's training data, so every strategy in a sector shares the same floor. Second, a floor is never forced — "some strategies" carry one because some universes produce no qualifying candidate, and those strategies ship with no floor at all. That happens in two ways: a candidate's learned direction contradicts its economic prior (for example, a sector whose training data "rewards" holding the most volatile names — the candidate is dropped, not flipped), or the pool's metrics are too sparse in that sector to clear the data gates (interest coverage and gross profitability are ill-defined for banks and insurers). Each strategy's card lists its floor in its filters when it carries one.

6. Portfolio construction

At each rebalance date the strategy scores its screened universe with a weighted percentile composite. Each recipe metric contributes its cross-sectional percentile rank (direction-adjusted, so "better" is always higher), weighted by its slot weight:

\[ \mathrm{score}_i = \sum_{k} w_k \cdot \mathrm{pctrank}_k(i) \]

The strategy holds the top 10 companies by composite score, equally weighted, for the following 90 days, then re-scores. In the app you can change portfolio size, weighting, and rebalance cadence when you adopt a strategy — the defaults above are what the testing protocol measures.

7. The walk-forward testing protocol

The record shown on each card is produced by walk-forward testing with periodic re-learning — the strictest of the standard backtest designs, because it tests the process, not one frozen recipe.

Test window Strategies re-learned using data from
2018 – 2020 2013 → end of 2017
2020 – 2022 2013 → end of 2019
2022 – 2024 2013 → end of 2021
2024 → present 2013 → end of 2023

At each window boundary, every strategy is rebuilt from scratch — section 4 runs again on only the data available at that boundary. Within the window, each quarter's portfolio is scored on its actual clipped forward returns. The concatenation of those quarterly returns, across all windows, is the strategy's walk-forward record.

Two consequences of this design are visible on the cards:

  • Records differ in length. A strategy only accumulates record for quarters in which its template could actually fill (the stability gate found qualifying metrics) and the screened universe held at least 10 names. If the support wasn't there for a window, the record shows a gap or a shorter span — never borrowed history. Gaps are disclosed on the card and drawn as breaks in the record chart.
  • The record chart and the backtest chart differ. The backtest chart replays the strategy's current recipe over the recent window; the record chart shows the re-learned process accumulating over the years. They answer different questions, and the record is the harder test.

8. The track-record bar

From the quarterly record, compounded performance is annualized as

\[ \mathrm{CAGR} = \Big(\prod_q (1 + r_q)\Big)^{365.25 / (90\,N)} - 1 \]

over the \(N\) recorded quarters, and compared against the strategy's sector benchmark ETF held over the same quarters (XLK for Technology, XLV for Healthcare, and so on; SPY for multi-sector strategies).

A strategy earns "✓ Outperformed Benchmark" only if all of the following hold over its full accumulated record:

  1. Record length: at least 16 recorded quarters.
  2. Excess return: CAGR above the sector benchmark's CAGR over the same quarters.
  3. Noise floor: its CAGR ranks at or above the 90th percentile of 500 random portfolios — each random portfolio draws 10 names uniformly from the same screened universe at the same dates and is scored identically. This kills results that any dart-thrower would have matched: in a universe where everything went up, beating the ETF is not evidence of skill.
  4. Weight robustness: the strategy's excess return keeps its sign when its recipe weights are deformed to \(w^{0.5}\) and \(w^{2}\) (renormalized). Results that collapse under small weight changes are treated as curve-fit artifacts and fail.

"Did Not Outperform" means the strategy was evaluated identically and missed the bar; its record is displayed anyway, for transparency. "Limited History" means fewer than 16 recorded quarters exist.

Why the label is a record, not a forecast

Before release, a pre-registered holdout test asked: do strategies that passed this bar keep outperforming afterward? The answer, on the held-out period, was no — past validation did not predict forward outperformance. The labels therefore describe historical records only, the app never uses them to rank or recommend, and neither should the wording on any card. This finding is why every badge sentence ends with "a historical record, not a prediction of future performance."

9. Regeneration

The library regenerates on a regular schedule as new data arrives. A regeneration re-runs section 4 on the extended training window, so recipes can change: a metric that lost sign-stability drops out, one that earned it enters, and a strategy whose template can no longer fill leaves the pack (its accumulated record simply stops growing — it is not rewritten). Track-record evaluation always covers each strategy's full accumulated record, restated against the same benchmark and noise-floor machinery.

10. Limitations

Honest reading of the records requires knowing what they do not include:

  • Trading costs. Walk-forward records are computed from market returns gross of commissions, spreads, and slippage. Ten-name quarterly-rebalanced portfolios trade little, but the drag is not zero.
  • Hypothetical performance. No capital tracked these records when they were generated. Fills at the rebalance price are assumed.
  • Sample size. Even the longest records span ~8 years of quarterly data — 32 observations. The noise-floor test exists precisely because records this short are easy to luck into.
  • Benchmark choice. Sector ETFs are investable, dividend-inclusive comparators, but any single benchmark is a simplification.

The process end to end — a replication checklist

Everything above, restated as the sequence of steps the algorithm actually takes. Someone with a point-in-time dataset could follow this list and reproduce the process; each step names the section that specifies it fully.

Building the library — repeat for each sector, and once more for all sectors pooled:

  1. Define the universe (§2). At every 90-day date, keep the companies with market cap of at least $300M whose latest filing is no more than 135 days old.
  2. Measure every metric's signal (§3, §4.3). Split the training window in half at its midpoint. For each metric, compute its IC in each half: the average, across dates, of the Spearman rank correlation between the metric and the next 90 days' return.
  3. Choose the universe's hard floor, if any (§5). For each candidate in the curated floor pool, split the universe at the metric's median on each training date and average the return difference between halves — counting only dates with at least 40 valid pairs and 15 companies per half, and requiring at least 8 such dates. Throw out any candidate whose favorable side contradicts its economic prior. The survivor with the largest average lift becomes the floor for every strategy in this universe; if nothing survives, there is no floor.
  4. Fill each factor approach's template (§4). For every slot in the template, consider the metrics in that slot's cluster (minus the excluded list) and keep only those that pass all four checks: the IC has the same sign in both training halves, that sign matches the metric's prior, the average absolute IC is at least 0.02, and each half has at least 500 valid pairs. The qualifier with the strongest average IC fills the slot; a slot with no qualifier stays empty.
  5. Decide whether a strategy exists. If fewer than two slots filled, no strategy is created for this sector and approach — this is where record gaps come from. Otherwise, rescale the filled slots' weights so they sum to 1.
  6. Assemble the strategy (§6). Apply the universe screens and the floor, score every remaining company with the weighted percentile composite, hold the top 10 equally weighted, and re-score every 90 days.

Testing and labeling — for each strategy the process produced:

  1. Rewind and re-learn (§7). At each test window boundary — 2018, 2020, 2022, 2024 — run all of the building steps again using only data available before that boundary.
  2. Accumulate the record. Within each window, at every 90-day date where the strategy exists and its screened universe holds at least 10 names, add one entry to the record: the average clipped 90-day forward return of the top-10 portfolio. Skipped dates stay out of the record — they are the gaps shown on the card.
  3. Apply the label (§8). Fewer than 16 recorded quarters: Limited History. Otherwise the strategy earns ✓ Outperformed Benchmark only if it clears all three bars — its record's CAGR beats the sector benchmark ETF over the same quarters, ranks at or above the 90th percentile of 500 random portfolios drawn from the same screened universe at the same dates, and keeps the sign of its excess return when the recipe weights are deformed to their square roots and their squares. Anything else: Did Not Outperform.

QuantAscent provides research and analysis tools, not investment recommendations. Backtested and walk-forward results are hypothetical, have inherent limitations, and are not a guarantee of future performance.