Find AI supply-chain bottleneck ('chokepoint') stocks โ a transparent, auditable reproduction of Serenity's framework. Not financial advice.
Project description
๐ชข Serenity Chokepoint Engine
Don't buy the tuna. Buy the shiso leaf.
An auditable, open-source reproduction of the AI supply-chain "Chokepoint Theory" โ the framework behind one of the most talked-about retail traders of the decade.
It reverse-engineers the AI-compute supply chain, hunts the physically irreplaceable bottlenecks the entire buildout must flow through, and builds a high-conviction stock pool that maximises return under an as-certain-as-possible win rate.
pipx install serenity-chokepoint
serenity pool
ไธญๆ่ฏดๆ ยท Reproduce / Replace data ยท How it works ยท Performance ยท Critique it
โ ๏ธ Read this first
This is an educational reproduction of a publicly described investment framework, built for people to study and tear apart.
- ๐งช The bundled data are illustrative placeholder estimates, hand-assembled to demonstrate the method โ not a live signal. Replace them with verifiable data (see REPRODUCE.md) before trusting any number.
- ๐ธ Nothing here is financial advice. Small-cap, illiquid, highly volatile names. You can lose everything.
- ๐ Not affiliated with, endorsed by, or connected to Serenity (@aleabitoreddit) in any way. This is an independent reproduction of ideas they shared publicly.
- ๐ The performance below comes from backtests with real, disclosed limitations (survivorship, a roaring AI bull market). We show you the unflattering parts on purpose.
If that's fine with you โ welcome. Let's hunt chokepoints.
๐ฃ The idea in 30 seconds
In a piece of sushi, the tuna belly is the expensive part โ but the shiso leaf is the one thing you cannot skip. The same is true of the AI boom.
Everyone owns the "tuna": NVIDIA, TSMC, the hyperscalers. The alpha hides in the "shiso leaf" โ the tiny, overlooked, near-monopoly suppliers buried 4โ7 layers deep in the supply chain, whose failure would halt the entire buildout.
Just as ~20% of the world's oil must pass through the Strait of Hormuz, the photonics buildout must pass through a handful of indium-phosphide substrate, laser, and feedstock suppliers. Control the chokepoint, control the buildout.
A chokepoint is a node that is, all at once:
| ๐ Concentrated | ๐งฑ Irreplaceable | โณ Qualification-gated | ๐ต๏ธ Undiscovered |
|---|---|---|---|
| Top 1โ3 suppliers > 70% share | Material-science moat, no second source | 12โ24 month design-in cycle | Small cap, low institutional ownership |
When demand grows at 50โ100% CAGR and the choke can't, the screw gets repriced violently. That repricing is what the strategy is built to catch โ early, and only when the win is structurally likely.
โ๏ธ The strategy, as one loop
DEEP RESEARCH CERTAINTY GATE RETURN MAXIMISER
โโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโ
โ map the AI โ โ keep only names whose โ โ among survivors, โ
โ supply chain, โ โโโโโถ โ win is structurally โ โโโโโถ โ concentrate capital โ
โ score every โ โ certain: โ โ by win ร upside so โ
โ node's โ โ โข survives red-team โ โ the pool MAXIMISES โ
โ chokepoint-ness โ โ โข win prob โฅ 60% โ โ return GIVEN the โ
โ + asymmetry โ โ โข chokepoint โฅ 60 โ โ win-rate holds โ
โ โ โ โข P(EV>0) โฅ 60% โ โ โ CORE / BUILD / โ
โโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโ โ STARTER tiers โ
โโโโโโโโโโโโโโโโโโโโโโ
It is not a multi-factor trading system. It does one thing: deep research โ a high-conviction pool โ maximise return under a win-rate condition.
๐ Quickstart
# install once, get a global `serenity` command (like any CLI tool)
pipx install serenity-chokepoint # or: uvx serenity-chokepoint pool
# or: pip install serenity-chokepoint
serenity pool # ๐ the curated high-conviction pool
serenity pool --live # tighten it with live Yahoo Finance data
serenity thesis AXTI # ๐ฏ one-page full thesis: moat ร timing ร risk
serenity growth AXTI # the ramp-inflection (timing) lens
serenity scan # ๐ฐ๏ธ momentum ranking radar (NOT the method)
serenity scan --tickers NVDA,AXTI,SIVE # scan your own watchlist
serenity validate AXTI # deep-dive one ticker (score + red-team)
serenity supply-chain # the 7-layer map + structural chokepoints
serenity backtest --oos # the honest out-of-sample test
serenity --help
๐ Sample serenity pool output (click to expand)
SERENITY CHOKEPOINT โ HIGH-CONVICTION STOCK POOL (deep research -> certainty gate -> max return)
Certainty gate: survives red-team + win_prob>=60% + chokepoint>=60 + P(EV>0)>=60%
Pool size: 8 names. Objective: maximise return GIVEN the win-rate condition.
โโ TIER 1: CORE (highest conviction) โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
SIVE Sivers Semiconductors L3 Laser / light source
weight 23.2% | win 68% P(EV>0) 100% | upside 5.0x exp.return +253% | choke 74 resil 0.69
thesis : CW laser light-source chokepoint for co-packaged optics; 2027-28 ramp; AVGO/MRVL buyout optionality.
catalyst: UNDISCOVERED, MOAT:LONG-QUAL, M&A-TARGET | top risk: dilution / cash burn before ramp
AXTI AXT Inc. L4 Substrate (InP/GaAs)
weight 17.4% | win 72% P(EV>0) 100% | upside 3.8x exp.return +191% | choke 83 resil 0.77
thesis : Western InP-substrate chokepoint ('Strait of Hormuz' of photonics); vertically integrated feedstock.
catalyst: CONCENTRATED(>70%), MOAT:LONG-QUAL | top risk: China gallium/indium export controls
โโ TIER 2: BUILD โโ POET ยท AEHR ยท VNP
โโ TIER 3: STARTER / watch โโ IQE ยท INPACT ยท SOI
POOL BLEND: weighted win-prob 67% weighted expected return +153% (per $1, on the modelled horizon)
๐ฐ๏ธ Radar vs. deep dive โ two different tools
serenity scan (radar) |
serenity pool (deep dive) |
|
|---|---|---|
| Universe | broad (~60 names, or your --tickers) |
a fixed, hand-researched watchlist |
| Signal | live, price-only ramp factor (12-1 momentum + re-rating gap + small-cap tilt) | full structural Chokepoint Score + asymmetric odds + red-team |
| Changes? | yes โ daily, with the market; surfaces NEW names | stable; a high-conviction book shouldn't churn |
| Use it to | find candidates worth researching | commit to the ones that survived research |
So the workflow is: scan to spot movement โ thesis/validate/growth to do the real analysis โ pool to size. serenity thesis <T> is the one-page synthesis โ it fuses the three lenses (structural moat ร growth timing ร red-team risk) into a single verdict (๐ฏ PRIME SETUP, โณ POSITIONED EARLY, โ FAILS VALIDATION, โฆ).
# TICKER SCORE MOM(12-1) RAMP MKT$B note
1 AXTI 100.0 ...x ๐ฅ 6.7 curated
6 ICHR 90.7 ...x ๐ฅ 2.5 NEW find โ radar surfaced it; go research it
๐ Growth analysis โ the ramp-inflection lens (serenity growth)
This is the analytical core applied to growth, and it is not a generic "high revenue growth = good" screen. Serenity's thesis monetises one specific moment โ the volume-ramp inflection, when a qualified chokepoint supplier goes from sampling to mass production and the economics flip: revenue accelerates, gross margin turns up, and operating losses collapse. Bought before the Street re-rates it, that inflection is the asymmetric trade.
serenity growth AXTI # one ticker, full ramp breakdown (live, free data)
serenity growth --pool # ramp-stage table across the curated chokepoint pool
SERENITY GROWTH ANALYSIS โ AXTI (ramp-inflection lens)
GROWTH SCORE : 72.1/100 stage: ๐ EARLY RAMP (margin inflection)
revenue acceleration 0.50 โโโโโโโโโโ
margin inflection 1.00 โโโโโโโโโโโโโโโโโโโโ โ gross margin +36pts, op margin +47pts
revenue growth (YoY) 0.78 โโโโโโโโโโโโโโโโ
reinvestment (R&D) 0.75 โโโโโโโโโโโโโโโ
growth-adj. valuation 0.51 โโโโโโโโโโ
The Growth Score weights, in order of Serenity-relevance: acceleration (25), margin inflection (25), revenue growth (22), reinvestment/R&D (13), and a venture-style growth-adjusted valuation (15) โ not trailing P/S.
๐ Two scores, one thesis. The chokepoint score is the structural bet (the moat); the growth score is the timing (has the ramp started?). A pre-ramp chokepoint deliberately scores LOW on growth โ that's the point: you buy the moat before the ramp shows up in the numbers, and use
growthto watch the inflection arrive. High chokepoint + turning-up growth = the ideal Serenity setup.
๐ฐ๏ธ A momentum ranking, clearly labelled (serenity scan)
serenity scan ranks a broad universe by vol-adjusted 3m/6m/12m momentum. It is
a convenience radar, explicitly NOT the method โ momentum only tells you
what already moved. Use it to spot movement, then do the real work with
growth + validate.
๐ง How it works
Every node in the supply chain gets two things: a Chokepoint Score (is it a real bottleneck?) and an asymmetric-payoff estimate (is it a high-odds bet?).
1. Chokepoint Score (0โ100) โ six weighted pillars
| Pillar | Weight | What it captures |
|---|---|---|
| Supply concentration | 22 | Top-3 share; > 70% is the hard gate, then curves up non-linearly |
| Irreplaceability | 22 | Material-science moat ร qualification-cycle length |
| Demand/supply gap | 16 | AI end-market CAGR running ahead of the node's capacity CAGR |
| Qualification barrier | 16 | Already designed-in + long cert cycle = competitors years behind |
| Information asymmetry | 14 | Small cap + low institutional ownership + thin coverage (the alpha) |
| Catalyst / optionality | 10 | Insider buying, short interest, M&A premium, vertical integration |
2. Asymmetric payoff
The structural moat maps to a win probability; the ramp multiple (venture-style, not trailing P/S) maps to upside; dilution + valuation + tech-path + liquidity risk map to downside. Out come the odds ratio, expected value, and a deep-fractional-Kelly position size.
3. The supply-chain graph & demand model
A NetworkX dependency graph independently corroborates which nodes are chokepoints topologically (high betweenness / reverse-PageRank), and a simple compute-ร-optical-intensity model sizes the demand-vs-capacity shortfall.
๐ Does it actually work?
Here's where most strategy repos show you a hockey stick and hide the caveats. We built an engine to attack our own picks, and we publish the unflattering findings. Read all three.
1๏ธโฃ In-sample portfolio backtest (trailing 2y, real prices)
| Book | Return | CAGR | Sharpe |
|---|---|---|---|
| Chokepoint survivors (Kelly) | +1506% | 58% | 1.77 |
| Equal-weight universe | +1140% | 51% | 1.67 |
| ๐ NVDA (the "tuna") | +91% | 11% | 0.53 |
| QQQ | +65% | 9% | 0.74 |
2๏ธโฃ Event study โ does "qualification โ ramp" actually re-rate?
Using a +12% single-day gap as a proxy for a qualification/ramp event: the average 60-day forward return is +58.7% vs a +28.4% baseline โ +30.3% edge (227 events, 63% hit-rate). Re-rating events continue, they don't mean-revert. โ
3๏ธโฃ The honest one: genuine out-of-sample walk-forward
Broad fixed universe (winners and laggards), point-in-time price-only signal, train/test split, no look-ahead.
| Window | Strategy CAGR | SOXX CAGR | Verdict |
|---|---|---|---|
| In-sample (2019โ23) | 22.2% | 25.2% | ๐ด slightly LAGS โ proof it wasn't curve-fit |
| Out-of-sample (2023โ26) | 143.9% | 54.1% | ๐ข beats the semiconductor sector itself by +90 pts |
The train window underperforming is the point: the out-of-sample edge can't be from tuning on the test data. And the benchmark is SOXX โ so this is selection within semis beating owning all semis, not just sector beta.
๐ฌ ...and we stress-test that, too
- 2022 bear: the factor fell โ30.9% vs SOXX โ35.1% โ a +4.2pt cushion, no momentum crash. ๐ข
- Regime-dependent: it lagged in the 2020/2021/2023 bull years; the edge is concentrated in 2024โ26, exactly the late volume-ramp phase the thesis is about. ๐ก
- Rolling 24 folds: beats SOXX in 62% of windows โ but median Sharpe 1.01 vs SOXX 1.27: higher return, higher volatility, edge in the right tail. It's a high-odds book, not a low-risk one. ๐ก
Bottom line: the alpha looks real but regime-dependent and volatile โ consistent with a concentrated, high-conviction, ride-the-ramp strategy. We'd rather you know that going in.
๐ฅท We attack our own thesis (the part we're proudest of)
The framework's own rule is: before you size up, hand the thesis to the harshest Devil's Advocate. So the engine ships with an adversarial validator:
serenity screen --live --adversarial
- 9 deterministic attack vectors โ valuation already priced-in, supply elasticity / second-source, CPO-vs-pluggables tech-path, "already discovered", dilution, microcap liquidity, customer concentration, geopolitics โ each scored with a severity and a rebuttal.
- Monte-Carlo on the payoff assumptions โ P(EV > 0).
- Survival gate: only names that survive the red-team make the pool.
- Optional multi-LLM red-team hook (GPT / Claude / Gemini), off by default.
On live data this correctly kills names the naive score would keep โ e.g. a name trading at ~1677ร EV/Sales, or one that's already 90%+ institutionally owned.
๐งฉ Architecture
serenity_chokepoint/
โโโ chokepoint_data.py # curated universe of supply-chain nodes + attributes
โโโ scoring.py # Chokepoint Score (0โ100) + asymmetric-odds engine
โโโ supply_chain.py # NetworkX dependency graph + topological chokepoints
โโโ demand_model.py # AI-compute โ optical-interconnect demand projection
โโโ adversarial.py # Step-3 red/blue team + Monte-Carlo (+ optional LLMs)
โโโ live_data.py # Yahoo Finance refresh of market-derived fields
โโโ backtest.py # in-sample portfolio + factor + event study
โโโ oos_backtest.py # out-of-sample walk-forward + regime/rolling robustness
โโโ pool.py # THE PRODUCT: certainty-gated, return-maximising pool
โโโ cli.py # the `serenity` command
Runs fully offline with zero API keys; --live is the only thing that touches the network.
๐ Reproduce & replace the data
The bundled numbers are placeholders. REPRODUCE.md gives a per-field source table โ which fields auto-refresh from market data and which need real research (top-3 share, qualification cycle, ramp multiple) โ plus how to reproduce every chart and run the offline test suite:
pip install serenity-chokepoint[dev]
pytest -q # 16 network-free tests pinning the engine's invariants
๐คบ Come prove us wrong
This project exists to be critiqued. The most valuable contributions:
- Data โ overturn a node's chokepoint rating with real top-3 share / qualification facts.
- Scoring โ argue a pillar weight or curve is wrong.
- Odds model โ challenge the win-prob mapping, the up/down assumptions, the Kelly cap.
- Backtest โ find residual look-ahead/survivorship, or contribute a cleaner universe that includes delisted names.
- Attack vectors โ add a missing one (patent cliff, quantified customer concentrationโฆ).
Open an issue or a PR. Run pytest -q first. Be ruthless โ that's the whole point.
๐ Acknowledgments
- Serenity (@aleabitoreddit) โ for sharing the Chokepoint Theory publicly. This is an independent reproduction; all errors are ours, not theirs.
- virattt/ai-hedge-fund (MIT) โ the project this engine was first prototyped inside.
- The photonics / CPO research community (TrendForce, SemiAnalysis, Yole, and the public write-ups cited in REPRODUCE.md).
๐ License
MIT โ see LICENSE. Use it, fork it, break it. Just don't blame us for your trades.
โญ If this made you think differently about the AI supply chain, star it โ and then try to break it.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file serenity_chokepoint-0.4.0.tar.gz.
File metadata
- Download URL: serenity_chokepoint-0.4.0.tar.gz
- Upload date:
- Size: 786.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
21e978b2abb82dc96bd926041017e31308e52d79ac365c20238abcc9892328a5
|
|
| MD5 |
dfeb8be8fa8de5c02022accaa60bc652
|
|
| BLAKE2b-256 |
55d29ed66f3b15e95b8cca1abf49c719d974f63c030775b79f0c9be69934be11
|
File details
Details for the file serenity_chokepoint-0.4.0-py3-none-any.whl.
File metadata
- Download URL: serenity_chokepoint-0.4.0-py3-none-any.whl
- Upload date:
- Size: 63.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97cd8185aee43638f149e1a707ce18f0b6d4bca43bd8e0c66aaaa7209d47924b
|
|
| MD5 |
a53042c368795bc2f6a5b2c790395395
|
|
| BLAKE2b-256 |
351f6396719ce42a624f0b178420411475987b225792613206486aa851b62c25
|