Report dated May 25, 2026

Model Rating

prior 98/100 on May 14, 2026
Client PDF

Internal audit of the Triumph factor model — signal strength, code rigour, live performance. Numbers below pulled live on every page load.

95/100
Institutional grade
as of May 25, 2026

Triumph’s quantitative model was built with AI, mathematics, and thoughtful design. It does not compete with the largest quant shops — Renaissance, Two Sigma, Citadel — those operate at a fundamentally different infrastructure tier with thousands of researchers, real-time microstructure, multi-asset coverage, and decades of out-of-sample live track record. What this model is: uncommon work for a single-team manager. The level of rigor — transparent methodology, empirically tuned production parameters, walk-forward validation across twelve vintages, a deterministic state machine logging every decision — is well above what most non-quant money managers ship.

The math.The composite formula is an asymmetric Euclidean reward: quality and valuation combine geometrically when both are favourable (the cheap-quality corner where alpha lives) and linearly when valuation is unfavourable (the regime exit). Current production parameters — quality scale 1.25, valuation beta 0.90, and a shifted penalty threshold (V = −0.5) so the model treats a modest premium as fair, not expensive — were chosen empirically through a leave-one-out walk-forward across 972 parameter combinations and twelve annual vintages of monthly Bloomberg fundamentals. Production survives four formal robustness tests: beta sensitivity, survivorship correction, forward-factor mix, and pillar-weight optimisation. The peer-group structure separates banks, REITs, insurers, energy, utilities, and standard nonfinancials — each scored on the metrics that describe its business model, not a one-size-fits-all price-to-earnings. Per-position asymmetry math anchors on each name’s own five-year P/E history, with a stress floor and an upside cap, so downside and upside numbers are defensible rather than statistical artefacts.

The thinking.The conceptual core is the recognition that quality and valuation are not symmetric signals. Quality is what companies do — invest in moats, hire talent, allocate capital, build operational discipline. Valuation is what the market thinks. Companies control Q via management; no company controls its V. That asymmetry of agency is encoded directly in the math: Q’s contribution is scaled up 25% relative to V’s, with an inflection that allows a half-sigma premium for quality before the linear penalty branch engages. The model favours what compounds — slow-moving fundamentals — over what oscillates — multiples and sentiment. The hedge signal is a separate diagnostic flag marking stretched names; rather than blocking those names from the basket, the model surfaces them to the Hedge Lab so the operator can overlay structured protection. The basket itself is conviction-weighted (weight ∝ composite⁵, capped at 15% per name) drawn from the top 10 by composite, with sector and commodity-bucket caps so a regime tilt does not become an undiversified bet.

The system.The infrastructure is self-owned. Bloomberg SAPI runs on hardware Triumph maintains, with user-mode authentication unlocking the same field coverage as the terminal itself. Every weekday morning before six, 1,099 stocks are repriced and rescored, the Alpha Zone basket rebalances monthly (cadence chosen by the same walk-forward that picked the composite parameters), daily snapshots archive to a permanent record, and a deterministic state machine logs the reason behind every entry, exit, and rotation — nothing relies on a black box. A live Hedge Lab prices six structured strategies for every holding off real Bloomberg option chains with Canadian tax framework attached. A Research Desk surfaces per-position one-pagers explaining in plain English why each name scores how it does. Code is at the institutional baseline: zero type errors, zero lint warnings, 671 passing tests. The points held back from 100 are partly time (live track is short, AUM stress is light) and partly scope (a single-market universe, no multi-asset, no real-time microstructure) — honest limits, kept deliberately so a single team can maintain it.

−5 pts: Live track record. The model earns a full 100 when it has 12 months of audited live performance. The backtested Sharpe and walk-forward validation are compelling, but live returns under real market conditions — slippage, liquidity, real-time signal latency — are the final proof. That clock started in 2026.

What backs the grade

Signal depth
Stocks scored1099 (US + Canadian + global ADRs)
Quality factors40 across 4 pillars
Valuation factors14 (11 peer-z multiples + 3 absolute)
Forward / backward mix~66% forward · 34% trailing
Source of truthBloomberg SAPI primary, FMP fallback
Composite formulaasymmetric: cheap rewards quadratically, expensive penalises linearly
Backtest history
Monthly vintages137 months · 2015-01 → 2026-05
Annual vintages12 (2014 through 2025)
Stock-years observed≈5,691
Sharpe ratio1.097 at 18.14% annual vol (production rules, survivorship-validated)
Walk-forward LOOCV Sharpe0.91 (top-10 conviction-weighted, k=5, max 15% per name)
Robustness — beta sensitivityβ=1.25 sits on a flat plateau across [0.80, 1.60]; entire range within 0.05 Sharpe of peak
Robustness — survivorshipValidated against Russell 3000 + S&P/TSX Composite + ADR allowlist · Sharpe Δ +0.004
Robustness — forward-factor mixTrailing-only re-run returns Sharpe Δ +0.007 vs production; tilt kept for theory, not load-bearing
Robustness — pillar weights45/20/15/20 beats LOOCV-chosen alternates out-of-sample by Δ Sharpe +0.200 / ΔCAGR +2.51pp
Median forward return (Alpha Zone)≈23% over the held window
Best Q × V cell (high quality, cheap)37.1% 5-year median forward return
Live track record
Inception2026-05-01
Basket size20 names, monthly rebalance
Basket return since inception
SPY return same window
Edge
Hit rate (positions positive vs SPY)
Average days held
Forward-looking risk profile
Expected return (model)
Expected volatility
Expected Sharpe
Beta vs SPY
Top sector concentration
Top-5 names share of book
Average composite score

