AI infrastructure research

signal-watch

A research pipeline that follows the build-out of AI infrastructure, from chips and memory to the power grid, and tests a written thesis against new data every week. Every claim is a query, every judgement is dated, and the AI reviewer can write nothing but its own report.

Role
Designed, built and operated alone
Period
2026
Stack
Python, SQLite, Datasette, Claude (sandboxed), systemd, AWS (EC2, S3)
20collectors in the AI line
20thesis signals scored weekly
201weeks replayed in the backtest
156automated tests

How a week runs

  1. 01CollectTimers run the collectors daily, every six hours or weekly. Each row records its source and fetch time.
  2. 02StoreA SQLite time-series database of about 300,000 rows, browsable through Datasette on a private network.
  3. 03ScoreMonday 06:00: every thesis signal is scored and the snapshot is committed to git.
  4. 04ReviewMonday 07:07: a sandboxed Claude agent reads the snapshots and writes the report and any forward calls.
  5. 05DeliverA separate step with no AI commits the report, records the calls and emails the digest.

The question

Spending on AI infrastructure runs through a long chain of suppliers: foundries, memory makers, optical networking, power equipment and the grid operators who connect new data centres. Each link publishes data on its own schedule and in its own format, and some of it is never kept: memory spot prices, for example, show only the latest session.

signal-watch collects that data as it appears and holds a written thesis about the build-out up against it every week. The aim is not to predict prices but to learn, with dates attached, when the evidence starts to disagree with the thesis.

Data sources

Twenty collectors in the AI line, each on its own schedule:

  • SEC filings: 8-K and 6-K feeds for 13 companies, Form 4 and 13D/G, 13F holdings of 10 funds back to 2015, and XBRL capital spending and gross margin for 12 companies
  • Memory: DDR5 spot prices, collected daily because the source keeps no history
  • Asian supply chain: monthly revenue of 11 Taiwanese companies since 2015 and Korean chip exports since 2016
  • Power: interconnection queues of six US grid operators (ERCOT, MISO, CAISO, SPP, NYISO, ISO-NE) every week, with Berkeley Lab's history from 2014
  • Markets: daily prices for 73 tickers since 2014, the US semiconductor producer price index, and Epoch AI data-centre data
  • Language: keyword counts from 254 earnings calls of 9 companies (counts only, no transcripts stored) and 12 news feeds

A thesis written as queries

Each of the 20 signals is a SQL query with a direction, a warning level, a break level and a maximum data age. TSMC's monthly revenue against a year earlier, for example, warns at +10% or less and breaks at zero. Data older than its limit scores as stale: no evidence either way.

Signals never trade. When one warns, the weekly review must judge whether it is real or a false alarm and record a 13-week forward call. Calls are committed to git before the outcome is known and scored afterwards against chance. The rules for changing the thesis are written down too: a running line is never edited, and thresholds move only in a quarterly window, on forward evidence.

The reviewer in a sandbox

The review runs as a throwaway system user, with Claude limited to reading files, searching and writing. It has no shell and no git. It sees read-only copies of the thesis, the snapshots and past reports; the database and every secret stay out of view, and the only place it can write is its own outbox.

  • Network: private, loopback and cloud-metadata addresses blocked; the public web open for reading sources
  • Credentials: its API token comes from an encrypted systemd credential; it holds no email, cloud or GitHub access
  • Limits: 2 GB of memory and one hour per run
  • Side effects: a separate step with no AI commits the report, records the calls and sends the email

A backtest that cannot see the future

The backtest replays the thesis week by week from January 2023, about 200 weeks, plus a 2016-2022 holdout the thresholds were not designed on. Every data type has a point-in-time rule: fund holdings count from their filing date, producer prices from the following month, financial statements from their first filing. A test appends future data and checks that no past week changes.

Trades execute at the next week's close with a 0.1% cost. Each rule is compared with SMH, a semiconductor index fund, and with a fixed control portfolio. The rule that sold a holding when its signal broke lost to simply holding in both periods, which is why signals inform judgement instead of trading. The limits of the method are written next to the numbers: one market cycle, layers chosen with hindsight, overlapping windows and no risk adjustment.

Operations

It runs on a small AWS server under systemd, with nine timers and nightly backups to Amazon S3. About 11,000 lines of Python with 156 automated tests. The core knows nothing about chips: a second research line, on cybersecurity, was added as configuration with five collectors of its own.

Screenshots

The weekly review: how many signals hold, warn, break or lack data.
Each signal against its warning and break levels.
The backtest: each rule against SMH, by period.
Change in earnings-call keywords, quarter on quarter.
Momentum per infrastructure layer.
Active capacity in six grid operators' interconnection queues.

Figures as of 7 November 2026. For research and education only; not financial advice. The pipeline and its reports are private.