TDI
/intel?view=tdiWhat it answers
The world's operational pulse — ten event streams (military, vessels, earthquakes, cyber, news…), each measured against its own baseline. What prices an asset is never the background noise, it's the gap to normal. The TDI puts a number on that gap, stream by stream.
When to open it
- So a sensational headline doesn't catch you out. An alarming headline about an earthquake, an air raid or a wave of cyberattacks can describe a perfectly ordinary Tuesday for the stream concerned. The TDI tells you immediately whether you're on noise or on a genuine break from baseline.
- When a safe-haven moves for no visible reason (gold, JPY, CHF, bonds). Check Flights, Conflict, Vessels before the wires: the operational tape can run ahead of the press.
Anatomy
Three stacked zones. At the top the snapshot summary (streams scanned, total divergences, critical / high badges). Below the history chart — one curve per stream over the chosen window, with the 1.5 / 2.0 / 3.0 thresholds drawn as dashed lines. At the bottom the stream list, sorted by severity descending: one row per stream, unfolding on click to reveal the stats against baseline and any regional alerts detected.
How to read it
The header filters
| Element | How to read it |
|---|---|
| baseline — 14d / 30d / 90d | How deep the historical baseline runs. Shorter = more responsive to recent regime changes but more volatile. Defaults to 90d. |
| history — 1W / 1M / 3M | The top chart's window. Chosen independently of the baseline: the chart steps back that many days, and each day of history is measured against its own baseline (pure as-of, no lookahead). Defaults to 1M. |
The summary band
One line under the header.
| Element | How to read it |
|---|---|
N streams scanned | How many streams were queried. Today: ten. |
N divergences | Total regional divergences detected on the current snapshot (all severities). |
| N critical | Counter of CRITICAL divergences (z ≥ 3.0). Absent when zero. |
| N high | Counter of HIGH divergences (z ≥ 2.0). Absent when zero. |
The history chart
One curve per stream, Y axis = the absolute value of z over the chosen window. The Y axis is scaled to the 95th percentile so a single spike doesn't flatten everything else — above that, the curve saturates at the top of the panel.
| Element | How to read it |
|---|---|
| Curve color | The stream's color code, repeated in the legend under the chart and in the list below. |
z=1.5 dashed line | The MEDIUM threshold. |
z=2.0 dashed line | The HIGH threshold. |
z=3.0 dashed line | The CRITICAL threshold. |
| X axis | Dates (MM/DD), up to ten gradations over the window. |
| Legend | One bullet per stream, plus the thresholds. When a stream is unfolded in the list below, its curve comes forward and the others fade. |
Read it like a seismograph: a curve brushing or breaking z=2.0 means the stream is running outside normal for its day of the week; one hugging the floor means the day is well within range.
The stream list
One row per stream, sorted by status severity, then by |z| descending. The streams available today (UI labels, verbatim):
| Label | What it actually counts |
|---|---|
| Flights | Military aircraft observed in real time on the public ADS-B network (aircraft transponders). A measure of air power deployed. Their presence is reliable but their absence proves nothing, since a critical military aircraft can switch its transponder off. |
| Conflict | Armed conflict, political violence and protest events, reported and hand-coded by ACLED. The academic standard, with few false positives. |
| Vessels | Positions of military and strategic vessels broadcast over AIS (the automatic identification system that is mandatory for shipping). Same logic as Flights: presence reliable, absence not. |
| Seismic | Earthquakes worldwide detected by the USGS network, typically from magnitude 2.5 up. It also catches seismic swarms — a marker of volcanic activity or of large-caliber firing and explosions. |
| Outages | Internet cuts and disruptions at country or operator scale, measured passively by Cloudflare Radar on real traffic. A good proxy for political blackouts or large-scale cyberattacks. |
| GDELT | GDELT wires filtered on sensitive subjects — military, cyber, nuclear, sanctions, maritime. A high-volume, noisy stream; the TDI measures the quantity of signal, not its content. |
| Fires | Hotspots detected by the NASA FIRMS satellites (thermal anomalies at ground level). Covers wildfires, agricultural burning, industrial sites, and incidentally traces of combat. |
| Cyber | IOC — Indicators of Compromise, the technical fingerprints left by a computer attack: a malicious URL, a command-and-control server, an infected IP. Reported by threat-intelligence feeds (abuse.ch). A wave of new IOCs on a given country points to a campaign underway. |
| Natural | Natural events curated by NASA EONET — cyclones, eruptions, floods, severe storms. A qualitative and slower source, complementing Fires and Seismic. |
| Airports | Delays and disruptions at FAA airports (United States only, as things stand). An indicator of US operational stress. |
Row header (folded)
| Element | How to read it |
|---|---|
| Colored pill | The stream's status color. |
| Stream name | The UI label above. |
z±N.N badge | The stream's overall signed z reading. Positive = activity above baseline, negative = below. Colored to match the status. Absent when no baseline is available. |
| Status pill | CRIT · HIGH · MED · ELEV · NOM · WAIT · N/A · OFF. |
| Chevron | Unfolds / folds the detail. |
The WAIT (baseline still building), N/A (not enough samples) and OFF (no activity in the window) statuses signal a read that is not interpretable — not a calm signal.
Unfolded detail
When a baseline is available:
| Cell | How to read it |
|---|---|
| Horizontal bar | Where today's observation sits on the axis 0 → max(observed, 2.5 × mean). A fast visual read of the gap. |
| Today | The raw count of the current observation. |
| Avg | The baseline average (same day of the week for seasonal streams, or all days for natural streams like Seismic, Fires, Outages, Natural). |
| ±σ | How much the baseline normally varies. A signal above Avg + σ is already notable. |
Delta % (arrow + sign) | The relative gap of Today against Avg. Green if above, red if below. |
| Samples | How many historical samples the baseline rests on. If it's very low, the baseline is still fragile. |
When the baseline is missing, the stats cell shows OBS and a short message instead — Insufficient baseline data (samples under the threshold) or N samples collected (still filling). At OFF, the row simply says No activity in window.
The Regional alerts block
Appears when the stream has regional divergences reported. One row per alert, sorted by severity then by z.
| Element | How to read it |
|---|---|
| Pill | The divergence's severity — CRITICAL, HIGH, MEDIUM. |
| Region | The area concerned. An ISO country code, a theater name (INDOPACOM, CENTCOM…), a regional label, or Global when the alert covers everything. |
| Severity badge | CRITICAL · HIGH · MEDIUM. |
z±N.N | The region's z reading. |
N.Nx | A readable multiple — how many times the average: 2.0x = twice the baseline. Useful for turning a z into concrete intensity. |
Controls
| Gesture | Effect |
|---|---|
| Click 14d / 30d / 90d | Changes the baseline depth. The whole list and every z refresh. |
| Click 1W / 1M / 3M | Changes the history chart's window. |
| Click a stream's row | Unfolds the detail: bar, stats, regional alerts. The matching curve comes forward in the chart, the others fade. |
| Click the same stream again | Folds it. One stream unfolded at a time. |
The snapshot refreshes automatically every 60 seconds.
Cross-check with other Hawkline features
- Flights, Conflict or Vessels at CRIT on a region: Monitor to see it directly on the map with the operational layers.
- A wave on GDELT or Cyber: News to pick up the narrative carrying the divergence and check the quality of the sources.
- Several streams moving together over one area: Brief to see whether the desk already publishes a read, or Markets for the adjacent Polymarket markets.
- A persistent Outages or Airports reading: that's a country's operational stress indicator, worth having before a trade on its currency via FX.
Keep in mind
- This measures a gap, not a direction. A high z says something unusual is happening — not that it's good or bad for an asset. The direction of the trade still has to be built alongside, using the other Hawkline features.
- Seasonal versus non-seasonal baselines. Human streams (Flights, Conflict, Vessels, GDELT, Cyber, Airports) are measured against the same day of the week — fewer flights on a Sunday is normal. Physical streams (Seismic, Fires, Outages, Natural) are measured against all days. Bear that in mind before comparing two streams by eye.
- A short baseline makes z volatile. On 14d, one extreme day distorts the whole statistic. If a reading looks wrong, check it against 90d before acting on it.