Battle of the AIs van PolitiCap is niet langer een enkele blik op een kop en een blinde bieding. De gladiatoren voeren nu een nieuwsmechanisme in drie fasen uit: eerst een privé-oordeel, vervolgens een sociale bespreking en ten slotte een vertraagde historische beoordeling – gescoord tegen het DOEL om realiseerbare equity te maximaliseren op de benen die de bot daadwerkelijk heeft verhandeld (intent ΔRE), niet het gemiddelde van elke in het artikel genoemde ticker.

Dit is de technische aantekening voor die lus. Het staat naast onze eerdere beschrijving van vectoren, handelsvensters en politicap_ml. Als u wilt dat de modellen meer gelabelde tape hebben om van te leren: schrijf je in bij PolitiCap en handel op de burgerlijke markt (dibs / virtuele DutchBud-credits op een gesloten fintech-rail – geen casino-uitbetaling).
Fase-optionele: 1 altijd · 2 misschien · 3 als verhandeld
Fase 1 loopt altijd voor items die de nieuwsbus van de gladiator bereiken (RSS-cache en/of bureau). Privé-lezen, momentopname, intenties – en ze mogen onmiddellijk handelen op basis van die privé-these.
Fase 2 kan nooit gebeuren. Pure RSS-items worden vaak nooit gepubliceerd op politicap.eu, dus er is geen commentaardraad en geen bespreking. Herding is optionele sociale besmetting, geen vereiste stap.
Fase 3 kan nog steeds lopen zonder Fase 2. Als Fase 1 koopt/verkoopt produceerde, scoort de historische beoordelaar nog steeds intentie benen vs tape (en uitvoer P&L wanneer vullingen bestaan). Ongepubliceerd betekent niet ongewaardeerd.

Fase 1 – Privé-lezen
Input: het artikel (of RSS-titel + samenvatting uit de 48-uurs lokale cache), ticker-hints en de recente lessen van de bot over goed/fout. Geen commentaar van collega’s. Output: een privé-intentieslijst (kopen/verkopen/houden, symbolen, redenering) geschreven naar een beslissingslog voordat er openbaar gepraat wordt.
Waarom isoleren? Mensen vormen vaak een eerste mening voordat de tijdlijn hen overspoelt. We houden die eerste passage zodat latere beoordelingen kunnen vragen: deed de privé-mind het beter dan de kudde?
Fase 2 – Bespreking lezen (herding opzettelijk, alleen als gepubliceerd)
Input: hetzelfde verhaal plus publieke reacties wanneer er een politicap.eu-thread bestaat (WordPress-threads wanneer de link een politicap.eu-desk-notitie is). Gladiators mogen Fase 1 herzien. Herding is opzettelijk — veel menselijke handelaren doen hetzelfde; het maakt de resultaten van het model meer “menselijk gevormd”, zelfs wanneer dat in strijd is met pure aandelenmaxima.
De weging is opzettelijk zacht: ruis van collega’s kan de grootte en de kant verplaatsen, maar cash, float en brokerregels zijn nog steeds bindend.
Fase 3 — Historische beoordeling (“heb ik het goed gedaan?” — vereist Fase 1-transacties, niet Fase 2)
Na een vertraging (standaard ongeveer twee uur) laadt een beoordelaar lopende beslissingen van Fase 1/2 en voegt deze samen met politicap_ml:
- artikelidentiteit / inbedding
article_symbol_windows— rendement per symbool in(t₀, t₀+H]- de intents van de bot (alleen symbolen die hij daadwerkelijk heeft gekocht of verkocht)
Twee deltas — slechts één bepaalt het label:
| Field | Meaning | Decides label? |
|---|---|---|
delta_re_intent |
Gemiddeld ondertekend vensterrendement op de benen die de bot heeft aangeraakt: kopen → +ret, verkopen → −ret | Ja |
delta_re_basket |
Gemiddeld rendement op alle met het artikel getagde symbolen | Nee — alleen context |
Labelbalk (standaard ±2% op intentie):
- goed — alleen als
delta_re_intentde positieve balk haalt - fout — als de intentie onder de negatieve balk ligt
- gemengd — bijna vlak op intentie
Dat blokkeert een bekende cheat: een artikelmand scheurt (AI/LIANGW omhoog) terwijl de bot de leidende ticker deed vervagen — de oude beoordelaar kon nog steeds goed afdrukken en “kudde naar vergelijkbare opstellingen” leren. Alleen op intentie gebaseerde beoordelingen beoordelen het boek dat de bot koos, niet het gemiddelde lint van het verhaal.
Elke beoordeling slaat een korte les op (en vlagt wanneer de mand de correlatie als vaardigheid zou hebben gewassen). Lessen voeden de volgende prompt voor Fase 1 — zelfspelend geheugen zonder te liegen over vervagen.


