council-book
PAPER · NO BROKER

How it works

An LLM council proposes. Code limits. A human decides.

Language-model agents run one small portfolio as two books: a core book that rebalances every four hours, and a swing book of news-driven stock trades held for days. Deterministic code enforces every risk limit, a person approves every live trade, and every decision is sealed before it can be executed. Paper for now: real data, real agents, nothing traded. PAPER

What is it?

Two books, one portfolio.

The portfolio splits into a core book and a swing book One bar is the whole portfolio. The core book holds at least half of it; the swing book takes 0 to 50%, set by the swing manager each US session, and any swing money that is not in a trade flows back into the core. Below the bar, the core book is the reference book plus council tilts on ETFs, CFDs, Bitcoin and Ether every four hours; the swing book is news-driven US stock trades, long or short, held 3 to 15 sessions. idle swing money → core CORE ≥ 50% SWING 0–50% Reference book + council tilts ETFs · CFDs · BTC · ETH every 4 hours News-driven trades US stocks, long/short held 3–15 sessions 1 slot per US session
The same split in words:

Core book

What
A mechanical reference book (the weight the rules alone would hold: a fixed base weight per line, scaled by its trend (up = full, mixed = ¾, down = ¼) and trimmed when the line is unusually volatile) plus at most 3 council tilts a run.
Holds
London-listed ETFs and CFDs for Nasdaq-100SemiconductorsS&P 500GoldCrude oilEuro / US dollarPound / US dollar and spot Bitcoin Ether.
When
Every 4 hours, at 02:40, 06:40, 10:40, 14:40, 18:40, 22:40 UTC. London lines trade only in LSE hours.
Size
Whatever the swing book is not using: re-sized when open swing exposure moves by 4% of the portfolio or more.

Swing book

What
News-driven trades in single US stocks, long or short (a short is a 1x stock CFD), held 3 to 15 sessions.
Budget
0–50% of the portfolio in steps of 5, set each US-session slot by the swing manager. The budget rule →
When
One slot per US session (18:40 UTC in winter), at least an hour after the open and half an hour before the close.
Idle money
Never left as cash: whatever is not in a swing trade is invested in the core.

How does the core decide?

Seven steps, every four hours.

The manager makes three independent attempts; the most typical one, the medoid, is used: a real decision, never an average. If the attempts disagree too much, or the council is unavailable, the run falls back to the reference book.

See it filled in: the latest paper decision PAPER · each agent's record · the core rules

How does a swing idea get in?

Eight steps, and most ideas die on the way.

These are the steps each idea's journey card shows on a decision page. Day-2 confirmation: a Skeptic "wait" is re-proposed by code at the next slot after at least one completed session, if the close since the news moved the trade's way. Cost: every swing result is counted net of a declared 1.25% of the position per leg, and levels whose reward against risk falls below 1.2 at that cost die at the gate (S6).

The swing rules · the swing pre-registration

Who's on the council?

Fourteen core seats and five swing seats.

  1. Scout
  2. Skeptic
  3. Bull · swing
  4. Bear · swing
  5. Manager · swing

The swing book's five seats. Its bull, bear and manager are separate agents with their own prompts; they wear the core seats' colours.

Every number comes from code; language models only read the facts and argue. Roles that DECIDE write the changes, inside ranges code enforces; ADVISES roles give evidence or argument; CONTEXT roles give background only.

Full roster and prompt hashes

Core · language models

Model deepseek-v4.1-flash:cloud, thinking off, temperature 0. Runs at 02:40, 06:40, 10:40, 14:40, 18:40, 22:40 UTC.

RoleKindAuthorityRunsPrompt
News analyst
Writes evidence cards from public RSS feeds and SEC filings, cited by id. Licensed text is never republished.
LLM ADVISES 1 council-news/v2 0143d986084b
Macro analyst
Describes the macro regime and its drivers. Context only.
LLM CONTEXT 1
first run of each UTC day
council-macro/v2 d6288b179b4d
Bull advocate
Opens the debate, then answers the bear's rebuttal.
LLM ADVISES 1 council-bull_open/v1 c312f8c40adb
council-bull_rebuttal/v1 4ff0bba5a215
Bear advocate
Rebuts the bull's specific claims, citing evidence.
LLM ADVISES 1 council-bear/v1 b156946ac8ff
Portfolio manager
Proposes at most three changes to the reference, inside ranges that code enforces. Three independent attempts; the most typical one (the medoid) is used.
LLM DECIDES 3 council-pm/v1 3732a765b3c2
Single-agent control
One agent, the same facts, no analysts and no debate. Published as a control; it never trades.
LLM CONTEXT 3 council-single_agent/v1 a66e23487d21

Swing · language models

One slot per US session. The manager's three attempts need 2 votes to enter an idea.

