Dashboard
Loading…
Open To-Dos
–
–
Today's Events
–
–
H100 Hrs (MTD)
–
–
Backup
–
files
Memory
–
entries
DB Size
–
KB
Git Push
–
–
Last Load
–
–
System
Soul ●
Agents ●
API Usage
$–
–
Version
–
build
■ To-Do
▦ Agenda — Upcoming
Loading…
◷ H100 Advisory
◈ Memory
Ask Anything
Conversation with soul prompt + memory · full context retained
Start a conversation — ask about markets, strategy, your portfolio, or anything else.
Trading Intelligence
–
RED FOLDER
Loading…
SIGNALS
Loading…
EARNINGS
Loading…
▣FUTURES
Loading markets…
▣MACRO
Loading macro…
Loading economic calendar…
📡NEWS — LIVE HEADLINES
Loading headlines…
💵USA COMPANY EARNINGS
—
Loading earnings calendar…
☀DAILY BRIEF
Click ▶ Regenerate to generate a fresh daily brief.
▣GLOBAL INDICES
Loading indices…
●INDEX PERFORMANCE
Loading index performance…
Loading ETF performance…
●ETF PERFORMANCE
Loading…
Loading FX data…
Loading commodities…
Loading yields…
●US TREASURY RATES & YIELD CURVE
Loading rates…
Loading yield curve…
●RATES REGIME FRAMEWORK
| Regime | 2Y Range | 10Y Range | 2–10 Spread | 30Y Mtg | Macro Context | Equity Risk | Housing / Credit |
|---|---|---|---|---|---|---|---|
| R0 EASY LIQ | 0–2% | 1–3% | +50 to +150bp | 3–5% | Post-recession / QE: easy policy, low term premium | Very bullish for beta, growth, high duration | Strong housing, easy refi and credit conditions |
| R1 GOLDILOCKS | 2–3.5% | 3–4.25% | 0 to +100bp | 5–6.5% | Near-neutral policy, inflation anchored | Constructive if earnings growing; valuation-driven | Housing slows from boom but still functioning |
| R2 HIGH TOLERABLE | 3.5–4.5% | 4–4.75% | −25 to +75bp | 6.5–7.25% | Higher for longer: policy restrictive, term premium rebuilding | Pressure on high-multiple growth; value outperforms | Affordability stressed; volumes fall but system intact |
| R3 BEARISH RATES | 4.5–5.5% | 4.75–5.5% | −50 to +75bp | 7–8% | Real yields compete with equity earnings yield; cash is alternative | Structurally bearish; high-duration tech hit hardest | Housing recession risk high; refi window shut |
| R4 DEEP INVERSION | 3–6% | 2y > 10y | −50 to −150bp | Follows 10y | Pre-recession: tight current policy, cuts priced out the curve | Medium-term bearish; recession risk high | Housing weakens on job/income risk; credit tightens |
| R5 EASING / RECESSION | 0–3% | 1.5–4% | +100 to +250bp | Falls but lags | Fed cutting aggressively into/after recession | Bear market / early recovery: add risk selectively | Housing stabilises slowly as rates fall |
| R6 TERM PREMIUM SHOCK | 2–4% | 4.5–6% | +75 to +200bp | 7.5–9% | Long end sells off on term premium / fiscal / inflation fears | Very bearish for duration and credit; steep for wrong reason | Severe affordability shock; volumes collapse |
| R7 SUPER TIGHT | 6%+ | 7%+ | Flat / inv / steep | 9%+ | Extreme inflation fight: ultra-tight policy, very high real yields | Brutal for risk assets until inflation breaks | Severe pressure; delinquency and default risk rises |
Current regime auto-detected from live 2Y/10Y/30Y yields and 2-10 spread. 30Y ≥ 5% for 10+ of last 20 days escalates to high-alert sub-regime.
●10Y UST YIELD REGIME
| Regime | 10Y Range | Real Yield | Macro / Policy | Equity Implications | Notes / Criticality |
|---|---|---|---|---|---|
| T0 EASY <3% | <3% | Real ≤0–1% | Very easy / QE-like or post-recession; growth fears or disinflation | Strong tailwind for long-duration growth; high multiples sustainable, ERP wide | Only likely in serious slowdown or renewed QE; bullish but coexists with bad macro |
| T1 FRIENDLY 3–4% | 3.0–4.0% | ~1–2% real | Goldilocks: inflation anchored, policy near neutral, modest term premium | Equities comfortable: multiples supported if earnings grow; growth vs value idiosyncratic | Equity-friendly band. Crossing back above 4% often marks end of easy conditions |
| T2 PRESSURE 4–4.75% | 4.0–4.75% | ~2–2.75% real | Restrictive but not yet breaking: higher-for-longer, term premium rebuilding | Valuation headwind: high-duration growth de-rates; quality/value outperform | 4% is key transition level. Above ~4.5% triggers systematic de-risking |
| T3 COMPETITIVE 4.75–5% | 4.75–5.0% | ≥2.5–3%+ real | Bonds compete with equities: real yields clearly tight, fiscal concerns front & centre | 10Y competes with S&P earnings yield; ERP compresses, broad multiple pressure | Critical band: sustained high-4s treated as bearish unless earnings exceptional |
| T4 RISK BREAKS >5% | >5.0% | >3% real | Persistent inflation, serious term premium / fiscal risk, or policy error | Historically → equity drawdowns and cross-asset stress; sharp re-rating of duration | Sustained >5% triggers rates-breaking-things regime, especially with 30Y/mortgage elevated |
10Y regime auto-detected from live yield. Real yield interpretation assumes ~2–2.5% inflation baseline.
Loading UK yields…
●UK GILT RATES & YIELD CURVE
Loading UK rates…
Loading UK yield curve…
●UK 10Y GILT YIELD REGIME
| Regime | 10Y Range | Real Yield | Macro / Policy | Equity / Housing Implications |
|---|---|---|---|---|
| G0 EASY <3% | <3% | Real ≤0% | Post-crisis / QE: BoE ultra-accommodative, gilt scarcity | FTSE growth rally; housing booms, mortgage rates very low |
| G1 FRIENDLY 3–4% | 3.0–4.0% | ~0.5–1.5% | BoE near neutral, inflation anchored ~2%, term premium modest | FTSE comfortable; housing stable, mortgage rates manageable (3–4%) |
| G2 PRESSURE 4–4.75% | 4.0–4.75% | ~1.5–2.5% | BoE restrictive, inflation persistent, fiscal risks from gilt supply | UK equities face valuation headwind; housing slows, SVR mortgages 6%+ |
| G3 STRESS 4.75–5.5% | 4.75–5.5% | ~2.5–3%+ | Gilt market stress: fiscal credibility concerns, mini-budget territory | Sterling pressure, pension fund LDI risk, housing affordability crisis |
| G4 CRISIS >5.5% | >5.5% | >3% | Gilt crisis: loss of fiscal credibility, forced BoE intervention | Broad UK asset sell-off, sterling collapse, housing market freeze |
UK gilt regime auto-detected from live 10Y yield. Real yield vs ~3% UK CPI baseline. Gilt stress thresholds reflect post-LDI market dynamics.
Loading correlation matrix…
▣NASDAQ 100 — TOP 10 BY WEIGHT
Loading top 10 Nasdaq…
▣S&P 500 — TOP 10 BY WEIGHT
Loading top 10 S&P 500…
▣INDICES NEWS
News loads after indices…
▣EQUITIES WATCHLIST
Loading equities…
▣EQUITIES NEWS
News loads after equities…
▣LEOPOLD PORTFOLIO — Situational Awareness LP
Q4 2025 13F · AUM $9.3B · AI/AGI Focus
Loading Leopold portfolio…
▣LEOPOLD PORTFOLIO NEWS
News loads after portfolio…
▣GLOBAL MACRO DASHBOARD
Loading global macro…
▣GDP vs INFLATION — QUADRANT MAP
Bubble size = Debt/GDP ratio
Loading scatter…
Sources: Central bank rates — respective central banks · GDP — IMF/World Bank/national statistics · CPI — national statistics bureaus · M2 — central banks · PMI — S&P Global · Debt/GDP — IMF WEO · Debt Service — IMF/national treasuries · 10Y Yields — sovereign bond markets · FX — Yahoo Finance (live, 12M % change)
Updates: FX rates refresh automatically every 4 hours via background worker. Macro indicators (rates, GDP, CPI, M2, PMI, debt) are updated manually when new data is released via POST /api/global-macro/update. 10Y yields are static defaults, updatable via the same endpoint.
Updates: FX rates refresh automatically every 4 hours via background worker. Macro indicators (rates, GDP, CPI, M2, PMI, debt) are updated manually when new data is released via POST /api/global-macro/update. 10Y yields are static defaults, updatable via the same endpoint.
▣REGIME STRIP
Cross-asset day desk · operating environment
Warming up regime cache — first refresh in ~10 seconds
▣DRIVER MATRIX
What is pushing each focus market right now
Warming up driver matrix — first refresh in ~15 seconds
▣FOCUS WATCHLIST
Execution-first intraday metrics
Loading watchlist…
▣RISK RAIL
Warming up risk rail — first refresh in ~15 seconds
▣CAUSE & EFFECT
Lead-lag and impulse response
Loading cause & effect…
Loading…
▣NEWS REACTION TAPE
Filtered to high-signal events and measurable market response
Impact ≥ medium
Loading news reactions…
Focus: regime → drivers → focus assets → risk → reaction tape. Live feeds with T+1m / T+5m / T+15m reaction windows.
▼ Legacy Market Technicals
▶ICT MULTI-ASSET BRIEF
Click ▶ Regenerate to generate fresh analysis across all assets.
■EOD SUMMARY
Click ▶ Run EOD to generate end-of-day summary, or ↻ to load last cached.
Strategy →
Click refresh to load performance stats.
📊 Strategy Health — Expectancy Engine
Loading expectancy data…
📡 TradingView Alerts
TradingView Webhook Setup
1. In TradingView, create an alert on any chart
2. Under Notifications, enable Webhook URL
3. Paste your webhook URL:
4. Set the Message to JSON format:
5. For simple alerts use:
2. Under Notifications, enable Webhook URL
3. Paste your webhook URL:
https://honeybees-mac-mini.tail56e8bc.ts.net/api/tv/webhook4. Set the Message to JSON format:
{"ticker":"{ {ticker} }","action":"{ {strategy.order.action} }","price":"{ {close} }","interval":"{ {interval} }","message":"{ {strategy.order.comment} }"}5. For simple alerts use:
{"ticker":"{ {ticker} }","action":"alert","price":"{ {close} }","interval":"{ {interval} }","message":"Your alert name"}
No alerts yet — set up webhook in TradingView to receive real-time signals.
⚡ ATR Context — Daily Range Used vs Remaining
Loading…
📏 Range Monitor — Today vs 20-Day Average
Loading…
🎯 Signal Quality Score vs Outcome
Loading…
🔥 Session P&L Heatmap — Win Rate by Asset × Kill Zone
Loading…
📉 Drawdown Monitor — Session P&L & Risk Status
Loading…
✅ Confluence Breakdown — Factor Analysis per Signal
Loading…
⚡ Kill Zone Performance — Win Rate & Expectancy by Asset
Loading…
💧 Liquidity Profile — Typical Hourly Volume by Asset
Loading…
AMD 50% Range Rebalance — Power of Three
Strategy: the strategy author's 50% rebalance model.
Price always redelivers to 50% of the dealing range (EQ).
Wait for Daily PO3 manipulation wick above/below prev day H/L →
H4 PO3 at 10am EST → SMT divergence NQ/ES →
Inversion FVG entry. Target = 50% EQ. BE = when H1 candle flips.
Primary asset: MNQ. Also works on BTC (daily timeframe).
Click Scan Now to run the AMD 50% scanner.
AMD 50% Strategy Rules
SHORT Setup Checklist
- 🔴 Price in PREMIUM — above 50% EQ of dealing range
- 🔴 Daily candle wicks ABOVE previous day high (manipulation)
- 🔴 H4 sweep of H4 range high at or near 10am EST
- 🔴 SMT: NQ makes new high, ES fails to confirm
- 🔴 Inversion FVG: previous bullish gap breaks, retap as resistance
- 🎯 Target: 50% EQ of current H4 dealing range (base hit)
- 🛡 Stop: above the manipulation wick high
- ⚡ BE: immediately when H1 candle flips bearish
LONG Setup Checklist
- 🟢 Price in DISCOUNT — below 50% EQ of dealing range
- 🟢 Daily candle wicks BELOW previous day low (manipulation)
- 🟢 H4 sweep of H4 range low at or near 10am EST
- 🟢 SMT: NQ makes new low, ES fails to confirm
- 🟢 Inversion FVG: previous bearish gap breaks, retap as support
- 🎯 Target: 50% EQ of current H4 dealing range (base hit)
- 🛡 Stop: below the manipulation wick low
- ⚡ BE: immediately when H1 candle flips bullish
AMD 50% Edge Rules:
"You either need to be right or right out." ·
Base hit every day (50% → 50%) — don't try to catch the extreme. ·
Break even aggressively — in his words this is what makes the model profitable. ·
Session window: 9:15–11:30 EST (9:30 liquidity injection + 10am manipulation reversal). ·
Do NOT trade around the 9:30 open unless confirmation is extremely clear. ·
4-week data gate: track this strategy in AGENT00 and patterns will emerge after 28+ trades.
LIQ+VOL — Intraday Liquidity & Volatility
Strategy (Jadecap): Markets raid resting orders at previous session highs/lows before reversing.
Wait for the liquidity sweep of Asian/London range or prev-day H/L →
zero follow-through → closure back through the level → entry.
SMT divergence (NQ≠ES) confirms. Target = opposite session extreme.
Session window: 9:30–10:30 EST (70% of intraday H/L printed here).
Min R:R 1.5:1 · Midnight open as daily reference.
signal Saved to
TRADING:LIQVOL:LATEST
Click Scan Now to run the LIQ+VOL scanner.
LIQ+VOL Rules
Bias & Setup
- Mark previous 1-3 day highs/lows (resting stops)
- Mark Asian range (8pm–midnight EST) + London range
- Wait for raid of one level — do NOT anticipate
- Zero follow-through after the sweep = signal
- Closure back through the raided level = entry trigger
- SMT: NQ sweeps high, ES fails (or vice versa) = confirmation
- FVG / market structure shift on H1/15M for precision entry
Execution & Management
- Window: 9:30–10:30 EST primary (70% of intraday H/L)
- Target: opposite session extreme (Asian low → target Asian high)
- If both sides raided → expect consolidation, stand aside
- Exit: time-based — before 11am/noon if not at target
- Scale-in: only after reducing risk on original position
- Min R:R: 1.5:1. Win rate ~35% — management is the edge
- 4-week gate: track all signals before drawing conclusions
Key insight: Win rate ~35% — profitability is entirely from trade management.
Average win must be 2.5–3× average loss. Selectivity and execution > entry accuracy.
"You either need to be right or right out." — Do NOT widen stops when price approaches SL.
Mean Reversion — Capitulation / Right Side of the V
Strategy (Lance Breitstein — $100M+ verified): Stable assets making unusually fast/large moves on no fundamental news are out of equilibrium.
Wait for the turn (right side of the V). Score variables 0-10 each.
Higher total score = larger position. Target = 20-period MA (Bollinger midline).
Works on all assets and timeframes. Fractal by nature.
signal Saved to
TRADING:MEANREV:LATEST
Click Scan Now to run the Mean Reversion scanner.
Mean Reversion Variable Scoring
Size & Speed (0-20)
- Size of move — vs average daily range. 3×ATR = high score
- Rate of change — asymptotic waterfall = maximum score
Context (0-30)
- No fundamental news — clean move = high score
- Days in a row — 5+ consecutive bars same direction
- Forced liquidation — volume spike = capitulation signal
Asset Quality (0-30)
- Boringness — stable historical range vs current move
- Market cap / diversification — S&P > stocks > crypto
- Quantifiability — bonds > stocks > BTC > micro cap
Entry (Right Side of the V)
- NEVER buy front side — wait for the turn
- Entry signals: break of downtrend line · prior bar high break · lower-low/lower-high pattern breaks
- Extreme only: intra-bar turn acceptable if move is truly asymptotic (tiny size)
- Stop: lows of the move (long) / highs of the move (short)
- Target: 20-period MA (Bollinger midline = equilibrium)
- Trail: prior bar lows (long) / prior bar highs (short)
Score → Position Sizing
- Score 80-100: A+ — maximum size, full conviction
- Score 60-79: B — standard size
- Score 40-59: C — small size only
- Score <40: No trade
- Win rate: ~70-80% on A+ · ~50% on C
- Scale-in: add only after first position at break-even or better
Lance's key insight: "The biggest mistake is not thinking about all variables — people oversimplify.
If X then Y never works. It's all variables on a spectrum."
Selectivity is everything — trade the 90/100 charts heavily, ignore the 50/100 charts completely.
Opening Range Breakout — 5m + 15m
Strategy: Mark the high/low of the first 5 or 15 minutes after the NY cash open (09:30 EST).
Trade breakouts of that range with HTF bias + volume confirmation.
Targets 1× OR range. Stop on the opposite side.
Primary assets: MNQ, MES. Also scans MGC and MCL.
Click Scan Now to run the ORB scanner.
ORB Strategy Rules
LONG Setup Checklist
- 🟢 OR marked 09:30–09:35 EST (5m) or 09:30–09:45 EST (15m)
- 🟢 Price breaks above OR high
- 🟢 Volume on breakout bar ≥ 1.5× average
- 🟢 RSI14 (1m) between 55–75 — momentum building, not exhausted
- 🟢 1H bias BULLISH — price above 21 EMA
- 🟢 OR width within clean range (0.05%–1.0% of price)
- 🎯 Target: OR high + 1× OR range
- 🛡 Stop: OR low
- ⚡ BE: trail to entry when 1× OR reached
SHORT Setup Checklist
- 🔴 OR marked 09:30–09:35 EST (5m) or 09:30–09:45 EST (15m)
- 🔴 Price breaks below OR low
- 🔴 Volume on breakout bar ≥ 1.5× average
- 🔴 RSI14 (1m) between 25–45 — momentum building, not exhausted
- 🔴 1H bias BEARISH — price below 21 EMA
- 🔴 OR width within clean range (0.05%–1.0% of price)
- 🎯 Target: OR low − 1× OR range
- 🛡 Stop: OR high
- ⚡ BE: trail to entry when 1× OR reached
ORB Edge Rules — Momentum Strategy:
ORB is a pure momentum play — the edge is breakout impulse, not R:R width. Minimum R:R = 1.0× (not 1.5×). ·
RSI14 (1m) is the key confirmation — 55–75 for longs, 25–45 for shorts. RSI >80 or <20 = exhausted, skip. ·
5m variant is faster but noisier — tagged as
ORB_5M. ·
15m variant is slower but cleaner — tagged as ORB_15M. ·
Session window: 09:30–11:30 EST — do not trade after 11:30. ·
Score ≥7/10 auto-creates a monitored signal with Telegram alert.
Each variant gets its own 1-active-per-asset slot, so ORB_5M and ORB_15M can both be active on MNQ simultaneously.
ICT Setups — Today
■ All Execution History
Loading history…
Signal Monitor — Live Indicators by Asset & Timeframe
Click refresh to load…
Asset Analysis
LLM · live data
Select an asset above to run analysis…
Key S/R Levels — All Assets
Click refresh to load key levels…
Market Data
Global Markets · Indices · FX · Commodities
Markets, indices, ETFs, FX, commodities, rates, correlation and equities have been moved to
Trading Intelligence → Overview sub-pills.
Trading Intelligence → Overview sub-pills.
Loading…
📰 H100 Headlines
Loading headlines…
Quick Snapshot →
Select an asset above
Bitcoin Intelligence
AGENT03 · H100.ST · Peer Analysis · Research
BTC Spot
—
ATM IV 7d
—
ATM IV 30d
—
ATM IV 90d
—
RV 30d
—
VRP 30d
—
IV − RV
IV/RV Ratio
—
Regime
—
RV 7d
—
RV 60d
—
25Δ RR 30d
—
25Δ BF 30d
—
Venue
Deribit
OI Share
~85%
■ Market Context & Regime
Loading analysis…
■ Implied Volatility Surface
Hover to inspect
LowHigh
Strike × Tenor · Ann. %
The IV surface plots implied volatility across strikes (moneyness %) and tenors. Warmer colours = higher IV. OTM puts (left) typically trade richer than OTM calls (right) — this is the skew. Hover any cell for exact IV.
■ 25-Delta Risk Reversal & Butterfly
Loading…
■ 10-Delta Risk Reversal & Butterfly
Loading…
■ ATM Term Structure
■ Top Ranked Strategies — Live at Spot
Loading…
■ Exchange Landscape
Deribit ~85% global OI · institutional flow, block trades, IV price discovery · WebSocket real-time ·
CME ~8% · regulated US benchmark ·
Binance, OKX, Bybit retail/semi-institutional ·
BTC IV persistently 60–100%+ ann. vs equities 15–25% → structural VRP.
■ Full Surface Explorer
Hover to inspect strike × tenor
■ Smile Slices by Expiry
Each line shows the IV smile for a single expiry across moneyness. A steep left wing (OTM puts) means downside protection is expensive — typical in BTC due to structural demand from funds and treasuries. If the smile flattens at longer tenors, the market expects mean-reversion. If short-dated smiles are steeper than long-dated, near-term tail risk is being priced aggressively — consider whether that premium is worth selling or whether protection is warranted.
■ Forward Volatility Ladder
Loading…
Forward vol is the market’s implied expectation of volatility between two future dates, extracted from the term structure. When forward vol is significantly higher than spot IV at the same tenor, the market expects a vol increase — potential catalysts like halvings, ETF decisions, or macro events. When forward vol is lower, the market expects vol compression. Calendar spreads exploit dislocations between spot and forward vol. A positive Δ (forward > spot) favours selling the back leg; negative Δ favours buying it.
■ OI Concentration & Strike Crowding
Loading…
■ Gamma Exposure (GEX) by Strike
Loading…
■ Strategy Screener — Ranked by Composite Score
—
Loading strategies…
■ Scoring Framework
Composite = 0.30(Relative Value) + 0.20(Carry) + 0.20(Treasury Fit) + 0.15(Liquidity) + 0.15(Stress Robustness) · Range 0–100 · Mandate-weighted variants for Yield/Accumulation/Protection/Tactical RV
BTC Holdings
BTC NAV
—
Net Premium Received
$0
Options P&L
$0
0% on prem
Eff. Sale / Buy
—
Covered Calls
0%
0 BTC
VaR 1d 95% (BTC only)
—
VaR 1d 95% (Net)
—
Options VaR Impact
—
Max 1d Loss (99%)
—
NET DELTA (Holdings+Opts)
0
0 BTC · $0
OPTIONS DELTA (BTC)
0
$0
GAMMA P&L per 1% move
$0
0% NAV
VEGA P&L per 1% vol
$0
0% NAV
THETA Income per day
$0/d
0% NAV/d
■ Add Position
TYPE
DIRECTION
STRATEGY
STRIKE ($)
MONEYNESS → STRIKE
—
EXPIRY
TRADE DATE
QUANTITY (BTC)
PREMIUM ($ per BTC)
PREMIUM %
—
■ Governance
Max overwrite: 15–25%
Max CSP: 10–20%
Naked short: Prohibited
■ Active Positions — P&L
No positions — add one to start modelling
■ Portfolio Payoff at Expiry
Total portfolio P&L (BTC holdings + options) at various spot prices at expiry. Green = profit, Red = loss.
■ Portfolio Greeks (1st + 2nd Order)
Loading…
■ Greek Stress
Loading…
■ VaR & Expected Shortfall
Loading…
■ Historical VaR (1d 95%)
Rolling 30d VaR based on BTC holdings × realised vol. Shows how portfolio risk evolves over time.
■ Theta P&L Runway
Projected cumulative theta income assuming spot pins. Accounts for positions expiring along the way.
■ DTE Traffic Lights
Loading…
■ Collateral Stress Runway
Loading…
■ Assignment / Call-Away Ladder
Loading…
■ Governance & Concentration
Loading…
■ Greek Buckets by Tenor (incl. Vanna / Charm)
Loading…
■ What-If Simulator — Preview Trade Impact
TYPE
DIR
STRIKE
EXPIRY (d)
QTY
IMPACT
—
■ Scenario NAV Cube — Spot × Vol Shocks (7d horizon)
Loading…
■ ATM IV & Realised Vol History
Time series for ATM IV, DVOL, realised vol, IV–RV spread. Requires Deribit historical data feed or Amberdata backfill for institutional-grade history.
Phase 2 — requires historical data warehouse
■ Percentiles & Z-Scores
Percentile ranks over 1m, 3m, 1y, 2y windows for ATM IV, skew, butterfly, term slope, forward vol. Z-score standardisation against rolling means.
Phase 2 — requires historical data warehouse
■ Similar Regime Lookup
Find historical analogues matching current ATM IV percentile, IV–RV spread, skew, and term structure shape. Forward BTC and IV path outcomes after comparable signals.
Phase 2 — requires historical data warehouse
■ Strategy Backtests
Carry, hit rate, drawdown, and tail loss for each strategy template across historical regimes. Strategy-specific signal deployment backtests.
Phase 2 — requires historical data warehouse
■ Metaplanet BIG Strategy — Building Japan’s Bitcoin Standard
TSE: 3350 · OTCQX: MTPLF
Bitcoin Income Generation (BIG) Program
“Acquiring bitcoin through the issuance of long-dated yen liabilities… utilising the entire range of capital market instruments… harnessing Japan’s global capital cost advantage.”
— Metaplanet Whitepaper, May 2024
Treasury
40,177
BTC · #3 globally
BTC/Share Δ
+5,000%
since BTC standard adoption
BIG Rev FY25
¥8.58B
~$56M · 95% of revenue
Net Cash Rank
#13
of 3,001 JP non-fin cos · $2.34B
Shareholders
216.5K
from 10.9K (Dec 2023) · 20×
2027 Target
210K
BTC · 1% of supply · ~$12B
■ Japan Macro Thesis — The Release Valve
Financial repression is the path of least resistance. Japan has the highest debt-to-GDP globally at 240%. Fiat currency across G7s will be the release valve.
240%
Debt-to-GDP
2.2%
10Y JGB · decade high
3%+
Inflation returning
$7T+
Fixed income at risk
Japan household financial assets: $14.9T (Cash & Deposits $7.6T · Stocks $1.8T · Insurance & Pensions $3.9T). Metaplanet’s listed preferred instruments target this $15T pool.
■ Capital Instruments — Capitalising on Volatility
| Instrument | Amount | Market Std | Metaplanet | Edge |
|---|---|---|---|---|
| Moving Strike Warrants | $1.5B+ | 8–10% disc | 0% disc | +8–10% |
| Stock + Warrants | $200M+ | At market | +5% prem | +5% |
| MERCURY Preferred | $150M | 5–6% yield | 4.9% face | Lower cost |
| MARS Perpetual Pref | Auth | — | <8% · Perp · Senior | Non-dilutive |
| BTC Income Gen (BIG) | $55M | N/A | Real income | New revenue |
Capital raised: 2024 ~$0.13B · 2025 ~$3.25B (common + prefs + warrants) · YTD 2026 ~$0.13B. 555M Plan: ¥770B (~$5.3B) — largest MSW issuance in Japanese capital markets history.
Long-Term HODL
40,177 BTC
Strategic reserve. Never sold. 85% of all BTC held by Japanese public companies. #13 net cash among 3,001 non-financial listed companies in Japan ($2.34B).
Dynamic Collateral
$1B
BTC-backed credit facility. Straight bonds. Monetising the treasury as collateral while retaining full upside exposure. Zero-coupon bond structures.
BTC Income Generation
$55M
FY2025 revenue. Monetising BTC volatility via cash-secured put options. Op. profit +1,695% YoY. Revenue +738%. Growing ~57% per quarter.
Leg 1 — Cash-Secured Put Writing on BTC
Mechanism: Sells OTM cash-secured puts on Bitcoin (via QCP Capital OTC). If BTC stays above strike → pure income. If exercised → buys BTC at strike minus premium.
Roll-up: Dynamically chases rising strikes in bull markets. Oct 2024: $62K → $66K, +5.9 BTC, yield 10.75% → 13.4%.
Edge: Bitcoin VRP (IV 60–100% vs lower realised). ~5–10% of capital in rolling tranches. ¥8.58B FY25 premium revenue.
Roll-up: Dynamically chases rising strikes in bull markets. Oct 2024: $62K → $66K, +5.9 BTC, yield 10.75% → 13.4%.
Edge: Bitcoin VRP (IV 60–100% vs lower realised). ~5–10% of capital in rolling tranches. ¥8.58B FY25 premium revenue.
Leg 2 — Moving Strike Warrants (MSWs)
Mechanism: MSWs reset exercise price daily to prior close — always ATM. EvoFund borrows from MMXX, sells at market, exercises at yesterday’s close, returns new shares.
Advantage: 0% discount (vs 8–10% market standard). Dilution only on upside. Self-reinforcing flywheel.
Scale: 555M Plan — ¥770B (~$5.3B). Prior 210M program raised ~$645M in ~3 months. Daily vol >$920M.
Advantage: 0% discount (vs 8–10% market standard). Dilution only on upside. Self-reinforcing flywheel.
Scale: 555M Plan — ¥770B (~$5.3B). Prior 210M program raised ~$645M in ~3 months. Daily vol >$920M.
■ The Volatility Flywheel
BTC holdings grow → stock more volatile → put premiums higher → MSW spreads exercisable → more capital → more BTC → repeat. Each revolution increases BTC-per-share.
BTC Yield
568%
Op Profit
+1,695%
30d HV
133.9%
mNAV
3–9.5×
⚠ Key Risk Vectors
Crash assignment: BTC −40%; puts exercised above spot. Short-gamma fat-tail.
IV compression: DAT sellers suppress vol. 13%+ yields → 4–6%.
mNAV collapse: 5–9× → 1× = MSW issuances become dilutive.
MTM: ¥102.2B unrealised loss FY25. Avg cost ~$107K vs ~$68K spot.
Governance: EvoFund ↔ MMXX (Gerovich). Concentration risk.
■ Capital Market Roadmap — “2028: Year 0 for Bitcoin in Japan”
2024
Bitcoin = speculative asset. Capital raised: ~$0.13B via common stock.
2026
Bitcoin = niche corporate asset. Amplified BTC equity + lower-vol preferred instruments. ~$3.5B raised.
2028
Bitcoin = regulated financial instrument. Spot ETF approval + big bank adoption. Futures, options, structured products.
2030+
Bitcoin = capital markets collateral asset, monetary base layer. BTC-backed fixed income products at scale.
Bottom Line
Metaplanet is not merely holding Bitcoin — it is building a full-stack capital markets engine around it. BIG sells tail-risk insurance (put premiums in benign markets, BTC acquisition if exercised). MSWs convert equity volatility into capital at zero discount. MARS/MERCURY preferred instruments tap Japan’s $14.9T household asset pool. The 210,000 BTC target by 2027 would represent 1% of total supply. The strategy compounds BTC-per-share regardless of price direction — provided volatility remains elevated. Fragility: a low-vol, declining-BTC regime where premiums thin, mNAV collapses, and the flywheel reverses.
Bitcoin Treasury Preferred Shares
—
Loading…
Yahoo Finance · (v) variable div · Eff Yield = Annual Div ÷ Price · Vol = stdev × √252
—
Reserved · Future Pref Analytics
Reserved for the next card on this row.
Convertible Bonds — BTC Treasury Issuers
Strategy (MSTR), Semler Scientific, Metaplanet, and other BTC treasury issuers raise capital via convertible bonds.
This panel will track outstanding converts by coupon, conversion premium, maturity, call schedule, and current trading levels.
Roadmap · v250+
Roadmap · v250+
Bonds — Senior & Secured BTC Credit
Senior secured notes, term loans, and BTC-collateralised credit facilities.
Future scope: BTC-backed loan APRs across Ledn / Unchained / Arch / Aave with LTV ladders and liquidation buffers,
plus public debt instruments issued by BTC treasury companies.
Roadmap · v250+
Roadmap · v250+
₿ BTC Asia — Intelligence Hub
Advisory · Pre-Deal
Philippines Bitcoin Lending & Treasury Company
Philippines Bitcoin lending and treasury vehicle — combining the Ledn model (BTC-collateralised lending, yield generation) with Metaplanet-style balance sheet accumulation. Capturing structural remittance tailwinds, high crypto adoption, and a clear first-mover gap in ASEAN institutional Bitcoin infrastructure.
LAST UPDATED · Apr 14 2026
Data: public filings + industry reports
Asia Precedent
40,177 BTC
Metaplanet (Japan TSE:3350) — 3rd largest corporate BTC holder globally. First non-US entrant into top-3. $4.2B cost basis. Targets 210k BTC by 2027.
PH Crypto Adoption
#8 GLOBALLY
Chainalysis Global Crypto Adoption Index 2024. ~11M crypto users today · 12.79M forecast by 2026 · 10.86% penetration. Higher than US, UK, Germany.
Remittance TAM
$38.3B/YR
PH inbound remittances 2024 — one of the world's largest per-capita. Structural demand for Bitcoin-rail settlement via Lightning Network. +3% YoY growth.
Crypto Transaction Volume
~$40B/YR
Annual PH crypto transaction value per SEC data. Active, tech-savvy population. Play-to-earn (Axie Infinity) pioneered early adoption.
Strategic Reserve Bill
10,000 BTC
House Bill 421 (Aug 2025) — proposes BSP buys 2,000 BTC/yr × 5 yrs, 20-year hold. Marcos administration publicly pro-Bitcoin.
CASP Framework
₱100M MIN
PH SEC MC 4/5-2025 in force. ~$1.8M min. paid-up capital for licensed crypto operators. High barrier = regulatory moat for early licensees.
Philippines Macro Environment
CPI Inflation
–
BSP Key Rate
–
M2 Growth YoY
–
GDP Growth YoY
–
Loading PHP/USD…
Philippines FX & BTC Charts
USD / PHP
Loading chart…
PHP / BTC
Cost of 1 BTC in Pesos — rising line = peso debasement
Loading PHP/BTC…
🇵🇭 Philippines Crypto & Remittance Ecosystem
BSP-regulated · $38B/yr remittance · 11M+ crypto users
CRYPTO EXCHANGES & WALLETS
| Coins.ph | Largest PH platform · exchange + wallet · remittance + bill pay · millions of users |
| PDAX | BSP-regulated · BTC/ETH in PHP · institutional · powers GCrypto (GCash) |
| Maya PH | Digital bank + crypto (ex-PayMaya) · Voyager-backed |
| GCrypto | Crypto inside GCash (76M+ users) · powered by PDAX |
BLOCKCHAIN REMITTANCE
| BloomX | Crypto-powered cross-border · Lightning Network settlement |
| Moneybees | OTC cash ↔ BTC via physical locations · working inventory |
| XenRemit | Crypto + remittance + payments · BTC settlement rail |
FINTECH & WEB3 INFRASTRUCTURE
| TopJuan | TopWallet · hybrid crypto + financial services |
| DA5 / SurgePay | Digital wallet · crypto + remittance + bill pay · nationwide agents |
| Torus Labs | Web3 infra · keyless wallet login · PH-founded |
GLOBAL EXCHANGES (PH POPULAR)
| Binance | World's largest · P2P PHP on-ramp · most popular with Filipino traders |
| KuCoin / Bybit | Advanced trading + altcoins · used alongside local for depth |
BANKS & INSTITUTIONAL
| UnionBank | Blockchain adopter · PDAX partner · custody/tokenisation · no BTC on BS |
| BSP | Central bank · regulates VASPs · HB 421: 10,000 BTC strategic reserve |
| SEC PH | CASP framework · ₱100M min capital · regulatory moat |
| PSE | Zero crypto-native listings · first-mover gap for BTC treasury co |
OFW REMITTANCE — GLOBAL
| Western Union | 100k+ agents globally · cash + bank + GCash |
| MoneyGram | Fast transfers · cash pickup + bank deposit |
| Ria Money | Competitive fees · N. America + Middle East |
OFW REMITTANCE — DIGITAL
| Remitly | Built for OFWs · Express/Economy · GCash/Maya direct |
| Wise | Real exchange rate · transparent fees · cheapest option |
| WorldRemit | Bank + cash + mobile wallet · fast delivery |
| Xoom (PayPal) | Fast digital · popular US→PH corridor |
| TapTapSend | Low-fee UK/Europe/US transfers |
OFW REMITTANCE — FILIPINO-OWNED
| iRemit | Largest PH-owned · 1000s of payout locations · door-to-door |
| Metrobank Remit | Metrobank subsidiary · banking-tied products |
| BPInoy (BPI) | Direct bank transfer · global partnerships |
| PNB | International branches · OFW-focused products |
| Optimum Exchange | Partner houses in Middle East + Asia |
CASH PICKUP NETWORKS (PH SIDE)
| Palawan Express | Fast low-cost · 1000s of rural branches · Pera Padala |
| Cebuana Lhuillier | Highly trusted · real-time payouts · financial services |
| M Lhuillier | 24/7 in some areas · loans + pawn · nationwide |
BTC HOLDINGS INTELLIGENCE
| Coins.ph | Likely significant custodial BTC · ❌ no treasury disclosure · ❌ no on-chain transparency |
| PDAX | Exchange wallets (custodial) · ❌ no proprietary reserve disclosed |
| Moneybees | Working BTC inventory for OTC liquidity · ❌ no audited holdings |
| Nichel Gaba | PH crypto leader · infrastructure builder · influence not holdings |
| Wei Zhou | Ex-Binance CFO · PH-connected · no confirmed BTC amounts |
No Philippine MicroStrategy: BSP regulates tightly · PH corporates favour cash/real estate · crypto adoption is retail + remittance-driven, not institutional · wealthy Filipinos use offshore (SG/HK/Dubai) · PSE has zero crypto-native listings · clear first-mover gap for BTC lending + treasury company.
Signal: on-chain flows from PH exchanges are the real due diligence edge
Comparable Listed BTC Treasuries — Asia Focus
Source: bitcointreasuries.net · Apr 2026
| Company | Ticker | Region | Description | BTC Held | Mkt Cap | Price | 1M % | 3M % | 12M % | YTD % |
|---|---|---|---|---|---|---|---|---|---|---|
| Strategy | MSTR | 🇺🇸 USA | Largest corporate BTC holder globally | 762,099 | — | — | — | — | — | — |
| Twenty One Capital | XXI | 🇺🇸 USA | Tether/SoftBank-backed BTC vehicle | 43,514 | — | — | — | — | — | — |
| Asia-Pacific BTC Treasury Companies | ||||||||||
| Metaplanet ⭐ | 3350 (TSE) | 🇯🇵 Japan | Asia’s #1 · first JP Bitcoin treasury company | 40,177 | — | — | — | — | — | — |
| Boyaa Interactive | 0434.HK | 🇭🇰 Hong Kong | Online gaming → BTC treasury pivot · Web3 | 3,351 | — | — | — | — | — | — |
| Canaan Inc | CAN | 🇸🇬 Singapore | ASIC miner mfg (Avalon) · self-mining · 266 MW | 1,808 | — | — | — | — | — | — |
| BitFuFu | FUFU | 🇸🇬 Singapore | World’s largest cloud mining platform · 623K users | 1,709 | — | — | — | — | — | — |
| YDKG | YDKG | 🇨🇳 China | China-listed BTC treasury holder | 819 | — | — | — | — | — | — |
| SOS Limited | SOS | 🇨🇳 China | AI + blockchain tech · BTC mining + treasury | 803 | — | — | — | — | — | — |
| Convano Inc | 6574.T | 🇯🇵 Japan | Nail salon chain → BTC treasury strategy | 763 | — | — | — | — | — | — |
| Bitmax | 377030.KQ | 🇰🇷 Korea | Korea’s largest listed BTC treasury | 251 | — | — | — | — | — | — |
| PH BTC Co (TBD) 🎯 | TBD | 🇵🇭 Philippines | First ASEAN BTC treasury vehicle · advisory | TBD | — | — | — | — | — | — |
Asia-Pacific now has 8+ listed BTC treasury companies across Japan, Hong Kong, Singapore, China, and Korea. ASEAN (Philippines, Indonesia, Thailand, Vietnam, Malaysia) currently has zero — clear first-mover gap. Metaplanet is the only non-US entrant in the global top 3.
Thesis
Asia Pacific has one publicly-listed Bitcoin treasury company (Metaplanet). Southeast Asia has zero. The Philippines sits at the intersection of three structural tailwinds:
- Adoption: #8 globally, ~10% population penetration, 12.8M users by 2026
- Tailwind: $38B/yr remittance TAM, prime use-case for Lightning-rail settlement
- Regulation: CASP framework in force · Marcos administration explicitly pro-Bitcoin · HB 421 proposes 10k BTC strategic reserve
Deal Structure
Advisory phase — structure TBD. Likely vehicle candidates:
- Direct PSE IPO (Philippine Stock Exchange)
- Reverse merger into existing listed shell
- Backdoor listing via SPAC precedent (Twenty One model)
- Offshore dual listing (Singapore SGX or HKEX + PSE)
[ Deal structure details to be filled as advisory progresses ]
Regulatory Environment
Current status (April 2026):
- SEC MC 4 / MC 5-2025 — CASP rules in force · ₱100M min. paid-up capital · physical presence required
- BSP VASP license — moratorium lifted Sept 2025
- HB 421 — proposes Strategic Bitcoin Reserve (10,000 BTC target, 20-year hold)
- Cagayan CEZA Crypto Valley — designated crypto economic zone since 2018
- Tax treatment — capital gains reporting required, no specific crypto CGT rate
Investors — Target Profile
Target investor profile to approach for this deal:
- Bitcoin-native funds (e.g. Paradigm, Pantera, 10T, Multicoin)
- Asia-focused crypto funds (Dragonfly, HashKey, Animoca)
- Japanese institutional allocators (post-Metaplanet precedent)
- Philippine family offices with crypto exposure
- Strategy-correlated US funds looking for Asia diversification
[ Investor list + cross-linking to Investor Intelligence page pending ]
Research & Documents
Working documents, due diligence materials, and reference research will be linked here as the deal progresses.
[ Document vault TBD ]
Sources: Metaplanet Q1 2026 disclosure (April 2026); Bitcoin Treasuries leaderboard; Chainalysis Global Crypto Adoption Index 2024; PH SEC Memorandum Circulars No. 4 & 5, Series of 2025; BSP VASP regulatory framework; House Bill 421 (Aug 2025); PH SEC CASP statistics. Macro figures are point-in-time and should be refreshed quarterly as conditions evolve.
Asia BTC + Crypto News
—
JP · KR · HK · SG · CN · TW · PH · TH · IN · VN + RSS
Loading Asia news…
■ Crypto Finance Platform — 5-Year Model
Illustrative 2026–2030 · pre-tax · pre-financing
|
PHP/$
Revenue Assumptions
| Business Line | Start ($m) | Growth % | Rate % |
|---|
Rate = net take rate / fee rate / yield / spread. Advisory: rate = avg fee per mandate ($m). All editable.
Cost Assumptions
| REVENUE ($M) | 2026 | 2027 | 2028 | 2029 | 2030 |
|---|---|---|---|---|---|
|
P&L SUMMARY ($M)
| |||||
Conceptual planning model · pre-tax, pre-financing · all figures illustrative · key sensitivities: BTC price & volatility, funding costs, adoption speed, regulatory friction
Loading Bitcoin ETF data…
Top 10 Institutional Holders — BTC ETFs
—
13F sourced via Yahoo Finance · quarterly lag
Loading ETF holders…
Bitcoin Treasury Companies
CompanyTickerMkt CapPrice
DayMTD12MRSIAnn Vol
BTC HeldBTC Value
Loading…
BTC Holdings: bitcointreasuries.net (live ● = cached, no ● = fallback) · Prices: Yahoo Finance · Mkt Cap in USD · Ann Vol = 252 trading days
Treasury Company News
Load company data to see news…
Top 10 Institutional Holders
—
13F sourced via Yahoo Finance · quarterly lag
Loading institutional holders…
Bitcoin · BTC/USD · CoinGecko
–
–
–
Loading…
24H High
–
24H Low
–
24H Volume (USD)
–
Market Cap
–
Circulating Supply
–
All-Time High
–
24H Range
–
52-Week Range
–
Technicals · Daily
yfinance · 13mo history
Vol 30D
–
–
Vol 90D
–
–
RSI 14
–
–
EMA 21
–
–
EMA 50
–
–
EMA 200
–
–
Bitcoin Headlines
—
16 tickers + 12 RSS feeds · 7-day window
Loading Bitcoin headlines…
Memory Bank
Loading…
📄 Document Knowledge Base
PDF · PPTX · XLSX · TXT → extracted & stored in memory
Upload Document
ℹ️ Text is extracted, then summarised by LLM (facts only — no invention). Stored as a
Supported: PDF · PPTX · XLSX · TXT · MD · CSV · max ~30 pages / 50 rows
DOCUMENT: memory entry. Available immediately in Ask Anything context.Supported: PDF · PPTX · XLSX · TXT · MD · CSV · max ~30 pages / 50 rows
Ingested Documents
Loading…
💬 Today's Conversation
Last 5 exchanges · refreshes each session
Loading…
📅 Rolling Context — Last 7 Days
Key decisions & views · injected into every Ask Anything
Loading…
📊 Weekly Trading Summary
Auto-runs Friday EOD · or trigger manually
Loading…
Trading Performance Memory
Written nightly after EOD · powers Ask Anything context
Loading…
30-Day Asset Feedback
What the signal engine has learned per asset
Loading…
By Category
Soul Prompt — Standing Context
Active on every Ask · Read-only
Loading…
Full Prompt Preview
Soul + today's memories injected
Loading…
To-Do
–
Agenda
Loading…
H100 Advisory
H100 Advisory
Hours by Category
–
Expenses by Category
–
Hours Logged
Expenses
Contacts
Network · Relationships
Manage Tags
Tags apply to Contacts, To-Dos and Agenda items.
Add New Tag
API Usage
OpenRouter · loading…
Today
–
MTD
–
All Time
–
Calls MTD
–
By Model — MTD
Loading…
Daily Spend — Last 14 Days
Loading…
Investment Intelligence
Pipeline · Life Sciences · Oxford · Neuro · HMA
Loading…
🧬 Life Sciences & Healthcare Headlines
Loading headlines…
🎓 Oxford Ecosystem
Loading…
🧬 Etcembly / AI Drug Design
Loading…
🌍 VX Pharma / Africa
Loading…
■ Neuro Investor Pulse
Reading from master investors list · click any name to open profile
—
Loading investor pulse…
—
Loading companies…
Investment Intelligence · Neurotechnology
The Brain Is the Next Great Platform
Aging demographics, maturing closed-loop implants, AI-driven neuroimaging, and BCIs crossing from research into revenue — neurotech is compounding at double-digits into a decade where the clinical and reimbursement tailwinds are structural, not cyclical.
TAM Today
$15–19B
2025 · broad neurotech
TAM 2035
$47–67B
devices alone: $67B
Blended CAGR
11–13%
devices 13.5% · BCI 16–18%
Geography
NA >40%
APAC fastest-growing
$33B broad market by 2031
$100Bs US annual neuro disease cost
2x projected device revenue by 2035
10yr compounding window
■ Macro Thesis
Four tailwinds converging in the same decade
01
Demographics. Western and East-Asian populations are aging into the peak decade for Parkinson's, Alzheimer's, stroke and chronic pain — the exact indications the implants treat.
02
Adaptive closed-loop systems work. Next-gen DBS senses neural state and titrates stimulation in real time. Clinical results in Parkinson's are strong enough that device players now lead one of the fastest-growing indication segments in medtech.
03
BCIs crossing the revenue line. Invasive, minimally invasive venous, and non-invasive EEG platforms are each moving past first-in-human into commercial trials. The category is small today but growing at 16–18% CAGR.
04
Neuroimaging decentralising. Portable MRI and AI-triaged CT are moving stroke and aneurysm diagnosis out of tertiary centres into EDs and ICUs — a mid-teens CAGR category on its own.
■ Why Payers Reimburse
Implants that keep patients out of institutions pay for themselves
US neurological disease costs run into the hundreds of billions annually when direct medical costs and lost productivity are combined. The cost drivers that move payer math:
- → Readmissions for uncontrolled pain & spasticity
- → Institutional care for dementia & Parkinson's
- → Stroke-related disability & long-term rehab
- → Falls, fractures, aspiration events in the frail
Investor takeaway: high-ticket implants are reimbursable when they keep patients ambulatory, continent and cognitively functional for longer — that's the entire neuromod investment case in one sentence.
■ Subsectors to Track
Eight theses a neurosurgeon-investor should build
ranked by current revenue weight
01
Neuromodulation
WORKHORSE
SCS, DBS, vagus, sacral and peripheral nerve stimulation. Bulk of current device revenue. Parkinson's via adaptive closed-loop DBS is the fastest-growing indication.
DBS · SCS · PNS · VNS · SNS · TMS · FUS
02
Neurotech Devices (aggregate)
$19B → $67B
All device categories combined. ~$19B in 2025, $67B by 2035 at 13.5% CAGR. Strong hospital demand plus expanding ambulatory use for chronic pain and movement disorders.
MONITORING · PROSTHETICS · SENSING WEARABLES
03
Brain-Computer Interfaces
16–18% CAGR
Smallest revenue today, among the fastest-growing. Invasive implants, minimally invasive venous systems, and non-invasive EEG for communication and rehab. Highest optionality slice of the stack.
INVASIVE · VENOUS · NON-INVASIVE EEG
04
Neurodiagnostics & Imaging
MID-TEENS CAGR
EEG/MEG analytics, portable MRI, AI imaging. Moving stroke and cognitive-decline triage out of tertiary centres into EDs, ICUs and point-of-care. Portable MRI alone is a mid-teens CAGR category.
PORTABLE MRI · EEG/MEG · AI TRIAGE
05
Neuroprosthetics
STRATEGIC
High-cost, low-volume today. Limb loss, spinal cord injury, sensory and vision restoration. Shares investors and core tech with BCI — watch for inflection as reimbursement pathways mature.
MOTOR · SENSORY · VISION · SPINAL · CRANIAL
06
Neuromonitoring & Wearables
CONSUMER EDGE
EEG headsets, ICU and peri-operative monitoring, consumer-grade sleep and focus wearables. The bridge from hospital-grade neurotech to everyday clinical and wellness use.
ICU · OR · AMBULATORY · CONSUMER EEG
07
Neurorehabilitation
SOFTWARE-LED
VR, exoskeletons, gamified rehab software. Post-stroke and spinal cord injury recovery. Software economics on top of traditional PT — capital-light, data-rich, outcome-measurable.
VR · EXOSKELETON · GAMIFIED PT
08
Cognitive & Neuropsychiatric Devices
EMERGING
Depression, ADHD, addiction — device-led therapy where pharma has either stalled or created side-effect burden. TMS and peripheral stim already reimbursed; prescription digital therapeutics behind.
DEPRESSION · ADHD · ADDICTION · PTSD
+
Neuromorphic & Neuro-Inspired Hardware
ENABLING LAYER
Brain-inspired compute architectures for on-device AI inference. Not a clinical segment yet — watch as an upstream enabler: the devices above all eventually need low-power, event-driven silicon to run closed-loop models at the patient.
■ ASC Market — The Macro Opportunity
HOPD Cost/Case
$7,716
hospital outpatient avg
ASC Cost/Case
$3,157
>50% lower · same outcomes
Medicare Savings
$4.2B
annual · CA alone >$630M
Patient Satisfaction
>90%
8M+ ASC patients/yr
Site-of-Service Cost Arbitrage
Consumer saving per procedure (UHG)~$684
Cataract coinsurance: HOPD → ASC$496 → $195
Colonoscopy coinsurance: HOPD → ASC$186 → $89
Lower inpatient admission and death rates vs HOPDs after risk adjustment. Subject to state licensure, Medicare certification, voluntary accreditation (JCAHO, AAAHC, AAAASF, AOA).
ASC Market Infrastructure
Total US ASCs11,352
Market size (2022 → 2027)$43.1B → $56.3B (5.5% CAGR)
Physician-only owned60%
Avg ORs per facility~3.1
National chains own a small fraction. Fragmentation + industrial logic for scale = classic roll-up opportunity. Neurosurgery ASC penetration near zero.
Commercial Growth Dynamics
Volume migration. $500B inpatient + $90B outpatient surgical TAM. ~$60B (3.6M cases) clinically suitable for outpatient migration. Neuro penetration near zero.
Case mix upgrade. Ortho/spine/neuro/pain expected to contribute ~160% of migrating volume. Higher reimbursement, high-margin procedures.
Demographics. US population ≥65 growing 15% → 24% by 2060. Rising degenerative spine, cerebrovascular, and neurosurgical indications.
Regulation. CMS expanding ASC Covered Procedures List yearly. Key advisory bodies recommend paying ASCs for any procedures not requiring overnight stay.
Benchmark — Surgery Partners (Pure-Play ASC)
Facilities139 ASCs + 18 hospitals, 32 states
Scale~5,000 physicians · ~650K patients/yr
TTM Revenue (Q3 2023)~$2.7B
Adj. EBITDA / margin~$417M / 15%
EBITDA CAGR (2017→2023)Mid-teens %
Acquisitions>$1B at ~8× pre-synergy
MSK % of net revenue~50%
Quality10/10 benchmarks · 4–5★ CMS
🧠 Neuroscience / Neurotech Headlines
14-day window · sub-sector classified · synced with Overview feed
Loading…
Investment Intelligence · ATLAS / ANSC
ATLAS / ANSC — Deal Analysis
First outpatient neurosurgical and endovascular centre in the US. 18 physician-led team performing high-acuity procedures — same-day awake endovascular neurosurgery, minimally invasive spine, Gamma Knife radiosurgery, movement disorder surgery, and interventional pain — with complication rates comparable to hospital benchmarks at dramatically shorter facility time. Collaborative partnership with UBNS (University at Buffalo Neurosurgery).
Revenue (2025A)
$26.0M
29% CAGR (2023–25) · +2% vs forecast
EBITDA (2025A)
$6.5M
25% margin · 0.92× Debt/EBITDA
Revenue (2027P)
$31.2M
Pro forma · Buffalo single-center
Net Income (2027P)
$11.8M
~38% net margin at maturity
2025 Procedure Volume · 4,454 Total · +20% YoY · $5,838 Rev/Case
1,169
+3%
Spine · 26% mix
2,625
+13%
Pain / Injections · 59% mix
280
+37%
Endovascular · 6% mix
7 → 205 → 280 · same-day awake
380
+631%
Interventional Radiology · 9% mix
3 → 52 → 380 · new line scaling
Spine share 32% → 26% ▼
Endo+IR share 0% → 15% ▲
Rev/case +7% YoY despite mix shift to lower-ASP pain
Dr. Elad I. Levy Chairman · MD MBA FACS FAHA
50 George Karl Blvd Williamsville, NY 14221
■ Clinical Evidence — ATLAS vs Hospital Benchmarks
Only facility offering same-day, awake endovascular neurosurgery procedures. Aneurysm flow diversion data demonstrates safety equivalence with dramatically improved efficiency. CASE framework: Cost reduction, Autonomy, Satisfaction, Education. 4 ORs · ~27,000 sq ft · NYSAASC member · accredited.
Check-in to OR
4.4h
Hospital
→
31m
ATLAS
OR Time
63m
Hospital
→
47m
ATLAS
Total Facility Time
29.7h
Hospital
→
9.2h
ATLAS
■ Physician Roster — 18 UBNS-Affiliated
atlassurgery.com ↗
Dr. Elad I. Levy Chairman
Cerebrovascular · MI Spine · Cranial
Cerebrovascular · MI Spine · Cranial
Dr. Adnan H. Siddiqui
Cerebrovascular · Cranial Surgery
Cerebrovascular · Cranial Surgery
Dr. John Pollina
MI Spine · Scoliosis · Robotic Spine
MI Spine · Scoliosis · Robotic Spine
Dr. Kenneth V. Snyder
Cerebrovascular · Endovascular
Cerebrovascular · Endovascular
Dr. Jason M. Davies
Cerebrovascular · Cranial Surgery
Cerebrovascular · Cranial Surgery
Dr. Jeffrey P. Mullin
MI Spine · Scoliosis · Robotic Spine
MI Spine · Scoliosis · Robotic Spine
Dr. Michael Stoffman
General Neurosurgery · MI Spine
General Neurosurgery · MI Spine
Dr. Jonathan P. Riley
Functional · DBS · Epilepsy · Chiari
Functional · DBS · Epilepsy · Chiari
Dr. Douglas B. Moreland
General Neurosurgery · MI Spine
General Neurosurgery · MI Spine
Dr. Gregory J. Castiglia
MI Spine · Cranial Surgery
MI Spine · Cranial Surgery
Dr. Jafar W. Siddiqui
Interventional Pain Management
Interventional Pain Management
Dr. John G. Fahrbach IV
MI Spine · Cranial Surgery
MI Spine · Cranial Surgery
Dr. Joshua E. Meyers
MI Spine · Scoliosis · Cranial
MI Spine · Scoliosis · Cranial
Dr. Irfan M. Elahi
Interventional Pain Management
Interventional Pain Management
Dr. Rosalind Lai
Cerebrovascular · Endovascular
Cerebrovascular · Endovascular
Dr. Assaf Berger
Neurosurgery
Neurosurgery
Dr. J. Dana Dunleavy
Interventional Radiology (Atlas IR Director)
Interventional Radiology (Atlas IR Director)
Dr. Paul McBride
Neurosurgery
Neurosurgery
■ Services & Specialties
Neurovascular disease. Same-day awake endovascular — aneurysm flow diversion, cerebral angiography, carotid stenting, AVM/AVF, stroke.
MI spine surgery. Herniated disc, stenosis, fusion, spondylolisthesis, compression fractures. Scoliosis & robotic spine surgery.
Functional neurosurgery. DBS for movement disorders/Parkinson’s, baclofen/pain pumps, spinal cord stimulation.
Cranial / Gamma Knife. Brain & pituitary tumours, MVD, trigeminal neuralgia, AVM radiosurgery.
Chiari / epilepsy / hydrocephalus. Laser ablation, spasticity management, shunt procedures.
Interventional pain. RF ablation, botox for migraine, discogram, SI/hip/knee injections, stellate ganglion block.
Interventional radiology. Kyphoplasty, SCS placement, fibroid embolisation, knee ablation/embolisation, vein closure.
■ Technology & Innovation Stack
Advanced imaging. Biplane angio, CT, portable MRI, brain PET, 3D pre-op planning.
Neuro-navigation. Spine and cranial navigation tailored to outpatient.
Robotics. MRI-compatible robots for drug/cell delivery, ablations, functional neurosurgery.
HIFU. Incisionless essential tremor and Parkinsonian tremor. One of few regional sites.
Disruptive platforms. VR/AR, AI diagnostics, neuromodulation, neuro-prosthetics, BCIs.
■ Neurorestoration & Clinical Trials
IRB in 7–14 days. Bundled purchasing cuts device costs ~20%. Neurorehab devices ~$25B by 2028.
NRTX-1001. GABAergic cell therapy for epilepsy — first-in-human.
Nerve stim. Migraine — first NY state pivotal implant, second in US.
GRASP. Gait neuromodulation surpassing pivotal trial averages.
Phantom Neuro. Muscle-based neural interfaces, ~1h outpatient.
Patient registry. Connecting patients to neuro-tech trials.
▲ Bull Case
Near-deck. 5 centers ramped. Data/tech premium.
Yr 7 NI$100M
Exit EV$1.5B (15×)
MOIC / IRR6.0× / ~30%+
● Base Case
Moderate. 3–5 centers, some delays.
Yr 7 NI$70M
Exit EV$840M (12×)
MOIC / IRR3.4× / ~20%
▼ Bear Case
Under-execution. 3 centers max.
Yr 7 NI$30–40M
Exit EV$300–400M (10×)
MOIC / IRR1.2–1.6× / Low
■ Revenue Pro Forma — Buffalo
| Segment | 2023 | 2024 | 2025 | 2026 | 2027 |
|---|---|---|---|---|---|
| Spine | 12.9 | 15.9 | 19.4 | 20.0 | 20.6 |
| Endovascular | — | 0.6 | 1.2 | 2.9 | 3.0 |
| Radiosurgery | — | — | 1.6 | 4.1 | 4.2 |
| Injections/RF/Stim | 2.0 | 3.2 | 3.3 | 3.4 | 3.5 |
| Total ($M) | 14.9 | 19.7 | 25.5 | 30.3 | 31.2 |
| Net Income | 3.3 | 3.7 | 7.6 | 11.7 | 11.8 |
| Net Margin | 22% | 19% | 30% | 39% | 38% |
Source: Atlas Surgery Center pro forma · $M
■ Revenue Lines of Business
01
Spine. $20.6M by 2027. Core economics.
02
Endovascular. Aneurysm FD, angiography. 3× less facility time.
03
Radiosurgery. Gamma Knife. $4.2M by 2027. HIFU on roadmap.
04
Pain & neuromod. RF, stim, DBS. Steady ~$3M/yr.
05
Trials & data. Registry, neuro-techonomics, device partnerships.
■ Additional Return Levers
Distributions
60% of US ASCs are physician-owned. Attractive current yield while waiting for exit.
Neuro-Tech Co-Invest
Equity/warrants in device cos. US neurorehab ~$698.5M, 13% CAGR.
Strategic Premium
MedTech premium for clinical validation. SGRY: >$1B at ~8×.
■ Ownership Structure — 9 Members
All 9 owners fully vested, same shareholder class. Member vote required to sell shares. Entity does not own real estate. No NYS requirements on majority/minority stakes.
| Member | Stake | Role / Notes |
|---|---|---|
| Dr. Douglas B. Moreland | 20% | General Neurosurgery · MI Spine |
| Dr. Michael Stoffman | 15% | General Neurosurgery · MI Spine |
| Dr. John G. Fahrbach IV ⚠ | 15% | MI Spine · Cranial Surgery — stake to be confirmed |
| Dr. Elad I. Levy | 10% | Chairman · Cerebrovascular · MI Spine · Cranial |
| Cournyea | 10% | Non-physician · Does not perform cases |
| Member F | 10% | Physician · Name TBC |
| Member G | 10% | Physician · Name TBC |
| Member H | 5% | Physician · Name TBC |
| Member I | 5% | Physician · Name TBC |
Entry path: Cournyea (10%, non-physician, no revenue generation) and Moreland (20%) are the most accessible sellers. Combined = 30% without requiring physician buy-in on the operating side. A member vote is required for any share transfer.
■ Debt & Entity Structure
Total Operating Debt
$6.0M
Gamma Knife (New)
$4.0M
Just incurred
Legacy Startup Debt
$2.0M
Real Estate
None
Entity does not own RE
Debt / EBITDA: $6.0M / $6.5M = 0.92× — very manageable. The Gamma Knife ($4M) is a revenue-generating asset (radiosurgery line projected at $1.6M in pro forma). Startup debt ($2M) is legacy. No real estate ownership means the facility is leased — lease terms should be diligenced. At $90M SCA valuation, net of $6M debt = $84M equity value.
■ Safety & Compliance
✓ Fully compliant on safety per Don
✓ Documentation to support — no material or reportable issues
✓ NYSAASC member · Accredited facility
■ Malpractice & Liability
✓ No current malpractice liabilities per Don
✓ No NYS requirements about majority/minority stakes
☐ Obtain malpractice insurance policy details + coverage limits
☐ Confirm D&O coverage
■ M&A Model — SCA Health Offer
Optum / UnitedHealth Group · 370+ ASCs · ~9,700 physicians · acquired by UHG for $2.3B (2017)
Offer Amount
$50M
SCA Health investment
Valuation
$90M
enterprise value
Implied Stake
~55.6%
$50M / $90M EV
Acquirer Context
370+
SCA Health ASCs · UHG/Optum
Implied Multiples at $90M EV
$90M / 2024 Revenue ($19.7M)4.6× Revenue
$90M / 2024 Net Income ($3.7M)24.3× NI
$90M / 2025P Net Income ($7.6M)11.8× NI
$90M / 2027P Net Income ($11.8M)7.6× NI
$90M / 2027P Revenue ($31.2M)2.9× Revenue
Typical ASC transaction multiples: 8–12× EBITDA for scaled platforms. Surgery Partners acquired at ~8× pre-synergy. Single-center premium ASCs can trade higher on growth trajectory.
Valuation Sensitivity ($M EV at NI Multiple)
| NI Multiple | 2024 NI | 2025P NI | 2027P NI |
|---|---|---|---|
| 8× | $30 | $61 | $94 |
| 10× | $37 | $76 | $118 |
| 12× | $44 | $91 | $142 |
| 15× | $56 | $114 | $177 |
SCA’s $90M offer sits between 12× on 2025P NI and 8× on 2027P NI — paying for near-term execution with limited credit for platform upside or the data/trials optionality layer.
⚠ What SCA Gets
First neurosurgical ASC platform. Immediate access to 18 UBNS neurosurgeons. Replicable model for neuro expansion across SCA’s 370+ ASC network. Clinical trial infrastructure. Data/neuro-techonomics moat.
■ What ATLAS Gives Up
Majority control to a strategic acquirer before platform value is realised. $90M values Buffalo alone near steady-state — no credit for pipeline (3 US + 1 MENA), data platform, or neurorestoration optionality. Physician autonomy may be constrained under Optum/UHG governance.
■ Counter-Thesis
At 10× on 2027P NI the EV is $118M. At 12× it’s $142M. With platform rollout (3–5 centers) and data/tech premium, a 3–5 year hold targeting $70–100M platform NI could yield $840M–$1.5B exit. SCA’s offer captures single-center economics only.
■ Neuro Surgery Visits & Meetings
Meeting notes from visits to neurosurgery centers. Drop pages of notes here to be summarised under the name of the center and contacts met, with bullet points on their operation.
Drop meeting notes here — each will be summarised by center name and contact(s).
■ Atlas Center — Meeting Notes
Meeting notes specific to Atlas Center / ANSC / UBNS discussions. Drop notes here to be summarised with key decisions, action items, and follow-ups.
Drop Atlas meeting notes here for summary.
Atlas Surgery Center · Financial Model · Apr 2026
Actual vs Forecast — Buffalo Single-Site
FY2025 Revenue
$26.0M
▲ +28% YoY · +2% vs forecast
FY2025 EBITDA
$6.5M
25% margin
FY2025 Procedures
4,454
▲ +20% YoY
Rev / Procedure
$5,838
▲ +7% YoY ($5,467 in 2024)
■ Actual Financial Results (Cash Collections)
| 2023 | 2024 | 2025 | YoY (24→25) | CAGR (23→25) | |
|---|---|---|---|---|---|
| Revenue | $15,532,000 | $20,240,000 | $26,000,000 | +28.5% | +29.4% |
| EBITDA | $3,627,000 | $5,379,000 | $6,500,000 | +20.8% | +33.8% |
| EBITDA Margin | 23.3% | 26.6% | 25.0% | −1.6pp | |
| Implied OpEx | $11,905,000 | $14,861,000 | $19,500,000 | +31.2% |
Source: Atlas Surgery Center Look Back Financials, Apr 2026. Cash collections basis (not accrual). EBITDA margin compressed in 2025 as OpEx grew faster (+31%) than revenue (+29%) — likely driven by ramp in endo/IR staffing + equipment.
■ Procedure Volumes by Service Line
| Service Line | 2023 | % Mix | 2024 | % Mix | 2025 | % Mix | YoY |
|---|---|---|---|---|---|---|---|
| Spine | 917 | 32% | 1,132 | 31% | 1,169 | 26% | +3% |
| Endovascular | 7 | 0% | 205 | 6% | 280 | 6% | +37% |
| Pain / Injections | 1,970 | 68% | 2,313 | 62% | 2,625 | 59% | +13% |
| Interventional Radiology | 3 | 0% | 52 | 1% | 380 | 9% | +631% |
| Total | 2,897 | 100% | 3,702 | 100% | 4,454 | 100% | +20% |
Mix shift: spine declining as % (32%→26%) while endo and IR ramp. IR grew from 3 to 380 procedures (127× in 2 years). Pain remains the volume driver but declining share (68%→59%). Revenue per procedure up 7% YoY suggests mix shift toward higher-value spine/endo.
■ Actual vs Pro Forma Forecast Comparison
| 2023 | 2024 | 2025 | FORECAST ONLY | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Forecast | Actual | Var | Forecast | Actual | Var | Forecast | Actual | Var | 2026F | 2027F | |
| Revenue ($M) | 14.9 | 15.5 | +4% | 19.7 | 20.2 | +3% | 25.5 | 26.0 | +2% | 30.3 | 31.2 |
| EBITDA ($M) | — | 3.6 | — | — | 5.4 | — | — | 6.5 | — | — | — |
| EBITDA Margin | — | 23% | — | 27% | — | 25% | — | — | |||
| Net Income ($M) | 3.3 | — | 3.7 | — | 7.6 | — | 11.7 | 11.8 | |||
| Net Margin | 22% | — | 19% | — | 30% | — | 39% | 38% | |||
Verdict: Revenue has beaten forecast in all 3 years (+4%, +3%, +2%). The tightening variance suggests the pro forma model was conservatively set and actuals are converging toward it. If revenue continues at +2% above forecast, 2026 actual would be ~$30.9M and 2027 ~$31.8M. However, EBITDA margin (25%) is materially below the pro forma net margin assumption (30% for 2025). The gap between actual EBITDA (25%) and forecast net income margin (30%) needs reconciling — either the cost structure is heavier than modelled, or EBITDA and net income are being compared on different bases.
⚠ Key question: Pro forma shows net income of $3.3M in 2023 (22% margin) vs actual EBITDA of $3.6M (23%). These are close — implying D&A + interest is minimal (~$300K). But by 2025, forecast net income jumps to $7.6M (30%) while actual EBITDA is $6.5M (25%). The forecast is above actuals for the first time — this needs attention. Either radiosurgery/Gamma Knife revenue ($1.6M in forecast) hasn’t materialised at forecast margins, or cost ramp from endo/IR build-out is compressing margins.
■ Implied Unit Economics
Revenue / Procedure
$5,360
2023
→
$5,467
2024
→
$5,838
2025
EBITDA / Procedure
$1,252
2023
→
$1,453
2024
→
$1,459
2025
Volume Growth Rate
—
2023
→
+28%
2024
→
+20%
2025
■ Public Market & Transaction Comps
| Comp | Type | EV | Revenue | EBITDA | Margin | EV/EBITDA | EV/Rev |
|---|---|---|---|---|---|---|---|
| Surgery Partners (SGRY) | Public · 200+ ASCs | $7.7B | $3.3B | $526M | 15.9% | 14.6× | 2.3× |
| USPI (Tenet subsidiary) | Subsidiary · 500+ ASCs | — | $1.28B | $492M | 38.6% | 12.5× acq | — |
| AmSurg / Ascension | M&A · 250+ ASCs | $3.9B | — | — | — | est ~10–12× | — |
| SCA Health / Atlas offer | Bid · single center | $90M | $26M | $6.5M | 25.0% | 13.8× | 3.5× |
| Private ASC transaction ranges (Scope Research, 2024–25) | — | 5–10× | — | ||||
Single-specialty ASCs: 5–8× EBITDA. Multi-specialty: 6–10×. Non-controlling interests: 3–6×. Platform premiums (multi-site, PE-backed): 10–15×+. Neurosurgical ASC is first-of-kind — no direct comp exists. Atlas trades at a premium to private comps but below public platform multiples.
■ Interactive Valuation Model
Financial Inputs
Multiple & Adjustments
Enterprise Value
$65.0M
Equity Value
$59.0M
Stake Value
$17.7M
EV/Revenue
2.5×
P/E (on NI)
11.8×
Scenario Comparison
| Bear | Base | Bull | |
|---|---|---|---|
| Metric Year | 2025A | 2026P | 2027P |
| Revenue ($M) | 26.0 | 30.3 | 31.2 |
| EBITDA ($M) | 6.5 | 9.0 | 11.8 |
| EV/EBITDA | 7.0× | 10.0× | 13.0× |
| Enterprise Value | $45.5M | $90.0M | $153.4M |
| Less Debt | (6.0) | (6.0) | (6.0) |
| Equity Value | $39.5M | $84.0M | $147.4M |
| 30% Stake Value | $11.9M | $25.2M | $44.2M |
Bear: Current-year EBITDA at private single-center multiple (7×). No credit for growth or platform optionality. Floor valuation.
Base: Forward EBITDA at median multi-specialty ASC multiple (10×). Matches SCA’s $90M offer. Entry at market.
Bull: Mature EBITDA at platform/neurosurgical premium (13×). Assumes margin expansion to pro forma levels and first-mover neuro ASC premium.
■ Scale Model — Franchise Growth Platform
Atlas as Cornerstone → Multi-Center Platform
EV = EBITDA × Multiple – Debt + Cash. Bolt-on acquisitions and new center builds expand the platform. Input center size, physician count, and specialty mix in the table below.
Centers
–
in pipeline
Platform Revenue
–
LTM combined
Platform EBITDA
–
LTM combined
Est. Dividend p.a.
–
EBITDA × stake %
5Y Est. Dividend p.a.
–
@ 10% EBITDA growth
■ Scenario Analysis — Exit Returns
EV = EBITDA × Exit Multiple · Equity = EV – Net Debt · Your equity = Equity × weighted avg stake% · Dividends grow at weighted avg CAGR across all centers
⚠ Scaling Execution Risk
Scaling execution. Neurosurgical ASCs need biplane angio, CT, portable MRI, robotics, and high-caliber surgeons. Buffalo’s UBNS concentration may be hard to replicate. Each new center requires physician recruitment, CON/regulatory clearance, and capital commitment of $10–15M.
■ Scale Centers — Surgery Centers & Physicians
Loading scale centers…
■ Neurobridge Healthcare — Platform Management Entity
Each center structured as an SPV. Neurobridge charges management fees (% of investment size p.a.), performance fees on realised gains after return of capital, and receives equity participation (set per-center in NB Eq % column above).
■ Due Diligence — Atlas Center
Summary of required due diligence items for the Atlas Center investment.
☑
Actual vs Pro Forma — 2023–25 actuals obtained (Apr 2026). Revenue beat forecast all 3 years. See Financial Model pane.
☑
Shareholder register — 9 owners, all vested, same class. Moreland 20%, Stoffman 15%, Fahrbach 15% (TBC), Levy 10%, Cournyea 10%, 2×10%, 2×5%. Member vote required.
☑
Capital structure — $6M operating debt ($4M Gamma Knife · just incurred + $2M startup debt). Entity does not own real estate. Debt/EBITDA = 0.92×.
☑
Safety data — Fully compliant. Documentation to support. No material or reportable issues per Don.
☑
Insurance & liability — No current malpractice liabilities. No NYS majority/minority stake requirements. Policy details still to be obtained.
☑
CON / regulatory — No NYS requirements about majority/minority stakes per Don.
☐
Physician alignment — Ownership now known. Still needed: non-competes, volume concentration by physician, succession planning.
☐
Reimbursement — ASC codes, denial rates, code removal timeline, bundled contracts.
☐
Management depth — Non-clinical team. Multi-site ops capability. Governance.
☐
Contracts & leases — Facility lease terms (entity does not own RE), equipment contracts, payer contracts. Gamma Knife financing terms.
■ Neuro & ASC Investor Universe
Total Investors
–
PE / VC
–
Strategic / Corporate
–
With Deals Linked
–
■ Investor Directory
Loading neuro investors…
Investment Intelligence · NeXtGen Biologics
NeXtGen Biologics — Axolotl Regenerative Platform
First-in-class developer of axolotl-derived ECM medical devices. FDA-cleared NeoMatriX® wound matrix commercialised in wound care; pursuing 510(k) expansion into peripheral nerve ($1.5B TAM) and bone ($3.9B TAM). Alachua, FL-based. Founded 2014. Total capital raised: $17.2M. FY2025 revenue: $2.3M (declining H2 after loss of two major accounts).
FY2025 Revenue
$2.3M
▼ H2 decline post AWC/HCA
Cash (31 Dec 2025)
$462K
+ $389K AR = $851K liquid
TAM (3 Markets)
$15.4B
Wound + Nerve + Bone
Valuation (Ask)
$60M
$3.69/share · B Series open
IP Portfolio
12
3 US + 1 pending + 8 foreign
Jonelle Toothman CEO & Co-Founder
Jamie Grooms Chairman & Co-Founder
Alachua, FL 13800 Tech City Cir #200
Founded 2014
■ Product — NeoMatriX®
FDA-cleared (510(k)) collagen wound matrix derived from the extracellular matrix of the axolotl (Ambystoma mexicanum). Decellularised, gamma-irradiated sheet form. Designed for partial and full-thickness wound management. Only commercially available axolotl-derived product globally.
Composition: 91.1% collagen (types I, III, VI, XII) + ECM proteins (periostin, biglycan, mimecan, vimentin, actins, fibrillins). 27 unique proteins identified via HPLC-Orbitrap MS.
Manufacturing: Current output ~17 cm²/week, scaling to 100 cm²/week. Decellularisation takes ~6 weeks. Shelf life up to 1 year post-radiation. New facility deposit paid ($63.5K — GREEN building).
FDA Status: 510(k) cleared (animal data, not human). First FDA inspection completed with zero 483 observations. Patent challenges successfully defended — patents intact and enforceable.
Antimicrobial: Benchtop ZOI testing shows activity against Staph aureus (8.6mm ZOI) and MRSA (8.4mm ZOI) maintained through 168 hours (7 days). Preliminary — needs GxP replication.
■ Reimbursement & Access
15 states authorised for reimbursement across 2 MACs
Medicare Traditional + Advantage
Tricare Uniformed service members, families, retirees
BCBS FEP Federal Employee Program
DC Medicaid
VA/Military via SDVOSB (Lovell) vendor channel
Coverage: ~81.8M lives across these programmes
⚠ Dec 2025: Medicare changed reimbursement for all products like NeoMatriX. Impact not yet quantified but flagged by management as a significant industry-wide headwind.
■ Market Opportunity — One Technology, Three Markets ($15.4B TAM)
Wound care was the strategic entry point — most accessible regulatory pathway providing visual proof-of-concept. FDA clearance, safety data, and clinical evidence now de-risk expansion. Two publicly traded companies actively engaged with the technology (per shareholder letter).
Market 1 · Wound Care
$10B
✓ Complete · FDA cleared
2 reps in Florida · 9 conference abstracts
Market 2 · Peripheral Nerve
$1.5B
$500K dev cost · 9–12 months
Pilot rat study complete · 510(k) next
Market 3 · Bone
$3.9B
$1.8M dev cost · 18–24 months
Preliminary studies planned
■ Peripheral Nerve Pilot Study — NeoMatriX vs Literature Benchmarks
21-day rat sciatic nerve pilot (n=6, 3 treatment groups). Crush + gap/transection injuries with/without suture. Non-GLP preliminary assessment. Proof-of-concept established for peripheral nerve cover indication.
Gait Normalisation
Day 21–28
Literature
→
Day 21
NeoMatriX
Clinical Recovery
Day 7–10
Lag Phase
→
Day 3
NeoMatriX
Resorption
4–6 mo
Std Scaffold
→
21 days
NeoMatriX
Success Threshold
Day 25
ROC Cutoff
→
Day 21
4 days early
Ref: Kitano et al. J Neurosci Methods 2025;423:110556. Disclaimer: Non-GLP preliminary data — no claims should be made from this R&D data.
■ Financial Analysis — FY2025 Actuals (Unaudited)
Revenue
$2.30M
Total Expenses
$3.81M
Net Income
($1.86M)
Cash (YE)
$462K
Total Equity
($74K)
Retained Earnings
($20.2M)
Revenue by Channel (Monthly 2025)
| Channel | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec | Total |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| HCA | 85K | 142K | 152K | 196K | 139K | 147K | 116K | 17K | 0 | 0 | 0 | 0 | $993K |
| AWC | 331K | 62K | 91K | 1K | 14K | 0 | 0 | 0 | 0 | 0 | 0 | 0 | $500K |
| Direct | 4K | 98K | 76K | 51K | 19K | 22K | 76K | 64K | 68K | 209K | 59K | 43K | $789K |
| Total | 420K | 303K | 325K | 250K | 182K | 169K | 192K | 81K | 69K | 210K | 59K | 43K | $2.30M |
Key observation: Revenue collapsed from $420K (Jan) to $43K (Dec) — a 90% decline. HCA revenue stopped entirely after August; AWC stopped after May. Direct sales (the only remaining channel) spiked in October ($209K) but dropped back to $43–59K in Nov–Dec. The H2 run rate of ~$50–70K/month (ex-Oct) annualises to ~$600–840K — well below the $5M 2026 target from management conversations.
■ Balance Sheet (31 Dec 2025)
| ASSETS | |
| Cash | $461,681 |
| Accounts Receivable | $389,438 |
| Other Current Assets | $54,215 |
| Fixed Assets | $226,857 |
| Other Assets (leases, deposits) | $707,962 |
| Total Assets | $1,840,153 |
| LIABILITIES & EQUITY | |
| Accounts Payable | $1,045,672 |
| Credit Cards | $96,788 |
| Operating Lease Liabilities | $520,822 |
| Crowdfunding + Royalties + Other | $250,719 |
| Total Liabilities | $1,914,001 |
| Paid-In Capital + Common | $21,562K |
| Retained Earnings | ($20,163K) |
| Total Equity | ($73,848) |
⚠ Negative equity. AP ($1.05M) exceeds cash ($462K) by 2.3×. Liquidity constrained.
■ Cap Table (31 Dec 2025)
| Class | Shares (FD) | % | Cash In |
|---|---|---|---|
| Common Stock | 13,948,032 | 85.06% | $9.35M |
| CN Notes (convertible) | — | — | $7.88M |
| Options/RSUs | 1,765,773 | 10.77% | — |
| EIP Available | 684,227 | 4.17% | — |
| Total (FD) | 16,398,032 | 100% | $17.22M |
Current raise: $3.2M at $60M valuation ($3.69/share) with MFN clause. B Series Round for $25M is open. Prior rounds: Seed $3M → Series A (CN $14M, 20% discount) → B1 → B2 (current). $412K raised in Q4 2025 via common stock.
■ Largest Shareholders
Cap table detail pending due diligence. Key data needed: founder equity split (Toothman / Grooms), board member holdings, convertible note holders ($7.88M outstanding), EIP option grants by recipient, and any institutional or strategic investors from prior rounds. Total fully diluted shares: 16,398,032.
Placeholder — Detailed shareholder breakdown to be populated from DD data room. Request: (1) Shareholder register by name & share count, (2) Option/RSU grant schedule with vesting, (3) CN holder list with conversion price & triggers, (4) Any side letters, drag-along, tag-along, or anti-dilution provisions.
■ FY2025 Cost Breakdown & Burn Rate
Corporate
$1.49M
39% of spend
Sales + Mktg
$727K
19% of spend
Raw Materials
$582K
15% · over budget
R&D + Reg + Mfg
$761K
20% of spend
Monthly burn: Peaked Q2 ($372K/mo avg) then reduced to $235K/mo in Q4 through strategic cost cuts. Cash started 2025 at $709K, ended at $462K — net burn of $248K for the year, partly offset by $1.08M raised. Without further fundraising, runway at Dec exit rate is ~2 months.
■ Revenue Projections (w/ $25M Investment) — Management Case
| Product | Year 1 | Year 2 | Year 3 | Year 4 | Year 5 |
|---|---|---|---|---|---|
| NeoMatriX Wound Cover | $1.6M | $3.2M | $21.2M | $29.1M | $35.4M |
| NeoMatriX Nerve Cover | — | $3.3M | $17.6M | $27.0M | $55.0M |
| Tendon Cover | — | — | $2.9M | $6.0M | $12.2M |
| Bone + Particulate | — | $30K | $1.1M | $10.6M | $20.3M |
| Total | $1.6M | $6.5M | $42.9M | $72.6M | $122.9M |
⚠ Reality check: Year 1 projection ($1.6M) is actually below FY2025 actual ($2.3M) — management implicitly acknowledges continued revenue decline. Year 3 jump from $6.5M to $42.9M (6.6×) requires nerve + tendon to both achieve FDA clearance and commercial launch simultaneously. Year 5 ($122.9M) represents 53× from Year 1. These projections require every product line to achieve regulatory approval on schedule and hit aggressive commercial ramp assumptions.
■ Pricing & Unit Economics
Doctor’s office: $1,400/cm² → moving to $1,900/cm². Typical discount ~40%. Physician margin: ~$500/cm².
Cost: ~$30/cm². Gross margin >95% at list price.
Hospital: Priced by device not cm². Atlas (Elad): 4.5 cm² at $3,700. HCA: 1×3cm at $1,050. Mimetics device cost: $670.
Graft market: Human-derived products $2,600–$25,000. Regulated but not FDA-approved. NeoMatriX competes as FDA-cleared alternative.
Payment terms: Hospital 30–45d, private office 60d, 2 accounts at 90d.
■ Board & Team
Jonelle Toothman CEO
15+ yrs med device commercialisation
15+ yrs med device commercialisation
Jamie Grooms Chairman
30+ yrs · RTI Surgical · AxoGen · 2 IPOs
30+ yrs · RTI Surgical · AxoGen · 2 IPOs
Dr. Elad Levy
Prof Neurosurgery, UB · Atlas link
Prof Neurosurgery, UB · Atlas link
Daniel Hamister
CEO Hamister Group · Hospitality/HC
CEO Hamister Group · Hospitality/HC
Brian Lipke
Ret. Chairman Gibraltar Industries
Ret. Chairman Gibraltar Industries
Dr. Gerald Kluft
Ret. oral surgeon · UF Distinguished
Ret. oral surgeon · UF Distinguished
Rick Wassel
Exec Dir Strategy, Adventist Health FL
Exec Dir Strategy, Adventist Health FL
Ashby Green CFO
Dylan Turpeinen PhD · Sr Scientist R&D
Dylan Turpeinen PhD · Sr Scientist R&D
■ Current Revenue Pipeline (2026, Ex-AWC)
14 active trials — all Florida — est. 30% conversion rate (conservative). Typical trial cycle: 3 months, revenue starts month 4–6. Expect 2 new revenue clients in 30 days, then ~2/month for 3 months. Average client ~$25K/month.
Tallahassee (Key Account)
Larger than AWC. Own practice + 2 hospitals. Target $200K/mo fully ramped ($1.5–2.5M p.a.). Trial going well — 1st case 3 weeks ago, revenue in ~3 months.
HCA + Other Accounts
~$190K/month current. April expect ~$230K, May ~$330K. BUT: HCA revenue went to $0 in Sept 2025 per financials — unclear if relationship restored.
AWC Risk
Going bankrupt — was ~$2.5M (but only $500K in 2025 per actuals). $500K owed. Quantum insurance adding 2.5% to claims.
■ Intellectual Property — Broad, Defensible Moat
NeXtGen owns rights to all medical devices, coatings, cosmetics, biologics, and pharmaceuticals derived from Urodele ECM. Coverage: 3 US patents + 1 pending + 8 foreign. Third US patent (tissue culture system) issued 2025. All patents successfully challenged and defended — intact and enforceable.
Surgical
Gel, particulate, sheet
Cosmetics
Nutraceuticals · OTC
Pharma
Pharmaceutical applications
Cell Culture
Research · Tissue culture
■ Use of Proceeds & Scaling Phases
Tranche 1: $5M — Foundation
13-week animal study (nerve) · 510(k) submission · Bacteriostatic testing · Facility expansion · Continue FL wound care ops · Achieve nerve FDA clearance
Tranche 2: $10M — Launch
Marketing & PR · Commercial launch at conferences · Prospective wound care study · Retrospective nerve study · Bone preliminary studies · Advisory board buildout
Tranche 3: $10M — Scale
Prospective nerve clinical study · Bone indication testing · 510(k) for bone · Commercial expansion across all markets
Phase 1 — Scale: Florida. Max resources on 14 trials. Mobile wound care model.
Phase 2 — National: TX, AL, LA, PA, MD. Need RCT data for new state MACs.
Phase 3 — International: Post-clinical data. Regulatory pathway TBD.
■ Platform Adjacencies (Longer-Term)
Neuro + Dura: Dural implant (DRG). Direct Atlas network synergy. Head/neck/throat (thyroid) $3,700.
Plastic Surgery: Under-breast (2×3), Gainesville beta. Cosmetic claim explored. Need bigger graft size.
Dermatology: Private office / per cm². Suture $5,700. Head, nose, ear, cheek.
Injectable: Sports & age injuries. Broken bones (Medtronic Infuse competitor — powder/putty).
Ophthalmology: Amnion, ocular, eye drops. Dental: gums, extraction, bone.
Consumer/OTC: Band-aids (JNJ partner), glue stick (emulsion), nutraceutical/collagen, polymer coatings.
■ Competitive Landscape
Current landscape relies on bovine, porcine, fish, and human-derived matrices. NeoMatriX is the only axolotl-derived product on market — first-in-class with regenerative (not just scaffold) properties. 9 conference abstracts accepted; published neurosurgical paper pending.
Integra
ACell
Kerecis (fish skin)
Amnion products
Mimetics
Plexiderm
Palix Medical
Core Matrix / Nedira
Kerecis (fish skin) backed by Lego family. Zimmer Biomet (CopiOs) and Stryker (Vitoss) lead bone void market. NeoMatriX differentiator: non-human, non-mammalian source with regenerative (not scaffold) mechanism.
⚠ Flags & Cross-Document Inconsistencies
| Flag | Detail |
|---|---|
| Revenue collapse | Revenue fell 90% from Jan ($420K) to Dec ($43K). Both HCA and AWC went to $0. Meeting notes say “$5M confident this year” but H2 run rate ex-Oct is $600–840K annualised. |
| Valuation inconsistency | Meeting notes: $49–55M post for $5M. Shareholder report: $60M at $3.69/share for $3.2M. Investor deck: $25M Series B (valuation unstated). Meeting notes also mention $100M for B2. Four different figures across three documents. |
| Cash position mismatch | Meeting notes claim “$1M cash + $800K AR.” Shareholder report (31 Dec 2025) shows $462K cash + $389K AR = $851K total. The $1M cash claim requires ~$540K raised in Q1 2026. |
| HCA not explained | Meeting notes focus on AWC going bankrupt but don’t mention HCA. HCA was $993K in 2025 (43% of revenue) and went to $0 after August. This is a larger revenue loss than AWC ($500K). |
| Negative equity | Total equity is ($73,848). Retained earnings: ($20.2M). AP ($1.05M) exceeds cash by 2.3×. Company has burned through $20M+ of investor capital with only $2.3M peak annual revenue. |
| AWC overstated | Meeting notes say AWC was “$2.5M revenue.” Actual 2025 AWC revenue was only $500K (and declining — $331K Jan, $14K May, then $0). The $2.5M may be historical or aspirational. |
| Projection extremity | 5-year projection: $1.6M → $122.9M (77×). Requires 4 simultaneous FDA clearances, commercial launches, and aggressive market penetration. Historical execution: $2.3M revenue after 11 years since founding. |
| Round fatigue | B Series round has been open for extended period during biotech down-round environment. Shareholder letter now asks for just $3.2M (down from $25M). JT acknowledged communication issues. Convertible notes total $7.88M — conversion overhang unclear. |
| Medicare headwind | Dec 2025 Medicare reimbursement change acknowledged but unquantified. Could materially impact the wound care revenue base — needs diligence. |
| Capital raised discrepancy | Website says “over $13 million in startup capital.” Cap table shows $17.22M raised ($9.35M common + $7.88M convertibles). Likely website is outdated. |
■ Due Diligence Checklist
1. Corporate & Legal
☐ Certificate of Incorporation + all amendments
☐ Bylaws (current version)
☐ Board meeting minutes (last 3 years)
☐ Shareholder agreements / voting agreements
☐ Side letters, ROFR, drag-along, tag-along provisions
☐ Anti-dilution provisions on existing shares/notes
☐ MFN clause details (current round — referenced in shareholder letter)
☐ Outstanding litigation or threatened claims
☐ State of incorporation, qualifications to do business
☐ Good standing certificates
2. Financial
☐ Audited or reviewed financial statements (all years available)
☐ Monthly P&L and cash flow (2024–2026 YTD)
☐ Accounts payable ageing schedule ($1.05M — who is owed?)
☐ Accounts receivable ageing + collectibility (AWC $500K write-off?)
☐ Cash flow forecast / runway model (current burn vs cash)
☐ Tax returns (last 3 years) + any outstanding liabilities
☐ Bank statements (last 6 months)
☐ Credit card balances detail ($97K across 2 Amex cards)
☐ Crowdfunding liability detail ($218K — terms, obligations)
☐ Royalties payable detail ($19K — to whom, on what terms?)
☐ Revenue recognition policy documentation
☐ CapChase (QT9) facility — terms, outstanding, security
3. Cap Table & Securities
☐ Full shareholder register (name, class, shares, % ownership)
☐ Convertible note agreements ($7.88M — conversion price, triggers, maturity)
☐ Fully diluted cap table with CN conversion scenarios
☐ EIP option/RSU schedule (1.77M outstanding — recipient, strike, vesting)
☐ Prior round term sheets (Seed $3M, Series A CN $14M, B1)
☐ Donated Capital detail ($4.38M — what was donated? Treasury stock offset?)
☐ 409A valuation (most recent)
☐ Pre- and post-money waterfall at proposed valuation
4. Customers & Revenue
☐ HCA relationship — why revenue went to $0 in Sept 2025? Restorable?
☐ AWC bankruptcy status, $500K recovery prospects, legal exposure
☐ Customer concentration — top 10 accounts by revenue
☐ Active customer count + trial pipeline conversion data
☐ Credit checking / underwriting process for new accounts
☐ Sales rep contracts + commission structure ($144K in 2025)
☐ Tallahassee trial progress — timeline to revenue, contract terms
☐ “Two publicly traded cos actively engaged” — identity, stage, terms
☐ Bad debt experience + write-off policy ($27K in 2025)
☐ Customer churn / retention data since product launch
5. Regulatory & FDA
☐ 510(k) clearance letter + predicate device details
☐ FDA inspection report (zero 483s — obtain full report)
☐ Peripheral nerve 510(k) submission timeline + predicate strategy
☐ GLP study protocol for nerve (13-week) — CRO selected?
☐ Dec 2025 Medicare reimbursement change — quantified impact
☐ MAC coverage detail — which 2 MACs? Which 15 states?
☐ SDVOSB vendor (Lovell) agreement terms
☐ Randomised trial design (60-pt vs 120-pt) — protocol, sites, timeline
☐ QSR (Quality System Regulation) compliance documentation
☐ Device classification + any post-market surveillance requirements
6. Intellectual Property
☐ Patent portfolio detail (3 US + 1 pending + 8 foreign — numbers, claims, expiry)
☐ Patent challenge detail — who challenged, outcome?
☐ Freedom-to-operate analysis / opinion
☐ Trademark registrations (NeoMatriX®, NeXtGen™)
☐ Trade secret / know-how documentation (decellularisation process)
☐ IP assignment agreements from founders / employees / consultants
7. Manufacturing & Supply Chain
☐ Axolotl sourcing — colony size, supplier agreements, CITES compliance
☐ Manufacturing capacity: 17 cm²/wk → 100 cm² plan + capex needed
☐ GREEN facility — $63.5K deposit, lease terms, timeline, buildout cost
☐ Gamma irradiation sterilisation — in-house or outsourced?
☐ COGS — $0 reported as Mfg COGS; $582K raw materials — classification?
☐ Single-source supplier risks + shelf life validation (1 yr claimed)
8. Clinical & Scientific
☐ Full clinical data package (9 abstracts + published papers)
☐ Neurosurgical publication — journal, timeline, peer review status
☐ Pilot nerve study full data (n=6, non-GLP)
☐ Antimicrobial ZOI data — GxP replication plan
☐ Adverse event / complaint database since launch
☐ Animal study safety data (original 510(k) submission)
9. Team & Employment
☐ Org chart with headcount by department
☐ Key person risk — depth below CEO / Chairman
☐ Employment agreements (C-suite + key scientists)
☐ Non-compete / non-solicit / IP assignment clauses
☐ Sales team structure (2 FL reps — employees or contractors?)
☐ Professional fees detail ($822K corporate in 2025 — to whom?)
10. Commercial & Market
☐ Pricing strategy documentation + discount schedules
☐ Reimbursement code(s) used + code-specific risks
☐ Competitor analysis — Integra, Kerecis, ACell pricing & share
☐ Out-licensing terms explored (pharma/device interest?)
☐ Sales cycle length (trial → first order → repeat)
☐ International regulatory pathway (Phase 3 plan)
11. Insurance & Risk
☐ Product liability insurance (coverage, claims history)
☐ D&O insurance
☐ General liability + property insurance ($75K in 2025)
☐ Key person insurance on CEO / Chairman
☐ Environmental / animal welfare compliance (axolotl colony)
☐ Operating lease terms (current + GREEN — $521K liability)
Company Watchlist
Loading…
Investment Intelligence · Confidential
Deal Flow Pipeline
| COMPANY ↕ | COUNTRY ↕ | STAGE ↕ | SECTOR ↕ | PRIORITY ↕ | STATUS ↕ | RAISE ↕ | PRE-$ ↕ | MOIC ↕ | ROI ↕ | SCORE ↕ | · |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Loading pipeline… | |||||||||||
Deal Flow →
Business overview
Deal terms
Valuation Model
Management
Market & Valuation
Linked Investors
No investors linked
Core risks
Intellectual property
Use of proceeds
Investment thesis
Legal notes
Add Deal
① Identity
Company Name *
Country
Deal Currency
Website
② Business Overview — maps directly to the one-pager overview section
Tagline — one sentence, shown in header band & pipeline table
Business Overview — substantive description shown in the overview panel
Products / services — shown as tags
Market opportunity — shown below products in overview panel
TAM Total Addressable Market
SAM Serviceable Addressable
SOM Serviceable Obtainable
③ Classification
Stage
Stage detail
Status
Priority
Timing / Close
Sector
Sub-sector
Structure
④ Deal Terms
Raise Amount
Pre-Money Valuation
Partners & Clients
IP
⑤ Financials — enter numbers in deal currency
| LTM | 2026 | 2027 | 2028 | 2029 | |
|---|---|---|---|---|---|
| Revenue | |||||
| EBITDA | |||||
| Cash | |||||
| Gross Margin % | |||||
| EBITDA Margin % | – | – | – | – | – |
Debt Outstanding
Current Cash
Asset Value — PP&E, plant
Asset Floor — min exit EV
Calculated — current snapshot
Financial notes — analyst commentary, assumptions, caveats (appears on one-pager)
Dilution scenarios — based on raise & pre-money
⑥ Return Scenarios — enter exit multiple × and hold period years
Bull Case
Exit Multiple (×)
Hold Period (years)
Exit EBITDA year
Probability (%)
Narrative
Base Case
Exit Multiple (×)
Hold Period (years)
Exit EBITDA year
Probability (%)
Narrative
Bear Case
Exit Multiple (×)
Hold Period (years)
Exit EBITDA year
Probability (%)
Narrative
Probability-Weighted Expected Value
⑦ Management & Backing
Pedigree / team summary
Management profile
Major investors
Existing investors (cap table)
⑧ Market & Valuation
Competitor analysis
Comparable transactions
Valuation analysis
⑨ Core Risks
Market risk
Execution risk
Financial risk
Product risk
Supply risk
IP risk
Legal / litigation
⑩ Narrative
Use of Proceeds
Investment Thesis
Legal notes
⑪ Underwriting — score each axis 1-10 (0 = auto-estimate from data)
Market Quality TAM, growth, dynamics
Founder Quality Pedigree, track record
Technical Diff. IP, moat, defensibility
Timing Market readiness, catalysts
Capital Intensity Burn, runway, efficiency
Regulatory Path Clarity, timeline, risk
Exit Plausibility Acquirers, comps, path
Downside Protect. Asset floor, structure
Strategic Fit Portfolio, thesis alignment
⬆ Import Deck
📄
Drop your deck here or click to browse
PDF · PPTX · DOCX — max 20MB
Link Investor to Deal
Select existing or create new
Investor Name *
Type
Sector Focus
Stage Preference
Cheque Min
Cheque Max
Geography
Website
Notes
Portfolio Companies (in sector)
Linked Deals
No deals linked
Investment in this deal
Role
Amount
Stage at investment
Date
💼 Investor Intelligence
Loading investor data…
All Investors
Type:
Tags:
Loading…
Investor →
Profile
Tags
Loading tags…
Linked Deals
No deals linked
Link to Deal or Neuro Company
Pick a pipeline deal or a neuro company to link this investor to. Both are searchable in the same list.
Role
Amount
Stage
Date
🔍 Research Sector Investors
AI will research the top 25 investors actively deploying capital in the selected sector and add them to your investor database.
Sector
Custom sector (optional — overrides dropdown)
Add Company
Name *
Sub-sector
Stage
Raised (USD M)
Founded
HQ Country
HQ City
Public Ticker
Website
Status
Description
Notes
■ Linked Investors
Autocomplete searches your master investor list. No match → creates a new investor with this name.
📊 Comparable Transactions
Loading comps…
Add Comparable
Company *
Transaction type
Acquirer / Lead
Date
Amount
Pre-money
EV/Revenue
EV/EBITDA
Revenue at deal
Stage at deal
Sector
Geography
Link to deal
Source
Notes
🍄 Mycofeast
No news cached — click ↻ Refresh News
Developer
Build reference · v257 · v257
System Architecture
📱 Telegram
@agent00X_bot
@agent00X_bot
⟷
⬡ AGENT00
Orchestrator
Orchestrator
⟷
🌐 Web Dashboard
Flask :8080
Flask :8080
Sub-Agents
🕐 AGENT01
H100 Advisory
H100 Advisory
📊 AGENT02
Trading Intelligence
Trading Intelligence
₿ AGENT03
Bitcoin Intelligence
Bitcoin Intelligence
🔬 AGENT04
Inv. Intelligence
Inv. Intelligence
📡 AGENT05
Market Data
Market Data
💰 AGENT06
Personal Finance
Personal Finance
🧠 Memory
Soul + KB
Soul + KB
🗄 SQLite
agent00.db
agent00.db
Files: AGENT00.py · AGENT01_time/flow/state.py · AGENT02_trading.py · AGENT03_btc/pdf.py · AGENT04_lifesci.py · AGENT00_web/db/memory/system.py
External APIs
📈 yfinance
OHLCV · 15m delay
OHLCV · 15m delay
🤖 OpenRouter
LLM · gpt-4.1-mini
LLM · gpt-4.1-mini
🌤 Open-Meteo
Weather · London
Weather · London
🔍 Brave Search
News · LS digest
News · LS digest
📰 NewsAPI
Headlines
Headlines
Stack
- Runtime: Python 3.9 · Mac Mini (honeybees-Mini) · always-on
- Web: Flask · port 8080 · single-file · vanilla JS · dark theme
- Database: SQLite —
agent00.db - DB tables: setup_alerts · trade_results · eod_summaries · memory · todos · agenda · h100_hours · h100_expenses · event_log · ls_watchlist · ls_deals · ls_news_cache · ls_digests · contacts · contact_tags · pfin_assets · pfin_expenses · pfin_expense_tags · pfin_wealth_history · pfin_company_accounts · investors · deal_investors · investor_tags · trade_overrides · strategy_changelog · decision_journal · comps · deal_reviews · options_positions · treasury_config
- LLM: OpenRouter —
openai/gpt-4.1-minidefault ·anthropic/claude-sonnet-4-5for deck import · configurable viaOPENROUTER_MODELin .env - Process mgmt: launchd —
com.agent00.plist - Data: yfinance (15-min delayed) · Open-Meteo weather
Files
AGENT00.py— orchestrator, Telegram, command routerAGENT01_time.py— AGENT01 Time Management · hours & expensesAGENT01_flow.py— AGENT01 guided Telegram entry flowsAGENT01_state.py— AGENT01 conversation state persistenceAGENT02_trading.py— AGENT02 Trading IntelligenceAGENT03_btc.py— AGENT03 Bitcoin IntelligenceAGENT03_pdf.py— AGENT03 institutional PDF reportsAGENT04_lifesci.py— AGENT04 Investment Intelligence (Life Sciences · Deal Pipeline · Oxford)AGENT00_memory.py— soul prompt + memory bankAGENT00_db.py— SQLite read/write layerAGENT00_system.py— health, backups, cost trackingAGENT00_web.py— this dashboardrestart.sh— clean restart script.env— API keys (never committed)
AGENT00 v3 — System Architecture
v3 restructures the platform from separate tools into one integrated intelligence OS. Seven layers, three cross-domain connectors, two-phase data strategy.
Seven System Layers
- L7 Decision Layer — unified opportunity engine · ranked actions · capital allocation
- L6 Reporting — daily/weekly reviews · strategy health · investment memos · Telegram digests
- L5 Analytics — expectancy engine · regime detection · confluence scoring · deal scoring
- L4 Alerting — signal generation · deal signals · entity alerts · milestone triggers
- L3 UI — cockpit dashboard · domain views · charts · action cards
- L2 Memory — decision journal · interaction log · rationale capture · audit trail
- L1 Data — SQLite · trade schema · deal schema · investor schema · controlled vocabs
Three Cross-Domain Connectors
- Entity Graph — company/investor/contact canonical IDs · headline entity matching · auto-surfaces relevant intel on deal pages
- Unified Opportunity Ledger — every actionable item (trade, deal, meeting, milestone) feeds one ranked queue
- Decision Journal — every decision logged with rationale, confidence, outcome · learning loop
28-Day Data Protocol
Schema Freeze Rules
- FROZEN: strategy names (ICT/AMD50/LIQVOL/MEANREV/ORB_5M/ORB_15M) · asset codes (GC/ES/BTC/CL) · direction (LONG/SHORT) · result_status · tier values · kill zone names
- ALLOWED: additive new columns with defaults · new controlled vocab values · new tags
- FORBIDDEN: renaming enum values · changing field meaning · deleting tables · changing signal logic without version bump
Minimum Viable Dataset (28-Day Target)
| MES | 30 target · 15 min |
| MGC | 25 target · 12 min |
| BTC | 20 target · 10 min |
| MCL | 15 target · 8 min |
| Total | 90 target · 45 min |
Phase 1 vs Phase 2 Gating
Phase 1 — Pre-28-Day (Active Now)
- ✅ Clean data capture — all 17 setup_alerts fields populated on every signal
- ✅ Regime auto-detection — ATR → volatility, ADX → trend, calendar → macro
- ✅ Drawdown controls — $700 daily cap enforced at signal creation + suppress-check
- ✅ R-multiple auto-computed on every close via
_enrich_trade_result() - ✅ R-multiple backfill — all existing closed trades retroactively computed (pnl/350) at startup
- ✅ Day of week backfilled on all existing trades
- ✅ Controlled vocabularies enforced
- ✅ Decision journal — 4 API endpoints + Developer pill UI (domain filter, log/edit/delete, outcome tracking, retrospective)
- ✅ Probability-weighted EV — bull/base/bear probability inputs on deals, weighted MOIC/IRR/equity on one-pager + modal
- ✅ Deal scoring model — 0-100 composite from 8 weighted components, auto-computed on save, displayed on pipeline + one-pager
- ✅ Confidence/confluence UI capture — 12-option checkboxes on signal cards + PATCH endpoint (v235)
- ✅ Decision journal auto-logging — 7 hooks: signal create/close/suppress, auto-close TP/SL, EOD, deal status change (v235)
- ✅ AGENT02
_log_alert()— 1.5× RR gate + risk caps + v3 field capture at source (v234)
Phase 2 — Post-28-Day (Activates at n≥20 per bucket)
- ✅ Expectancy engine — per strategy × asset × session (v236)
- ✅ Edge gating — suppress negative-expectancy strategies (v236)
- ✅ Dynamic sizing — 0.5×/1×/1.5×/2× based on expectancy tier (v236)
- ✅ Strategy health dashboard — win rate, expectancy, profit factor, trend (v236)
- ✅ Kill zone heatmap — session × asset performance grid (v236)
- ✅ Equity curve + R-multiple distribution charts (v236)
- ✅ Full Risk Analytics panel (v246.23) — distribution moments, VaR/ES (parametric + historical), payoff asymmetry, ACF + Ljung-Box, regime breakdown, path dependency, rolling Sharpe 20/60/120, equity curve with $/% toggle from $100k start
- ✅ Regime-specific expectancy breakdown (v237)
- ✅ Regime-aware edge gating — blocks signals in negative VOL×TREND combos (v237)
- ✅ MFE/MAE live tracking + analytics — entry/exit quality, capture ratio (v237)
- ✅ Edge decay detection — rolling 20-trade expectancy (v236)
- ✅ Confluence score vs win rate analysis (v236)
- ✅ Confluence backfill — NLP extraction from rationale + editor on closed trades (v237)
- ✅ Post-trade diagnosis — 4-grade panel (thesis/entry/management/rules 1-5) + loss attribution (v237)
- ✅ Strategy health report — auto promote/demote/pause/re-test per strategy (v237)
- ✅ Regime backfill — historical yfinance data to tag existing trades (v237)
- ☐ Dynamic sizing enforcement — wire sizing_mult into actual position size
- ☐ Unified opportunity ledger + ranking
Controlled Vocabularies
| strategy_name | ICT · AMD50 · LIQVOL · MEANREV · ORB_5M · ORB_15M |
| asset | GC · ES · BTC · CL |
| direction | LONG · SHORT |
| tier | HTF · LTF · SCALP |
| session | ASIA · LONDON · NY_AM · NY_PM · OVERNIGHT |
| kill_zone | ASIA_KZ · LONDON_KZ · NY_KZ · POWER_HOUR · NONE |
| volatility_regime | LOW · NORMAL · HIGH · EXTREME |
| trend_regime | RANGE · WEAK_TREND · STRONG_TREND |
| macro_proximity | NONE · SAME_DAY · NEXT_DAY · THIS_WEEK |
| result_status | WIN · LOSS · BE · SCRATCH · PARTIAL · OPEN |
| close_reason | TP_HIT · SL_HIT · MANUAL · EOD · TRAILING · TIME_EXIT · DRAWDOWN_HALT |
| trade_mode | PAPER · LIVE · SIMULATED |
| bias_state | WITH_TREND · COUNTER_TREND · NO_BIAS · UNKNOWN |
| structure_state | BOS_UP · BOS_DOWN · RANGE · CHOCH_UP · CHOCH_DOWN |
| liquidity_condition | SWEPT · BUILDING · THIN · UNKNOWN |
Trade Gating Logic (8 Gates)
| Gate | Rule | Phase 1 | Phase 2 |
|---|---|---|---|
| G1 Structural | Meets strategy setup criteria | Active | Active |
| G2 Risk | R:R ≥ 1.5, within $ caps | Active | Active |
| G3 Cadence | No duplicate within window | Active | Active |
| G4 Kill Zone | Inside high-liquidity session | Active | Active |
| G5 Regime | Correct vol/trend regime | Logged | Active |
| G6 Confluence | Min confluence score | Logged | Active |
| G7 Drawdown | Within daily/weekly loss cap | $700/day | Dynamic |
| G8 Edge | Positive expectancy proven | Off | Active |
v3 DB Schema Summary
New Columns on setup_alerts (17)
confidence_score · confluence_score · confluence_components · volatility_regime · trend_regime · macro_event_proximity · macro_event_name · day_of_week · trade_mode · bias_state · structure_state · liquidity_condition · close_reason · timeframe_htf · timeframe_entry · decision_rationale · edge_bucket
New Columns on trade_results (9)
pnl_r_multiple · mfe · mae · close_reason · execution_grade · thesis_grade · rule_following_grade · trade_mode · slippage_estimate
New Tables (5)
trade_overrides · strategy_changelog · decision_journal · comps · deal_reviews · options_positions · treasury_config · pfin_expense_tags
New Columns on ls_deals (v234)
bull_probability · base_probability · bear_probability · composite_score
New Column on comps (v235)
deal_id (INTEGER — optional link to ls_deals)
Post-28-Day Analytics (Phase 2)
- Expectancy: (win_rate × avg_win) − (loss_rate × avg_loss) per strategy × asset × session
- Dynamic sizing: E[R] < 0 → suppressed · 0–0.15 → 0.5× · 0.15–0.30 → 1× · 0.30–0.50 → 1.5× · >0.50 → 2×
- Min sample: 20 per bucket = PROVISIONAL · 50 = CONFIRMED
- Edge decomposition: model edge · execution edge · management edge · variance
- Edge decay: rolling 20-trade expectancy · flag if <0 for 20 consecutive
- Interaction effects: strategy × asset × session × regime cross-tabs
- MAE/MFE: entry quality (MAE > 0.5R = late) · exit quality (MFE >> actual R = premature)
Deal scoring / probability-weighted EV✅ shipped v234 (Phase 1)- Unified opportunity ranking: urgency × return × confidence × evidence ÷ effort
Loading agent status…
AGENT02 — Trading Intelligence
- Assets: BTC · MGC (Gold) · MNQ · MES · MCL — all micro contracts
- Timeframes: 4H · 1H · 15M per asset via yfinance
- EMA: 9 / 21 / 50 / 200 — stack alignment, 9/21 crossover detection
- VWAP: session VWAP, above/below bias, reclaim/rejection signals
- RSI(14): state labelled — OVERBOUGHT / BULLISH / NEUTRAL / BEARISH / OVERSOLD
- MACD: line, signal, histogram, trend state (BULLISH_MOMENTUM / FADING / BEARISH_MOMENTUM)
- ATR(14): stop = 1.5×ATR · target = 3×ATR · auto-scales per volatility · BTC override: stop = 2.5×ATR · target = 5×ATR (targets ~$350 risk on $10k position)
- Bollinger Bands: squeeze detection · expansion with EMA alignment = cleaner trend
- Direction filter: LONG_ONLY / SHORT_ONLY / NO_TRADE — hard gate on signal generation
- Signal quality score: 0–10 composite based on indicator alignment
Contract Specifications
| Display | Internal | Full Name | $/pt | Feed | Trading Hours (UK) |
|---|---|---|---|---|---|
| MNQ | MNQ | Micro E-mini Nasdaq-100 | $2.00 | NQ=F | Sun 23:00 – Fri 22:00 · daily break 22:00–23:00 |
| MES | ES | Micro E-mini S&P 500 | $5.00 | ES=F | Sun 23:00 – Fri 22:00 · daily break 22:00–23:00 |
| MGC | GC | Micro Gold Futures | $10.00 | GC=F | Sun 23:00 – Fri 22:00 · daily break 22:00–23:00 |
| MCL | CL | Micro WTI Crude Oil | $100.00 | CL=F | Sun 23:00 – Fri 22:00 · daily break 22:00–23:00 |
| BTC | BTC | Bitcoin (spot, $10k notional) | % return | BTC-USD | 24/7 · 365 days — no breaks |
P&L formula:
pts × multiplier for futures · $350 ÷ stop% dynamic notional for BTC.
Price feeds use CME full-size symbols (NQ=F / ES=F / GC=F / CL=F) — P&L scaled to micro sizing.
Note: MGC = $10/pt (10 oz × $1/oz) · MCL = $10/pt (100 bbl ÷ 10)
⚡ Risk Management Rules
| Asset | Max Risk | Max Stop | Approach |
|---|---|---|---|
| MGC | $350 | 35pts | Hard cap enforced at signal creation · $10/pt · stop > 35pts rejected |
| BTC | $350 | 3.5% | AGENT02_trading.py line 407 · stop = 2.5×ATR (vs 1.5× other assets) · target = 5×ATR · $10k notional · ~3.5% stop = ~$350 risk |
| MNQ | No cap | ATR-based | $2/pt · ATR stop auto-scales · typical risk $150–400 |
| MES | No cap | ATR-based | $5/pt · ATR stop auto-scales · typical risk $200–500 |
Signal cap: 1 active signal per asset per strategy (ICT/AMD50/LIQVOL/MEANREV/ORB_5M/ORB_15M each get independent slot) · race condition protected with
BEGIN IMMEDIATE DB lock before cap check ·
Risk caps: MGC max 35pts ($350) · BTC 3.5% of notional (~$350) · MNQ floor $350 min · all caps enforced in _log_alert() in AGENT02 + both Flask endpoints ·
BTC P&L: Notional = $350 ÷ stop% · dynamic per trade · L always ~$350 · W scales with R:R · cap check uses stop% > 3.85% (was ×2000 — fixed v229) ·
EOD time guard: run_eod_summary() blocked before 20:00 UK via pytz — prevents false morning runs on server restart
ICT Methodology
- FVG — Fair Value Gaps: imbalance zones left by impulsive moves
- Order Blocks — last candle before impulsive move, acts as S/R
- Liquidity Sweeps — stop hunts above highs / below lows before reversal
- BOS/CHoCH — Break of Structure / Change of Character
- Premium/Discount — above/below 50% of HTF range
- Three tiers: HTF (4H/Daily, R:R ≥2.0) · LTF (1H/15M, R:R ≥1.5) · SCALP (15M, R:R ≥1.0)
- Highest probability: FVG + VWAP + EMA pullback + MACD confirm + liquidity sweep
LIQ+VOL — Intraday Liquidity & Volatility (Jadecap)
Markets raid orders at Asian/London range extremes and prev-day H/L then reverse. Wait for sweep → zero follow-through → closure back through → enter. SMT (NQ≠ES) confirms. Win rate ~35% — edge is in management.
signal →
TRADING:LIQVOL:LATESTMean Reversion — Right Side of the V (Lance Breitstein)
Stable boring assets making fast/large moves on no news = out of equilibrium. Score 7 variables (size, ROC, streak, volume, boringness, market cap, MA distance). Trade A+ only (80+/100). NEVER front side. Target = 20MA (equilibrium).
signal →
TRADING:MEANREV:LATESTAMD 50% Range Rebalance — Power of Three
Strategy from the strategy author (Chart Fanatics) — $2.3M prop firm payouts.
Core thesis: price always redelivers to 50% EQ of the dealing range (Power of Three / AMD model).
Works on MNQ (primary) and BTC (daily timeframe).
Auto-creates signal when score ≥7/9 + R:R ≥1.5.
signal Scan →
TRADING:AMD50:LATEST · TRADING:TRADE:{id} on close.
Rules (SHORT)
- Price in premium — above 50% EQ of dealing range
- Daily PO3 — wick above previous day high (stops run)
- H4 PO3 — H4 sweep at 10am EST window
- SMT divergence — NQ new high, ES fails to confirm
- Inversion FVG — previous support breaks, retap as resistance
- Target — 50% EQ (base hit). Trail if volume confirms.
- BE — aggressively when H1 candle flips bearish
Key Concepts
- AMD — Accumulation → Manipulation → Distribution (Power of Three)
- Fractal — same PO3 logic on Daily → H4 → H1 → align all three
- Session — 9:15–11:30 EST primary · 10am manipulation reversal key time
- SMT — Smart Money Technique: NQ/ES divergence is entry confirmation
- 50% only — never fight to catch extremes · base hit mentality
- 4-week gate — track in AGENT00, patterns emerge after 28+ trades
Kill Zones & Session Rules (v240+)
Source of truth:
ICT_KILLZONES_ET in AGENT00_web.py and duplicated in AGENT02_trading.py. If these change, both files must be updated.CME Futures (MNQ · MES · MGC · MCL) — Mon–Fri only
| Zone | ET | UK (BST) | Rules |
|---|---|---|---|
| London | 02:00–05:00 | 07:00–10:00 | ICT entries allowed · Rule 3 force-close = max(05:00 ET, fill+60m) |
| NY Open | 08:30–11:00 | 13:30–16:00 | ICT entries allowed · Rule 3 force-close = max(11:00 ET, fill+60m) |
| NY PM | 14:00–15:00 | 19:00–20:00 | Observe-only · Rule 2: rejects unless pm_override=true from web UI · AGENT02 always rejects (no override channel) |
| Asia | 20:00–24:00 | 01:00–05:00 | ICT entries allowed · Rule 3 force-close = max(24:00 ET, fill+60m) |
| Last Hour | 15:30–16:30 | 20:30–21:30 | Rule 4: all non-BTC api_signal_create rejected with LAST_HOUR_BLOCKED |
| NY Close | 16:30 | 21:30 | ⛔ EOD hard close — all non-BTC OPEN/ALERTED positions force-closed 21:30–22:30 UK |
| Weekend | Sat–Sun | — | ⛔ All CME futures signals blocked · BTC only |
Rules — Enforced in Both api_signal_create and AGENT02 _log_alert
- Rule 1 — Kill Zone Entry Gate: ICT signals only permitted inside London/NY Open/NY PM/Asia windows · rejects with
KILLZONE_GATE_BLOCKED· BTC exempt (v240.2) - Rule 2 — PM Observe-Only: NY PM (14:00–15:00 ET) rejects ICT unless
pm_override=true· web UI shows purple override button with confirm dialog · AGENT02 has no override channel, always rejects · BTC exempt - Rule 3 — ICT Force-Close Backstop: for every FILLED ICT signal, monitor computes
force_close_at = MAX(killzone_end_of_fill_session, fill+60min)· closes withclose_source='KILLZONE_EXPIRY'· TP/SL/manual close still fire first · BTC exempt - Rule 4 — Last-Hour No New Trades: 15:30–16:30 ET blocks all non-BTC strategies (ICT, AMD50, LIQVOL, MEANREV, ORB_5M, ORB_15M) · BTC exempt
Bitcoin (BTC) — 24/7/365 · v240.2
- Fully exempt from Rules 1/2/3/4 — BTC is not bound by US session killzones (not an equity-index/futures concept)
- No EOD hard close — BTC positions remain open past 21:30 UK
- Weekend signals allowed — BTC is the only asset that can trade Sat/Sun
- Fill checker runs 24/7 —
AGENT02._fill_checker_loopno longer gated to Mon–Fri 07–22 UK (v240.2)
Automated Schedule (UK Time)
- 07:00 + 20:00 UK dailycalendar — To-Do & Agenda brief + economic calendar written to
MACRO:CALENDAR:UPCOMING· injected into daily brief LLM - 07:00 UK Mon–Fri — Daily morning brief with market narrative + upcoming event context
- 07:30 UK Mon–Fri — Life Sciences digest (toggle in Alerts & Schedule)
- 08:00 UK Mon–Fri — London Open ICT brief · signal generation pass
- 11:00 UK Mon–Fri — Mid-morning ICT update
- 13:00 UK Mon–Fri — Pre-NY ICT brief · signal generation pass
- 17:00 UK Frireview — Weekly trade review Telegram summary
- 21:00 UK Mon–Fripatterns — EOD summary + evening memory digest · weekly summary auto-written Fri
- 09:00 UK Sat–Sun — Weekend brief · BTC price/range/headlines + Oxford weather
- 20:00 UK Sun — Sunday evening setup brief · Friday close review + Monday ICT setups
- 21:00 UK daily — Evening memory digest (every day inc. weekend)
- Background monitor: every 60s checks all OPEN signals vs live price · auto-closes on TP or SL hit (0.1% tolerance)
- Scheduler v3 — memory-driven · reads
schedule:alertsschedule every 55s · UI changes live within 1 min · weekend-aware
Signal Rules & Cadence
- State machine: ALERTED → OPEN (▶ Enter) → CLOSED (✓ TP / ✕ SL)
- Strategy tagsignal —
strategy_tagcolumn insetup_alerts· values:ICT·AMD50·LIQVOL·MEANREV· used for filtering in Trade History + Performance - Create Signal: + Create Signal button on AMD50/LIQ+VOL/Mean Rev tabs → inserts into
setup_alertswith correctstrategy_tag→ Telegram fires → monitor picks up - AMD50 auto-create: score ≥7/9 + R:R ≥1.5 → auto-inserts with
strategy_tag=AMD50without manual button press - Cadence limits: HTF min 4h · LTF min 1h · SCALP min 15min between signals per instrument per direction
- Suppression: entering a signal auto-suppresses all other ALERTED signals on same asset+direction
- Zone end warning: ⚠ late badge if signal generated within 10 min of kill zone close
- Manual override: ▶ Enter · ✓ Take Profit · ✕ Stop Hit · ⊘ Suppress per signal row
- Close source: AUTO (TP/SL monitor) or MANUAL (user action) — logged per trade with timestamp
- Telegram alerts: strategy-aware label · 🟢 Entry hit · ✅ Take Profit · 🛑 Stop hit
Learning Feedback Loop — 4-week data gate before strategy bias recommendations
- ✅ Edge profilesignal —
TRADING:EDGE_PROFILEbest/worst KZ combos + min confluence threshold · injected into every ICT brief + Ask Anything · gated to 28 days data minimum - ✅ Trade memorylearning — every close writes
TRADING:KZ_PERF:{asset}:{kz}·TRADING:CONFLUENCE:scoreN·TRADING:TRADE:{id} - ✅ Drawdown gatesignal — session P&L ≤-$100 → size warning · ≤-$200 → stop trading · injected into LLM
- ✅ Weekly summarypatterns —
TRADING:WEEKLY:LATESTauto-written Friday EOD · includes R:R analysis, best/worst setups, session performance, confluence factor win rates - ✅ R:R analysispatterns —
TRADING:WEEKLY:RRavg R:R offered vs won/lost · best trade of week - ✅ Session performancepatterns —
TRADING:WEEKLY:SESSIONSavg P&L per trade per kill zone - ✅ Setup analysislearning —
TRADING:WEEKLY:SETUPSbest and worst individual setup descriptions - ✅ Confluence win rateslearning —
TRADING:WEEKLY:CONFLUENCEEMA/VWAP/RSI/BOS/FVG/Liquidity/OB/MACD win rate when present - ✅ Ask Anythingcontext — edge profile + KZ performance + today session P&L injected into every query
- ✅ AMD 50% trackingsignal —
TRADING:AMD50:LATEST· auto-creates signal at score ≥7/9 · 4-week data gate · strategy_tag=AMD50 on all trades - ✅ LIQ+VOL trackingsignal —
TRADING:LIQVOL:LATEST· manual confirm required · 4-week data gate · strategy_tag=LIQVOL - ✅ Mean Reversion trackingsignal —
TRADING:MEANREV:LATEST· grade A+/B/C scoring · 4-week data gate · strategy_tag=MEANREV - ✅ Per-strategy Performance — Performance tab has All · ICT · AMD50 · LIQ+VOL · Mean Rev pills · each calls
/api/performance?strategy=X· isolated equity curve + ratios - ✅ Trade History strategy filter — ICT · AMD50 · LIQ+VOL · Mean Rev filter pills in Trade History tab
- ⏳ Scalping data — 5-min candle entries to be incorporated when available · system ready to ingest
v3 Phase 1 — Trading Schema Upgrades v233+
New Columns on setup_alerts (17)
confidence_scoreINTEGER 0-10 — operator confidence at signal creationconfluence_scoreINTEGER 0-9 — composite confluence ratingconfluence_componentsTEXT JSON — e.g. ["EMA_stack","FVG","OB","VWAP"]volatility_regimeTEXT — LOW / NORMAL / HIGH / EXTREME (ATR-based)trend_regimeTEXT — RANGE / WEAK_TREND / STRONG_TREND (ADX-based)macro_event_proximityTEXT — NONE / SAME_DAY / NEXT_DAY / THIS_WEEKmacro_event_nameTEXT — FOMC / NFP / CPI / etc.day_of_weekTEXT — MON / TUE / WED / THU / FRI / SAT / SUNtrade_modeTEXT — PAPER / LIVE / SIMULATEDbias_stateTEXT — WITH_TREND / COUNTER_TREND / NO_BIASstructure_stateTEXT — BOS_UP / BOS_DOWN / RANGE / CHOCH_UP / CHOCH_DOWNliquidity_conditionTEXT — SWEPT / BUILDING / THIN / UNKNOWNclose_reasonTEXT — TP_HIT / SL_HIT / MANUAL / EOD / TRAILING / TIME_EXITtimeframe_htfTEXT — 4H / DAILY / WEEKLYtimeframe_entryTEXT — 5M / 15M / 1Hdecision_rationaleTEXT — structured decision reasoningedge_bucketTEXT — strategy_asset_session key for edge lookup (post-28d)mfe_rREAL — Maximum Favourable Excursion (R-units, updated live by monitor)mae_rREAL — Maximum Adverse Excursion (R-units, updated live by monitor)
New Columns on trade_results (9)
pnl_r_multipleREAL — P&L in risk units (auto-computed on close)mfeREAL — Maximum Favourable Excursion (R-units, Phase 2)maeREAL — Maximum Adverse Excursion (R-units, Phase 2)close_reasonTEXT — mirrors setup_alerts.close_reasonexecution_gradeINTEGER 1-5 — post-trade gradingthesis_gradeINTEGER 1-5 — was the setup thesis correct?rule_following_gradeINTEGER 1-5 — did you follow the rules?management_gradeINTEGER 1-5 — trade management quality (stops, targets, exits)loss_categoryTEXT — loss attribution: BAD_THESIS / BAD_TIMING / BAD_SIZING / RULE_VIOLATION / MARKET_REGIME / UNLUCKYtrade_modeTEXT — PAPER / LIVEslippage_estimateREAL — points of slippage
New Tables (5)
trade_overrides— logs manual interventions (suppress, stop adjust, force close)strategy_changelog— strategy parameter versioning without sample contaminationdecision_journal— cross-domain decision log with rationale + outcome trackingcomps— comparable transactions database (M&A, funding rounds, multiples)deal_reviews— periodic deal review log with thesis drift tracking
RR Enforcement — 4 Layers (v232+)
- ✅
api_signal_create— blocks R:R < 1.5 on create - ✅ AMD50 auto-create — blocks R:R < 1.5 before DB insert
- ✅
api_signal_suppress_check— rejects R:R < 1.5 - ✅
_monitor_open_signals— auto-suppresses ALERTED/PENDING with R:R < 1.5 every 60s - ✅ AGENT02
_log_alert()— 1.5× RR gate + MGC $350 risk cap + BTC 3.85% stop cap + v3 field capture (v234)
Post-Close Enrichment
_enrich_trade_result(conn, alert_id, close_reason)— auto-computes R-multiple + sets close_reason- Called from: EOD close · live monitor TP/SL · manual close (PATCH /api/signals/state)
- ✅ v234:
_backfill_trade_fields()retroactively computespnl_r_multiple = pnl_dollars / 350on all existing closed trades at startup
Decision Journal (v234)
GET/POST /api/decision-journal— list + create entries (domain, action, rationale, confidence)PUT/DELETE /api/decision-journal/<id>— update outcome/retrospective, delete- Domains: TRADING · INVESTMENT · PERSONAL · STRATEGY
- Outcomes: CORRECT · WRONG · MIXED · TBD
- UI: Developer pill "Decision Journal" with domain filter, tabular log, edit/delete
_auto_journal()— auto-creates entries on signal create/close/suppress, TP/SL hit, EOD close, deal status change (v235)
Comps — Comparable Transactions (v235)
GET/POST /api/comps— list (optional?deal_id=filter) + createPATCH/DELETE /api/comps/<id>— update, delete- Fields: company_name, sector, sub_sector, transaction_type, acquirer, date, amount, pre_money, ev_revenue, ev_ebitda, revenue_at_deal, stage_at_deal, geography, source, notes, deal_id
- UI: LS pill tab "Comps" with deal filter, sortable table, median stats, add/edit modal
- One-pager: linked comps card with median EV/Rev & EV/EBITDA
Confluence Capture (v235)
PATCH /api/signals/<id>/confluence— update confluence_components + confluence_score- UI: 12-option checkbox editor on ALERTED/OPEN signal cards (FVG, VWAP, EMA21, EMA50, Order Block, BOS, CHoCH, Liquidity Sweep, MACD, RSI, SMT, Volume Imbalance)
- Closed/suppressed signals show static tags (read-only)
📊 Market Analysis Tab — Tier 1 & Tier 2
Tier 1 — Live Data
- ATR Context Bar: daily range used % vs ATR(14) per asset · price-in-range dot · green <50% used · red >80% (range exhausted)
- Range Monitor: today's H-L vs 20-day average · EXPANDING / NORMAL / EXTENDED signal · best entries when <50% of avg range used
- Signal Quality Tracker: win rate by asset + tier · last 30 days · populates from trade_results
- Session P&L Heatmap: win rate per asset × kill zone · infers session from alert_time if session field empty
Tier 2 — Builds Over Time
- Drawdown Monitor: session P&L · peak · current drawdown · equity curve SVG · ⚠️ caution at $100 · ⛔ stop at $200
- Confluence Breakdown: parses signal rationale text for 8 factors (EMA/VWAP/RSI/MACD/BOS/FVG/Liquidity/OB) · score vs win rate chart · per-signal checklist
- Kill Zone Performance: win rate + expectancy ($/trade) per asset per kill zone · 60-day lookback · green = trade it · red = skip
- Liquidity Profile: average hourly volume from 30-day yfinance 1H data · kill zones highlighted · reveals true liquidity windows per instrument
✅ Memory integration complete — Every closed trade writes KZ performancesignal, confluence scoressignal and edge profilesignal to memory. Economic calendarcalendar written daily at 07:00. Weekly summarypatterns auto-writes Friday EOD with R:R, best/worst setups, session performance, confluence factor win rates. All injected into LLM on every signal generation and Ask Anything call.
📡 TradingView Webhook — Full Setup Guide
Step 1 — Webhook URL
Your webhook endpoint (click to copy):
https://honeybees-mac-mini.tail56e8bc.ts.net/api/tv/webhook
Step 2 — In TradingView
- Open a chart → click the Alarm clock icon → Create Alert
- Set your condition (price crosses, indicator, Pine Script etc)
- Under Notifications tab → enable Webhook URL
- Paste the webhook URL above
- Set the Message to the JSON format below
Step 3 — Message JSON Format
For Pine Script strategy alerts:
{
"ticker": "{{ticker}}",
"action": "{{strategy.order.action}}",
"price": "{{close}}",
"interval": "{{interval}}",
"message": "{{strategy.order.comment}}"
}
For simple price/indicator alerts:
{
"ticker": "{{ticker}}",
"action": "alert",
"price": "{{close}}",
"interval": "{{interval}}",
"message": "Your signal name here"
}
Notes
- Alerts arrive at Trading Intelligence → TV Alerts tab in real time
- Each alert is stored in the
memorytable astv:alert:{timestamp}alert - A Telegram notification is sent for every webhook received
- The webhook endpoint is PIN-exempt — TradingView can reach it without a session
- Tailscale Funnel must be running on the Mac Mini for external webhooks to reach AGENT00
- Test by sending a manual POST:
curl -X POST https://honeybees-mac-mini.tail56e8bc.ts.net/api/tv/webhook -H "Content-Type: application/json" -d '{"ticker":"ES","action":"alert","price":"5000","interval":"1h","message":"Test"}'
How Memory Works
- Storage: SQLite
memorytable · key / value / category / updated_at · persists across all restarts and deployments - Soul prompt: Hard-coded standing context in
AGENT00_memory.py— professional background, BTC thesis, H100 Advisory context, trading principles · injected into every LLM call - Context injection: Soul + all memory entries prepended to every LLM call — Ask Anything, Multi-Asset Brief, Daily Brief, ICT analysis all receive full context
- Ask Anything: Every Q&A via web or Telegram calls
process_message(question, answer)which extracts facts and saves to memory · also logged toevent_log - Evening digest:
run_evening_digest()— summarises all memory entries · sends to Telegram · refreshes context
What Gets Written to Memory
Key
Description
Used as
web:last_briefMulti-Asset Brief text + timestamp
context
web:last_daily_briefDaily Brief text + timestamp
context
web:last_indicatorsFull indicator snapshot · cached 5 min
cache
CONTEXT:TODAY:exchangesLast 5 Ask Anything Q&As today · conversation continuity
context
CONTEXT:ROLLING:factsLast 20 decisions/facts extracted from Q&A · 7-day rolling
context
MACRO:CALENDAR:UPCOMINGHigh-impact econ events next 7 days · FOMC/NFP/CPI/ECB with trading notes · written 07:00 daily
calendar
MACRO:CALENDAR:JSONStructured JSON of upcoming events for machine reading
calendar
schedule:alertsTelegram scheduler config · read every 55s by run_scheduler() · UI changes live within 1 min
schedule
TRADING:EOD:YYYY-MM-DDNightly EOD P&L summary per asset
review
TRADING:TRADE:{id}Individual trade · asset/tier/direction/KZ/result/P&L/confluence · written on every close
learning
TRADING:KZ_PERF:{asset}:{kz}Running win rate + P&L per asset per kill zone · updated on every close
signal
TRADING:CONFLUENCE:score{n}Win rate by confluence score (0–8) · updated on every close
signal
TRADING:EDGE_PROFILEBest/worst KZ combos + min confluence threshold · 4-week data gate · injected into ICT briefs
signal
TRADING:WEEKLY:LATESTFull weekly summary text · patterns, asset/session/tier/direction breakdown
patterns
TRADING:WEEKLY:RRAvg R:R offered vs won/lost · best trade of week
patterns
TRADING:WEEKLY:SESSIONSAvg P&L per trade per kill zone session
patterns
TRADING:WEEKLY:SETUPSBest and worst individual setup descriptions with full context
learning
TRADING:WEEKLY:CONFLUENCEEMA/VWAP/RSI/BOS/FVG/Liquidity/OB/MACD win rate when present in signal rationale
learning
TRADING:AMD50:LATESTAMD 50% scan results · dealing range · EQ level · manip wick · SMT · inversion FVG · score/9
signal
TRADING:LIQVOL:LATESTLIQ+VOL scan results · Asian/London range sweeps · SMT divergence · prev-day H/L raids
signal
TRADING:MEANREV:LATESTMean Reversion scan · capitulation scoring · grade A+/B/C · streak · move ratio vs ATR
signal
TRADING:ORB:LATESTOpening Range Breakout scan · 5m + 15m variants · OR high/low · RSI14 momentum · 1H bias · volume surge · score/10 · deduped by asset+direction (higher score wins, 15m on tie) · suggestion-only (no auto-create) · 5m expires 10:35 EST, 15m expires 11:00 EST
signal
tv:alert:{timestamp}TradingView webhook alerts · real-time · available in TV Alerts tab
alert
Current Status & Remaining Gaps
- ✅ Trading Intelligence Bloomberg restructure (v246): Overview now leads with TWO Bloomberg-style tables (instruments + macro) in matching format · ▣ MARKETS: BTC/MGC/MCL/MNQ/MES with LAST · NET CHG · % CHG · DAY RANGE bar · ▣ MACRO: VIX/DXY/UST10/Nikkei 225/Shanghai Comp (v246 added N225 + SSEC) with same column set · Macro Calendar tab deleted, its contents (econ calendar + FJ news) moved onto Overview · new Trade Setups pill right of Overview holds Multi-Asset Brief + EOD Summary · snapshot fix: today's high/low/open computed from today's bars only
- ✅ AGENT02 MNQ multiplier + race guard (v245): MNQ in
AGENT02_trading.pyCONTRACTdict fixed0.50 → 2.00(v225 fix only ever landed in web.py — AGENT02 was the orphan for the entire period, every AGENT02-monitored MNQ trade was priced at ¼ of correct) ·_check_fills_oncenow (a) filters SELECT withsa.signal_state NOT IN ('CLOSED','SUPPRESSED')and (b) re-reads state inside the write transaction before UPDATE — fixes the race where AGENT02 clobbered manual closes made during its 60s tick (root cause of #271/#272/#278 WIN→LOSS flip) · CRITICAL comment added warning that MNQ multiplier must stay in sync withAGENT00_web.pyPNL_MULT· 3 corrupted MNQ ORB rows healed viav245_heal_mnq_orb.sql - ✅ Result-sign authority (v244):
api_signal_stateCLOSED branch derivesresultfrom the sign of computed pnl — never trusts client ·sigCloseclient-side recomputesactualResultbefore POST and toasts a warn on button/outcome mismatch · fixes the #275 WIN-on-negative-pnl class of bug · EOD between-levels branch also fixed (was hardcoded LOSS) · log warning on any client/server disagreement for audit - ✅ BTC stale-alert sweep (v243): hourly sweep inside
_monitor_open_signalssuppresses BTC ALERTED/PENDING rows older than 24h with notrade_resultsrow · closes the gap left by v240.2 BTC carve-out (weekday EOD skips BTC) ·close_reason='BTC_STALE_SWEEP_24H'· auto-journaled - ✅ Legacy $0 P&L backfill ran (v243):
v241_change_b_pnl_backfill.sqlexecuted on SIMBA · healed legacy WIN/LOSS rows wherepnl_dollars=0butclose_pricewas populated · uses identical formulas to v237 server-side rescue - ✅ Session rules enforced in both paths (v240.1): Rules 1/2/4 gate
api_signal_createANDAGENT02._log_alert— TradingView bypass closed · helpers duplicated in both files with CRITICAL comment blocks - ✅ BTC 24/7 carve-out (v240.2): BTC fully exempt from all four session rules ·
_fill_checker_loopruns 24/7 · BTC is the only asset that trades weekends - ✅ ICT Rule 3 force-close monitor: for every FILLED ICT signal, checks
force_close_at = max(killzone_end, fill+60min)every 60s · Telegram alert on killzone expiry · BTC exempt - ✅ Trade history timestamp audit (v241): close timestamp placement now driven by
close_source+ target_hit/stop_hit · ✓ under TARGET, ✕ under STOP, ✎ under CLOSE for manual, 🏁 for EOD, ⏱ for killzone expiry - ✅ Confluence tag badges on trade history (v241): top 3 components rendered as cyan badges with +N overflow counter
- ✅ AGENT02 close-path parity (v241.1):
_check_fills_oncetarget/stop hit blocks now persistsetup_alerts.closed_at+close_source='AGENT02_TP/SL'+close_price— previously a bypass that left 10+ legacy rows orphaned - ✅ Trade history delete button (v242): per-row ✕ DEL in the status column · confirms with destructive-action dialog · auto-triggers
/api/eod/recalculate-memoryafter delete ·api_signal_deletealso clearsdecision_journalentries (closes v235 orphan gap) - ✅ Ask Anything memory extraction:
process_message()confirmed working · extracts decisions/views/people/tasks - ✅ Contacts in soul prompt: All SQLite contacts injected into every LLM call
- ✅ Brief context in soul: Last Daily Brief + Multi-Asset Brief included in memory context
- ✅ Trading edge profile in signal generation:
TRADING:EDGE_PROFILEinjected into every ICT brief + Ask Anything — LLM sees kill zone win rates, confluence thresholds, drawdown status - ✅ Trade memory writer: Every closed trade writes kill zone performance + confluence score + outcome to memory — both manual close and auto-close monitor
- ✅ Conversation continuity:
CONTEXT:TODAY:exchanges(last 5 today) +CONTEXT:ROLLING:facts(last 20 decisions, 7-day window) — injected into every Ask Anything · visible in Memory → Conversation tab - ✅ Weekly trading summarypatterns — Auto-writes Friday EOD · 5 keys: LATEST · RR · SESSIONS · SETUPS · CONFLUENCE · visible in Memory → Trading tab
- ✅ Economic calendarcalendar —
MACRO:CALENDAR:UPCOMINGwritten 07:00 daily · injected into daily brief LLM narrative - ✅ Scheduler v3 fixed — dead v2 code removed · try/except hardened · tick logs every 55s in agent00.log
- ✅ AMD 50% scanner —
/api/signals/amd50-scan· score ≥7/9 auto-creates signal ·strategy_tag=AMD50written to DB - ✅ LIQ+VOL scanner —
/api/signals/liqvol-scan· sweep detection · SMT divergence · manual confirm required - ✅ Mean Reversion scanner —
/api/signals/meanrev-scan· 7-variable scoring · grade A+/B/C · 20MA target - ✅ ORB scanner (v238): suggestion-only · 5m/15m variants · deduped by asset+direction · staleness flags (5m expires 10:35 EST, 15m 11:00 EST)
- ✅ Strategy signal creation —
/api/signals/createendpoint · storesstrategy_tag· strategy-aware Telegram label · feeds into full TP/SL monitoring flow - ✅ Per-strategy Performance —
/api/performance?strategy=· All/ICT/AMD50/LIQVOL/MEANREV/ORB_5M/ORB_15M pills · isolated ratios + equity curve · ⚠ banner when <10 trades - ✅ Trade History filtering — strategy filter pills in Trade History · coloured strategy badges on each row
- ✅ Command Surface on MKT Technicals (v246.13–v246.22) — 6 stages: Focus Watchlist, Regime Strip, Driver Matrix, Risk Rail, Cause & Effect, News Reaction Tape. All live with background workers and dependency chain.
- ✅ Server-authoritative P&L (v246.15) — single
_compute_trade_pnl()helper,api_signal_statenever trusts client. +$1,738.76 recovered across 9 stale rows. - ✅ Backup rotation fix (v246.22) — SQLite backup API, exception-resilient scheduler, startup diagnostic flags stale rotation in boot log.
- ✅ Risk Analytics on Performance page (v246.23) — distribution moments, tail risk (VaR/ES parametric + historical), payoff asymmetry, serial dependence (ACF + Ljung-Box), regime breakdown, path dependency, rolling Sharpe 20/60/120. Equity curve compounds from $100k start with $/% toggle. 30-min cached worker.
- ✅ Neuro Investment Intelligence rebuild (v247) — deleted old Neuro panel, rebuilt as Bloomberg-style investment surface: violet-gradient hero with 4 KPI tiles + stat strip, macro thesis row (tailwinds + payer logic), 8-subsector grid ranked by revenue weight, headlines feed preserved.
- ☐ BLOTTER / SCANNERS / EDGE / CONTEXT workspace restructure — Bloomberg-style 4-workspace UX revamp consolidating 14 tabs into 4 (not yet started, design doc only)
- ☐ Startup desync audit — boot-time check for signal_state vs trade_results mismatches, verify
_monitor_open_signalsis actually running - ☐ Today Alerts headline split — show N actionable · M suppressed instead of single count
- ☐ Dynamic sizing enforcement — wire sizing_mult from expectancy engine into AGENT02
_log_alertactual position size - ☐ PM override telemetry view — audit trail panel for Rule 2 overrides
- ☐ AMD50 last-hour gate gap — auto-create path bypasses Rule 4, needs audit
- ☐
api_macrooff request path — currently blocks request while yfinance runs, move to background worker - ☐ Route AGENT02 target/stop + EOD monitor through
_compute_trade_pnl— finish eliminating pnl math duplication - ☐ BTC stale-alert sweep refinement — 24h window covers most cases but edge cases around weekend rollover need verification
- ☐ Unified opportunity ledger — cross-domain ranked queue (trading + deals + research)
- ☐ Investment Phase 1 — schema + deterministic decision engine from design doc
Memory Roadmap
- ✅ Ask Anything extraction:
process_message()extracts facts/decisions toCONTEXT:ROLLING:facts - ✅ Weekly summarypatterns — R:R · best/worst setups · session performance · confluence factor win rates · 5 memory keys written
- ✅ Economic calendarcalendar —
MACRO:CALENDAR:UPCOMINGwritten 07:00 daily · FOMC/NFP/CPI/ECB with pre-release trading notes · injected into LLM narrative - ✅ Conversation continuitycontext —
CONTEXT:TODAY:exchanges+CONTEXT:ROLLING:factsin every Ask Anything - ✅ Briefs cachedcontext — Daily Brief + Multi-Asset Brief persist and load on demand
- ✅ Scheduler v3schedule — memory-driven · reads
schedule:alertsevery 55s · dead v2 code removed · error-resilient - ✅ Strategy taggingsignal —
strategy_tagcolumn on all signals · ICT / AMD50 / LIQVOL / MEANREV · filterable in Trade History + Performance - ✅ Per-strategy ratios — Performance
/api/performance?strategy=X· isolated Sharpe/Sortino/Calmar/equity curve per strategy · 4 strategy pills in UI - ☐ TradingView alerts → memory context injection for LLM awareness of recent signals
- ☐ Scalping data (5-min candles) — system ready · data feed to be connected
- ☐ Economic calendar: live scrape fallback if investing.com blocks · OECD/ECB as backup
- ✅ Indicator snapshots cached — Signal Monitor loads from memory cache first
✅ v257 — AGENT00.py Rebuilt
- AGENT00.py fully rebuilt (v257) — 691 lines. Previous orchestrator was lost in v247 git incident; all Telegram alerts were silently dead since then
- 9 send-points in web.py all working —
from AGENT00 import send_telegramnow resolves to a real function - ✅ LS digest fix —
_send_telegrambug at L16755 fixed (was undefined since v248) - ✅ Drawdown alerts active — $200 / $350 / $500 thresholds, checks every 2 min
- ✅ 10 scheduled tasks — morning brief, ICT briefs, EOD, weekly review, weekend brief
- ⚠ TV webhook still unauthenticated — see Security section
Bot Config
- Bot: @agent00X_bot
- Chat ID: 542250707 · single user · private
- Token: stored in
.env— never committed - Process:
nohup python3 AGENT00.py >> agent00_bot.log 2>&1 &
Commands (v257)
/menu— inline keyboard main menu/pnl— today’s P&L with per-trade breakdown/signals— active signals (ALERTED/OPEN/FILLED)/brief— morning brief (weather, BTC, agenda, signals)/btc— Bitcoin price + 24h change/weather— Oxford 3-day forecast/todo— open tasks with priority/memory— memory bank stats/status— system health + 7-day trading/ask [question]— AI via OpenRouter/futures— live futures table/macro— global macro dashboard/news— top market headlines
Live Telegram Send-Points (v257)
- ✅
api_signal_create— manual signal creation via UI - ✅
_monitor_open_signals— 60s daemon: TP/SL hits, KZ expiry, EOD close, EOD cleanup - ✅
api_signal_state— manual close/state changes via UI - ✅
api_tv_webhook— TradingView POST → Telegram forward (unauthenticated) - ✅
api_amd50_scan— AMD50 auto-signal with Telegram (manual trigger only) - ✅
api_ls_digest— Life Sciences digest (fixed v257)
Proactive Monitors
- Drawdown monitor (every 2 min): alerts at $200 · $350 · $500 daily loss thresholds
- Fill checker: 🟢 ENTRY HIT · ✅ TARGET HIT · 🛑 STOP HIT (via web.py
_monitor_open_signals) - Deduplication via in-memory set — no duplicate alerts per event
📫 Telegram Alert Schedule
Managed in AGENT00.py · _SCHEDULE[]
Loading...
Notes
Toggle and time changes are saved to the memory bank and read by the scheduler on each tick (every 30 seconds).
To permanently change a schedule, edit
_SCHEDULE in AGENT00.py and restart the bot process.
🔴 v248 Audit — Critical Findings
- PIN gate is currently BYPASSED:
DASHBOARD_PINenv var is empty/missing in.env, which causesrequire_pinbefore_request hook to return immediately without auth check (if not DASHBOARD_PIN: return). Whole dashboard is open to anyone reaching :8080. Fix: addDASHBOARD_PIN=<8+ digits>to .env on Mac, restart, verify pin screen reappears - TradingView webhook has zero auth:
/api/tv/webhookis exempt from PIN check by design (external service can't authenticate via cookie), but has no HMAC signature, no shared secret in URL, no source IP whitelist. Anyone with the public Tailscale URL can POST arbitrary payloads that get stored in DB and forwarded to your Telegram - No rate limiting: If PIN is enabled, brute-force protection is absent. Even with PIN on, a script could try 10000 PINs/sec until lucky
- No restart endpoint protection:
/api/restartis gated by PIN session but if PIN bypassed (current state), restart endpoint is open - Single point of failure: SIMBA SSD failure = full system + DB loss. Time Machine drive arriving today (pending Dev To-Do #3)
Security Model (Design Intent)
- PIN Authentication: Designed: dashboard protected by PIN on every visit · session cookie · 8-hour expiry · /logout clears session — currently disabled (see audit)
- Session: Flask session with auto-generated SECRET_KEY stored in .env · regenerated on first run
- Network: Dashboard on LAN (192.168.0.135:8080) + Tailscale remote access · no public port forwarding
- Secrets: All API keys + PIN + SECRET_KEY in
.env·.gitignoreexcludes .env and agent00.db - Telegram: Single Chat ID whitelist · all messages checked against TELEGRAM_CHAT_ID before processing
- GitHub: Private repo · no secrets ever committed · DB excluded
- TradingView webhook: /api/tv/webhook exempt from PIN (external service)
- LLM: OpenRouter — no raw user data stored · prompts contain no PII beyond user-saved memory
Current Status (post v248 audit)
- 🔴 PIN authentication BYPASSED — see audit findings above
- 🔴 TV webhook unauthenticated — see audit findings above
- ✅ Tailscale VPN for secure remote access
- ✅ .env excluded from git · secrets never committed (when present)
- ✅ DB excluded from git · untracked
- ⚠️ .env file only on Mac Mini — back up to password manager or iCloud (Dev To-Do #4)
- ⚠️ Restart endpoint unprotected — accessible to anyone who can reach the API
- ⚠️ Time Machine pending — drive arriving today (Dev To-Do #3)
- ☐ Rate-limiting PIN attempts to prevent brute force
- ☐ HTTPS via Tailscale for LAN access (currently HTTP)
- ☐ HMAC or shared secret on TV webhook (Dev To-Do #2)
⚠ Architectural Risks & Scaling Plan (v248 audit)
Items that won't hurt today but will compound over months/years if not addressed. Each has a Dev To-Do entry.
- File size: AGENT00_web.py is 49k+ lines. Hard to navigate, slow to restart, any syntax error breaks everything. Plan: extract market data, BTC ETF worker, econ calendar, earnings, investor intelligence into separate modules
- DB grows unbounded: No retention policy on event_log, news caches, old setup_alerts. SQLite handles >1GB fine but query plans degrade. Plan: nightly retention job, monthly VACUUM in restart.sh
- No DB indices audited: Likely missing on setup_alerts(alert_time), trade_results(close_time), memory(category), event_log(ts). Slow queries surface only when DB is large. Plan: EXPLAIN QUERY PLAN audit, add covering indices
- 24 background daemon threads, no observability: If any worker leaks memory or hangs, you'd only notice when something breaks. Plan:
/api/system/threadsendpoint with last-tick timestamps - No log rotation: agent00_web.log + agent00.log grow forever. Plan: RotatingFileHandler with maxBytes=10MB, backupCount=5
- Single SSD = total loss risk: SIMBA failure loses DB, .env, logs, backups. Time Machine drive arriving today (Dev To-Do #3). Plan: + iCloud sync of backups + offsite encrypted snapshot to S3
- Refresh cascade on boot: 24 workers all hit external APIs in first 30s. If yfinance/coingecko is slow, cascading delays. Currently mitigated by
time.sleep()staggers but not formalized. Plan: priority-based startup queue - No external uptime monitor: If Flask process dies at 3am you find out by missing alerts. Plan: Uptime Robot free tier, hit /api/health every 5min
- No request rate limiting: If PIN ever bypassed (currently is), endpoints with DB writes are open for hammering. Plan: Flask-Limiter once PIN restored, or rely on Tailscale exclusively
- Old dead code accumulating: dormant /api/econ/calendar v1 (~321 lines), legacy renderers, old pill stubs. Plan: per-version cleanup pass
Loading health stats…
Current Network Setup
- Mac Mini: Ethernet → 192.168.0.135 · local access at :8080
- PC: Ethernet → 192.168.0.xxx · deploy via git push --force
- Tailscale VPN: ✅ Installed · Mac IP 100.96.97.21 · access from any device
- Tailscale Funnel: ✅ Running · public URL:
https://honeybees-mac-mini.tail56e8bc.ts.net - TradingView Webhook:
https://honeybees-mac-mini.tail56e8bc.ts.net/api/tv/webhook - Router: Virgin Media Hub · admin at 192.168.0.1
- ☐ Static DHCP reservation for Mac Mini recommended
Remote Access — Tailscale (Recommended)
- Zero-config encrypted mesh VPN · free tier covers this use case
- Mac Mini gets a stable private IP e.g.
100.x.x.x - Access dashboard from anywhere:
http://100.x.x.x:8080 - Works through hotel WiFi, mobile hotspot, firewalls
- No port forwarding · nothing exposed publicly
- Install Mac Mini:
brew install tailscale && tailscale up - Install laptop: download from tailscale.com · login same account
Other Options
- Cloudflare Tunnel — encrypted tunnel → HTTPS URL like agent00.yourdomain.com · no open ports · more setup
- Port forwarding — NOT recommended · exposes dashboard publicly with no auth
- Static DHCP: reserve 192.168.0.135 for Mac Mini MAC address in Virgin Media router so IP never changes
📋 Network TODO
- ☐ Set static DHCP reservation for Mac Mini → 192.168.0.135 in Virgin Media router (192.168.0.1)
- ☐ Install Tailscale on Mac Mini:
brew install tailscale && sudo tailscaled & tailscale up - ☐ Install Tailscale on laptop — login same account → dashboard accessible from anywhere
- ☐ Test laptop WiFi access: disable AP Isolation in router if needed
- ☐ Consider adding basic auth to /api/system/restart endpoint
Completed ✅
- ✅ PIN authentication on web dashboard
- ✅ AGENT06 — Personal Finance (PFIN) with FX conversion, all asset types, AI analysis, CGT, EIS/SEIS, mortgage type
- ✅ Signal state machine — ALERTED→OPEN→CLOSED, Take Profit/Stop Hit auto-resolution
- ✅ Kill zones — signals blocked outside Pre-Market/London Open/NY Open · clock bar indicator
- ✅ Micro contract tickers — MGC/MES/MCL throughout all display + correct multipliers (MNQ $2/pt, MES $5/pt, MGC $10/oz, MCL $100/pt, BTC % on $10k)
- ✅ Market Analysis tab — Tier 1 (ATR, range monitor, signal quality, session heatmap)
- ✅ Market Analysis tab — Tier 2 (drawdown monitor, confluence breakdown, kill zone performance, liquidity profile)
- ✅ Ask Anything conversation thread with full history
- ✅ Developer live sections — agents, health, database, history
- ✅ DB hourly backup + header button + iCloud todo
- ✅ Full-width layout · orange action buttons · API usage + last git push in clock bar
- ✅ Tailscale VPN + Funnel · TradingView webhook
- ✅ Contacts hub · H100 NAV · Life Sciences · Economic calendar
- ✅ v223 — LIQ+VOL · Mean Reversion · AMD 50% strategy tabs · strategy tagging on all signals · per-strategy Performance filters · Personal Finance tab (DE/Amy/Overview) · pfin AI analysis · CGT PPR exemption logic · daily/multi-asset brief fix
- ✅ v224 — Signal hard cap (1 per asset) · auto P&L calculation from close price · correct micro multipliers (MNQ $2/pt · MCL $100/pt) · signed pts column · Manual Close column in history · LIQVOL scanner rebuilt · cancel-all-alerts button
- ✅ v225 — Risk cap bypass fix (AGENT02
_log_alert()direct DB path now capped) · BTC P&L sign + notional corrected (dynamic $350 ÷ stop%) · MNQ multiplier $2/pt fixed · EOD false positive UTC→UK time fix · duplicate signal deduplication · per-strategy independent signal cap · 4-week paper tracking gate (28-day EARLY SIGNAL warning) - ✅ v226 — Investment Intelligence renamed from Life Sciences · Deal Pipeline OS (three-layer: pipeline home, one-pager, edit modal) · 30+ field schema (financials, management, risks, scenarios, market) · Import Deck feature (PDF/PPTX→OpenRouter extraction, only fills empty fields) · currency per deal + Local/USD view toggle · A4 PNG export · Memory pills restored (switchMemTab) · Developer pills restored (showDevSection) · EOD time guard (blocks before 20:00 UK) · EOD historical records corrected (23/27/30 Mar)
- ✅ v227 — Business Overview section (tagline vs substantive) · TAM/SAM/SOM inputs + pills · Pedigree above management avatars · comma-split names · GET /api/ls/deals as SELECT * · asset_value / current_cash / gross_margin fields · financial notes independent · deal terms deduplicated · _fmtCcy hardened vs numeric input
- ✅ v228 — SOTP valuation: (EBITDA × multiple) + Asset + Cash − Debt · exit year selector per scenario · KPI hero MOIC/IRR/ROI linked to live SOTP calc · dilution scenarios (100%/75-25/50-50) in modal + one-pager + PNG · PNG rebuilt with SOTP figures · duplicate returns card removed · fix: _opFmt before-define ReferenceError silently killed entire one-pager render
- ✅ v229 — 2-page PDF export (new window, full A4 HTML, page 3 disclaimer) · BTC P&L fixed: ×2000 → dynamic notional ($350÷stop%) across all 5 locations (sigClose, auto-close monitor, AMD50 cap, suppress-check, renderHistTable) · min 1.5× RR enforced server-side · RR colour-coded (red/amber/green) · 1-per-strategy-per-asset rule — ICT/AMD50/LIQVOL/MEANREV/ORB_5M/ORB_15M each independent, no stack within same strategy across HTF/LTF/SCALP · 8 historical trade P&Ls corrected in DB · BTC cap check uses stop% not ×2000
- ✅ v230 — Telegram todo/agenda fix (wrong columns) · 20:00 schedule added · logger defined in AGENT00.py · resilient dispatch wrapper
- ✅ v231 — MGC $/pt docs fix · risk cap alignment · EOD sort + recalculate endpoint · Daily P&L chart labels · $0 gap fill · Import Deck restored + 8192 tokens · HMA parent pill + Health/Tech SPAC pipelines (zero duplication) · LS Headlines feed (15 RSS, 5 neuro-dedicated, 80+ keywords, tag filters)
- ✅ v232 — Investor Intelligence: 3 DB tables (investors, deal_investors, investor_tags) · 12+ API endpoints · profile view + tags + deal linking · sector×stage matrix · co-investment map · multi-select Type+Tag filters · 🤖 AI Extract from Deals · 🔍 Research Sector (5-batch, 40/batch, geographic quotas, must-include names) · portfolio companies field · controlled tag vocabulary + normalization (40+ variations) · 1.5× RR enforced at 4 layers (create, AMD50, suppress-check, monitor backstop)
- ✅ v236 — v3 Phase 2 started: Expectancy engine (
/api/trading/expectancy— per strategy × asset × session buckets with R-multiple expectancy, profit factor, confidence levels, dynamic sizing recommendations, edge decay detection) · Strategy Health Dashboard ("Edge" trading tab — heatmap, sizing legend, decay alerts, grand totals) · Edge gating in signal creation + suppress-check (auto-blocks signals from negative-expectancy buckets with ≥20 trades) · Kill zone × asset session heatmap · Confluence factor analysis (/api/trading/confluence-analysis— per-factor win rate, score breakdown, best factor pairs) · Auto-journal on edge gate blocks - ✅ v237 — Regime-specific expectancy (VOL×TREND heatmap + per-asset drilldown) · Regime-aware edge gating (signal_create + suppress-check) · MFE/MAE live tracking (60s monitor, signal badges, Edge analytics with capture ratio) · Confluence fix (editor on closed trades, NLP auto-backfill, one-click endpoint) · Regime backfill from historical yfinance data · Post-trade diagnosis system (4-grade panel: thesis/entry/management/rules 1-5, loss attribution: BAD_THESIS/BAD_TIMING/BAD_SIZING/RULE_VIOLATION/MARKET_REGIME/UNLUCKY) · Strategy Health Report (
/api/trading/strategy-health— per-strategy grades, loss breakdown, weekly trends, auto-recommendation: PROMOTE/STANDARD/DEMOTE/PAUSE/RE-TEST) · Edge decomposition on Edge tab · Unified 9-axis underwriting framework for deals (Market/Founder/Technical/Timing/Capital/Regulatory/Exit/Downside/Strategic) · Server-side P&L computation on trade close (never trusts client $0) · 60s live P&L refresh · EOD stale signal cleanup (auto + manual Clear Stale button, safe — never touches trades with results) · Telegram notifications on all close paths (manual, auto-TP/SL, EOD) with strategy tag + entry/close price · Market conditions bar recalibrated to 4H/1H only (ignores 15M noise) · Trade ID shown in history table · ORB strategy (Opening Range Breakout) — 5m + 15m variants in single ORB pill, MNQ/MES/MGC/MCL, scores 0-10, auto-creates at ≥7, ORB_5M / ORB_15M independent slots, full integration (Performance pills, Trade History filter, Edge tab, Strategy Health,TRADING:ORB:LATESTmemory, confluence tags ORB_Break / ORB_Retest / ORB_Volume) - ✅ v238 — ORB refactor — auto-create removed (scanner is now a pure suggestion engine, no DB inserts on scan, no Telegram on scan) · 5m/15m deduped by asset+direction (higher score wins, 15m on tie for cleaner signal) · staleness flag per variant (
ORB_5Mvalid until 10:35 EST / 60min after 9:35 OR close,ORB_15Mvalid until 11:00 EST / 75min after 9:45 OR close) · expired cards show ⏱ EXPIRED badge and hide Create Signal button ·TRADING:ORB:LATESTmemory reflects deduped suggestion-only state - ✅ v239 — Hero counter ghost-count fix — renderSignalTable now skips
signal_state='SUPPRESSED'rows in the openCount/pendingCount/win/loss/byTier loop, fixing the "2 live · 1 awaiting entry" phantom display when no real active trades exist (root cause: counter loop only inspectedtrade_results.result_status, never checkedsetup_alerts.signal_state, so SUPPRESSED rows with stale OPEN/NULL result_status were counted as live) - ✅ v240 — Kill Zones & Session Rules — 4 canonical ICT kill zones defined in ET (source of truth:
ICT_KILLZONES_ET): London 02:00–05:00 · NY Open 08:30–11:00 · NY PM 14:00–15:00 (observe-only) · Asia 20:00–24:00 · Rule 1 —api_signal_createwith strategy=ICT rejects entries outside all 4 kill zones (KILLZONE_GATE_BLOCKED) · Rule 2 — NY PM is observe-only by default; rejects withPM_OBSERVE_ONLYunless user passespm_override=truein the POST body, override trades count as real and are journaled as PM_KILLZONE OVERRIDE · Rule 3 — ICT force-close in monitor loop: for FILLED ICT signals, computesforce_close_at = MAX(killzone_end_of_fill_session, fill_time + 60min), closes via same path as EOD withclose_source='KILLZONE_EXPIRY', TP/SL/manual close still fire first, Telegram sends ⏱ ICT Killzone Expiry notification with zone name · Rule 4 — Last-hour gate 15:30–16:30 EST rejects all non-BTCapi_signal_createwithLAST_HOUR_BLOCKED, BTC exempt · ET-based helpers (_now_et,_ict_killzone_for_et,_is_pm_killzone_et,_is_last_hour_et,_ict_force_close_at_et) avoid UK-DST ambiguity · all four gates auto-journal blocks for later audit - ✅ v240.1 — AGENT02 gate parity — ported v240 Rules 1/2/4 into
AGENT02_trading.py _log_alert()so TradingView-fed ICT signals are subject to the same discipline as manual web-UI entries (was previously a bypass:_log_alertdoes a directINSERT INTO setup_alerts, completely skippingapi_signal_create) · same killzone definitions, same last-hour window, same ET-based helpers (prefix_v240to avoid namespace collision with existing AGENT02 helpers) · PM observe-only in AGENT02 ALWAYS rejects because there's no user-in-the-loop override channel for TradingView ingestion — manual override remains web-UI only · helpers are duplicated betweenAGENT00_web.pyandAGENT02_trading.py— documented with CRITICAL comment blocks in both files warning that killzone changes must update both · Rule 3 (force-close) was already working for TradingView signals because it operates onsetup_alertsregardless of insertion path · frontend error handling (PM_OBSERVE_ONLY,LAST_HOUR_BLOCKED,KILLZONE_GATE_BLOCKED) added tocreateStrategySignalandcreateAmd50Signal: PM offers purple override button with confirm dialog, last-hour/killzone show grey disabled blocked button - ✅ v240.2 — BTC 24/7 carve-out — BTC is now fully exempt from all four session rules ·
api_signal_createskips Rule 1 (killzone) and Rule 2 (PM observe-only) for BTC · Rule 3 force-close monitor excludes BTC viaAND sa.asset != 'BTC'· Rule 4 already exempted BTC ·AGENT02_trading.py _enforce_session_rules_v240returnsBTC_EXEMPTearly ·_fill_checker_loopno longer gated to Mon-Fri 07-22 UK — runs 24/7 so BTC fills are checked on weekends and overnight (futures assets have stale yfinance feeds outside market hours so no spurious fills) · rationale: BTC is 24/7/365 and is not bound by US session killzones — the killzone discipline is an equity-index/futures concept, not a crypto concept - ✅ v241 — Trade History audit fixes — Change A:
sigClosefallback path no longer silently proceeds with undefinedsigwhen cache+API both fail — now shows error toast and aborts, preventing the NaN-to-$0 LOSS row pattern that caused manual closes to occasionally vanish P&L · Change C: auto-close monitor now persiststrade_results.target_hit/stop_hiton every TP/SL hit (was previously computed locally and discarded) ·/api/signals/historySELECT extended to return those columns · zero ripple risk, confirmed via grep that nothing else currently queries them · Change D:renderHistTableclose-timestamp placement rewritten — was gated by!close_pricewhich post-v237 never fires because every close path writes close_price, so the ✓/✕ timestamps under TARGET/STOP had been silently suppressed on all modern trades · new logic drives placement byclose_source+ target_hit/stop_hit: AUTO+TP shows ✓ under TARGET, AUTO+SL shows ✕ under STOP, MANUAL shows ✎ under CLOSE, EOD shows 🏁, KILLZONE_EXPIRY shows ⏱ · legacy rows (pre-Change-C, target_hit/stop_hit null) fall back to result_status · timestamp prefersclose_time_str, falls back toclosed_at[11:16]· Change E:confluence_componentsJSON rendered as cyan tag badges on history rows — top 3 with "+N more" overflow counter · history table only, live signals table unchanged per spec · data was always in the payload, renderer just never used it · Change B (not a code edit): legacy $0 P&L backfill SQL provided separately, scoped to trades whereclose_price IS NOT NULL, uses identical formulas to v237 server-side rescue, 3-step workflow (preview → update → verify) for safety - ✅ v241.1 — AGENT02 close-path parity fix — root cause of trades #120/142/164/166 showing no close timestamp:
AGENT02_trading.py _check_fills_oncetarget-hit and stop-hit blocks only wrotetrade_resultsand completely bypassedsetup_alerts, leavingclosed_at,close_source, andclose_priceNULL on every TradingView-fed trade that closed via AGENT02 monitoring · same class of bypass as v240.1 (AGENT02 skipping web-UI discipline) · fix: both blocks now also UPDATEsetup_alertsSETsignal_state='CLOSED',closed_at,close_source='AGENT02_TP'or'AGENT02_SL',close_price,close_time_strin the same transaction as the trade_results update ·renderHistTableextended to recognize AGENT02_TP/SL as valid auto-fill sources (✓ under TARGET / ✕ under STOP) and to fall back to result_status when close_source is empty or AGENT02_LEGACY (defensive for backfilled legacy rows) · one-time DB backfill SQL provided separately for the 10 affected legacy rows (4 with NULL closed_at usetr.created_at, 6 with populated closed_at but missing close_source getclose_source='AGENT02_LEGACY') - ✅ v255–v256 — Systematic P&L OS, Performance Mega-Build, Equities Intelligence, Memory Automation — Performance — Systematic P&L pill: new
[Systematic]pill (purple, right of Oil) shows all-assets performance with theoretical P&L (stop/target hit, no manual close) · backend:/api/performance?mode=theoreplaces everypnl_dollarswith computed stop/target P&L using asset multipliers (GC:10, CL:100, MNQ:2.0, ES:5.0, BTC:10000/ep) ·_compute_risk_analytics()extended withpnl_modeparam — when "theo", all metrics (equity curve, distribution, tail risk, payoff, regime, path dependency) use theoretical P&L ·/api/risk-analytics?mode=theobypasses cache for theo · frontend passes&mode=theoto both performance and risk-analytics APIs whenwindow._perfMode==='theo'· banner: "SYSTEMATIC P&L — What if every trade hit its stop or target — no manual close" · Systematic Trade Log: full execution-history layout (13-column grid) below risk analytics · matches Execution History exactly: confluence score badges, factor tags (top 4 + overflow), strategy badges, rationale text, WIN/LOSS status · three P&L columns: Actual, Theo (with target hit/stop hit label), Diff · scrollable (400px max-height), filter pills by asset + strategy · hidden from PNG/PDF captures via#theo-trade-logexclusion · Compare pill: new[Compare]pill (cyan, right of Systematic) ·/api/performance/comparecomputes both actual and theo stats for ALL + each asset · 13-column comparison table: Asset, Mode (Actual/System), Trades, W/L, Win%, P&L (with diff inline), Return%, Sharpe, Sortino, Max DD, Best Day, Worst Day, Avg/Day · dynamic insight box comparing systematic vs discretionary performance · Performance — Min/Max/Avg Daily P&L: new 3-card row on ALL performance pills: Best Day, Worst Day, Avg/Day · backendmin_daily_pnl/max_daily_pnladded to/api/performance· Performance — Asset Filter Pills: pills moved ABOVE equity curve · only shown on All Assets + Systematic views (individual asset pages preserve original side-by-side layout) · clicking an asset pill now reloads risk analytics (equity curve + all panels) AND confluence for that specific asset · layout check uses_isSingleAssetflag to exclude THEO from single-asset rendering · Performance — Context Panels: dynamic context boxes added to P&L Distribution (assesses mean vs median, skew direction, kurtosis) and Path Dependency (current drawdown state, equity stability, recovery times) · Execution History — Theoretical P&L Column: muted second line under actual P&L showingtheo +$350 (+$59)for every trade · WIN: (target-entry)×mult, LOSS: (stop-entry)×mult · Execution History — Event Day Tags: trades on major US economic release days (CPI, PPI, PMI, FOMC, GDP, NFP, ISM) get redEVENTbadge below date · uses cached Forex Factory calendar data · Overview — ETF/Futures Dedup: 20+ ETF→futures mapping (GLD→GC, USO→CL, QQQ→MNQ, SPY→ES, IBIT→BTC) · if futures shown in hero movers, corresponding ETF skipped · Overview — Topix Futures Deleted from backend fetch + frontend ORDER · Overview — VIX/UST10Y Net Change: % Chg, MTD, YTD, 12M columns now show net point changes instead of dashes (VIX/yields already in %) · BTC Treasury News Expanded: 4 new RSS feeds (CoinDesk, Forbes Crypto, Seeking Alpha, Reuters Business) · yfinance headlines per ticker 10→20 · cutoff window 7d→14d · H100 confirmed in companies list · Memory — Auto EOD Scheduler: new_eod_scheduler_loopdaemon thread runs at 22:00 UK weekdays · auto-triggersrun_eod_summary()writing TRADING:EOD:* and TRADING:PERFORMANCE:* · auto-weekly summary on Fridays · Memory — 30-Day Asset Feedback:POST /api/eod/write-performance-feedbackstandalone endpoint · writes directly via SQL (bypasses AGENT02 import chain) with per-asset stats, tier/direction breakdown, learning instructions · removed destructive 28-day gate that was deleting entries (usedsignal_state='CLOSED'which returned no rows) · Memory — Weekly Summary Fix:all_factorsreferenced-before-assignment bug fixed (moved definition before summary dict) · endpoint made synchronous for debugging with error propagation · Equities Intelligence — Indices Top 10 pill (default view): NASDAQ 100 top 10 by weight (AAPL 8.9%, MSFT 8.1%, NVDA 7.5%...) + S&P 500 top 10 by weight · columns: Name, Sector, Weight, Price, %1D, Mkt Cap, %MTD, %YTD, %12M · dedicated news feed with BTC-treasury-style ticker filter pills · Equities — Watchlist Enhancements: P/E ratio + Market Cap columns added (usest.fast_infonot slowt.info) · ticker filter pills above table · news feed below with ticker filters · Equities — Leopold Portfolio pill: full Q4 2025 13F holdings for Situational Awareness LP (28 positions, AUM $9.3B, AI/AGI focus) · columns: Holding, Type (COM/CALL/PUT), Price, %1D, Shares, Value($K), Weight, P/E, %MTD, %YTD, %12M · options color-coded (CALL=green, PUT=red) · dedicated news feed with ticker filters · Unified News Filter Design:_renderEqNews(el, articles, countId, filterId)reusable function · BTC-treasury-style filter pills:[ALL 45] [AAPL 8] [MSFT 6]...· orange active state with colored background/border · sort bypub_tsdescending on both initial render and filter clicks ·/api/yf-news/{ticker}endpoint: 10 most recent headlines per ticker via yfinance · PDF Standardization:_capturePagePDF(containerId, title, filename)reusable function · captures original DOM (not clone), hides .png-dl/.pdf-dl during capture · branded header with orange separator · "Private and Confidential property of Donald Ewer" footer on EVERY page · PNG/PDF Icon Standardization: 28 PNG buttons + 9 PDF buttons standardized across all pages ·.png-dl20×20 white SVG download arrow ·.pdf-dl20×20 white SVG document+arrow · Trading Rules v255: Signal creation rules (C: no dup today, D: single best per asset, E: no opposite to open, F: skip if open today, G: HTF blocks LTF/SCALP, H: max 2 pending/day) · Fill checker rules (A: same asset open→manual, A2: opposite dir→warn, A3: HTF open+LTF/SCALP→manual, B: score<5→manual) · Asia kill zone changed to observe-only · Critical Bug Fixes: nested backtick in template literal (EVENT tag), duplicateconst r12Up(VIX/UST10 code), trade log in wrong function scope (crashed all performance pills),all_factorsbefore assignment (weekly summary),tr.close_sourcecolumn doesn't exist, 28-day gate deleting performance feedback,t.infoblocking (replaced witht.fast_info) · 55,100+ lines - ✅ v250–v251 — BTC Options OS: Full rebuild with Deribit live API + Treasury Risk Management System — Deribit API integration:
_fetch_deribit_live()REST calls toGET /api/v2/public/get_index_price+get_book_summary_by_currencyfor live spot, mark_iv, OI on all BTC options · 60s cache · simulated fallback if Deribit unreachable · symmetric strike grid (5+ATM+5, 65–140% of spot) · tenor selection spread across full curve (1W to 1Y via target_days matching) · interpolation for missing strikes · data source badge (green DERIBIT LIVE / amber SIMULATED) · 6-pill architecture: Overview · Surface Lab · Screener · Treasury Risk · History · BIG · Overview: 8-tile hero + 6-tile KPI row · regime engine (6 states: CARRY RICH, EVENT RISK, CRASH HEDGE BID, BULL CALL SKEW, COMPRESSED, DISLOCATED WINGS) · market context with gamma/OI commentary · IV surface heatmap (8-stop cinema-grade gradient) · 25d/10d skew tables · ATM term structure chart with contango/backwardation assessment · 7 strategy cards · PDF + PNG exports · Surface Lab: full surface explorer (420px canvas with Retina scaling) · smile slices with multi-select tenor toggles · forward vol ladder with context notes · OI concentration (horizontal stacked bars, call/put split) · GEX by strike (BS gamma computation, gamma flip detection) · PNG export · Treasury Risk (institutional-grade):options_positionsDB table with entry Greeks · position entry form with strategy tags, moneyness quick buttons (OTM/ATM/ITM), auto-pricing from live BS/IV, premium % display, trade date/time, expiry dropdown with standard + Deribit tenors · position cards with 6-column financials (premium, P&L $/%, daily theta, return on capital, collateral in USD + BTC, break-even), entry vs current Greeks side-by-side, risk tags, BTC/sats return, attribution · Hero (3 rows × 5): Row 1 = Holdings/NAV/Premium/P&L/Eff.Strikes · Row 2 = Covered%+BTC+sats/VaR BTC-only/VaR Net/Options VaR Impact/Max Loss 99% · Row 3 = Net Delta BTC/Options Delta BTC/Gamma $/1%/Vega $/1vol/Theta $/d · Portfolio Greeks: 1st order (delta, gamma, theta, vega) + 2nd order (vanna, charm, vomma, speed) + coverage · Payoff diagram: 420px canvas, orange portfolio line, grey dashed BTC-only, green fill above zero / red below, SPOT marker · VaR: parametric VaR (1d/10d × 95%/99%) for BTC-only, net portfolio, and options impact % · Expected Shortfall (CVaR) 95%/99% with ES/VaR ratios · historical VaR chart (180d rolling 30d) with BTC price overlay · Theta P&L runway: projected cumulative income at 1d–90d forward · DTE traffic lights: critical ≤7d (red) / warning 7–30d (amber) / safe >30d (green) · What-If simulator: preview trade impact on delta/gamma/theta/vega/covered% without committing · Scenario NAV cube: 11 spot shocks × 7 vol shocks with $K P&L · Greek stress: 5 scenarios (BTC ±25%/10%/flat) · Collateral stress runway: margin % under spot-down/vol-up · Assignment ladder: probability per short position from BS d2 · Governance concentration: overwrite%/put-secured% vs limits, expiry + top-position concentration · Greek buckets by tenor: delta/gamma/theta/vega/vanna/charm by DTE bucket · Snapshot Greeks button: overwrites entry Greeks with current live surface · BIG pill: Metaplanet BFC 2026 deck data (40,177 BTC treasury, ¥8.58B BIG rev, capital instruments, roadmap) · Personal Finance: bank column + custom tags + debit/credit formatting · Design constants updated: section headings 13px/700/WHITE, KPI values 18–20px/800/mono, table headers 11px/#fafafa, body 12–13px, all numbers max 2dp with commas, $ signs, +/- prefix, canvas devicePixelRatio scaling · 44,600+ lines - ✅ v249.20 — Google News merged into BTC TC feed + ETF holders fallback + wealth history FX fix + BTC holdings update — Google News consolidation: removed separate Google News card from BTC TC tab, merged into existing treasury company news feed ·
loadBtcTcNews()now fetches/api/btc/treasury-newsAND/api/btc/google-newsin parallel, deduplicates by title prefix, re-sorts by date · G·NEWS filter pill added to unified feed · ETF holders: addedmutualfund_holdersfallback wheninstitutional_holdersreturns empty for ETFs · Wealth history FX corruption fix: root cause —_fetch_fx_rates_for_snapshot()returned{"GBP":1.0}on internal Flask call failure, treating SEK 4.4M Björnrike valuation as £4.4M GBP · three-layer fix: (1) hardcoded fallback FX rates (SEK=13.5, USD=1.27, CHF=1.12 etc), (2) sanity check rejects >50% day-over-day swings on save, (3) boot-time auto-purge deletes snapshots >2× minimum net_worth · BTC holdings update: hardcoded fallbacks updated to April 2026 values (MSTR 780,897, XXI 43,514, Metaplanet 40,177) · treasury-holdings endpoint converted from per-request fetch to 30-min cached background worker from bitcointreasuries.net (API first, HTML scrape fallback) - ✅ v249.19 — EDGAR removed + panel reorganization + institutional holders — SEC EDGAR deleted entirely: backend (cache, worker, CIK map, endpoint) + frontend (JS loader/renderer/pills) — SEC blocked/rate-limited, dead code · Panel moves: Google News card Overview→BTC TC tab, Asia News card Overview→BTC Asia tab (replaces placeholder) · NEW: Top 10 Institutional Holders via
yf.Ticker.institutional_holders(13F-sourced via Yahoo Finance, no API key) ·GET /api/btc/holderswith 60-min TTL cache, ThreadPoolExecutor parallel fetch for 6 BTC TC companies + 5 ETFs · returns holder name, shares, % outstanding, value, date reported · two cards: BTC TC tab (companies) + ETF tab (ETFs) with ticker pills + grid renderer - ✅ v249.18 — Sweden P&L model correction + SWC.L GBX fix — FUNDAMENTAL P&L FIX: the
commfield IS net revenue received (advert minus platform fee), NOT a cost · previous code subtracted it, inverting the entire P&L · column renamed "Less Comm" → "Net Revenue" ·netProfit = netRevReceived − totalCosts· hero restructured: 6 cards (Gross Advert → NET REVENUE → Bokavem → Op Costs → Tax → Net Profit) · stats strip added: HIGHEST WEEK / AVG PER WEEK / LOWEST WEEK with dates · auto-calc ⚡ fixed:bokavem = advert×25%,comm = advert − bokavem· waterfall: Gross Advert → −Bokavem → =NET REVENUE → −Costs → −Tax → =NET PROFIT · SWC.L GBX fix: LSE/AQSE stocks trade in pence not pounds, price divided by 100 for mkt cap, displays as "36.85p" - ✅ v249.17 — Sweden audit fixes + breakout 1D — BUG 1 (CRITICAL):
bookedRevenue=0when no BOOKED status — now treats all advert>0 rows as booked when no explicit status · BUG 2: comm/bokavem scope inconsistency fixed · deleted Per Wk £ / Per Person £ columns · revenue=green, costs=red with − prefix, GBP sub-lines on all hero cards + totals + waterfall · tax changed from violet to red · Breakout 1D: addedprev_high/prev_lowfrom daily bars to backend + frontend TFS array (['1D','4H','1H','15M']) - ✅ v249.1 — Sweden tab rebuilt as multi-year ledger from real spreadsheet data — replaced the placeholder 3-tier seasonal calculator with a full multi-year editable ledger seeded from the user's actual Börnrike spreadsheet (2021/22 cost-only, 2022/23 + 2023/24 with full booking + cost data) · Year switcher pills: top-right pill row shows all seasons with inline net-profit tag (+/− SEK k), click to switch active year, + Add Year prompts for new label and seeds an empty 22-week template · Booking grid: 14-column editable table per ski-season week (50−52, 1−17 = ~22 weeks Dec→Apr) with WEEK / PEAK toggle / STATUS cycle (BOOKED / EWER / empty) / DAY / START / END / DAYS / ADVERT (SEK) / LESS COMM / BOKAVEM / PEOPLE / PER WK £ / PER PERSON £ / NOTE · row background tints lavender if booked, faint pink if peak · ⚡ button per row auto-computes commission as 25% of (advert − bokavem) · Cost ledger: 11 fixed line items with vendors (Fyrfasen AB / Härjedalen Ko / Björnrike SAM / IKEA / LF Jämtland / Skatteverket etc) · per-row SEK input + auto-converted GBP · tax row highlighted violet · KPI strip (8 cards): Gross Advert / Booked Revenue / − Commission / − Bokavem / Net Revenue / − Op Costs / − Tax / NET PROFIT (color-graded green/red, GBP underneath SEK) · Year-over-year bar chart: 3 bars per year (gross green / costs red / net green-or-red), click any year to switch active · Property & FX panel: editable SEK→GBP rate, default commission %, area m², rooms, beds · avg per booked week + avg per person callouts · P&L waterfall: gross → commission → bokavem → net rev → op costs → tax → NET PROFIT line by line in SEK + GBP · State management:
window._swedenModeldeep-cloned from defaults so edits don't pollute the seed; year add/delete/reset operations all wired · NOT changed in v249.1: still no DB persistence (POST /api/pfin/sweden snapshot endpoint queued for v250); user can fill in 2023/24 actuals as season unfolds · previous simplified Sweden 30%-flat tax calc removed in favour of per-year actual tax line item from Skatteverket - ✅ v249 — Sweden tab + BTC Options/Credit placeholders + manual entry-price + signal score columns — Personal Finance → Sweden tab: new pill right of Amy hosting a full Börnrike ski-house P&L calculator · editable inputs for 3-tier seasonal weekly rental rates × weeks (high/mid/low season), mortgage balance & rate (interest auto-computed), utilities/insurance/HOA/maintenance, cleaning per turnover (auto-multiplied by total weeks), agency mgmt fee % · simplified Sweden non-resident tax: 30% flat on (gross − SEK 40k standard deduction − 20% of gross) · SEK→GBP conversion editable · live KPI strip (gross / total costs / tax / net post-tax) and full waterfall P&L summary panel · in-memory state via
window._swedenModel— no DB persistence yet, snapshot endpoint deferred ·showTab('sweden')hides standard pfin-hero/sections/add-btns and reveals dedicated Sweden panel · BTC Intelligence → Options + Credit pills: two new placeholder tabs right of BTC Asia matching the Bloomberg visual language · Options stub: IV surface / block flow / structured plays cards · Credit stub: convertible tracker / collateralised lending / mNAV premium cards · both wired intoshowBtcTabas no-op tabs ready for content · Manual entry-price correction: ICT signals fire with fixed entry/stop/target but ORB/AMD50/LIQVOL/MEANREV require manual confirmation and actual fills can differ from suggested entry by ticks/points · newPATCH /api/signals/<id>/entry-priceendpoint accepts{entry_price: float}· v246.15 lock honoured: refuses with HTTP 409 if signal_state=CLOSED or result_status in (WIN,LOSS) since server-authoritative P&L would be silently invalidated · recomputesrisk_rewardfrom new entry vs existing stop/target · writesdecision_journalentry taggedENTRY_PRICE_CORRECTIONwith old→new delta and new R:R for audit trail · frontend: small ✓ button on Open Trades Entry cell, gated to non-ICT & non-closed only ·editSigEntry()handler prompts for fill price, warns if >5% deviation, toasts result · Signal score column: new dedicated column in both Open Trades grid (12→13 cols) and Trade History grid (12→13 cols) · readsconfluence_score(0-9) already populated by ICT generator · color graded green ≥6 / amber 3-5 / red 1-2 / dash if 0 · history SELECT extended withsa.confluence_score· NOT changed in v249: Telegram code still pending (deferred from v248 audit), TV webhook still unauthed, MFE/MAE backfill still queued, no DB persistence on Sweden inputs, no real content in Options/Credit placeholders - ✅ v248.1 — Security restoration + repo sync + handoff — Critical security fixes:
DASHBOARD_PINrestored in .env (was empty since recovery, dashboard had been wide open) ·SECRET_KEYset to fresh 64-char hex value viasecrets.token_hex(32)· PIN screen verified working post-restart · Repo sync incident: Mac was 95 commits ahead of GitHub for an unknown duration (push hadn't happened in days) · pushed all 95 commits in one batch including the AGENT00.py recovery + v247.19* + v248.0 changes · PC sync:git pullon PC also deleted a stale 163KBagent00.dbstub that had been tracked since project setup, replaced with proper untracked behavior · Git history privacy finding:agent00.dbhad been accidentally committed in 3 commits historically (project init Mar 11, agent rename Mar 14, v237 release Apr 6) · private repo so impact limited but file is permanently in history · .gitignore now hardened against agent00.db / *.db-* / *.bak_* patterns to prevent recurrence · Backup files moved:AGENT00.py.bak_v247.19d_pre_dbfix+AGENT00.py.bak_v247.19e_pre_ff+patch_agent00_ff_econ.shrelocated from working tree to/backups/recovery/· MFE/MAE diagnosis: investigated empty MFE/MAE columns — mechanical limitation, not a bug — the_monitor_open_signals60s tick rate combined with yfinance 15-min delay means trades closed within 5-30 minutes (typical manual-close pattern) get sampled at most 5 times with stale prices — need realtime data feed or post-close backfill from 1-min OHLCV bars to fix properly (Option 3 backfill in_enrich_trade_resultis cheapest, queued for v249) · Decision Journal usage gap: auto-journaling firing correctly on every signal create/close/suppress/gate-block but the human-in-the-loop fields (confidence, outcome, retrospective) are empty across all entries — system half is working, behavioral half (Friday review ritual) needed to unlock value · Developer section: page-sub bumped v248 → v248.1, history entry for this work added · Handoff document:AGENT00_HANDOFF_v243_to_v248.mdwritten covering the full arc since the v246.22 handoff (BTC sweep, command surface, Neuro rebuild, earnings, econ calendar, BTC Asia, AGENT00.py disaster + recovery, security audit) · NOT changed in v248.1: Telegram code (still pending v249 cleanup), TV webhook auth (still no HMAC), MFE/MAE backfill (deferred to v249), all background workers - ✅ v248 — System audit + econ calendar refinement + Developer overhaul — Econ calendar (Forex Factory): filter narrowed to
impact=High(red folder) + central-bank events only (FOMC, ECB, BOE, BOJ, PBOC, rate decision, press conference, meeting minutes, monetary policy, MPC) via new_CENTRAL_BANK_PATTERNStuple in_refresh_ff_econ_cache· drops the medium-impact noise (PMI revisions, housing surveys, sentiment) across all 5 regions · expect 8–15 events/week vs prior 50+ · sort changed to today-first then chronological via(0 if e["is_today"] else 1, e["datetime_uk"])tuple key so today's releases group at top of card regardless of time-of-day · Audit findings logged in Dev To-Do: (1)DASHBOARD_PINempty in env so PIN gate is bypassed — entire app open to anyone reaching :8080, urgent restore needed · (2) TradingView webhook/api/tv/webhookhas zero auth — anyone with URL can POST arbitrary alerts that Telegram-forward and store in DB · (3) Telegram audit: 8 send-points mapped (TV webhook, signal create, AMD50 scan endpoint, LS digest, _monitor_open_signals 4×, signal state) —_send_telegramat L12522 is undefined (LS digest crashes), AMD50 scanner endpoint exists but isn't scheduled, no drawdown alert wired · (4) Architectural risks: AGENT00_web.py 36k lines becoming unwieldy, no DB retention/archive policy, no index audit, 24 background threads with no observability, no log rotation, single SSD failure = total loss until Time Machine drive arrives today · Developer section refresh: page-sub bumped from v224 → v248, Dev To-Do list expanded from 15 to 25 items adding security findings, Time Machine pending entry, Telegram cleanup task, architecture/retention/index/log-rotation TODOs · NOT changed in v248: Telegram code (audit only, cleanup deferred to v249), PIN config (user must set in .env), all background workers untouched · logger now reports "cached N High+CB events" to make filter visible in agent00_web.log - ✅ v247.19e — Forex Factory econ calendar + earnings released split — replaced procedural day-of-month econ calendar generator with real data from Forex Factory's free weekly JSON feed (
nfs.faireconomy.media/ff_calendar_thisweek.json) · new_FF_ECON_CACHE+ 30-min background worker (rate limit 2 req/5min, our cadence is 1/30min, well under) ·_refresh_ff_econ_cachehandles HTML "Request Denied" rate-limit response gracefully (keeps stale cache) ·_parse_ff_datetime_to_ukconverts ET-with-offset to UK local naive via zoneinfo (pytz fallback) · new endpoint/api/econ/calendar/v2, old/api/econ/calendarkept dormant as one-release safety fallback · frontend rewrite: 7-column grid (impact dot/date/time/event/previous/forecast/actual), today-in-red rule using server-computedis_todayflag, beat/miss badges via_econBeatMissnumeric parse, USA default region pill · earnings card split into Pending (noeps_actual) + Released (actual populated, muted opacity 0.72) subsections with section headers and counts · Mac-side patch scriptpatch_agent00_ff_econ.shupgrades AGENT00.py_write_econ_calendar_to_memoryto use same FF source, drops broken investing.com scrape and stale KNOWN_EVENTS array - ✅ v247.19d — BTC Asia tab + AGENT00.py recovery + _db fix — new BTC Asia pill in Bitcoin Intelligence tab row (right of ETF) · intelligence hub for Philippines BTC treasury company advisory deal · hero with 6 macro stats: Metaplanet (40,177 BTC, 3rd globally) / PH crypto adoption (#8 globally, 11M users) / remittance TAM ($38.3B/yr) / crypto txn volume (~$40B/yr) / Strategic Reserve Bill HB 421 (10k BTC) / CASP framework (₱100M min) · comparable treasuries table (Strategy/Twenty One/Metaplanet/PH BTC Co TBD) · 6 content sections stubbed: thesis, deal structure (4 vehicle candidates), regulatory environment, investor target profile, research vault, news feed · investor cross-linking deferred per user instruction · Disaster recovery: AGENT00.py was silently deleted in v246.23 Risk Analytics commit dc7ce7f (2,202 lines lost); recovered from git blob
5cd7f43cviagit cat-file -pafter grep throughgit rev-list --all --objects· launchd plist patched with-uflag for unbuffered Python stdout so scheduler tick logs become visible in agent00.log ·_write_econ_calendar_to_memorybug fixed: function usedwith _db() as conn:but bot module had no top-level_dbhelper — injected local sqlite3 + contextlib context manager + replaced 2 latentdatetime.now()calls with_dt.now()alias · verified via direct function call test, function now writes[CALENDAR] Written N eventsto memory cleanly — Neuro Investment Intelligence page rebuild — deleted the prior minimal Neuro panel (a single headlines panel) and rebuilt it as a full Bloomberg-style investment-thesis surface · Hero section: violet gradient background with subtle corner radial glow, headline "The Brain Is the Next Great Platform", positioning line on structural vs cyclical tailwinds, 4 frosted-glass KPI tiles (TAM Today $15–19B / TAM 2035 $47–67B / Blended CAGR 11–13% / Geography NA >40% + APAC fastest-growing), secondary stat strip ($33B broad market by 2031, $100Bs US annual neuro disease cost, 2x device revenue by 2035, 10yr compounding window) · Macro Thesis row: two side-by-side panels — "Four tailwinds converging in the same decade" (numbered 01–04: demographics / adaptive closed-loop DBS / BCIs crossing revenue line / neuroimaging decentralising) and "Why Payers Reimburse" (cost driver list + highlighted investor takeaway on ambulatory / continent / cognitively functional framing) · Subsectors grid: 8 cards in 2-column layout, each with numbered 01–08 badge, status badge (WORKHORSE / $19B→$67B / 16–18% CAGR / MID-TEENS CAGR / STRATEGIC / CONSUMER EDGE / SOFTWARE-LED / EMERGING), 1–2 sentence thesis, mono-font technology footer · ordered by current revenue weight: Neuromodulation → Devices aggregate → BCI → Diagnostics → Prosthetics → Monitoring/Wearables → Rehab → Cognitive/Neuropsych · Neuromorphic / neuro-inspired hardware included as a dashed-border enabling-tech footnote (upstream layer, not yet a clinical segment) · Headlines feed preserved: - ✅ v246.23 — Risk Analytics module on Performance page — new full daily-P&L statistics suite rendered as 8 stacked panels beneath the Drawdown from Peak chart · Backend: new
_compute_risk_analytics()pure function readssetup_alerts ⋈ trade_results, rolls up daily P&L, carry-forwards zero returns on trade-less weekdays (industry standard for time-series stats), compounds equity from fixed $100,000 starting NAV using prior-day EOD → next-day SOD (industry-standard time-weighted approach) · new_RISK_ANALYTICS_CACHE+ 30-min worker with belt-and-braces exception handling and tick logging (v246.22 daemon-death lesson) · new_risk_sanitize()recursive NaN/Inf scrubber so jsonify never chokes · new/api/risk-analyticsendpoint, cache-first for default ALL/$100k, on-demand compute for filtered queries · newmarket_eventstable (date PK, event_type, severity) for manual stress-day tagging (CPI/FOMC/NFP/BTC_CRASH) · Metrics: distribution moments (mean/median/stdev/min/max + Fisher-Pearson bias-corrected skew + excess kurtosis, pure-Python no scipy dep), 20-bin histogram, parametric VaR/ES at 95/99 (normal assumption, z-scores 1.6449/2.3263), historical VaR/ES at 95/99 (linear-interp percentile, empirical tail mean), per-day payoff asymmetry (hit rate, payoff ratio, profit factor, expectancy/day, avg win/loss day, best/worst day), serial dependence (ACF lag 1-10 on raw + absolute returns for volatility clustering, Ljung-Box Q at lag 5 and 10 with χ² critical values, 95% confidence band), regime breakdown (volatility HIGH/NORMAL/LOW × trend UP/DOWN/FLAT + own-P&L sign + stress days), path dependency (time underwater, avg/max recovery days, pct days within 5/10% of peak, completed drawdown streaks table), rolling Sharpe (20/60/120-day windows, annualised) · Frontend: newloadRiskAnalytics(strategy)fires fromloadPerfStats _drawWhenReadyafter base charts settle · 8 panels rendered into<div id="risk-analytics-container">placeholder injected beneath drawdown chart · equity curve with $ / % toggle viasetRiskEquityBasis()(redraws only the equity canvas, preserves other chart state) · 4 Chart.js charts (equity line, histogram bars, ACF grouped bars, rolling Sharpe triple-line with right-edge alignment padding for shorter windows) · insufficient-data gate:n_days < 20shows amber banner + suppresses distribution/tail/payoff/serial panels but still renders equity curve + path dependency + regime breakdown · Data model decisions: starting capital $100k fixed inception (not lookback reset), compounding NAV (prior day EOD = today SOD), carry-forward zero days on weekdays only (weekends excluded unless existing BTC trade on that date), min 20 days for distribution stats / 20/60/120 for rolling Sharpe windows respectively · verified end-to-end against 50 synthetic trades / 29 days mock DB: all 7 metric families populated with sensible values, equity $105.9k (+5.9%), hit 62%, payoff 2.33 - ✅ v246.22 — Backup rotation fix — root cause:
shutil.copy2on live SQLite in WAL mode was producing torn writes AND the scheduler thread was dying silently on the first exception (daemon threads die with no log) · on 10 Apr around 12:36 the thread died after one tick leaving 20 "hourly" backups all with identical mtime from a single batch operation · Fix 1:_backup_dbrewritten to use SQLite native backup API (src_conn.backup(dst_conn)) instead of shutil — safe for live DB with WAL/SHM sidecars, returns True/False instead of None so caller can detect failures · Fix 2:_backup_schedulerwrapped in belt-and-braces try/except so the daemon thread cannot die — every tick logs success or skip with a tick counter · Fix 3: new_backup_startup_diagnostic()runs at boot and logs the newest backup's age — if >4h old it logs ERROR with "STALE, rotation was broken" marker so any future failure is visible in the first seconds of the startup log · Fix 4: de-dup check uses glob with current-hour prefix instead of reading latest filename, more robust to filename parsing edge cases · Fix 5: backup file size verified >1KB before logging success, catches empty/truncated writes · boot sequence reordered: diagnostic → scheduler thread start → initial forced backup → final log line confirming scheduler alive - ✅ v246.21b — News Reaction Tape rebuilt to match mockup — removed Source column, removed clickable filter pill row, collapsed to 8 columns (TIME · HEADLINE · ASSETS · IMPACT · 1M · 5M · 15M · STATE) · STATE column shows descriptive phrases from new
_classify_persistence_phrase()helper: "Faded risk premium", "Risk-on follow-through", "Rates cap intact", "Driver relationship intact", "Haven bid holds", "Crude impulse holds", "Partial recover" · phrases are asset-keyed (NQ/ES get rates/driver language, GC gets haven language, CL gets crude language) · "Impact ≥ medium" shown as static rounded badge in panel header, always filtered to medium+ server-side · weekend-aware empty state: detectsgetUTCDay() === 0 || 6and shows "Weekend lull — no high-signal headlines with measurable market reaction. Feed resumes when futures reopen." · airy row padding 16px + font 13px to match mockup typography · bottom disclaimer line restored - ✅ v246.21a — News Reaction Tape timestamp parser fix —
_parse_news_tswas trying to parseitem['ts']as a full datetime but the aggregator storestsas HH:MM string andts_sortas unix int · rewrote parser to accept the full item dict and readts_sortfirst (authoritative), fall back to HH:MM + today's date, final fallback topublished/time/date/published_at/pub_dateas ISO · first two cache ticks returned 0 rows because driver matrix hadn't fetched asset bars yet; third tick populated 10 rows - ✅ v246.21 — Command Surface Stage 6: News Reaction Tape — new
_NEWS_REACTIONS_CACHE+ 2-min worker · walks headlines from_NEWS_CACHE, keyword-matches to affected assets (BTC: bitcoin/btc/crypto; ES: s&p/stocks; NQ: nasdaq/tech; GC: gold/bullion; CL: oil/crude/opec/wti/brent; plus Fed/CPI cross-linking to all risk assets) · measures reaction via_measure_reaction()on cached asset bars from_DRIVER_MATRIX_CACHE.asset_bars(zero new yfinance calls) at T+0/T+5m/T+15m · best-asset selection picks the asset with largest |T+15m| magnitude and marks it · Impact = High if |T+15m| ≥ 0.5%, Medium ≥ 0.15%, Low otherwise · server-side filter via?min_impact=medium|high· caps at 25 rows sorted most-recent first · worker starts 15s after boot (after news aggregator + driver matrix caches) - ✅ v246.20 — Command Surface Stage 5: Cause & Effect — 3-tab panel (Lead-Lag Timeline / Impulse Map / Driver Overlay) · extended
_DRIVER_MATRIX_CACHEto persist raw asset_bars + driver_bars as[(ts_iso, close), ...]tuples (last 60 bars each) so C&E endpoint needs zero new yfinance calls · new helpers:_detect_impulses()(rolling z-score > 1.8σ on 5m log returns),_asset_response_after()(cumulative return over N bars forward with "held" flag),_build_cause_effect(asset)(composer) · asset selector pills BTC/ES/NQ/GC/CL (default NQ) · narrative box above tabs with trader-voice interpretation built from timeline + impulse map counts · Impulse Map classifies each reaction as Held / Accelerated / Faded / Reversed / Unclear · Driver Overlay SVG chart (900×260 viewBox) with normalized asset line (solid amber) + best-correlated driver (dashed blue) since session open · endpoint/api/command-surface/cause-effect?asset=NQrecomputes on each call from cached bars - ✅ v246.19 — Command Surface Stage 4: Risk Rail — 6 sticky cards sorted client-side by severity: Next Event (scans 2026 high-impact event list, countdown + affected assets, Imminent/Today/Tomorrow/Upcoming states) · Headline Risk (reads
_NEWS_CACHE, buckets last 120 headlines into topic clusters Rates/Geopolitics/Earnings/Crude/Crypto/China, intensity 0-100) · Vol Shift (new_compute_realized_vol_2hhelper, ES 5m bars, annualized √(252×78), compared to 90d baseline from_MARKETS_AUG_CACHE) · Correlation Break (weakest strength macro pair from Driver Matrix cells) · Invalidation (focus asset closest to VWAP from watchlist cache) · Account Heat (today's P&L from trade_results vs $700 default daily cap) · new_RISK_RAIL_CACHE+ 2-min worker starting 12s after boot · six composer functions each wrapped in own try/except so one card failing can't kill others · sev-high adds red border + pink-tinted bg, sev-med adds amber border - ✅ v246.18a — Driver Matrix push direction sign fix — root cause: push formula had
d_move < 0 → push = exp(wrong sign) · correct formula ispush = exp × sign(d_move): DXY up + BTC inverse (-1) = push -1 (pressure), DXY down + BTC inverse (-1) = push +1 (tailwind) · BTC:DXY cell was reading "DXY pressure" with direction negative when DXY was down -0.16%, which contradicted the inverse relationship · also renamed label vocabulary "supportive" → "tailwind" for traderly voice · confirmed fix via curl: BTC:DXY now reads direction positive / label "DXY tailwind" / tooltip shows "DXY -0.16% session · corr +0.19 (inverse) · lead" - ✅ v246.18 — Command Surface Stage 3: Driver Matrix — live 5×7 grid (BTC/ES/NQ/GC/CL × DXY/US10Y/VIX/Breadth/Volume/News/Trend) · each cell: direction arrow (↑/↓/↔), strength N/3 (from |Pearson corr| bucketed), lead/sync/lag badge (from cross-correlation time-shift ±3 5-min lags), label text, hover tooltip with raw correlation + session % move · new helpers:
_pearson(),_cross_corr_lag(),_returns_from_series(),_strength_from_corr(),_lead_lag_state()· EXPECTED prior table (BTC/ES/NQ inverse to DXY/US10Y/VIX, GC haven=+1 to VIX, CL neutral to rates/vol) · Breadth cell from NQ vs ES leadership, Volume from watchlist cacherel_volume, News from cached aggregator keyword match, Trend from range position + session pct ·_DRIVER_MATRIX_CACHE+ 5-min worker starting 10s after boot · only new yfinance load is 3 macro driver intraday fetches (DX-Y.NYB, ^TNX, ^VIX) · cell background tint green/red/slate by direction for visual scan - ✅ v246.17e — Regime Strip aesthetic final pass — user flagged that pills had inverted styling (solid bg + black text) vs the mockup (tinted bg + bright colored text + matching border) and bars were solid orange vs mockup's top-orange-bottom-dark gradient · rewrote all 7 pill classes:
.p-green/.p-amber/.p-peach/.p-salmon/.p-red/.p-orange/.p-slatenow usergba(color, .15)bg + solid color text +rgba(color, .35)border · bars now uselinear-gradient(to bottom, #fbbf24 0% → #f59e0b 35% → #b45309 75% → #78350f 100%)matching the 3D lit-from-above look of the mockup · empty placeholder bars use the same gradient at 14%/10% alpha · 5th iteration to finally match the mockup exactly - ✅ v246.17d — Regime Strip scaling fix — sparkline scaling rewritten to enforce a minimum 25-point spread: if observed score range is <25, the renderer expands symmetrically around the midpoint so bars always show visible variation even when scores move tightly (4th iteration) · bar color
#f59e0b → #e99110for richer saturation · pill padding4px 10px → 6px 14px(chunkier) · pill border-radius5px → 4px· header text11px → 13pxfor "RISK APPETITE" presence · driver text12px → 13pxwith 1.55 line-height for 2-line wrapping · max bar height28px → 42pxso peaks fill the sparkline zone - ✅ v246.17c — Regime Strip historical backfill — new
_backfill_regime_history()fetches 1-day 5m bars for ^VIX, DX-Y.NYB, ^TNX, ES=F, NQ=F, BTC-USD, GC=F, CL=F and walks backward through the last 18 historical ticks running the same scoring functions at each point-in-time · appends 18 real historical score points to each card's history deque BEFORE the worker loop starts so sparklines show real shape from first render · locks in the "open score" baseline from the first historical point sodelta vs openis meaningful from first live tick · pill shape rewritten toborder-radius: 5pxsoft rectangle (was fully round 999px) withpadding: 4px 10px· card proportions: min-height240px → 280px, padding20px → 22px, score size48px → 52pxwith -2px tracking · 8 one-time historical yfinance fetches at boot, normal 2-min cycle after - ✅ v246.17b — Regime Strip design iteration 2 — card background
rgba(20,24,33,.6), borderrgba(148,163,184,.15), border-radius 10px, padding 20px/22px, min-height 200→240px · new_state_pill_class()function maps each card's state vocabulary to the right pill color (Risk On→green, Expanding→amber, Soft→pink, Restrictive→red, Oil-led→amber) · sparkline renderer fixed to 18 bars with ghost placeholders from first render (no more flat-bar look) · all 5 scorers upgraded to return 2-sentence trader-voice narrative instead of raw data readouts - ✅ v246.17 — Command Surface Stage 2: Regime Strip — 5 composite regime cards with title, state pill, 52px score number, ± delta vs open, 18-bar amber sparkline, 2-line narrative driver text · scorers:
_score_risk_appetite(VIX/ES/DXY/NQ-ES leadership weighted composite),_score_vol_state(VIX-banded Compressed/Normal/Expanding/Extreme),_score_dollar_pressure(DXY daily + MTD),_score_rates_pressure(UST10 level + bps change),_score_commodity_shock(max |oil%|/|gold%|) · new_REGIME_CACHE+ 2-min_regime_workerstarting 8s after boot · endpoint/api/command-surface/regime - ✅ v246.16 — Command Surface Stage 1: Focus Watchlist — new top panel on MKT Technicals tab with 5 focus assets (BTC/ES/NQ/GC/CL) · columns: Asset · Last · % · Range · VWAP · PDH · PDL · ATR used · Rel Vol · new
_COMMAND_SURFACE_CACHE+ 5-min worker computing VWAP (typical_price × volume), PDH/PDL from daily bars, ATR14, relative volume vs 10d median, range position, signed %distances · endpoint/api/command-surface/watchlist· 8 intraday 5m + daily bar fetches per cycle · shaded gradient range bar (red→amber→green 8px tall) with 12px white-bordered dot marker - ✅ v246.15 — CRITICAL server-authoritative P&L + 9-row heal — root cause:
api_signal_stateCLOSED branch hadif close_price and ep and (pnl == 0 or pnl != pnl): recompute— so the server only recomputed P&L when client sent zero or NaN, and TRUSTED any non-zero client value · trade #288 was closed twice (15:01 first attempt, 15:07 retry) and the client cached stale -$120 pnl from the first attempt and resent it on the retry with the correct close_price=25280 · server trusted the -$120 → LOSS row with target_hit=1 AND stop_hit=1 simultaneously · decision_journal at 15:07:57 UTC confirmed server HAD computed correctly (+$58.50) but final DB row was wrong · Wider audit: cross-referenced setup_alerts with populated close_price vs trade_results stuck atresult_status='OPEN', pnl_dollars=0— found 9 stuck rows across 3 days (8-10 Apr) · Fix: new_compute_trade_pnl(asset, direction, entry_price, stop_loss, close_price)helper as single source of truth (BTC dynamic notional, futures multipliers GC=10/CL=100/MNQ=2.00/ES=5.0, returns pnl_dollars+points+result derived from pnl sign) ·api_signal_stateCLOSED branch rewritten to NEVER trust client pnl/points/result, only reads close_price + close_time, always recomputes via helper, logs any client/server disagreement · manual close path clearstarget_hit=0, stop_hit=0explicitly so stale AGENT02 flags can't linger · deleted v243.1 reconcile and v244 sign-derivation as superseded · Heal:v246_15_heal_all_stale_opens.sqlrecomputed all 9 rows from stored close_price using the same formulas · daily reconciliation confirmed: 8 Apr +$387.66, 9 Apr +$939.76, 10 Apr +$411.34 — total recovered: +$1,738.76 previously missing P&L - ✅ v246.14 — Pill uniformity + Trade History rename + YTD column + sticky LS header — stripped inline color styles from 5 dev-pills so
.activeorange-bg + black-text is uniform · ICT Signals renamed to Trade History · VIX/UST10 special handling:PCT_INSTRUMENTS = new Set(['VIX','UST10'])— these show dash in %Chg/%MTD/%YTD columns since they're themselves % values · added %YTD column between %MTD and 90D Vol in both Markets and Macro tables · newnew_futures_ytddict in augment cache · clock padding 9→13px, clock-time 20→24px · Investment Intelligence page wrapped title+pills+HMA sub-pills in a single sticky header matching Trading Intelligence pattern - ✅ v246.13 — Un-indent tables + MKT Technicals rename — removed
padding-left:var(--table-indent)from Markets/Macroimkt-body+imacro-body· first column widened 200→280px · range bars shrunk (min-width 220→140px, height 4→3px, dot 8→6px) · Market Conditions + Correlation panels moved from Overview to Trade Setups tab · Trade Setups pill renamed to MKT Technicals — this is where the full Command Surface gets built over Stages 1-6 — Overview tab rebuilt: replaced - ✅ v245 — AGENT02 MNQ multiplier + manual-close race guard — Bug 1 (the $0.50 orphan):
AGENT02_trading.py CONTRACT['MNQ']['multiplier']was0.50· web.py was patched to2.00in v225 but AGENT02 was never touched · every AGENT02-monitored MNQ trade since v225 was priced at a quarter of correct · fixed to2.00plus docstrings (module header line 9, comment line 35) and LLM prompt contract-specs line 665 · added CRITICAL comment above the CONTRACT dict warning that MNQ must stay in sync withAGENT00_web.py PNL_MULT· Bug 2 (the race):_check_fills_onceSELECTs all open signals then iterates with 60s of I/O / price fetches / DB writes · if the user manually closes a trade (via sigClose) during that window, AGENT02's cached row list still has it and the subsequent target_hit/stop_hit write UPDATEs the row back to WIN/LOSS with AGENT02's idealized levels — clobbering the manual close · Fix: SELECT now also filters onsa.signal_state NOT IN ('CLOSED','SUPPRESSED')(belt); target_hit and stop_hit write blocks each re-readsignal_state+result_statusinside the write transaction and skip the UPDATE if already terminal — logging a warning for audit (braces) · Blast radius: 3 corrupted MNQ ORB rows (#271, #272, #278) all closed manually at profit then overwritten to LOSS with $0.50/pt pricing — explains the exact on-screen P&L values · Heal SQL:v245_heal_mnq_orb.sqlrecomputes the 3 rows from storedclose_priceat $2/pt with result derived from pnl sign · non-MNQ audit query returned only a $2 rounding-drift row (#124 GC) which is not worth touching · Lesson (again): this is the THIRD time an AGENT02 orphan has surfaced — v240.1 (killzone gate), v241.1 (close-path parity), now v245 (multiplier + race). Every web.py trading-discipline change MUST grep AGENT02 for the same value/pattern before shipping. - ✅ v244 — Result-sign authority fix (trade #275 bug) — root cause:
sigCloseUI had two buttons (✓ Take Profit / ✕ Stop Hit) that hardcodedresult='WIN'or'LOSS'regardless of the actual close price the user then typed into the prompt · serverapi_signal_statetrusted the client'sresultfield (auto-determine only fired if missing/invalid), so clicking ✓ Take Profit then typing a close price below entry created a WIN row with negative pnl · trade #275 manifested this exactly · Server fix:api_signal_stateCLOSED branch now ALWAYS derivesresultfrom the sign of the final computed pnl — never trusts client · logs a warning when the client's submitted result disagrees with the computed one (for audit visibility) · Client fix:sigCloserecomputesactualResultfrom computed pnl sign before POSTing, and toasts a warn-level message when button intent differs from outcome · EOD monitor side-fix: the between-levels branch of the EOD hard-close block had a hardcodedresult='LOSS'even when the pnl at market close was positive — fixed to derive from pnl sign too · ICT killzone force-close branch (Rule 3) already derived correctly, untouched · AGENT02 TP/SL monitor already derives from target_hit/stop_hit booleans, untouched · DB patch:v244_fix_trade_275.sqlprovided separately to recompute #275 from its stored close_price and flip result to LOSS - ✅ v243 — BTC stale-alert sweep + legacy $0 P&L backfill — BTC sweep: new hourly block inside
_monitor_open_signals(between Rule 3 killzone force-close and NY EOD hard close) suppresses BTC ALERTED/PENDING rows older than 24h with notrade_resultsrow · closes the gap left by v240.2 BTC carve-out (weekday EOD excludes BTC because BTC is 24/7, so stale BTC alerts previously never got swept) · gated to once per hour via_monitor_open_signals._btc_sweep_last_hourfunction attribute so the 60s loop doesn't hammer the table · cutoff computed asdatetime.now() - 24hin UK-local-naive to matchalert_timestorage convention ·close_reason='BTC_STALE_SWEEP_24H'· each sweep emits an_auto_journalentry for audit · Legacy $0 P&L backfill:v241_change_b_pnl_backfill.sqlexecuted on SIMBA (was pending since v241) · scoped totrade_resultsrows wherepnl_dollars=0 AND result_status IN ('WIN','LOSS')andsetup_alerts.close_price IS NOT NULL· uses identical formulas to v237 server-side rescue: futures pts×multiplier (GC=10, CL=100, MNQ=2, ES=5), BTC dynamic(close-entry) × 350 / ABS(entry-stop)× direction · 3-step workflow preview → update → verify executed cleanly - ✅ v242 — Trade history delete button — per-row ✕ DEL button in the status/rationale column of the trade history table · confirms with a detailed destructive-action dialog listing every subsystem affected (history, P&L totals, Edge expectancy, Strategy Health, decision journal, memory aggregates) · new
histDelete(id, asset, direction, pnl)JS calls DELETE/api/signals/<id>then automatically triggers/api/eod/recalculate-memorysoTRADING:EOD:*aggregates rebuild immediately · reloads both history and live signals tables after delete ·api_signal_deleteendpoint extended to also DELETE fromdecision_journalwhereentity_type='TRADING'(was previously an orphan gap from v235 — every delete via the endpoint now cleans all three tables in a single transaction) · Edge tab / Performance / Strategy Health / today's P&L card all read trade_results live on each render, so they self-heal on next page load without explicit recompute · WTD summary andTRADING:WEEKLY:*memory aggregates still refresh on next weekly recalc (Saturday) — acceptable drift since weekly is lagged anyway - ✅ v235 — v3 Phase 1 complete: Decision journal auto-logging (7 hooks: signal create/close/suppress, auto-close TP/SL, EOD close, deal status change) · Comps CRUD (4 API endpoints + pill tab + table with median EV/Rev & EV/EBITDA stats + add/edit modal + deal linking + one-pager comps card) · Confluence capture UI (12-option checkbox editor on ALERTED/OPEN signal cards + PATCH endpoint) · Deal scoring visual breakdown (8-component bar chart on one-pager)
- ✅ v234 — v3 Phase 1 continued: R-multiple backfill on all existing closed trades (pnl/350) · Decision Journal system (4 API endpoints + Developer pill UI with domain filter, log/edit/delete, outcome tracking, retrospective) · Probability-weighted EV on deals (bull/base/bear probability inputs, weighted MOIC/IRR/equity on one-pager + modal) · Deal scoring model (auto-computed 0-100 composite from 8 weighted components: team, financials, exit model, risks, market, investors, MOIC, timing) · Score column on pipeline table + KPI strip · Probability badges on scenario cards
- ✅ v233 — v3 Phase 1 schema foundation: 17 new columns on setup_alerts (confidence, confluence, regime tags, trade_mode, day_of_week) · 9 new columns on trade_results (R-multiple, MFE, MAE, grading) · 5 new tables (trade_overrides, strategy_changelog, decision_journal, comps, deal_reviews) · _enrich_trade_result() auto-computes R-multiple on every close · signal creation captures full context · dead RSS feeds replaced · regex-in-template-literal bug fixed
id="ls-news-neuro" retained so loadLsPillarNews('neuro') continues to populate as before, just restyled panel header with violet title + mono subtitle · Design discipline: violet (#a78bfa) is the only accent, everything else neutral grays / --surface-2 / --border, success/warn/danger colors deliberately absent, 10px uppercase letter-spaced section labels, 14–32px bold headlines in #fafafa, all numbers in var(--mono), body text #c9c9d1 for comfortable reading without harsh contrast · Integrity verified: Python compile OK, main JS block node --check OK, id="lssec-neuro" + id="ls-news-neuro" both preserved exactly once, div balance closes cleanly, showLsSection('neuro') switching mechanism and news loader untouched · version bumped directly from v246.23.1 to v247 (skipped v246.24) to mark this as a meaningful UX milestone · also rolled forward v246.23.1 risk analytics min_n fix (lowered from 20 to 10 with provisional-stats banner for n < 20) which unlocks the VaR / moments / serial dependence panels at the current 16-day data level
market-cards2 mcards grid with a Bloomberg-style instrument table (INSTRUMENT · LAST · NET CHG · % CHG · DAY RANGE) · Macro row also converted to same Bloomberg table format with matching columns — VIX · DXY · UST10 plus newly added Nikkei 225 (^N225) and Shanghai Composite (000001.SS) · /api/macro extended to return change/high/low (was just price/pct) so the day-range bar can render for macro indices too · both tables use identical .imkt-* CSS family: tabular-nums mono font, right-aligned numerics, tight row heights, green/red color coding on change columns, interactive day range bar with gradient fill and position dot showing where current price sits in the session low→high range · Macro Calendar tab deleted — its contents (economic calendar + Financial Juice news feed) moved onto Overview · New Trade Setups tab inserted right of Overview (green pill) — holds ICT Multi-Asset Brief + EOD Summary, both with expanded 900px max-height now that they have the tab to themselves · Overview final layout: instrument table → macro table → market conditions bar → correlation panel → economic calendar → news headlines → Daily Brief · Data layer fix: _get_market_snapshot in AGENT02 extended with today's high/low (filtered from 2-day 5m history) AND open corrected to today's first bar (previously used first bar of the 2-day lookback, which skewed net change slightly — now net change is properly session-relative) · Routing: showTradingTab now fires loadEconCalendar + startFJAutoRefresh on Overview (previously Macro tab), new setups case loads brief + EOD · CSS: new .imkt-* class family (table, sym, num, range) added to main style block with tabular-nums and Bloomberg-style hover transitions · loadMacroRow renamed internally to use renderMacroTable — old card-grid renderer removed · MACRO_ORDER and MACRO_COLOR constants govern display order and color bars on macro rows · legacy market-cards2 ID no longer in DOM but renderMarketCards call to it kept for defensive no-op (returns early when target missing)
Pending ☐
- ☐ Back up .env to password manager / iCloud
- ☐ Static DHCP reservation for Mac Mini
- ☐ Signal backtester — 6-12 months OHLCV
- ☐ Signal quality filter threshold — set permanent min score after 4-6 weeks data
- ☐ H100 live price via Nordnet (Playwright auth)
- ☐ AGENT05 dedicated agent file · macro price alerts
- ☐ Multi-turn Ask Anything — rolling conversation context
- ☐ Weekly trading summary auto-written to memory
- ☐ H100 Advisory invoicing module
- ☐ Contacts — link to todos/agenda/email
- ☐ PFIN — offsite FX rate fallback if yfinance unavailable
- ☐ Investment Intelligence — iPhone responsive layout
- ☐ Deal import: store deck text to memory for Ask Anything
- ☐ PNG export — add TAM/SAM/SOM pills + pedigree
- ☐ Weekly trading summary per-strategy breakdown
- ☐ Investigate duplicate BTC signals #145/#146 (same entry/close/P&L)
- ☐ MCL — no risk cap enforced on crude oil (ATR-based but uncapped)
- ☐ Auto-close monitor: write close_price to setup_alerts on auto-close
Decision journal auto-logging✅ shipped v235Comps UI✅ shipped v235Deal scoring visual breakdown✅ shipped v235Confluence/confidence capture UI✅ shipped v235
Dev To-Do
Loading…
Version History
v257 current
Loading…
Loading database stats…
💾 Backup Status
Loading backup stats…
📁 Available Backups
Loading…
📓 Decision Journal
Loading journal…
Log Decision
Domain *
Confidence (1-10)
Entity type
Entity ID
Action / Decision *
Rationale
Outcome
Outcome date
Retrospective
System
Process · logs · quick actions
Status
Quick Actions
Recent Events (24h)
agent00.log (last 100 lines)
Personal Finance
Net worth · assets · accounts · investments
Total Expenses
£0
0 transactions
This Month
£0
—
Largest Single
£0
—
Top Category
—
—
—
Loading expenses…
Company Accounts
OxHealth Ltd
Accounting Period
1 Nov 2023 — 31 Oct 2024
Bank Account Balance
£
Directors Loan Account
Opening Balance (b/f)
£0.00
Closing Balance (c/f)
£0.00
New Advances (+)
£
Repayments (−)
£
Positive = company owes director. Opening balance auto-fetched from prior year closing.
Revenue
Consulting / Fees
£
Other Income
£
Total Revenue
£0.00
Expenses
Directors Salary
£
IT, Compute & Software
£
Office & General Admin
£
Accounting Fees
£
Bank Charges & Interest
£
Sundry Expenses
£
Total Expenses
£0.00
Net Profit / (Loss)
£0.00
Before corporation tax
All figures in GBP. No DB persistence yet — values reset on page reload.
Company Financials
Hugesky
Financial Year
FY 2023
Total Assets
$0
Total Liabilities
$0
Net Income
$0
Equity
$0
Balance Sheet — Assets
Cash & Equivalents
$
Loans & Receivables
$
Investments & Financial Assets
$
Tangible Fixed Assets
$
Intangible Assets
$
Other Assets
$
Total Assets
$0.00
Liabilities
Accounts Payable
$
Long-Term Debts
$
Other Liabilities
$
Total Liabilities
$0.00
Shareholders’ Equity
Share Capital
$
Retained Earnings
$
Total Equity
$0.00
Income Statement
Revenue
$
Cost of Sales
$
Gross Profit
$0.00
Expenses
Operating Expenses
$
Other Expenses
$
Income Tax Expense
$
Total Expenses
$0.00
Net Income
$0.00
Gross Profit − Total Expenses
All figures in USD. Auto-saves to database on input change.
Personal Tax
UK Tax — 2025/26
Placeholder — UK personal tax computation, self-assessment workings, CGT, dividend allowances to be populated.
🎲
SCENARIO ANALYSIS
yrs
|
⚠ Balance-sheet only — income flows, tax (CGT/income), and mortgage paydown are not modeled. Property leverage is correctly applied (property × rate, equity = property − mortgage held constant). Edit any growth rate to re-compute live.
📈
WEALTH HISTORY (DE)
No history yet. Click 📸 Snapshot Now to record your first data point — subsequent snapshots auto-save daily at 23:00.
✦
AI Financial Analysis
Click ↻ Generate Analysis to run AI financial analysis on demand.