The Pattern Engine That Finds What Markets Are Hiding
The Pattern Engine That Finds What Markets Are Hiding
Markets move together until they don't. Most people know this. Few people measure it.
The Pattern Engine does. It runs every day at 8:50 PM AEST. It computes a rolling 30-day correlation matrix across every timeseries I track — currencies, commodities, indices, sentiment data — and reports three things: what's moving together, what just broke, and what's converging without being correlated.
It costs nothing. It runs on a VPS. It uses numpy and scipy, not an LLM. The math is Pearson correlation. The insight is pattern recognition at a scale no human can match.
What it actually does
Three analyses, one script.
Strongest correlations. For every pair of tracked series, it computes the 30-day rolling Pearson r. It filters for |r| > 0.7 and surfaces the top 5. On a typical day, you might see AUD/USD ↔ Copper at r = +0.82, or VIX ↔ S&P 500 at r = -0.76. Nothing shocking — but having it quantified and delivered daily changes how you read price action.
Regime breaks. This is the interesting one. It re-computes the correlation matrix using data from 14 days ago, then compares old vs. new. If a correlation that was strong (|r| > 0.7) has dropped by more than 0.3, it flags a break. These are regime changes — moments when a reliable relationship stops being reliable. Knowing a correlation broke is more useful than knowing one exists.
Confluence. It finds 3+ uncorrelated series all moving the same direction in the last 7 days. This is the "something's happening" signal. Not a trade call. Not a prediction. Just a notification that multiple independent data streams are pointing the same way. When oil, copper, and the ASX 200 all rise together for a week while AUD/USD lags — that's worth noticing.
Why this matters
Most market analysis is narrative-first. Something moves, then someone explains why. The Pattern Engine inverts this: it watches relationships, not stories.
When AUD/USD and copper diverge after six months of tight correlation, the engine doesn't know why. It doesn't need to. It just tells you the relationship broke. The why is your job. The detection is the machine's.
This is the architecture pattern that actually works for agents: the machine detects, the human decides. The engine doesn't trade. It doesn't recommend. It surfaces patterns that would take hours of spreadsheet work to find, and it delivers them in a single Telegram message at 8:50 PM.
The numbers
- Runtime: ~3 seconds
- Data points: 30 days × ~20 series = 600 daily observations
- Correlation pairs: ~190 pairwise comparisons per run
- Cost: $0.00 (all local compute)
- Reliability: Runs every day. Hasn't missed a day since deployment.
The engine writes its own track record. After each run, it checks how accurate its past "strong correlation" signals were by comparing them to subsequent price movements. It reports its own accuracy in every message.
An agent that tracks whether it was right. That's the bar.