Operational and code health

Tests passing438 / 438
Type errors0
Lint warnings0
Files over 500 lines1

A weekly Saturday cron runs the full audit (build, lint, tests, security advisories, architectural drift) and writes the result to disk so anyone can read where the system stands. Daily integrity guards check that scores, the basket, and the price cache are internally consistent on every refresh; a red banner appears site-wide if a check fails. Bloomberg SAPI and the data pipeline run on dedicated hardware, with a visible Pipeline tab that shows a rolling five-day status of every data pull.

A complete investment system

Most quantitative tools do one thing: a screen, a backtest, a risk report. The Visualizer does all of them, in one application, against one source of truth. A portfolio manager moves through six surfaces in a single workflow (research, scoring, portfolio review, position management, operational health, and external presentation) with every number on every screen reconciling end to end. The same composite that ranks a stock in the morning research is the same composite that drives the basket rebalance, the same composite shown to a client on the website, and the same composite the manager checks before sizing a new position.

Active book

Portfolio

Live tracking of every holding with weighted return today, month to date, and year to date, alongside the same window for the SPY benchmark and the resulting excess. Side by side: sector exposure, concentration, covariance based volatility, beta, expected forward return, and a three layer fee analysis from gross fully invested down to net of management and performance fees. Click any name to see its contribution to risk and to return.

Live model basket

Alpha Zone

The current top twenty names by composite, conviction weighted, with a live since-inception versus SPY card, a rebalance log that captures every entry and exit with the locked in return for the leg, and a 3D scatter that lets the manager scrub through a hundred and thirty seven months of history to see how today’s basket would have looked at any prior point in the cycle.

Daily research note

Research Desk

A daily idea note published only when a name clears strict incremental Sharpe, expected return, and correlation gates. A deterministic state machine confirms the rating before the supporting language is written; the prose is constrained to numbers the desk has already computed, so it can never fabricate a fact. Quiet days are the right answer when nothing clears the bar.

Position management

Hedge Lab

For any holding the manager opens the Hedge Lab and sees six structured option strategies (trim, covered call, collar, cash secured put, stock replacement, hold) priced live from Bloomberg option chains. Each candidate carries a transparent fit score, a payoff diagram showing where the structure protects you and where it caps you, and a tax aware net of cost view.

Operational health

Pipeline

A rolling five day status grid for every external pull and key compute step, with one click recovery for any failed cell. Cross file integrity checks verify scores, the basket, and the price cache are mutually consistent on every refresh. A site wide banner appears immediately if any check fails.

External

Presentation and Website

A live sixteen slide investor deck and the public Triumph website both read directly from the same data files the model produces. When the basket changes in the morning, the deck and the site reflect it before lunch. There is no parallel set of marketing numbers; what a client sees is what the model just decided.

How the model thinks

The Visualizer scores every name on two independent axes. The Quality axis blends 40 fundamental factors that measure margins, returns on capital, growth trajectory, balance sheet strength, and shareholder payout. The Valuation axis blends 14 factors, eleven peer-relative multiples plus three universe-scaled absolute factors covering asymmetry, discounted cash flow, and today’s discount to fair value. Roughly two thirds of the inputs on each axis are forward-looking estimates rather than trailing data, which is the design choice that lets the model anticipate rather than react.

Universe
1,099
US, Canadian, global ADR
Quality factors
40
Across four pillars
Valuation factors
14
11 peer-relative + 3 absolute
Forward / trailing
66 / 34
Anticipate, not react

The composite formula

The two axes resolve into a single composite score per stock per day through a deliberately asymmetric formula. When valuation is favourable, quality and cheapness compound geometrically and a great company at a reasonable price is rewarded quadratically. When valuation is unfavourable, the same stock is penalised linearly. This shape encodes the philosophy of the strategy: the largest opportunities sit where excellence and value reinforce each other, and the largest mistakes sit where price has run ahead of fundamentals. The formula is smooth, monotonic, and ranges from roughly minus six to plus seven.

Per-position upside and downside math anchors on each company’s own five year price-earnings history, with a stress floor below the empirical low and a capped multiple above the empirical high. This replaced an earlier approach that pulled from universe-wide percentiles and produced results that did not match how individual companies actually trade. The current method gives downside and upside numbers a portfolio manager can act on rather than statistical artefacts that need translation.

Across twelve annual vintages from 2014 through 2025, the Alpha Zone outperformed the rest of the scored universe by an average of 7.7 percentage points per year, with positive performance in nine of those twelve years. Production rules deliver a survivorship-corrected Sharpe ratio of 1.097 at 18.14% annual volatility, validated against the full Russell 3000.

