Automated trading
Author
A configurable CFD trading bot with a deterministic risk layer in front of every order.
- Python
- OpenAI Responses
- Trading212
- IG
- yfinance
This is a configurable CFD trading bot. The broker and the model are both pluggable: it supports two brokers, Trading212 and IG, and three model providers. A model proposes trades, and a deterministic risk layer checks every order before it is sent.
It defaults to dry-run mode, with a maximum holding time of 72 hours and shorting off. It is a personal project outside biology, and nothing here is financial advice.
Activity
188 contributions in the last year
Select a day to see what happened.
Monthly totals
| Month | Commits | Posts | Milestones |
|---|---|---|---|
| November 2025 | 0 | 0 | 0 |
| December 2025 | 0 | 0 | 0 |
| January 2026 | 0 | 0 | 0 |
| February 2026 | 0 | 0 | 0 |
| March 2026 | 0 | 0 | 0 |
| April 2026 | 106 | 0 | 0 |
| May 2026 | 23 | 0 | 0 |
| June 2026 | 17 | 0 | 0 |
| July 2026 | 16 | 0 | 0 |
| August 2026 | 3 | 0 | 0 |
| September 2026 | 0 | 0 | 0 |
| October 2026 | 23 | 0 | 0 |
| November 2026 | 0 | 0 | 0 |
Activity updated 3 November 2026
Timeline
October 2026
- Commitautomated-trading docs: consolidated findings and recommendations (October 2026) (opens in a new tab)
- Commitautomated-trading chore: remove server address and usernames before making the repo public (opens in a new tab)
- Commitautomated-trading docs(plan): Task 7 compares daily-ATR vs live hourly-ATR stop regimes (measured 8.3x gap on WTI) (opens in a new tab)
- Commitautomated-trading fix(risk): mark the broker-snapshot fallback context as degraded (opens in a new tab)
- Commitautomated-trading fix(eval): honest backtest reporting: cost scenarios, week-clustered CIs, stop-first bound (opens in a new tab)
- Commitautomated-trading refactor(strategy): vectorised trend frame shared by live and backtest (opens in a new tab)
- Commitautomated-trading docs(reports): run ledger and per-task reports for the reliability plan (opens in a new tab)
- Commitautomated-trading fix(data): leave real level shifts intact; only recent repairs degrade (opens in a new tab)
- Commitautomated-trading fix(cycle): manage exits when every context is dropped; replay paper book on fallback (opens in a new tab)
- Commitautomated-trading docs(research): pre-register canonical trend-exit test (Turtle System 1 exits) before implementation (opens in a new tab)
- Commitautomated-trading docs(research): trend-exit pre-registration result: FAIL (opens in a new tab)
- Commitautomated-trading docs(config): drop gitignored report links; document new kill switches (opens in a new tab)
- Commitautomated-trading docs(plan): skip Tasks 8-9; backtest already delivered the Track-A verdict (no edge) (opens in a new tab)
- Commitautomated-trading Merge feat/reliability-and-evidence-loop (opens in a new tab)
- Commitautomated-trading fix(strategy): no future close before first valid close; pin ±inf High/Low as missing (opens in a new tab)
- Commitautomated-trading feat(eval): pre-registered channel_trail exit mode for the backtester (research only) (opens in a new tab)
- Commitautomated-trading fix(llm): isolate fallback CLOSEs; fair guided-json probe; test hygiene (opens in a new tab)
- Commitautomated-trading fix(filter): apply the 1.25x budget tolerance in is_structurally_tradeable (opens in a new tab)
- Commitautomated-trading feat(eval): vectorised Track-A backtester with cost model (opens in a new tab)
- Commitautomated-trading fix(eval): compare LLM and Track-A over the same symbol universe (opens in a new tab)
- Commitautomated-trading fix(logs): export news memory as a size in cycle logs and operator Q&A (opens in a new tab)
- Commitautomated-trading chore(supervisor): portable project-root resolution; consolidate tooling into .opencode (opens in a new tab)
- Commitautomated-trading fix(llm): deterministic exit management when decide() fails (opens in a new tab)
August 2026
- Commitautomated-trading fix(news): pin provider wiring, harden feed parsing, raise news_memory threshold (opens in a new tab)
- Commitautomated-trading feat(llm): optional NIM guided-json decoding behind a flag + probe script (opens in a new tab)
- Commitautomated-trading feat(news): multi-provider aggregation + FinancialJuice realtime wire + Fed press (opens in a new tab)
July 2026
- Commitautomated-trading fix(universe): keep Track-A universe unfiltered + log structural drops (review findings) (opens in a new tab)
- Commitautomated-trading docs(plan): add Task 10 multi-provider news (FinancialJuice + Fed) (opens in a new tab)
- Commitautomated-trading fix(data): restore NaN guard + harden outlier detection (review findings) (opens in a new tab)
- Commitautomated-trading docs(plan): record Task 1 DataQuality interface as built (opens in a new tab)
- Commitautomated-trading docs(plan): add Task 4b cash-risk-at-stop tradeability model (opens in a new tab)
- Commitautomated-trading perf(calendars): bound exchange_calendars to a rolling window (opens in a new tab)
- Commitautomated-trading fix(calendars): airtight fail-open + warn on unbounded fallback (review findings) (opens in a new tab)
- Commitautomated-trading fix(data): mark-don't-drop outlier bars to preserve index continuity (opens in a new tab)
- Commitautomated-trading fix(data): surface empty-bar drops, safe ratio, honest ADR (review round 2) (opens in a new tab)
- Commitautomated-trading feat(risk): degraded-inputs confidence gate for new entries (opens in a new tab)
- Commitautomated-trading feat(universe): cash-risk-at-stop tradeability filter on built contexts (opens in a new tab)
- Commitautomated-trading fix(universe): non-finite constraints must keep symbols (review findings) (opens in a new tab)
- Commitautomated-trading fix(risk): pin degraded reversal log + guard floor ordering (review findings) (opens in a new tab)
- Commitautomated-trading feat(universe): filter structurally untradeable instruments pre-LLM (opens in a new tab)
Showing the latest 40 of 188 events.