Simulation closed 11 Apr 2026 / term-end snapshot 2026-05-01 / read-only archive
BWC

adaptive efficiency chl-0200 static archive

Term close: -4.37%. Apr 2 trough drawdown was -6.44% vs SPY at -11.72%.

Bottom line

-4.37%

About $43.7k on $1M paper. Stated without hedging.

Vs SPY (full term)

-2.08%

SPY (full term)

-2.29%

Max drawdown (Apr 2)

-6.44% vs SPY -11.72% (+5.28pp)

Portfolio beta (close)

0.63

At a glance

Executive summary

Adaptive Efficiency names this site: a personal frame for the run, from Andrew Lo’s adaptive-markets idea that desks and regimes adjust over time. The title describes the frame. It does not claim we beat the simulation.

Ten-week paper desk: smaller trough drawdown than SPY at the Apr 2 low, slower April re-risk after the ceasefire. Filed memo is the narrative authority for grades. This page is my scan path.

  • Act I (Feb): Foundation book deployed: beta target ~1.0, sector sleeves, diary discipline from day one.
  • Act II (Mar): Section 5 charter override (portfolio last in class with twelve days left), then emergency triage, hedges, and lower exposure. Desk trough -6.44% vs SPY -11.72% on Apr 2.
  • Act III (Apr): Ceasefire window: SPY snapped back. We rebuilt equity exposure too carefully and gave back relative performance.

Faculty sign-off already happened (422 / 430). This microsite is an independent, unofficial archive (not Hult, the professor, or teammates). What follows is my personal take and presentation on the same filed data. If this page disagrees with the Excel close or memo, the filed artifacts win.

Sources

Three filed sources

Marks book + log, committee memo, and client deck. Everything else on this page points back to these.

02 · Written

Committee memo

~2,600 words filed for the chair: strategy rationale, crisis hedge, April miss, and post-mortem frame.

03 · Oral

Client deck

20-slide defense narrative. PDF for review. PPTX if you need to edit slides.

