AI adjusting the portfolios
1.3 · 4–17 Aug · AI adjusting the portfolios · see 1.8, the latest update
Update 1.3 was my first attempt at putting a language model in the trading loop, and the most useful thing it produced was a reason to take it out. The model sat beside five portfolios, could only veto entries or move parameters inside bounds written down in advance, and each of those portfolios ran next to a twin that never changed.
Figure 01 · 1.3 · 4–17 August 2026
A model beside five portfolios, inside written bounds
The model could only veto, shrink or retune inside a written test plan. Retired on 18 August.
- Data
- Proposal
- Next-open fill
- Score
What the model was allowed to do
A veto agent could block or shrink an entry but never add one, and it could touch at most half of a day's candidates. A tuning agent could change at most two parameters in a run, by no more than a quarter each, and never beyond half either side of the value written down in advance. The validator read those limits from each portfolio's written test plan and threw out a tuning proposal whole if any part of it failed. The model also sat outside the nightly path: the strategy used a veto file if one existed and traded its own rules if it did not.
What actually happened
On 4 August the analyst wrote one brief from 133 headlines, and one veto agent produced one file: eight candidates, all marked unclear, no vetoes. Three manual tuning runs that day declined to change anything. From 5 August every scheduled run failed because the login they depended on had expired. The failures went into TODO: lines in a log nobody read, and the layer stayed dead for thirteen days before anyone noticed.
Why I retired it
I agree with the log's own verdict: “The defect was not the failure, it was the silence.” The model acted in one run out of about fifteen, so any spread against the twins was noise, and calling it an AI result would have been dishonest. The more lasting lesson was about where a model belongs. Frequent, low-stakes calls that a rule could make are the worst use of one, and anything a grid can decide should be decided by a grid. The five portfolios and the two twins created for them were retired, not deleted, and the paper portfolios went from 25 to 18.
Update 1.4 replaced the model with a parameter grid and a stricter walk-forward. The twin idea stayed. Every agent result the engine reports today sits next to a paired control.
- dates
- 4–17 August 2026
- AI portfolios
- 5, each paired with a frozen twin
- model call
- one turn, no tools, JSON out · about 18 a week
- schedule (UTC)
- news 11:00 · veto agents 21:40 weekdays · tuning agents Sunday 10:30
- veto agent limits
- veto or scale 0.25–1.00 · never add · at most half the candidates
- tuning agent limits
- ≤ 2 parameters a run · ≤ 25 % a move · within ±50 % of the original
- judged at
- 26 weeks, AI minus twin, net of costs (2027-02-01)
- output
- 1 veto file · 1 news brief · 0 scheduled tuning changes
- retired
- 18 August · 25 → 18 portfolios