Every stock in the universe lives as a sphere in a three dimensional scene where Quality is one axis, Valuation is another, and the Z axis shows a momentum signal. The Alpha Zone appears as a translucent ellipsoid around the names that currently qualify. A monthly history slider lets the manager rewind the entire universe to any past month and watch how the spheres move. The same scene exists on the public website, the investor deck, the portfolio page, and the alpha zone page, scoped to the relevant subset on each surface. It is not a chart of the model. It is the model.

Engineered to institutional standards

The signal is only as good as the data behind it and the engineering that keeps that data trustworthy. Triumph runs the entire pipeline on hardware we own and maintain, against data sources we pay for directly, with checks that surface any drift the moment it happens.

Where the data comes from

Every fundamental and forward consensus field used in the score is sourced through a Bloomberg API service running on a Triumph operated host, with user mode authentication that allows the same field coverage as the terminal itself. A second commercial data feed serves as a fallback and a cross check on price history. Every fetch is logged, time stamped, and counted; the morning refresh writes a versioned snapshot of the entire scored universe to a permanent archive.

The morning chain

A scheduled job runs every weekday before six. It refreshes fundamentals, refreshes forward consensus estimates, recomputes the scored universe, recomputes the Alpha Zone, repaints the daily snapshot archive, regenerates the morning research note, refreshes option chains for every holding, repaints the public website, and runs cross file integrity checks. By the time the manager sits down at the desk, the workbench is current.

How errors are caught

Three layers protect the data. A daily integrity check verifies that scores, the live basket, the price cache, and the portfolio book are mutually consistent on every refresh; if any check fails, a red banner appears site wide. A weekly automated code health audit checks build state, security advisories, and architectural drift. A pipeline page shows a rolling five day status grid for every external pull and gives one click recovery for any failed cell.

The result is a workbench that does for the Triumph portfolio manager what the desks of the largest institutional shops do for theirs, run by a focused team that can actually act on what it sees. The signal is real: twelve annual vintages, over six thousand stock-years of forward returns, survivorship-corrected Sharpe of 1.097 at 18.14% vol, and an average annual edge of 7.7 percentage points against the rest of the universe. The engineering is real: zero type errors, zero lint warnings, full test coverage of the scoring code, automated daily integrity checks, automated weekly code health audits. The transparency is real: the model itself, the code, the live basket, the backtest, and the audit script are all visible inside the application that produced this report.

Plain English

Source: content/rating-writeups.ts — edit to revise

I run a concentrated long book — 15-20 stocks, held with conviction, compounded over time. The way I've always managed money. What I built around that is a research department that runs by itself.

Every weekday at 7 AM the system pulls 600,000 data points from Bloomberg and FMP, scores 1,136 stocks across 54 factors organized in six peer-group flavors — banks scored on Tier-1 capital and non-performing loans, REITs on FFO yield and occupancy, technology on R&D intensity and SBC dilution, each cohort measured on the factors that actually describe its business model. Every stock gets a quality score and a valuation score, combined through an asymmetric composite formula I designed: it rewards a cheap high-quality name quadratically and penalizes a name that's expensive or low-quality linearly. The top ten names by composite become the Alpha Zone.

The model has a 98/100 institutional-grade rating from a four-test robustness audit — beta sensitivity, survivorship-corrected backtest, forward-factor empirical validation, joint pillar-weight cross-validation. Walk-forward Sharpe through eleven annual vintages is 1.02 with a real-money published basket Sharpe of 2.86. The validation is the moat. Anyone can rank stocks. Validating that the ranking holds up out-of-sample across regime changes is the work.

On top of that score sits an AI research desk that writes a fresh twelve-section institutional thesis on every holding every morning — industry context, leadership, competitive position, the bull case, the bear case, what changed today. A Movers tab ranks the universe daily on composite acceleration, EPS revisions, Congressional buying, and earnings-call transcript tone. The History Lab plots every metric — P/E, ROE, dividend yield, debt to equity, sixteen others — against ~27 years of its own history so I can see at a glance whether today's reading is rich or cheap versus the stock's own past. The Hedge Lab prices four overlay strategies per holding (trim, covered call, collar, stock replacement) against live Bloomberg option chains with Canadian tax math built in, and ranks them by fit.

The whole thing audits itself overnight, fixes known failure modes from a playbook, and texts me if it can't. One PM, the throughput of an institutional desk.

These writeups are the three audience-specific cuts Steve uses to introduce the platform to outside readers. Plain text (paragraphs separated by blank lines) in the source file, markdown-style emphasis fine as plain text.

Methodology: the grade is an internal audit by Triumph against the criteria above. It is not a third-party rating. The model itself, the code, the live basket, the backtest, and the audit script are all visible inside this application.

Last reviewed: 2026-05-25. The next scheduled review will follow the close of the second monthly rebalance. The grade is reassessed whenever a material change to the signal, the universe, or the code health audit is made.