Charter, tearsheet, and full manifest

    Brief

    The mandate we signed up for

    CHL-0200 program rules, grading frame, and desk window, before the narrative and marks.

    Eight student teams. One simulated capital mandate.

    Manage $1,000,000 in paper capital across US equities and ETFs, deployed in real time through a simulated brokerage, with the same order, margin, and short mechanics as a live desk.

    Grading weights Sharpe ratio and risk-adjusted return over headline P&L. The question is whether process discipline held under constraint.

    This archive is Team BWC's post-mortem on how that mandate was actually run.

    Course term

    20 Jan – 1 May 2026 Briefing, live simulation, post-mortem, and presentations

    Live desk window

    2 Feb – 11 Apr 2026 StockTrak trading period. Headline marks frozen at close

    This archive

    Sunset 1 May 2026 Static engineering snapshot. No live sync

    Story

    What happened on the desk

    A stressed Q1 book across four phases: the crash window and a recovery we re-entered too slowly.

    Architecture vs P&L

    Filed memo line: the risk architecture was defensible, but converting macro views into realized P&L lagged at regime changes, hedge roll-off, and post-shock re-risk.

    March trough

    Low-beta book plus crisis hedge: peak desk drawdown about -6.5% vs SPY -8.5% in late March. Relative downside protection while beta sat near zero.

    April re-risk

    After the 8 Apr ceasefire, we re-entered equities slowly and under-captured the snap-back.

    Honest frame

    Regime reads were often right. Execution lagged in fast windows. The log shows losers held roughly twice as long as winners.

    Charter vs close

    We signed up for moderate risk, a SPY benchmark, and a filed memo target of ~10% p.a. with ~1.0 average beta (Foundation ~1.0, Growth ~1.1, Crisis ~0.0, Ceasefire ~0.6). We kept logs and limits, but the closing return was red on both SPY and our own stated goal.

    Phase 3 invoked Section 5 of the charter: with twelve trading days left and the book last in class, we ran emergency triage instead of a routine risk reduction. At the Apr 2 trough, desk -6.44% vs SPY -11.72% (+5.28pp).

    Trade log audit

    Behavioural audit

    Timing, disposition, conviction, and turnover on the closed StockTrak book. Same post-hoc check the validator runs on diary claims.

    Loading audit…

    Desk

    Graded Excel close

    Headline cards, ratio wall, and desk-only charts from the filed Excel close.

    Ended at

    $956,280

    About $43.7k below $1M start.

    Vs SPY (full term)

    -2.08%

    Headline miss vs grading benchmark.

    Vs filed target

    -4.37%

    Memo target ~10% p.a. Ann. -23.5% (68-day, Excel caveat).

    Max drawdown (Apr 2)

    -6.44%

    SPY -11.72%, +5.28pp relative preservation.

    Closed trades

    28.6% wins

    Negative expectancy. Detail in post-mortem modal.

    Full Excel export (extra rigor we added)

    Desk (graded): Excel close, 11 Apr 2026. Headline -4.37% total. Trough drawdown -6.44% vs SPY -11.72%.

    Be profitable and have fun: Calmar, M2, and a full ratio wall were optional extras beyond the grading sheet.

    Labels match the grading sheet. Read the cards above first.

    Marked book charts (Excel / desk only)

    Research

    How we researched, logged, and stress-tested decisions

    The brief asked for process evidence. Eight operators split execution, IPS compliance, and journal discipline, with a Python overlay as a confidence check in the diary (cited there, never wired to execution).

    Operating model

    Three parallel lanes on one book. The mandate was given. We had to operate inside it and document that we did.

    Execution lane

    StockTrak fills, sizing, stops, and crisis-overlay trades. One operator carried primary execution while the desk debated macro in parallel.

    IPS / compliance lane

    Position limits, beta targets, and mandate checks against the filed IPS. A sub-team tracked drift before trades cleared committee chat.

    Journal lane

    Rationale for every open and close, win or loss, plus bi-weekly logs translating diary entries into trade-level justification.

    Desk research lanes

    What the deliverables list required, expressed through sleeves, screens, and memo sections across several research lanes.

    Technical timing

    Stops and trailing stops on extended names, with trend confirmation before adds.

    Fundamentals / 10-K

    Quality and balance-sheet screens on high-conviction singles alongside ETF beta.

    ESG review

    Committee-facing lens on contested names: narrative risk within the main book.

    Quant / AI pitches

    Screens and pitches informed debate. Execution still ran through StockTrak and IPS.

    Confidence layer

    Beyond the brief: a Python overlay on the closed trading universe. It ran rule-checks against the closed book after volatile weeks. Cited in diaries, never wired to live execution.

    • Confidence checks: a structured review of diary claims when macro moved faster than committee chat.
    • Closed universe: in quant-tooling terms, we ran closed-universe checks on names we actually held. The model did not suggest new tickers or resizings outside that set.
    • Policy mirror: flag beta and sector drift vs IPS before the next defense meeting.

    Overlay audit metrics

    Python backtest and forward-cast stress test on the closed universe. Desk marks stay in Desk.

    Total return

    +7.1%

    Annualized return

    +67.5%

    Sharpe ratio

    1.30

    Max drawdown

    -9.1%

    Sortino ratio

    3.44

    Portfolio beta

    1.56

    Cornish-Fisher VaR (5%)

    -2.55%

    Calmar ratio

    6.19

    Jensen's alpha

    0.677

    MC hurdle (pass %)

    37.9%

    Stack

    Software map

    Audit-first engineering

    An audit-first build: auditability, repeatable runs, and explainable outputs over alpha research.

    Python audit engine

    Technical map

    Ingest → validate → attribute → chart. Terminal-first CLI surfaces. No live signal feed to StockTrak.

    Inputs

    • Desk truth: Excel close marks + trading log
    • Market prices: vendor pulls + fallbacks
    • Macro context: rates series for regime labeling
    • News + filings: tagging and post-hoc explanation only

    Data prep

    • Sanitize, de-duplicate, time-align sources
    • Pivot into matrices for ML/statistics
    • Cache wide views so expensive reshapes don't repeat

    What it computes

    Factor attribution

    • Fama-French factor regression: OLS on overlay returns (09_fama_french).
    • Factor loadings: benchmark sleeve attribution (factor-loadings).

    Allocation & optimization

    • Mean-variance efficient frontier: MVO policy surface (02_efficient_frontier).
    • Black-Litterman posterior weights: views vs market prior (06_black_litterman, optimizer.py).
    • Kelly fraction vs win rate: sizing intuition, not live sizing (12_kelly_criterion).

    Backtest & desk compare

    • Desk vs overlay backtest: closed-universe compare (backtest-compare).
    • Overlay backtest equity curve: model path (08_backtest_equity).
    • Return distribution: tail shape vs Gaussian (return-dist).
    • Equity curve + drawdown: desk marks path (equity-curve, drawdown).
    • Hult desk performance overview: graded ratio wall (desk-performance).

    Risk & simulation

    • Scenario stress test paths: Monte Carlo fan (11_stress_testing).
    • Realized quadratic variation: intraday vol proxy (14_quadratic_variation).
    • Cornish-Fisher VaR, Sortino, Calmar, Jensen's alpha: overlay audit cells (full-metrics.json).

    Regimes & macro

    • Implied volatility surface: 3D vol context (04_vol_surface_3d).
    • Treasury yield curve dynamics: rates regime input (13_yield_curve).
    • Macro regime labels: expansion through crisis flags (see regime map below).

    Regime map

    Macro mood labels flag when trades did not match the labeled environment. Labels only. No automated rotation.

    EXPANSION

    Momentum / carry sleeves higher

    RECOVERY

    Value / re-risk sleeves higher

    SLOWDOWN

    Vol / quality higher

    CONTRACTION

    Cash / duration hedge higher

    CRISIS

    Signals suppressed. Min-variance + cash buffer

    Runtime tables (maintainers)

    Library map (grouped)

    GroupPackages (non-exhaustive)
    Core numericsnumpy, pandas, scipy, polars, pyarrow, statsmodels
    Portfolio & quant financepyportfolioopt, quantstats
    ML / optimization / graphsscikit-learn, networkx, cvxpy, cvxopt
    Data vendorsalpaca-py, yfinance, polygon-api-client, openbb
    Infra & runtimeduckdb, appwrite, apscheduler, typer, pydantic
    Scrape & commsscrapy, feedparser, requests, httpx, python-telegram-bot
    Viz & UXplotly, matplotlib, seaborn, manim, rich, streamlit, asciichartpy
    Dev / CIpytest, ruff, ty, bandit, deptry, pre-commit, mkdocs-material

    Data and persistence

    LayerTechnologyRole
    Analytics DBDuckDBportfolio.duckdb (gitignored): EOD price matrix, fast SQL/pivot
    Fast transformsPolarsPivot in topological_run.py: DuckDB to wide matrix
    Classic stackpandas, NumPy, SciPy, PyArrowTime series, stats, optimization
    Cloud syncAppwrite SDKSnapshots, signals, alerts, scraped data (historical, frozen at archive)
    Calendarpandas-market-calendarsTrading-day logic

    Market data and scraping

    SourceClient / fallback
    Prices (primary)Polygon (massive_feed.py) · yfinance
    Prices / fundamentalsyfinance, Alpaca · Scrapy spiders
    MacroFRED (fred_feed.py)
    Newsfeedparser, Google RSS spider · Alpaca news
    FilingsSEC EDGAR spider + sec_feed.py
    Scraping infraScrapy on Zyte Scrapy Cloud · Appwrite
    HTTPrequests, httpx · rate-limited pulls

    Runtime and packaging

    LayerTechnologyRole
    LanguagePython 3.11-3.13Core quant engine
    Package manageruv + uv.lockReproducible installs (uv sync --frozen)
    Packagingpyproject.toml (PEP 517)Build metadata for quant_monitor
    CLITyperproject, project-dashboard, project-bootstrap, plus doctor, backtest, and dashboard entrypoints
    ConfigTOML + Pydanticconfig.toml, config.py: holdings, MA periods, regime weights, thresholds
    SecretsDopplerAPI keys at runtime (never committed)

    Surfaces (where output is consumed)

    SurfaceStack
    TerminalRich CLI dashboard (dashboard/app.py)
    Market toolkitOpenBB Platform (openbb_views.py, fundamentals via obb)
    Static archivePlotly, matplotlib, seaborn, asciichartpy

    Faculty

    What the chair already scored

    Professor Daniela Neiderer, Hult. Grades are on record. Process and logs scored high. Headline return missed.

    422 / 430

    Architecture & logs

    147/ 150

    Strategy & final report

    118/ 120

    Client presentation & post-mortem

    118/ 120

    Peer eval & leadership

    39/ 40

    Short answers we gave in defense

    Macro miss

    We were slow to match the April rally after the ceasefire headline and Brent move.

    Drawdown win

    At the Apr 2 trough only: desk -6.44% vs SPY -11.72% (+5.28pp). That is the trough preservation figure only. Full-term Sharpe, Sortino, and expectancy stayed negative.

    Team friction

    Some wanted live alerts from Python. We kept it as a post-hoc check layer only.

    Prep / rehearsal

    Eight-person schedules clashed. Full desk dry-runs were rare. Some oral defense answers reflected that gap.

    Tech depth across team

    Not every member carried the same quant load. The lead owned validator design and integration.

    Breadth vs depth

    Wide role split (macro, risk, sectors) vs one shared quantitative standard.

    What we'd change

    Next time every operator, not just the lead, owns at least one validator surface.

    Principles

    What we would repeat

    Four lines we would defend in a PM review or faculty debrief.

    Honest marks

    Report the loss first. The trough-relative figure vs SPY is supporting context.

    Faculty and future employers should see the red number before the hedge story: that is how we would present to an IC today.

    Process under fire

    Logs, diary, and filed limits (e.g. 25% max single name) mattered more than one lucky trade.

    The 147/150 architecture score reflects reproducible records and diary discipline. The discipline we took into compliance and risk internships.

    Inverse hedge lost money outright

    PSQ/SH cost -$19,205 on the Apr 2 tariff rally. AA/CENX (+$17,169) and lower exposure at the trough did more protecting than inverse ETFs.

    SH/PSQ behave like short futures, not convex puts. Next desk would size 1–2% NAV in OTM SPY puts instead, and still pre-write a ceasefire re-risk playbook.

    Quant as mirror

    Python audited diary claims after each week. It never routed orders to StockTrak.

    Each week we could run the same rule check the overlay was built for.

    Team

    Team of eight

    Eight operators on CHL-0200. LinkedIn is the direct line if you want the person behind a lane.

    Contact

    Proof-of-work walkthrough

    PM, recruiter, faculty, or a desk building something comparable: questions on the validator, reproducible data sandbox, or a short walkthrough of what we filed vs what we built are welcome. I also help teams ship similar audit layers and committee-facing archives at their own shop. Email kartavya@kartavya.tech. Kartavya Jharwal, Team BWC lead.

    Full program brief

    Starting capital

    $1M

    Max single name

    25%

    Trade economics

    $10 / 300 cap

    Teams

    8

    Cadence

    4 trades / wk

    Cash yield

    3%

    The brief

    Manage $1,000,000 in simulated capital as if it were real. Operate inside constraints set in advance, not negotiated after the fact.

    Report performance the way a professional fund reports to investors: in risk-adjusted terms, not raw returns.

    The operating environment

    StockTrak mirrors a live brokerage: real-time pricing, executed orders, margin, and shorts, settled in paper capital, not real currency.

    Each team's account functioned as a mock investment book: positions, cash, and realized / unrealized P&L tracked like an institutional ledger, with live brokerage mechanics on simulated capital.

    The Investment Policy Statement (risk tolerance, eligible instruments, operating limits) was issued by the instructor before trading opened. The task was to operate inside a mandate already set, and justify every decision within it.

    Who the brief was written for

    Deliberately open-ended. No prior finance background assumed. Legible to someone who reads a stock chart as green-up / red-down, yet rigorous enough to grade on Sharpe and risk-adjusted return by semester end.

    The constraints

    • $1,000,000 simulated starting capital
    • US equities and ETFs in practice. Treasuries, margin, and shorts permitted under the IPS
    • No single security above 25% of portfolio value
    • $10 commission per trade. 300-trade semester ceiling
    • 3% annualized interest on uninvested cash
    • Eight teams, identical rules. Five-person team cap removed this run

    The deliverables

    • Minimum four trades per week for the full semester
    • Trading diary: rationale for every open and close, win or loss
    • Bi-weekly logs translating diary into trade-level justification
    • Analysis spanning technicals, quant screens, AI pitches, top-down / bottom-up work, ESG, 10-K review, and forward book construction
    • Final report and client presentation in plain language, not finance jargon

    Team BWC filed targets

    The committee memo stated moderate risk, benchmarked to SPY, with an expected return of ~10% per annum and an average portfolio beta target of ~1.0. Phase net-beta targets in the marks book: Foundation ~1.0, Growth ~1.1, Crisis ~0.0, Ceasefire ~0.6. Term close was -4.37% total vs SPY -2.29%.

    Why it was structured this way

    The client wanted evidence that disciplined process, applied consistently and explained clearly, could grow capital while managing risk. Grading weighted process and logs heavily. Headline return still missed.

    Committee memo excerpts

    Loading excerpts…

    Desk-level post-mortem

    Seven closed round-trips in the Excel export. Only two were winners. Losses were concentrated: a handful of stop-outs and crisis-phase names (semis, inverse hedges during the Apr 2 tariff rally) accounted for most of the negative expectancy, with few small scratches beyond that.

    • Structural (would repeat): Terminal beta 0.63 after a Crisis swing from ~1.0 target. AA/CENX metals (+$17,169) buffered trough downside vs SPY. Inverse ETFs were a net drag on P&L.
    • Charter override: With twelve days left and the book last in class, we invoked Section 5: emergency triage under the charter (not a routine risk reduction).
    • Incidental (bad luck): PSQ/SH reversed on the Apr 2 tariff rally (Inverse ETF Reversal sub-event, -1.34%): policy surprise on a short-futures sleeve rather than a slow unwind.
    • Execution (would fix): After the 8 Apr ceasefire, SPY was nearly flat to start while we were still -4.8%. We added equity slowly and finished -4.37% vs SPY -2.29%.

    Commissions and dividends were immaterial ($680 fees, $2,044 dividends): P&L came from sizing and timing.

    We trailed SPY by about 208 basis points on the term and missed our filed ~10% p.a. target. Trough outperformance vs SPY came from metals and lower exposure. Inverse hedges added drag. We re-risked too slowly after the bounce.

    Video pop-out