A free-data falsification study of the impact operator in gold and nine other markets.
Most market forecasting targets the price. This study targets the operator that
converts news into price movement — written G in ΔP = G · ε, where ε is the
shock and G is the market's conductance. The hypothesis under test is that G
is (a) a genuine, forecastable state variable rather than a constant with noise,
and (b) explained by the discretion distribution of the holder base — who is
forced to act, when, and who is left to absorb them.
Result in one line: (a) is true and universal. (b) is not supported.
| # | Test | Result |
|---|---|---|
| 1 | Is G a state variable, or a constant with noise? |
Rejected the constant. Ljung-Box(22) = 1021.5 vs null p99 = 40.0; out-of-sample R² +7.3% |
| 2 | Does holder-base Λ beat realised + implied volatility? |
No. Out-of-sample R² falls in 5 of 6 specifications; corr(log Λ, log G) = 0.014 |
| 3 | Does signed conductance asymmetry produce signed drift? | No. Correct sign at every horizon, |t| ≤ 1.09 |
| 4 | Do large moves cluster in high-Λ states? |
No. Non-monotone; high/low quintile ratio 0.68 |
| 5 | On scheduled events, does pre-event G predict the response? |
No. Coefficient −0.12; the predicted +1.0 excluded at 5.4 standard errors |
| 6 | Does the G result generalise beyond gold? |
Yes — everywhere. Identical signature in all 10 assets, p < 0.0001 |
Tests 1–4 are the kill conditions written into the original theory document before any data was collected. Tests 5 and 6 were added to discriminate between two explanations that tests 1–4 cannot separate.
Conductance is real, strongly persistent, and forecastable — and that is true of every liquid market tested, not gold specifically:
| Asset | Class | α̂ | Ljung-Box(22) | VR(66) | OOS R² |
|---|---|---|---|---|---|
| GLD | gold | 1.032 | 1021.5 | 6.82 | +7.3% |
| SPY | US large-cap equity | 1.357 | 1208.2 | 8.01 | +8.7% |
| QQQ | US tech equity | 1.022 | 1134.6 | 7.68 | +8.1% |
| TLT | long Treasuries | 1.027 | 729.5 | 6.46 | +5.6% |
| HYG | high-yield credit | 0.994 | 1632.6 | 7.21 | +10.1% |
| SLV | silver | 0.797 | 2459.0 | 11.02 | +9.4% |
| USO | crude oil | 0.734 | 964.4 | 6.30 | +7.3% |
| FXE | euro | 0.412 | 777.0 | 6.51 | +5.2% |
| EEM | EM equity | 1.257 | 1103.5 | 7.45 | +7.3% |
| GDX | gold miners | 1.240 | 1173.6 | 7.45 | +7.2% |
Null 99th percentile for Ljung-Box(22) is ≈ 40 and for VR(66) ≈ 1.4 in every case. All p < 0.0001. Sample: 4,640 trading days each, 2008-03-28 → 2026-09-04.
This cuts both ways. It clears the theory's own generalisation bar — "if it only works on gold, it is a gold story dressed as a law." But a mechanism built on gold's uniquely documented holder base cannot explain a signature that appears just as strongly in high-yield credit and the euro.
Two independent tests point the same way.
Every COT variable, tested individually against realised vol + implied vol +
conductance's own history, forecasting mean log G one month ahead:
| Variable | Role | t (1 month) | ΔOOS R² |
|---|---|---|---|
| Trader count (breadth) | absorption | −3.18 | +0.79 pp |
| Open interest (depth) | absorption | −2.88 | +0.46 pp |
| Managed Money net / OI | forced mass | −1.18 | −0.21 pp |
| Managed Money long / OI | forced mass | −1.17 | −0.09 pp |
| Managed Money short / OI | forced mass | +0.99 | −0.74 pp |
| Managed Money gross / OI | forced mass | −0.04 | −0.49 pp |
| Δ Managed Money net, 5d | forced mass | −0.25 | −0.26 pp |
| Swap dealer short / OI | forced mass | −0.49 | −1.58 pp |
| Producer short / OI | forced mass | −0.41 | −1.29 pp |
Managed Money positioning is the theory's proxy for margin-sensitive, least-discretionary capital — the primitive the whole framework rests on. It does not forecast conductance at any horizon. What does forecast it is depth and breadth, with the negative sign the absorption logic requires. That is textbook microstructure (Kyle 1985, Amihud 2002), not a new mechanism.
The scheduled-event test. FOMC decision dates are fixed years ahead, so news
arrival carries no information, and the size of the policy surprise is close to
unpredictable. If G is a transmission operator, pre-event G should forecast the
response to whatever lands, with a coefficient near 1. On 137 scheduled decisions:
| Predictor | Coefficient | t |
|---|---|---|
Pre-event log G |
−0.123 | −0.59 |
| Pre-event log realised vol | −0.096 | −0.36 |
| Pre-event log implied vol (GVZ) | +1.005 | +2.75 |
Implied volatility prices scheduled-event risk almost exactly right (coefficient
1.005). Structural conductance adds nothing, with the wrong sign. The 95% confidence
interval on pre-event G is [−0.53, +0.29] — the theory's predicted +1.0 sits 5.4
standard errors outside it. This is an informative null, not an underpowered one.
Notably, pre-event G does load on ordinary days (t = +7.98) and loses its
significance precisely on the days when news arrival is known in advance
(t = +1.57). That ordering is what volatility clustering predicts, not what a
transmission operator predicts.
Settled. The impact operator is a persistent, forecastable state variable, distinct from realised and implied volatility (corr with log RV = 0.26), present in every liquid market tested. A constant-impact model is rejected decisively.
Not supported. That the persistence is produced by the discretion distribution of the holder base. The forced-mass side is flat, the signal that exists is generic depth and breadth, and the effect disappears on scheduled events.
Still open. The absorption stack the theory actually specifies — COMEX registered vs eligible, LBMA vault holdings, Bank of England custody, Swiss customs — could not be built: both primary sources are now blocked. The one half of the framework showing signal was tested only through its weakest available proxies.
make setup # venv + pinned dependencies
make all # collect → measure → engine → cot → events → generalize
make test # calibration: size, power, point-in-time disciplineEvery result in this README is regenerated from public endpoints. No data is redistributed. Total cost: $0. Runtime: roughly 15 minutes.
Random seeds are fixed (20260906). Outputs land in out/ as JSON.
Full detail in docs/METHODS.md. The three decisions that matter:
1. Measuring G. In a Kyle framework r = λ · flow, so λ is the conductance.
With daily free data:
log G_t = log |r_t| − α · log v_t
where v_t is volume normalised by its own trailing 252-day median. α is
estimated, not assumed (α̂ = 1.032 for gold — close to Amihud's linear
assumption, not the square-root law's 0.5). Using the empirical α makes log G
orthogonal to log v by construction, so no residual persistence can be blamed on
volume. This is verified in the test suite.
2. The null. Under the hypothesis that G is constant and volume co-moves with
volatility only through information arrival, log G is iid. That is what makes
this estimator worth using. The null distribution comes from 2,000 iid bootstraps
preserving the exact fat-tailed marginal, with the identical statistic pipeline run
on real and simulated series. Test size and power are checked against synthetic data
with known ground truth.
3. Point-in-time discipline. COT is a Tuesday snapshot published Friday 15:30 ET. Every series stores both reference date and release date, and joins use release date only. No result here uses a COT figure before the day it was published; this is enforced by a test.
All free. Collectors write immutable raw snapshots with provenance attached.
| Source | Role | Status |
|---|---|---|
CFTC Disaggregated COT, gold 088691 |
holder base | 1,056 weeks, 2006–2026 |
| GLD + 9 ETFs (daily OHLCV) | instruments | 2008–2026 |
| LBMA gold PM fix | price | 1968–2026 |
| CBOE GVZ | implied volatility | 2008–2026 |
| Federal Reserve FOMC calendar | event dates | 148 scheduled decisions, 2008–2026 |
| COMEX warehouse stocks | absorption | 403 — bot-blocked |
| LBMA vault holdings | absorption | 404 — URLs moved |
Yahoo GC=F volume |
instrument | unusable — see below |
Two corrections to the original data inventory. The COMEX warehouse file is no longer a free direct download (403 behind bot protection) and LBMA's vault-holdings URLs now 404. Together these are the entire absorption stack.
Separately, Yahoo's GC=F historical volume is broken, not merely noisy: median
56–905 contracts per year against a maximum near 200,000, with 41 zero-volume days.
It alternates between the front-month aggregate and a near-dead contract. All
measurement uses GLD, which the theory document independently sanctions.
FOMC dates use regularly scheduled meetings only. Unscheduled and emergency actions happen because markets are stressed; including them would manufacture the exact correlation the event test measures. Exclusion follows the Fed's own labels ("(unscheduled)", "(cancelled)", "Conference Call", "notation vote").
- The absorption stack is missing. The half of the framework that showed signal was tested through proxies (trader count, open interest), not the vault and balance-sheet data the theory specifies.
- Instrument mismatch.
Gis measured on GLD;Λis built from COMEX futures positioning. The two can diverge. - Event scope. FOMC only. CPI and payroll dates were unavailable (BLS returns 403), and gold may respond more to inflation prints than to policy decisions.
- Event-type, not surprise-size, is held constant. The scheduled-event test removes the "was there news at all" channel; it does not hold the magnitude of each policy surprise fixed.
Λis one construction. Falsifying thisΛis not the same as falsifying every possible holder-base decomposition — though the per-variable COT diagnostic is construction-free and points the same way.- A structural break sits inside the sample. In January 2026 CME moved precious metals margin from fixed dollar amounts to a percentage of contract value, changing the compulsion mechanism itself.
conductance/ pipeline: collect → measure → engine → cot_generic → events → generalize
tests/ calibration: test size, power, estimator recovery, point-in-time
docs/THEORY.md the original pre-registered theory and kill conditions
docs/METHODS.md estimator, null construction, regression specifications
docs/RESULTS-run1.md first run write-up (kill conditions 1–4)
out/ machine-readable results (JSON)
site/ is a self-contained GitHub Pages build of the study, with structured data for
search and AI answer engines: ScholarlyArticle, Dataset, SoftwareSourceCode and a
seven-question FAQPage, plus llms.txt, robots.txt, sitemap.xml and a social card.
Live at codedpro.github.io/market-conductance.
make site-check # validate structured data + SEO surfaceIf you fork this to a different host, make site-url USER=you REPO=yourrepo
rewrites every canonical, Open Graph and sitemap URL in one pass.
See CITATION.cff.
Project Lambda (2026). Is market conductance a forecastable state variable? A free-data falsification study of the impact operator in gold and nine other markets. https://github.com/codedpro/market-conductance
Not investment advice. This is empirical research. Nothing here is a recommendation to trade any instrument.