P05 · Retired
Political Trades Tracker
Publish, and mechanically mirror, the stock purchases that US federal legislators disclose under the STOCK Act.
This is the simple view. Nothing has been removed — the decision records, the refused proposals, the AI's own words, the cost model, the published limits and the hash chain are all in Advanced, which is the switch in the header. How to verify any of it →
Showing every layer. Pick Simple or Advanced in the header to choose one — nothing is removed either way, and the full record is always in this page.
Political Trades Tracker
This book is closed. Its record stays published in full; retirement is a state transition recorded as an event, not a deletion.
Publish, and mechanically mirror, the stock purchases that US federal legislators disclose under the STOCK Act. The point is transparency: to show what a portfolio built only from public disclosure would actually have done, including the cost of the disclosure delay.
| Slot | Last due | Answered | Status |
|---|---|---|---|
filing ingest 30 9 * * MON-FRI · America/New_York | — | n/a | does not decide This slot marks and reports; it never calls the model, so it leaves no decision record to check it against. |
signal run 0 17 * * MON-FRI · America/New_York | — | never | unchecked This slot marks and reports; it never calls the model, so it leaves no decision record to check it against. |
weekly review 0 12 * * SUN · America/New_York | — | never | unchecked This slot marks and reports; it never calls the model, so it leaves no decision record to check it against. |
Catch-up policy. A decision instant that passes unanswered is run on the next pass, once, and the record stamps both instants — when it was due and when it actually ran. Past the catch-up window the gap stays open and is published as missed rather than backfilled.
Track record
This portfolio was retired before its first decision cycle and is preserved in this state permanently.
What the AI is allowed to do
This portfolio's AI explains and flags. It makes no trade proposals at all — the maximum is zero, enforced by the mandate validator. Position selection is fully mechanical.
— nothing —
This mandate caps the AI at zero proposals per run, and that cap is checked before anything else: no proposal of any kind reaches the rest of the gates. Its rulebook also lists EXPLAIN · FLAG_DATA_ANOMALY as permitted actions — those are listed and, while the cap is zero, unreachable. What moves this book is its own published selection arithmetic, not a model.
- set a price
- set a quantity or share count
- set a weight or position size
- set or move a risk limit
- execute anything
Model tier fast · prompt version P05-v1. Any change to the decider or the prompt is recorded as a MODEL_CHANGE event in the audit chain — without it the record would be a chimera of two systems presented as one.
Enforced limits
Every limit below names the code path that enforces it. This is not decoration: a limit that is published but never fires is worse than no limit, because a reader has no way to tell the difference. A test walks every mandate, drives the engine into the state each declared control claims to protect against, and fails the build if nothing stops it.
| Limit | Value | Enforced by |
|---|---|---|
| Maximum gross exposure | 100.0% | gate 2 — size_order |
| Maximum single sector | 40.0% | gate 2 — size_order |
| Limit | Value | Enforced by |
|---|---|---|
| Shorting | prohibited | gate 1 — proposal validation |
| Derivatives | prohibited | gate 1 — proposal validation |
| Margin | prohibited | gate 1 — proposal validation |
| Limit | Value | Enforced by |
|---|---|---|
| Maximum positions | 40 | gate 3 — BREACH_MAX_POSITIONS (portfolio limit check) |
| Minimum new position | 1.0% | gate 2 — size_order |
| Maximum order as % of ADV | 0.5% | gate 2 — size_order |
| Limit | Value | Enforced by |
|---|---|---|
| Single-day loss alert | 5.0% | gate 3 — alert |
| Limit | Value | Enforced by |
|---|---|---|
| Stale-data halt | 96 hours | gate 3 — HALT_STALE_DATA |
| Limit | Value | Enforced by |
|---|---|---|
| At −15.0% drawdown | alert, publish_commentary | gate 3 — drawdown ladder |
| At −25.0% drawdown | alert, scale_new_position_size:0.5 | gate 3 — drawdown ladder |
| At −35.0% drawdown | alert, mandatory_deep_review, pause_new_positions_days:15 | gate 3 — drawdown ladder |
| At −55.0% drawdown | graveyard_review | gate 3 — drawdown ladder |
| Limit | Value | Enforced by |
|---|---|---|
| Max trades per week | 20 | entry block — PAUSE_TURNOVER_CAP_REACHED (never blocks an exit) |
| Min holding period days | 5 | entry block — PAUSE_TURNOVER_CAP_REACHED (never blocks an exit) |
| Limit | Value | Enforced by |
|---|---|---|
| Halt trading if price gap unexplained pct | 25 | gate 3 — circuit breaker |
| Halt trading if parse error rate above pct | 20 | gate 3 — circuit breaker |
| Halt trading if ticker resolution rate below pct | 80 | gate 3 — circuit breaker |
| Halt trading if factpack hash mismatch | true | gate 3 — circuit breaker |
Disclosures specific to this portfolio
These render on the page itself rather than in a footer, because without them the numbers actively mislead.
- Disclosed transaction amounts are RANGES, not exact figures. 65% of all filings fall in the single bucket $1,001-$15,000. Position sizes here are equal-weighted and are NOT derived from disclosed amounts.
- Measured median disclosure lag: House 23.5 days, Senate 29.0 days. Statutory maximum 45 days. Worst observed 119 days.
- Approximately 10-13% of House filings and 14% of Senate filings are scanned images and are not machine-readable. They are excluded and the exclusion count is published daily.
- Mutual funds, ETFs in excepted investment funds, the Thrift Savings Plan, real property and inherited assets are exempt from disclosure and are therefore invisible here.
- Inclusion of a legislator is not a claim of wrongdoing. Data is reproduced from public filings for transparency purposes.
Execution
Fills are struck on a VWAP window that begins strictly after the decision timestamp plus a latency delay. No fill can use information from the bar in which the decision was made, so look-ahead is arithmetically impossible rather than merely avoided.
Philosophy
This is NOT copy trading. The measured median lag from trade to filing is 24-29 days (House 23.5 median, Senate 29.0 median, statutory max 45). By the time a filing is public, it is public to everyone simultaneously and the large trackers publish within hours. Any information advantage is gone. What remains is a slow thematic tilt toward what legislators were buying a month ago. The portfolio is honest about being that.
Review schedule
| Job | Cron | Timezone | Makes a decision |
|---|---|---|---|
| filing ingest | 30 9 * * MON-FRI | America/New_York | no |
| signal run | 0 17 * * MON-FRI | America/New_York | yes |
| weekly review | 0 12 * * SUN | America/New_York | yes |
Published on a fixed, regular schedule. Never event-triggered — no "market is crashing, sell now" alerts, deliberately. This table is the promise; the cadence panel at the top of the page is whether it was kept, instant by instant.
Machine-readable mandate: config/portfolios/P05_political_trades_tracker.yaml · human rulebook: docs/portfolios/P05_political_trades_tracker.md · effective from 2026-09-01 (wall clock) · payload 06ec491b8950…