Skip to main content

Strategies

Our focused investment strategies. Each has a chip that appears on every stock pick we tag with it.

Value

Value Investing

Finding companies trading below intrinsic value through rigorous fundamental analysis.

At its core, this is rigorous financial analysis. Read the statements, estimate what the business is actually worth, and only buy when the price is meaningfully below that value. Price is what you pay; value is what you get.

What we want
  • Durable ROIC above cost of capital
  • Strong free cash flow and balance sheet
  • Capital-disciplined management
  • Meaningful margin of safety to intrinsic value
What we avoid
  • Story stocks and momentum chasing
  • Businesses outside our circle of competence
  • Leveraged recoveries with narrow survival odds
  • Value traps — cheap for a reason
High-Beta Quality

High-Beta Quality

High-beta names backed by real fundamentals — concentrated on 2–3 we know cold, sized for asymmetric upside.

High beta amplifies market moves — both ways. Pair that with real fundamentals and you get asymmetric upside in bull tape without the binary risk of pure speculation. The discipline is staying narrow: 2–3 names at a time, deep enough to size into drawdowns when the market sells them harder than the business justifies.

What we want
  • Beta > 1.3 against the S&P 500 (24-month)
  • Positive free cash flow, or clear path within a year
  • Revenue growth > 15% YoY, gross margin > 40%
  • Net debt / EBITDA below 3 — operational, not levered
  • Concentration: max 3 active names, sized for conviction
What we avoid
  • High beta with no earnings — pure narrative
  • Beta driven by leverage, not the underlying business
  • Names too illiquid to scale into on weakness
  • Diluting attention across more than 3 active picks
  • Buying after the rip — wait for the drawdown
Thematic

Thematic Investing

Bets on structural change. Identify the candidate universe, then down-select with value-investing rigor to 2-3 names with the right setup.

A thematic bet starts with a structural change in the world and looks for the businesses positioned to benefit. Step one is the universe of candidates. Step two is harder: down-selecting to 2–3 names with the right fundamentals, valuation, and unique fit to the thesis.

A. Primary thesis — the structural change

Current thesis: IT & web security. As AI capability accelerates, the offensive side of cybersecurity gets cheaper and faster. That asymmetrically increases demand for web, identity, and endpoint security. Several names in the space were dragged down in the broader SaaS-apocalypse drawdown, leaving quality businesses oversold against a tailwind that's structurally getting stronger.

B. Down-selection — value rigor on the candidates

Out of the 15–20 candidates surfaced under the thesis, we apply value-investing criteria to identify 2–3 stand-outs:

What we want
  • Consistent market-share gains — not one-quarter pops
  • Fair-to-affordable valuation — not richly priced for perfection
  • Uniquely situated for the thesis — leading on AI-driven attack defense, not reactive
  • Nimble operators when the thesis rewards speed; scaled incumbents when it rewards distribution
  • Real fundamentals — positive FCF or a credible path within a year
What we avoid
  • Names already priced for the thesis (consensus, no edge)
  • Big platforms that engulf every adjacent trend (security is one tab, not the business)
  • Pure-narrative plays — no margin, no share data, just story
  • Diluting attention across >3 active picks
  • Buying the rip — wait for the drawdown

Factors

Individual signals our strategies look for. A factor isn't a complete strategy — it's one input. The same factor can appear inside several strategies.

Insider Buying

Abnormal Insider Buying

Following unusually large, clustered, discretionary insider purchases — especially into weakness.

GEM v2

How the GEM score is built

Every stock we put through the full deep analysis gets one GEM score — a single conviction number from −100 to +100. It’s a per-stock weighted blend of two selection lenses, Quality and Value, where the weights are assigned from the company’s archetype (Value-led). To be a Gem, a name must also be genuinely cheap (a Value floor) — a great business at full price is a Watch. A third read — Sentiment — is deliberately kept out of the score and used only for timing. The question it answers: “is this a good entry for the next ~4 weeks?”

The lenses

  • Quality (price-agnostic) — is this a durable, well-run business? The share price is deliberately withheld from this lens, so a high score means “great business,” not “buy.” Its main job is to flag value traps.
  • Value (price-conditional) — is the stock mispriced versus what the business deserves? A wonderful business at a full price scores low here. This is the lens that leads — mispricing is the edge.
  • Sentiment (the tape / timing) — the non-fundamental pressure on the name. Not part of the score (see below) and no longer gates selection — it only informs timing and sizing.

