Alternative Data

Eighteen series that are not functions of the price chart.

Positioning from the CFTC, the VIX complex, the broad dollar index, EIA petroleum inventories and US macro, downloaded inside StrategyQuant’s Data Manager, published as builder blocks, and exported to MetaTrader 5 so a strategy trades on the numbers it was built on.

  • StrategyQuant X Data Manager tab
  • MetaTrader 5 for deployment
  • Two free API keys: FRED and EIA
  • 24 instruments
The Alternative data tab in the SQX Data Manager after an update, with the FRED and EIA keys shown as saved.
Screenshot coming: The Alternative data tab
The Alternative data tab
MetaTrader 5 chart with the AWAltDataMonitor indicator listing alternative-data features with their latest value and age.
Screenshot coming: The monitor on a MetaTrader 5 chart
The monitor on a MetaTrader 5 chart
What it gives the builder

Series to search over, not a recommendation

Everything else in StrategyQuant is a transformation of OHLCV. No manipulation of EURUSD bars produces the leveraged funds’ net position, and none produces the VIX. Whether any of these carries edge on a given instrument is the builder’s question to answer.

GroupFeaturesSource
Volatilityvix, vix_chg5, ivol, ivol_chg5 (the instrument’s own implied-vol index where one exists, such as gold or oil)FRED
Dollarusd_chg5FRED broad dollar index (weekly)
Positioningcot_spec_net, cot_idx_1y, cot_idx_3y, cot_chg_4wCFTC (no key)
Petroleumeia_stk_idx1y, eia_stk_chg4, eia_utilEIA weekly (free key)
Macromac_y10, mac_curve, mac_bei, mac_gap, mac_cpi (unrevised, not seasonally adjusted), mac_unempFRED

Instruments: 11 equity indices, 7 FX majors, 2 metals, 3 energy and 1 crypto. Which columns an instrument can fill depends on its sources. Alternative Data needs two free API keys that you register yourself: a FRED key (without it 11 of the 18 features cannot update) and an EIA key (it feeds the three petroleum features). The CFTC source needs no key, and News needs none.

The design decision

History once, here. The terminal only extends it.

Two implementations of one computation, in two languages, will not stay bit-identical. So the split is by time, not by responsibility.

Scroll the diagram sideways →

History is computed once; the terminal only extends it, and checks itselfStrategyQuant computes history once and exports it. The MetaTrader service re-derives the 60 days below its cutoff and compares them with StrategyQuant's rows before it rewrites a 14-day tail and extends forward. TIME → Everything a backtest sawcomputed once by StrategyQuant · copied byte for byte 14-day tailrewritten Days since exportextended by AWAltDataFeed Overlap check before every write re-derive the 60 days below the cutoff, compare with SQX rows mismatch above 1e-6 or on whether a value exists: refuse, alert, keep last good file The service never creates a feature file, and a rewrite that would shorten the file is refused.
Fig. 1 — Parity as an assertion that re-runs in production, not a build-time test that decays.

Live reload

The MT5 indicator and monitor watch the file’s modification time and recalculate, so a chart never serves a stale tail.

No tester surprises

The indicator makes no network calls, so it behaves identically in the Strategy Tester. The feed service does not run there, so backtests read frozen data and stay reproducible.

Watch it fail loudly

A parity failure raises an alert. An on-chart monitor shows every feature with its value and age, because the quiet failure is a percentile that has not moved in six weeks.

Deployed strategies

Once exported, a live strategy stays current without StrategyQuant

The feed service keeps the files moving

AWAltDataFeed is a MetaTrader 5 service. Every 60 minutes it fetches FRED, CFTC and EIA straight from the terminal, rewrites the last 14 days and appends forward to today. It first recomputes 60 days it already wrote and compares them; if they differ it refuses to write, raises an alert and keeps the last good file. The indicator reloads whenever the file changes, so a running chart picks the new rows up without a restart.

Your strategy needs StrategyQuant once: export each instrument from the Alternative data tab so the service has a history to extend. The service needs internet access and the keys below, and runs only while the terminal runs. Keep the terminal (or the VPS) up and logged in; MetaTrader starts its services itself.

If a feed stops

The indicator keeps serving the last value and its age climbs, so attach AWAltDataMonitor to a chart: it shows every feature with its age and colours the stale ones. The feed service does not run in the Strategy Tester, so a backtest reads whatever is on disk at that moment, including any tail the service has since added.

Keys work in both directions

Keys you save in StrategyQuant are copied to the terminal for the feed service (on by default; you can turn it off). Keys you enter on the MetaTrader side are written to the same file, and StrategyQuant falls back to it when it has none of its own. Where both exist, the key saved in StrategyQuant is the one StrategyQuant uses.

Alternative Data and News differ

Alternative Data downloads from the internet inside the terminal. News needs no internet: it reads the terminal’s own economic calendar. For News, the Import button in StrategyQuant (then Export to MetaTrader) refreshes what the builder sees; deployed terminals are kept current by their own service.

Correctness

Look-ahead and missing data, handled explicitly

Join on publication, not observation

SourceVisible from
FRED daily series (VIX, yields, breakevens)next day
FRED fed funds ratetwo days after the next business day
FRED broad dollar index (weekly)the Wednesday after the Monday release
FRED CPIthe 18th of the following month
FRED unemploymentthe 10th of the following month
CFTC COTthe Saturday after the Tuesday report date
EIA weeklyreport date + 6 days

Buffers are whole days so the guarantee does not depend on timestamp comparison across broker and UTC clocks.

Three states, not two

StateIndicator emits
valuethe number, Available = 1
missingcolumn median, Available = 1
unavailable0 and Available = 0

Every condition block checks Available first, so “ivol lower than 0.5” cannot be true on every bar of an FX chart where no such series exists.

Practicalities

Blocks, platforms, keys and known gaps

Blocks

The AWAltData indicator (value, availability, age in days) plus 10 condition blocks: rising, falling, higher, lower, crosses up/down, changes up/down by an amount, in range and outside range. Feature is an integer ordinal so the builder can search which series to use; ordinals are append-only so a stored strategy never changes meaning.

Platforms

MetaTrader 5 only. Only MetaTrader 5 exports are supported. Templates for MetaTrader 4, JForex, EasyLanguage and PseudoCode exist only so StrategyQuant X lists the blocks on every platform; they are not functional and are not supported for these blocks. That is deliberate: a loud failure beats trading on a substituted number.

Keys and the network

You enter two free keys, FRED and EIA, in the tab. Your keys live outside the plugin folder, are never returned by the tab, the log or the API, and are masked out of log lines. The MT5 feed service needs three hosts allowed under WebRequest (the installer adds them to your terminals; if it could not, add them under Tools > Options > Expert Advisors): api.stlouisfed.org, publicreporting.cftc.gov, api.eia.gov. Save keys also sends the keys to the terminal’s Common\Files folder by default, so the feed service can start warm; any MetaTrader program on that PC can read that file. Untick the option in the tab, or press Remove keys from MT5, on a shared or rented machine.

Known gaps

  • Positioning (COT) columns exist only for the S&P 500, the seven FX majors and Bitcoin. The other indices, metals and energy carry none yet; that data sits in a different CFTC report.
  • FX has no implied-volatility index; the old one was discontinued in 2025 and is deliberately not wired.
  • No gamma-exposure series.
Quality gates

Plausibility bands on every FRED series, refusal of a rebuild that loses too many rows, feature files read by column name never by position, atomic writes, and timestamped backups before each replace.

Licence

Alternative Data

See pricing · also included in the Suite

Risk

Software output is not investment advice and says nothing about future results. Validate every strategy yourself before risking capital.