Satellite Data for Trading Signals
Satellite data can observe economic activity before it appears in earnings releases: cars in retail car parks, inventory at ports, flare intensity at oil fields, or construction progress at industrial sites. That observational advantage is real, but it is not automatically alpha. The investable problem is to transform irregular images into an as-of estimate, map it to a security with enough economic specificity, and trade after accounting for vendor latency, model error, and crowding. This is an advanced branch of alternative-data trading, not a replacement for fundamental research.
Start with an economic measurement equation
Do not begin with a pretrained vision model. Define the financial quantity first: same-store sales for a retailer, throughput for a refiner, or production activity for a shale producer.
return(t, t+h) = beta * surprise(activity_t | consensus_t) + controls + noise
The feature must estimate surprise, not correlate with size or seasonality. A rising vehicle count is unsurprising in December; weakness versus a site's history and peers is useful.
| Use case | Observable proxy | Typical cadence | Main confounder |
|---|---|---|---|
| Retail | vehicles, roof occupancy | daily–weekly | weather, holidays |
| Energy | flares, tank shadows, rigs | daily–weekly | cloud, maintenance |
| Shipping | vessel queues, container stacks | daily | route diversion |
| Industrials | construction progress, inventory | weekly–monthly | site attribution |
| Agriculture | vegetation index, soil moisture | 5–16 days | local weather |
The data-generating process matters
Imagery is not a clean panel. Each observation has acquisition time, processing time, publication time, geolocation accuracy, resolution, cloud score, sensor type, and a vendor revision history. Your research timestamp must be the first time the feature was actually available, not the image capture timestamp. This is the same discipline required for point-in-time data engineering.
Optical images fail under cloud and darkness. Synthetic-aperture radar sees through clouds but has speckle and a different feature space. Low-resolution, high-frequency constellations capture trends; high-resolution tasking is more precise but sparse and expensive. Retain raw scene identifiers and quality fields so a backtest can reproduce the vendor's information set.
Build features at the site level
A practical pipeline has four layers:
- Entity resolution maps a listed issuer to facilities and polygons, including openings,
closures, franchises, and joint ventures.
- Image quality control rejects cloud, shadow, off-nadir, and anomalous-resolution scenes.
- Computer vision estimates the physical measure with uncertainty.
- Aggregation converts site estimates into issuer and sector surprises.
Normalize vehicle counts by usable parking capacity, not sum across locations:
def standardized_occupancy(cars, capacity, peer_median, own_seasonal_mean):
occupancy = cars / capacity.clip(lower=1)
seasonal_surprise = occupancy - own_seasonal_mean
return seasonal_surprise - peer_median
Keep vision-model prediction intervals. Counts of 80 ± 5 and 80 ± 45 cars should not receive equal weight. Propagate uncertainty with inverse-variance weights and cap any single site.
Validation must be temporal and geographic
Random image splits leak. Nearby sites share weather, pavement geometry, and operating conditions; adjacent dates share the same cars and sensor artifacts. Split training data by time and geography, and reserve whole companies or regions when evaluating transfer. Label quality also matters: manually audited counts are not interchangeable with weak labels from mobile location data.
| Test | Question answered | Common failure |
|---|---|---|
| Temporal holdout | Does it survive new seasons? | training on future imagery |
| Geographic holdout | Does it transfer to new sites? | memorized parking lots |
| Earnings-event test | Does it forecast a surprise? | predicting revenue level |
| Vintage replay | Was the feature tradable then? | vendor backfill |
| Capacity test | Can the signal scale? | ignoring small-cap liquidity |
The financial test should align estimates with the reporting calendar. If a vendor delivers a weekly feature two days after capture, trading at the prior close is lookahead. For earnings, form forecasts only from observations released before the model's cutoff.
Model the signal, not just the image
The final model generally benefits from simple, interpretable components: rolling robust z-scores, peer-relative ranks, trend slope, coverage fraction, and forecast uncertainty. Gradient boosting can combine these features, but complex models often overfit a small number of earnings events. The cross-sectional target can be standardized unexpected revenue, then translated into a risk-controlled expected return.
Use satellite data as one sleeve alongside feature engineering from prices, estimates, and fundamentals. A useful guardrail is to require incremental information coefficient after controlling for momentum, size, sector, and analyst revisions. If the imagery feature only proxies for those factors, it has no independent economic role.
Portfolio and operational risks
Coverage is uneven: large US chains have many observable sites, digital businesses have few, and private suppliers can contaminate public-company attribution. Trade the signal as a cross-sectional residual within industry groups, with exposure limits to sectors, country, and earnings-date clusters. Slower signals can be held through a reporting event; rapid observations should face turnover and transaction-cost budgets.
Monitor sensor changes, polygon edits, model drift, missing-scene rates, and vendor terms. A switch from 50 cm to 3 m imagery can report a plausible but different count. Retain immutable inputs and version every polygon and model release.
Key takeaways
- Satellite alpha begins with a measurable economic quantity and a security-specific mapping.
- Capture, publication, and revision timestamps must be modeled point in time.
- Site-level normalization and uncertainty estimates are more valuable than a fashionable vision model.
- Validate across dates, geography, and full information vintages before testing returns.
- Treat imagery as a constrained alternative-data sleeve with explicit coverage and capacity limits.