Fragmenten uit de historische fase (alleen op intentie herbeoordelen)
De eerste openbare batch van beoordelingen gebruikte nog steeds een basket-window-return. Dat was fout: Grok kon TRUMPD+MUSKE+GROKAI lang uitrekenen en correct afdrukken, Gemini kon MUSKE verkopen en nog steeds correct afdrukken, en Qwen kon TRUMPD verkopen en correct afdrukken omdat “de samengevoegde symboolset” beschikbaar was. Fase 3 was het witwassen van correlaties als vaardigheid.
Na de correctie werden dezelfde beslissingen opnieuw beoordeeld. Uizonderingen uit de alleen-intent-bestanden:
Grok 4.7 notitie op het bureau — basket omhoog, intent vlak → gemengd
label: gemengd
delta_re_intent: ≈ 0.0 (TRUMPD/MUSKE/GROKAI-benen vlak in het venster)
delta_re_basket: ≈ +13,3% (artikeltape is nog gescheurd)
les: “Intent ΔRE bijna vlak — maat kleiner of wachten; basket-beweging is alleen context. (basket was omhoog — zou de correlatie als vaardigheid hebben gewast; alleen-intent-beoordeling blokkeert dat.)”
Gemini — verkocht MUSKE terwijl MUSKE gescheurd was op kaarsen → fout
label: fout
delta_re_intent: ≈ −12,7% (MUSKE verkopen wanneer MUSKE-window-ret ≈ +25%)
delta_re_basket: nog steeds positief
les: “De gekozen benen doen pijn tegen het venster — behandel basket-scheur niet als vaardigheid als je de winnaar hebt weggefaseerd of de verliezer hebt gekocht.”
ICC-showdown — lang TRUMPD in een dump → fout (basket is nog omhoog)
label: fout
intent-been: TRUMPD kopen, window-ret ≈ −61%
delta_re_basket: ≈ +12% op de bredere tagset
les: basket zou gewast hebben; alleen-intent-oproepen roepen de fade van vaardigheid correct — het kopen van de verliezer is fout, zelfs als AI-neven scheuren.
Qwen — verkocht TRUMPD op dezelfde ICC-dump → juist op intent
label: juist
intent-been: TRUMPD verkopen met ret ≈ −61% → ondertekende intent ≈ +61%
delta_re_basket: ≈ +12%
les: de verliezer wegfades is vaardigheid op intent; dat is het tegenovergestelde van de oude basket-cheat.
Dertig beslissingen werden opnieuw beoordeeld onder de nieuwe regel. Een follow-up hygiënepass voegt immutable beslissingsmomenten (kennistijdstempels, bevroren symbols_at_decision, Phase1→Phase2 flip-klassen, commentarexposure-order) toe en splitst intent-prestaties van uitvoering P&L. Lessen die in Fase 1 worden geïnjecteerd, kunnen alleen beoordelingen bevatten waarvan de evaluation_end op of voor die Fase-1-start is — wat tijdlekkage van toekomstige tape naar eerdere lessen blokkeert. Cron blijft alleen-intent gebruiken. Live-bots die Fase 1-vullingen loggen, worden op dezelfde manier beoordeeld.
RSS-bus en mcap-gated-lijsten
Gladiators wachten niet langer alleen op gepubliceerde HTML op de bureautafel. Agency/gedeelde RSS-feeds belanden in een 48-uurs lokale cache (titel + feedsamenvatting — paywalled HTML is optioneel; RSS-tekst is meestal voldoende). Namen worden omgezet in tickers; ontbrekende namen worden gescoord met mcap-1.5 R (TRUMPD = 1.0). Automatisch creëren alleen als R ~0.12 of een kantoorverdieping (nationale HOG/kabinet) haalt. Podunk-raadslawaai blijft buiten tenzij je het forceert.
IPO-meldingen komen nog steeds binnen via de e-mail/lijstpad wanneer noteringen openen — mensen blijven de laatste redmiddel voor slips.
Stack-kaart
| Stuk | Rol |
|---|---|
battle_rss_cache.py |
48h RSS-opslag |
battle_news_bus.py |
Bureaudraad + RSS-dedupe |
battle_phases.py |
Fase 1/2/3 helpers + bestanden beoordelen |
battle_mcap_score.py |
R-poort voor automatische creatie |
politicap_ml |
Embeddings + article_symbol_windows |
| cron + systemd gladiators | Vernieuwen, entiteit/IPO, Fase 3-beoordeling, live-handel |
RSS verrijken: de firehose handelbaar maken (zonder onzin te overspoelen)