RoleKindAuthorityRunsModel and prompt
Scout
Reads public RSS feeds, SEC filings and a screen of the day's movers, and pitches swing ideas: a US stock, long or short, held 3 to 15 sessions, citing each news item by its id.
LLM ADVISES 1 deepseek-v4.1-flash:cloud
council-scout/v3 2e02a273ce30
Skeptic
Blind to the pitch: sees only the ticker, the side, the cited items, a one-line claim and the fact card, and answers pass, wait or reject on whether the news is already in the price.
LLM ADVISES up to 5 deepseek-v4.1-flash:cloud
council-skeptic/v4 ef62bb6ea9a8
Bull · swing
Argues for the trade from the fact card and the cited news.
LLM ADVISES 1 deepseek-v4.1-flash:cloud
council-swing_bull/v1 407e5420ec75
Bear · swing
Rebuts the bull's claims one by one.
LLM ADVISES 1 deepseek-v4.1-flash:cloud
council-swing_bear/v1 8cb26d335f00
Manager · swing
Three independent attempts; an idea enters only if two of the three vote for it. Also sets the swing budget, 0-50% of the portfolio.
LLM DECIDES 3 deepseek-v4.1-flash:cloud
council-swing_pm/v3 77f23919bc64

Code and people

RoleBookKindAuthority
Data steward
Builds the percentage-only fact pack from completed bars; freezes stale or closed markets.
Core CODE CODE
Reference book
The weight the rules alone would hold on each line: the default position, the centre of the council's allowed range and the fallback.
Core CODE CODE
Event officer
Blocks adds around scheduled macro events; never forces a sale.
Core CODE CODE
Vol officer
Writes volatility-shock cards and trips the volatility breaker.
Core CODE CODE
Cost desk
Prices every leg (spread, fees, overnight carry) and runs the net-of-cost gate.
Core CODE CODE
Consistency auditor
Reverts uncited or self-contradicting changes; discards broken PM replicates.
Core CODE CODE
Risk officer
Final authority: enforces every rule in policy/risk.yaml and builds the order legs.
Core CODE CODE
Scribe
Builds this public record from allow-listed fields only.
Core CODE CODE
Scorekeeper
Computes controls and card scores. Descriptive only.
Core CODE CODE
Movers screen
After each US close, lists unusual movers, volume spikes, unmoved filers and sector laggards from completed daily bars: facts for the Scout, not picks.
Swing CODE CODE
Code gate
Checks the ticker, builds the fact card from completed daily bars and drops ideas that chase a move or whose reward against risk is too thin after cost.
Swing CODE CODE
Swing risk officer
Enforces every swing rule (S1-S18): size, stops, targets, earnings, shorts, the loss brake and the drawdown scaling.
Swing CODE CODE
Paper tracker
Tracks every idea, entered or not, the same way on paper, net of the declared cost.
Swing CODE CODE
Human operator
Approves or rejects every live order in a separate terminal. Nothing trades without this step.
Both HUMAN DECIDES

What can code stop?

Everything that matters. Prompts explain the rules; code enforces them.

  • Total exposure at most 2.0x the portfolio, hard-coded.
  • Kill switch, measured from the best value ever reached: −20%: no new risk · −25%: stop, and a proposal to sell everything goes to the human. R3
  • Every opening order carries a catastrophe stop, core and swing.
  • Swing loss brake: new swing entries stop after a 5% loss of the portfolio over 30 days, net of all costs, until the operator lifts it. S15
  • Swing drawdown scaling: 10% below the lifetime peak, swing trades are halved in size and at most three stay open. S17
  • Borrowing and shorts in the core only through the council, and only when the order passes the net-of-cost gate.
  • Allowed ranges, a deadband, minimum holds, turnover and cost budgets, event blocks and an anti-chase rule. All the rules →

Who presses the button?

A person, every live trade.

The unattended runner can only read. Orders are approved in a separate operator terminal that refuses to run under automation or an agent, asks for a typed confirmation code, and unlocks a separate, auto-locking keychain. A swing entry's approval is valid for 60 minutes. Notifications carry percentages only. Nothing trades on its own; on paper, nothing trades at all.

Where does the news come from?

Public RSS feeds and SEC filings, cited by id.

The news analyst and the Scout read public RSS feeds, official releases and SEC filings, and must cite every item they rely on by its id. The headline text of licensed feeds is shown to the models only and never published: the record shows the item's id and its source, nothing more.

How do we know it isn't hindsight?

Each run is sealed before any order can be approved.

A hash commitment of the full run is published first; the run itself and the salt that opens the seal are published once the decision is final. Anyone can re-hash the revealed file. Only forward, sealed runs count as evidence. Language models have read the history we could backtest on, so no council backtest is ever shown.

What can this never prove?

A small edge.

Even a real but small edge takes about 16 years of results to tell apart from luck, so this record can show rule-keeping and costs, not skill. It can also show how deep the falls are and how often the council disagrees with the reference.

Swing book: at 30 trades, a mean of +0.3 R with a per-trade spread of about 1.2 R has a standard error of about 0.22 R, so the review can detect a disaster, not prove an edge (pre-registration §7).

Glossary

Medoid
Of the manager's three attempts, the one closest to the other two. A real attempt is used, never an average of them. The manager →
Deadband
A change too small to be worth its trading cost is skipped. R11
Anti-chase
No adding right after a large one-day move in the core; in the swing book, ideas whose move since the news is already too big die at the gate. R17 S11
Net-of-cost gate
Borrowing or a short goes through only if the expected gain beats the spread, fees and overnight carry it costs. R15
Commitment and salt
A hash of the run is published before approval; the salt revealed afterwards lets anyone check the run was not changed. How the seal works
Catastrophe stop
A stop-loss placed with every opening order to cap a disaster. In the core it sits about three times a typical week's swing away, never closer than a floor for its asset class; a swing trade's stop is part of its plan. R4 S5