Quality and Value each run −100 to +100 on their own.

The weights are assigned per stock

There’s no single weighting. Each company is classified into an archetype, and the archetype sets the Quality/Value split. Value leads wherever value is estimable; where value is speculative (a pre-profit or pure-narrative name with no earnings to anchor a fair value), the two sit at parity rather than burying quality — because there, quality is really balance-sheet survival. Quality never drops below 40% — it’s the value-trap filter.

Archetype Quality Value Why
Mature earner 45% 55% Established earner — value is estimable and leads; quality guards against value traps.
Dividend / income 45% 55% Income payer — value leads; quality protects the payout’s durability.
High-growth (profitable) 45% 55% Profitable growth — value leads, but quality (is the growth durable?) keeps real weight.
Deep value / turnaround 40% 60% Cheapness is the thesis — value leads hardest; quality stays up as the trap filter.
Narrative / platform 50% 50% Story stock with no earnings to anchor value — quality (survival) and value sit at parity.
Pre-profit growth 50% 50% No profit yet — value is speculative, so quality (runway, dilution) holds parity.
Default (unclassified) 45% 55% Unclassified — value-led balanced split.

Why sentiment isn’t in the score (yet)

A single point-in-time sentiment reading is genuinely ambiguous: a deeply negative tape on a good, cheap business could be a falling knife (keeps dropping) or the bottom (about to turn) — and the snapshot can’t tell which. Weighting that level would inject a number whose sign isn’t reliable, and (as of July 2026) using it as a veto was double-counting the price drop the Value lens already captures. What actually matters is the trajectory — sentiment turning from negative to positive on a name where Quality and Value are already there. We don’t track that history yet, so sentiment now stays out of selection entirely and acts only as timing (when to act) and sizing. The “is it actually cheap?” job that the veto used to approximate is now done directly by the Value floor below. A dedicated sentiment-trajectory engine is planned.

How the score is calculated

Each selection lens is multiplied by its weight, summed, and clamped to −100…+100. A worked example for a Mature earner (45% Quality / 55% Value):

Quality+81 × 45%+36.5
Value+75 × 55%+41.3
Compositeclamped −100…+100+78/100

Sentiment on this name is -40 (a headwind) — it doesn’t change the +78 and no longer holds the name back; it would only matter for timing and sizing.

From score to designation

  • GemScore ≥ +35, quality intact, and genuinely cheap (Value ≥ +15) — a good entry for the next ~4 weeks.
  • BounceMid-range, cheap but weak quality (Value > 0, Quality ≤ 0) — trade the rebound, don’t hold.
  • WatchGreat business, but not cheap enough (Value below the +15 floor), or simply mid-range — wait for a better entry.
  • LowScore ≤ -15 — weak composite, nothing aligned.

The Gem gates: a cheapness floor and a quality veto

Two hard gates sit on top of the score. First, the Value floor: to be a Gem a name must be genuinely mispriced — Value ≥ +15 — so a wonderful business trading near fair value is a Watch, not a Gem. Second, the quality veto: if Quality ≤ -40 (a broken business) the name is capped at Watch however strong the blend. Sentiment is no longer a gate (that veto was retired in July 2026) — it’s timing and sizing only.

What the board looks like right now

The two lenses sort our 100 analyzed names into four corners — live, so it shifts as the market and our reads move:

Gem
16
Quality + · Value + — good business, cheap
Watch
69
Quality + · Value − — good business, not cheap
Bounce
1
Quality − · Value + — weak business, cheap
Low
14
Quality − · Value − — weak business, not cheap
Live designations: Gem 7 Bounce 1 Watch 61 Low 31

Those corners are by sign; the final tier also needs the score to clear its band, so not every name in the Gem corner is a Gem (the rest are mid-band Watch). Right now only 17 of 100 names screen as cheap (Value above 0) — a richly-valued market — so Gems and Bounces are both scarce. Bounce (cheap and a weak business) is the rarest corner: in a quality-screened universe the few cheap names are usually cheap-and-decent, so they land in the Gem corner instead.

The whole composite is mechanical — no LLM, $0 to compute — and the designation it produces is graded forward on a single 28-day decision clock, so the call itself is held accountable over time.