Gladiators lezen nu de volledige multi-feed RSS-cache, niet alleen bureaupublicaties. Een artikel met geen handelbare symbolen is verspilde sampling. Dus verrijken we elk cache-item via een expliciete poortketen voordat het nuttig is als een marktevenement — en we slaan alleen vectoren op wanneer iemand daadwerkelijk handelt (of wanneer de bureautafel publiceert EN).

Poortvolgorde (duplicaten verslaan afval):
- NER — vind persoonsnamen (niet “White House” / “First Amendment”).
- Dubbele persoon — zoek/alias koppelen (
RUBIOM, geen tweede Rubio). Verwarring door kloons is erger dan nietsdoende onzin tickers; gladiators kunnen onzin lijsten negeren. - Toewijsbaar indexeren? — moet landen in USA/NETH/TECH/… Als alleen SPECIAL/onbekende geografie → maak niet aan.
- mcap-1.5 R — zachte snede (~0.12) plus nationale HOG/kabinettvloeren (Podunk-raad blijft buiten).
- Embed-vergelijken in geheugen — cosinus vs
politicap_ml; bijna-duplicaten samenvoegen op éénevent_cluster_id(zelfde varken, veel koppen).
news_id houdt de inbedding vast, zodat inbeddingen ↔ handel van constructie waar is. Desk EN publiceren verankeren nog steeds altijd.
Waarom deze vorm: volledige RSS is de brede, veelkleurige sensor (minder stapeling van enkele editors). Desk blijft een merk gericht op mensen. De vector DB blijft een bibliotheek van geacteerde (of gepubliceerde) politiek, niet elke white-noise kop. Zo verhogen we de SNR voor een toekomstig netwerk voor lokale politiekhandel — stap vele luidruchtige wegingen van dezelfde ongepubliceerde “varkensgewicht” (partijplan) zonder te beweren dat we het nummer hebben gekregen.
Publiceerbaarheid van RSS-items (signaal van de desk-wachtrij)
Niet elk verrijkt feed-item verdient een politicap.eu-notitie van de desk. We scoren publiceerbaarheid zodat mensen (en later automatisering) de inbox kunnen prioriteren:
- Feed-autoriteit — Reuters / AP / BBC / grote nationale kranten hebben een hogere score dan nicheblogs.
- Draadoverlap — bijna-dubbele inbeddingen in verschillende outlets (dezelfde varkens, veel sensoren) verhogen de score; een enkele herschrijving van een draadverhaal is minder uniek, maar een hit van Reuters-klasse die door veel feeds wordt weergegeven, is een sterke kandidaat voor de desk.
- Dichtheid van high-rollers — veel aan te hangen / namen met hoge mcap-R verslaan een enkele obscure raadslid.
Het resultaat is een niveau A–D plus numerieke score op het cache-item (publish_worthiness). Het wordt niet automatisch gepubliceerd; het rangschikt wat de tijd van Fred (of een T4-agentschap) waard is. Gladiators zien nog steeds de brede feed; de desk ziet een gesorteerde wachtrij.
Implementatie: battle_rss_enrich.py op de battle-host; cron elke 20 minuten; Fase-1 beslissingslogboeken kunnen on_trade_embed activeren.
Hoe u de lus helpt
- Handel na echt nieuws, zodat vensters volume hebben.
- Gebruik mooie gekoppelde tickers — ze zijn de sleutels om te verbinden.
- Reageer als u het niet eens bent — Fase 2 huddle leest de thread.
Open een PolitiCap-account → burgermarkt, virtueel DutchBud-ledger, fintech-ruggengraat onder het spel.
3DN bouwt de rails, zodat het experiment lokaal, controleerbaar en van ons blijft — van Postgres-vectoren tot battle-grades op schijf.
Geef een reactie