Menu

Geopolitical Risk Index for Commodity Volatility Prediction
Supriya Kar Supriya Kar
25 August 2026

Executive Summary

This white paper documents the design, construction, and empirical validation of the Geopolitical Risk Index (GRI) — a daily, commodity-specific, exposure-weighted geopolitical risk signal built from GDELT global news event data. The GRI was developed to address a documented gap in commodity risk management: the absence of a forward- looking, explainable geopolitical signal that is specific to individual commodities rather than a single scalar measure of global tension.
The project covers eight commodities — Brent Oil, WTI Oil, Natural Gas, Copper, Gold, Wheat, Corn, and Soybeans — across 22 countries spanning January 2018 to May 2026. All analytical work was executed using Terno AI, which acted as a collaborative data science agent across fifteen structured prompts, performing dataset construction, statistical testing, machine learning modelling, validation, and visualisation.

AI Insight Image

1. Introduction

Commodity markets are increasingly shaped by geopolitical forces. Armed conflicts, trade sanctions, diplomatic escalations, and supply chain disruptions have repeatedly triggered significant volatility in oil, gas, metals, and agricultural commodities over the 2018–2026 period. The COVID-19 pandemic, the 2022 Russian invasion of Ukraine, and ongoing Middle East tensions have each demonstrated that geopolitical shocks can move commodity prices faster and more severely than traditional market indicators can anticipate.
Yet the tools available to commodity risk managers remain predominantly reactive. Historical volatility measures — the dominant input in most risk models — reflect stress after markets have already moved. The Caldara and Iacoviello Geopolitical Risk Index (GPR), the most widely cited academic measure, is updated monthly and provides a single scalar for global geopolitical tension, without differentiation by commodity or country exposure.

This project addresses three specific gaps in the existing literature:

  • Existing indices use monthly newspaper counts; no published work uses daily GDELT events for commodity geopolitical risk measurement.

  • No paper constructs continuous exposure-weighted country-commodity composites; all existing indices treat geopolitical risk as a single global number.

  • No unified framework forecasts volatility simultaneously across multiple commodity classes using a structured geopolitical risk pipeline.

The GRI system presented in this paper addresses all three gaps. It produces eight commodity-specific risk scores per trading day, each weighted by the economic importance of 22 countries to that specific commodity. The system was built, validated, and audited entirely through Terno AI over a structured series of analytical prompts.

2. Problem Statement

The core problem this project addresses is the absence of a structured, daily, commodity-specific geopolitical risk signal that connects global conflict news directly to commodity volatility exposure. Three specific limitations of existing approaches motivate this work.

2.1 Reactive Nature of Existing Risk Measures

Traditional volatility measures such as 5-day, 10-day, and 21-day rolling volatility are backward-looking by construction. They reflect what has already happened in markets. A geopolitical shock — a sanctions
announcement, a conflict escalation, a shipping lane closure — begins affecting commodity supply chains before prices fully adjust. A forward-looking signal that detects geopolitical stress before it manifests in prices would provide genuine decision-making value.

2.2 Lack of Commodity Specificity in Published Indices

The GPR index asks one question: how much geopolitical tension is there in the world today? It provides one answer, regardless of whether the day's dominant story is a conflict in a wheat-producing region or a naval
confrontation in a semiconductor shipping lane. A risk manager responsible for an oil portfolio and a risk manager responsible for an agricultural portfolio receive identical geopolitical risk readings, even though the relevant
geopolitical events are completely different.

2.3 Monthly Frequency Limitations

The GPR index is updated monthly. In commodity markets where prices can move 5-10% in a single session, monthly risk readings are of limited operational use. A daily signal that can detect geopolitical stress as it develops — and that can be used to inform intraday and end-of-day risk assessments — is categorically more useful than a monthly reading.

Problem in One Sentence:

There is no simple, structured system that connects global geopolitical developments to country-level exposure to individual commodity volatility risk on a daily basis.

3. Existing Approaches and Limitations

The field of geopolitical risk measurement has produced several influential tools. This section reviews the most relevant existing approaches and identifies their limitations relative to the present work.

3.1 Caldara and Iacoviello GPR Index

The most widely used geopolitical risk measure is the GPR index constructed by Caldara and Iacoviello (2022, American Economic Review). It counts the occurrence of conflict-related keywords in 10 major international newspapers and aggregates the counts into a monthly scalar index normalised to a 1985–2019 baseline. The index is freely available, academically validated, and covers data from 1900 to present.

Limitations:

  • Monthly frequency,

  • Single global scalar,

  • No commodity differentiation,

  • No country-exposure weighting,

  • Newspaper-based (limited to 10 sources), not designed for operational use by risk managers.

3.2 Historical Volatility Models

The dominant approach in commodity risk management is to use rolling historical volatility (5-day, 10-day, 21-day) as both a risk measure and a predictor of future volatility. This exploits volatility clustering — the well-documented tendency for calm periods to remain calm and turbulent periods to remain turbulent. While robust during stable regimes, historical volatility completely fails to anticipate volatility arising from geopolitical shocks, where the signal precedes the price move.

3.3 VIX and Implied Volatility Measures

The CBOE VIX index measures equity market implied volatility and is often used as a proxy for general market risk. While correlated with commodity volatility during major global stress events, the VIX is equity-market-centric and provides no commodity-specific information. VIX comparison was identified as a future benchmark for this project but was not implemented in the current phase.

3.4 GDELT-Based Research

Several academic papers have used GDELT event data for geopolitical risk construction. However, existing GDELT- based approaches either use monthly aggregation (losing the daily advantage), construct country-level rather than commodity-level indices, or focus on single commodities in isolation. No published work has constructed a unified, multi-commodity, exposure-weighted pipeline of the type presented here.

4. Solution: The GRI Pipeline

The GRI system is built on three structured datasets that are constructed independently and then merged into a final modelling dataset. Each dataset has a precisely defined role in the pipeline.

Table 1: The three source datasets and the final merged modelling dataset
Table 1: The three source datasets and the final merged modelling dataset

4.1 Dataset A — Country-Level Daily GRI Scores

Dataset A is the foundational component of the GRI pipeline. It was constructed from GDELT 1.0 daily event files, downloaded via BigQuery across nine yearly batches (2018–2026). For each country and each day, a raw conflict score was computed as:

     RawScore(c,t) = max(0, −GoldsteinScale) × NumMentions
     

The Goldstein Scale measures the theoretical impact of each event on country stability, ranging from −10 (most destabilising) to +10 (most cooperative). Multiplying the negative-clipped scale by media mentions ensures that both event severity and news coverage are reflected in the score. The raw scores were then aggregated daily, log-dampened on total mentions to prevent extreme events from dominating, and min-max normalised globally to a 0–100 scale.
The result is a dataset of 649,002 rows containing one geopolitical risk score per country per day across 22 countries spanning 2018–2026.

4.2 Dataset B — Commodity Market Data

    1. Dataset B was constructed using the yfinance Python library to download daily price data for eight commodities.
      1. From closing prices, the following features were computed: log returns, absolute returns, 5/10/21-day rolling
        volatility, forward volatility targets at 3-day and 5-day horizons, and 5/21-day cumulative returns. The April 2020 negative WTI oil price was identified and handled through linear interpolation, with all downstream volatility metrics
        recomputed.

4.3 Dataset C — Country-Commodity Exposure Weights

Dataset C is a 47-row weighting matrix (22 countries × 8 commodities) that maps the economic importance of each country to each commodity. Weights were derived from IEA production data, USDA export statistics, and World Bank trade share data, then normalised within each commodity so weights sum to 1.0. This matrix is the critical differentiator between the GRI and scalar indices — it ensures that a conflict in Russia affects the oil and wheat
signals significantly but has minimal impact on the copper signal.

4.4 Final Merged Dataset and GRI Formula

The three datasets were merged through a five-step pipeline. The core GRI formula aggregates country-level risk scores for each commodity k on each day t as a weighted sum:

              GRI(k,t) = Σ [ w(c,k) × RiskScore(c,t) ]
              

where w(c,k) is the exposure weight of country c for commodity k and RiskScore(c,t) is the normalised daily geopolitical risk score for country c on day t. This produces one GRI_index value per commodity per trading day,
forming the core predictive feature.

4.5 Feature Engineering

The final modelling dataset contains ten predictive features and one target variable:

Table 2: Full feature sets used in all machine learning models
Table 2: Full feature sets used in all machine learning models

The target variable was log-transformed before modelling to address severe right skew (raw skewness 5.46, kurtosis 60.70). After log transformation, skewness fell to 0.27 — approximately normally distributed. The final clean modelling dataset contains 16,709 rows and 26 columns spanning February 2018 to May 2026.

5. The Role of Terno AI

The entire analytical workflow for this project — from initial dataset health checks through to the final internal consistency audit — was executed using Terno AI as an autonomous data science agent. Terno AI operated as a collaborative analyst, receiving structured natural-language prompts and executing Python code within a persistent sandbox environment, producing outputs including datasets, statistical results, machine learning models, and
visualisations.

5.1 How Terno AI Was Used

Terno AI executed nine structured analytical prompts over the course of this project. Each prompt specified a precise analytical task — data loading, model training, evaluation, visualisation — and Terno produced complete, reproducible Python code with output verification at each step. The agent maintained session state across prompts, reusing saved datasets and trained models without requiring re-specification of prior context.

AI Insight Image

5.2 Key Technical Contributions of the AI-Assisted Workflow

Several findings emerged directly from Terno AI's analytical outputs that would have been difficult to identify in a manual workflow. The 2025 GDELT coverage gap was detected through Terno's GRI time-series visualisation,
which showed an anomalous collapse to 0.40 in June–July 2025. The feature importance table misalignment bug (Prompt 3) was identified by comparing Terno's consolidated table against individual commodity outputs and
detecting a row-label mismatch. The n_estimators=100 parameter inconsistency in Prompt 4 was identified during the audit phase and corrected with a canonical rerun.

These examples illustrate how the structured, prompt-driven workflow created natural checkpoints for quality control — each prompt's output could be scrutinised before proceeding to the next analytical step.

6. Methodology

6.1 Stationarity Testing and Granger Causality

Before testing for predictive relationships, all time series were tested for stationarity using the Augmented Dickey-Fuller (ADF) test. All 16 series (8 GRI_index and 8 log_fwd_vol_5d, one per commodity) were confirmed stationary at p < 0.05. No differencing was required.

Granger causality tests were then run for each commodity, testing whether GRI_index helps predict log_fwd_vol_5d at lags 1 through 6 using statsmodels.tsa.stattools.grangercausalitytests. The optimal lag of 6 days was selected by AIC/BIC criteria. Tests were run separately for each commodity using only that commodity's rows, sorted chronologically.

6.2 Machine Learning Models

Three model tiers were evaluated for each commodity:

  • Model 1 (Benchmark): Random Forest trained on volatility features only [vol_5d, vol_10d, vol_21d]

  • Model 2 (GPR): Random Forest with published GPR features added to the benchmark

  • Model 3 (Our GRI): Random Forest with full GRI feature set including all lags and derived features

  • Model 4 (Combined): GRI features plus GPR headline indices

  • Model 5 (Country GPR): GRI features plus country-specific GPR indices for key nations.

All Random Forest models used canonical parameters:

  • n_estimators=300,

  • max_depth=10,

  • min_samples_leaf=20,

  • random_state=42.

XGBoost models used:

  • n_estimators=300,

  • max_depth=5,

  • learning_rate=0.05,

  • subsample=0.8,

  • colsample_bytree=0.8.

All models used a strict temporal train/test split — training on dates before 2024-01-01, testing on dates from 2024-01-01 to 2026-05-22, excluding the identified anomaly window.

6.3 Walk-Forward Cross-Validation

Standard train/test splits do not capture temporal instability in model performance. Walk-forward validation was implemented using five expanding folds:

  • Fold 1: Train 2018–2020, Test 2021

  • Fold 2: Train 2018–2021, Test 2022

  • Fold 3: Train 2018–2022, Test 2023

  • Fold 4: Train 2018–2023, Test 2024

  • Fold 5: Train 2018–2024, Test 2025 (anomaly window excluded)

Each fold trained an independent model on the available history and tested on one calendar year of out-of-sample data. This approach reveals whether predictive performance is stable across regimes or concentrated in specific geopolitical stress periods.

6.4 GPR Benchmark Comparison

The Caldara-Iacoviello monthly GPR index (headline GPR, threats sub-index GPRT, acts sub-index GPRA, and country-specific indices for Russia, Ukraine, Saudi Arabia, China, and USA) was obtained from the official replication archive at matteoiacoviello.com. Monthly values were forward-filled to daily frequency — assigning each month's GPR value to every trading day in that month. This is standard practice in academic finance literature using monthly macro indices.

7. Results and Findings

7.1 Granger Causality Results

All 16 time series (GRI_index and log_fwd_vol_5d for each commodity) were confirmed stationary by ADF test. Granger causality results at the optimal 6-day lag are presented below:

Table 3: Granger causality test results — does GRI_index Granger-cause log_fwd_vol_5d?
Table 3: Granger causality test results — does GRI_index Granger-cause log_fwd_vol_5d?

Copper shows the strongest signal (p = 0.000015, significant at both 5% and 1% levels), with peak lag at day 2. Natural Gas shows robust causality at lags 4–6 (p = 0.000087), consistent with the multi-day transmission dynamics of pipeline and LNG route disruptions. All other commodities show no statistically significant linear Granger causality, though non-linear relationships were subsequently detected in the machine learning models.

Figure 1: Granger Causality vs RF Predictive Performance

Figure 1: Scatterplot of Granger p-value (log scale) versus RF R². Note that Copper and Natural Gas (left side, strong Granger causality) show negative R², while Brent and WTI (right side, weak Granger) show positive R². This illustrates that in-sample causality and out-of-sample predictability are distinct — a key paper finding.
Figure 1: Scatterplot of Granger p-value (log scale) versus RF R². Note that Copper and Natural Gas (left side, strong Granger causality) show negative R², while Brent and WTI (right side, weak Granger) show positive R². This illustrates that in-sample causality and out-of-sample predictability are distinct — a key paper finding.

7.2 GRI Index Over Time

Figure 2: Average Daily GRI Index (2018–2026)

Figure 2: Monthly-averaged GRI index showing sustained elevation during trade war period (2018–2019), dip during COVID calm period (2020–2021), post-Ukraine elevation (2022 onwards), and the critical anomalous collapse in June–July 2025 attributed to a GDELT coverage gap.
Figure 2: Monthly-averaged GRI index showing sustained elevation during trade war period (2018–2019), dip during COVID calm period (2020–2021), post-Ukraine elevation (2022 onwards), and the critical anomalous collapse in June–July 2025 attributed to a GDELT coverage gap.

Figure 3: Forward Volatility by Commodity (2018–2026)

Figure 3: Monthly mean 5-day forward volatility by commodity. Natural Gas (purple) shows extreme spikes in 2020 (COVID), 2022 (Ukraine), and 2026 (ongoing energy crisis). Gold (red) remains consistently low — confirming safe-haven dynamics. WTI Oil shows the April 2020 negative price event.
Figure 3: Monthly mean 5-day forward volatility by commodity. Natural Gas (purple) shows extreme spikes in 2020 (COVID), 2022 (Ukraine), and 2026 (ongoing energy crisis). Gold (red) remains consistently low — confirming safe-haven dynamics. WTI Oil shows the April 2020 negative price event.

7.3 Canonical Model Comparison

The primary modelling results compare Random Forest with GRI features against a volatility-only benchmark and XGBoost with GRI features, using the canonical train/test split and parameters. Green cells indicate GRI adds value; red cells indicate GRI subtracts value.

Table 4: Canonical three-way comparison — RF with GRI vs XGBoost vs volatility-only benchmark
Table 4: Canonical three-way comparison — RF with GRI vs XGBoost vs volatility-only benchmark

Figure 4: Three-Way Model R² Comparison

Figure 4: Grouped bar chart showing RF R² (blue), XGB R² (orange), and Benchmark R² (green) for each commodity. The dashed line at y=0 separates models that beat mean prediction from those that do not.
Figure 4: Grouped bar chart showing RF R² (blue), XGB R² (orange), and Benchmark R² (green) for each commodity. The dashed line at y=0 separates models that beat mean prediction from those that do not.

Figure 5: GRI Added Value Over Volatility Benchmark

Figure 5: RF vs Benchmark R² difference per commodity. Green bars indicate GRI adds predictive value. Brent Oil shows the strongest positive contribution (+0.121). Wheat shows the largest negative contribution (-0.109).
Figure 5: RF vs Benchmark R² difference per commodity. Green bars indicate GRI adds predictive value. Brent Oil shows the strongest positive contribution (+0.121). Wheat shows the largest negative contribution (-0.109).

7.4 Feature Importance Analysis

Feature importances were extracted from per-commodity Random Forest models using canonical parameters. The consolidated heatmap below shows the importance of each feature for each commodity.

Figure 6: Random Forest Feature Importance Heatmap

Figure 6: Feature importance heatmap. Darker blue indicates higher importance. vol_21d dominates for most commodities (mean importance 0.409). WTI Oil is structurally different — vol_5d and vol_10d dominate rather than vol_21d, reflecting short-term mean reversion. GRI_roll5d_mean is the most informative GRI feature across all commodities (mean 0.052).
Figure 6: Feature importance heatmap. Darker blue indicates higher importance. vol_21d dominates for most commodities (mean importance 0.409). WTI Oil is structurally different — vol_5d and vol_10d dominate rather than vol_21d, reflecting short-term mean reversion. GRI_roll5d_mean is the most informative GRI feature across all commodities (mean 0.052).

Three key structural findings emerge from the feature importance analysis:

  • WTI Oil is the only commodity where short-term volatility (vol_5d) dominates over long-term (vol_21d) — consistent with WTI's role as a highly liquid futures market responding to immediate supply/demand signals.

  • Gold's GRI_lag10d importance (0.118) is the highest single GRI lag value across all commodities, consistent with gold's safe-haven role where investors rotate into gold after sustained geopolitical stress, not immediately.

  • GRI_roll5d_mean consistently outperforms raw GRI_index across all commodities — markets respond to sustained geopolitical pressure, not isolated daily spikes.

7.5 Walk-Forward Validation

Walk-forward validation across five folds tests whether predictive performance is temporally stable or concentrated in specific regimes.

Table 5: Walk-forward RF R² by commodity and fold. Green cells indicate positive R²; red cells indicate below-mean prediction. *Fold 5 excludes the June-July 2025 anomaly window.
Table 5: Walk-forward RF R² by commodity and fold. Green cells indicate positive R²; red cells indicate below-mean prediction. *Fold 5 excludes the June-July 2025 anomaly window.

Figure 7: Walk-Forward Heatmap

Figure 7: Walk-forward R² heatmap across all 8 commodities and 5 folds. The pattern confirms regime-dependent predictability — green cells cluster around 2024 for oil commodities and 2021/2023 for others.
Figure 7: Walk-forward R² heatmap across all 8 commodities and 5 folds. The pattern confirms regime-dependent predictability — green cells cluster around 2024 for oil commodities and 2021/2023 for others.

Figure 8: Brent Oil Walk-Forward R² by Fold

Figure 8: Brent Oil RF R² (blue) vs Benchmark R² (orange) across 5 folds. Fold 4 (2024) is the only fold where both models perform positively, with RF outperforming the benchmark. Fold 2 (2022, Ukraine invasion year) shows RF outperforming the benchmark despite both being negative — the GRI signal is most valuable precisely when markets are most stressed.
Figure 8: Brent Oil RF R² (blue) vs Benchmark R² (orange) across 5 folds. Fold 4 (2024) is the only fold where both models perform positively, with RF outperforming the benchmark. Fold 2 (2022, Ukraine invasion year) shows RF outperforming the benchmark despite both being negative — the GRI signal is most valuable precisely when markets are most stressed.

The walk-forward results establish the paper's central empirical claim: GRI adds predictive value specifically during periods of sustained geopolitical stress. This conditional predictability is more practically valuable than uniform prediction improvement — risk managers need early warning signals most precisely during geopolitical crises.

7.6 GPR Benchmark Comparison

The five-way model comparison tests our GRI against the published Caldara Iacoviello GPR index, providing the definitive assessment of the project's novelty claim.

Table 6: Five-way comparison — Our GRI R² vs published GPR R² and volatility benchmark
Table 6: Five-way comparison — Our GRI R² vs published GPR R² and volatility benchmark

Figure 9: Five-Way Model Comparison

Figure 9: Grouped bar chart showing R² for all five models per commodity. Model 1 (blue) = benchmark; Model 2 (orange) = GPR; Model 3 (green) = Our GRI; Model 4 (red) = Combined; Model 5 (purple) = Country GPR.
Figure 9: Grouped bar chart showing R² for all five models per commodity. Model 1 (blue) = benchmark; Model 2 (orange) = GPR; Model 3 (green) = Our GRI; Model 4 (red) = Combined; Model 5 (purple) = Country GPR.

Figure 10: Our GRI vs Published GPR — R² Difference

Figure 10: Horizontal bar chart showing GRI_vs_GPR (Model 3 R² minus Model 2 R²) per commodity. Green bars indicate our GRI outperforms the published standard. Our GRI wins for 5 of 8 commodities.
Figure 10: Horizontal bar chart showing GRI_vs_GPR (Model 3 R² minus Model 2 R²) per commodity. Green bars indicate our GRI outperforms the published standard. Our GRI wins for 5 of 8 commodities.
AI Insight Image

7.7 Data Quality: The 2025 Anomaly

An anomalous collapse in GRI_index values was detected in the time-series visualisation (Figure 2). Investigation revealed that 51 rows across all 8 commodities (June 16 to July 10, 2025) show GRI_index values as low as 0.40 — compared to a training period minimum of 20.77. This represents a GDELT coverage gap where event data was not fully ingested for the affected period.

Figure 11: 2025 GRI Anomaly

Figure 11: Daily mean GRI index for 2025 showing the anomalous collapse in June-July 2025. The red dashed line marks the 45- point threshold. The anomaly affected all 8 commodities equally, confirming it is a data source issue rather than a commodity-specific event.
Figure 11: Daily mean GRI index for 2025 showing the anomalous collapse in June-July 2025. The red dashed line marks the 45- point threshold. The anomaly affected all 8 commodities equally, confirming it is a data source issue rather than a commodity-specific event.

The anomaly was handled through exclusion from the test set in all canonical analyses. Fold 5 walk-forward results, which partially capture this period, are explicitly caveated. The anomaly is documented as a known data limitation requiring investigation of the specific GDELT download batch covering this period before final paper submission.

8. Internal Consistency Audit

An internal consistency audit was conducted to identify any methodological inconsistencies, data quality issues, or results that could not be defended under reviewer scrutiny. The audit covered 13 checks across data integrity, formula correctness, parameter consistency, and statistical validity.

Table 7: Internal consistency audit results — 12 PASS, 1 WARNING
Table 7: Internal consistency audit results — 12 PASS, 1 WARNING

Figure 12: Audit Summary

Figure 12: Visual audit summary. The single WARNING relates to 51 test rows with GRI_index values below the training minimum, attributable to the identified 2025 GDELT anomaly. These rows were excluded from all primary modelling analyses.
Figure 12: Visual audit summary. The single WARNING relates to 51 test rows with GRI_index values below the training minimum, attributable to the identified 2025 GDELT anomaly. These rows were excluded from all primary modelling analyses.

The audit confirmed that all key analytical results are reproducible, parameter-consistent, and mathematically verifiable. The one WARNING (GRI normalisation boundary) is a known and documented data quality issue that does not affect the primary canonical comparison results, which explicitly exclude the anomaly window.

One issue identified and corrected during the audit: an earlier feature importance table (Prompt 4) was generated with n_estimators=100 rather than the canonical 300. This was identified, flagged, and corrected — the canonical feature importance table regenerated with n_estimators=300 is used for all results reported in this paper.

9. Limitations and Considerations

This section documents the known limitations of the GRI system and the conditions under which its predictions should be interpreted with caution.

9.1 GDELT Coverage Gap (2025)

The June–July 2025 GDELT data anomaly remains unresolved at the time of writing. The root cause — whether a BigQuery download error, a GDELT ingestion issue, or a normalisation boundary effect — has not been traced back to the raw data. This gap should be investigated before final paper submission, and affected rows should either be corrected or formally excluded with a documented justification.

9.2 Monthly GPR Forward-Fill

The Caldara-Iacoviello GPR index is available at monthly frequency only. Forward-filling monthly values to daily frequency introduces a stale signal problem — the GPR value for the entire month of February 2022 is assigned before the Ukraine invasion date (February 24). This understates the GPR signal for the pre-invasion days and does not accurately represent the daily geopolitical tension trajectory. This is a standard limitation of monthly macro- financial research and should be acknowledged.

9.3 US Dominance in GDELT

GDELT's event coverage is heavily weighted toward English-language media, and approximately 60% of rows in Dataset A are attributable to US-related events. This may cause the GRI to overweight US geopolitical developments relative to their actual commodity supply chain impact. Future work could reweight GDELT sources by geographic origin.

9.4 Modest Per-Commodity Sample Size

Each commodity has approximately 1,488 training rows and 600 test rows. For tree-based models this is workable but not generous, particularly for the walk-forward folds where early folds have as few as 750 training rows. This likely contributes to high variance in fold-by-fold performance.

10. Future Work

Several extensions would strengthen both the research contribution and the practical usefulness of the GRI system.

10.1 VIX Benchmark Comparison

Adding the CBOE VIX as a third benchmark — alongside the volatility-only model and the GPR index — would complete the competitive benchmarking framework. VIX comparison is specifically mentioned as a requirement by the target journals and should be implemented before submission.

10.2 GDELT Anomaly Root-Cause Analysis

The June–July 2025 GDELT gap should be traced back to the raw BigQuery download files to determine whether the anomaly is a data ingestion error, a normalisation boundary effect, or a genuine GDELT coverage issue. If an ingestion error, the correct data should be retrieved and the affected rows corrected.

10.3 Producer vs Consumer GRI Decomposition

An interesting extension would decompose the GRI into producer-country and consumer-country components, using the QuadClass field in GDELT to separate outbound conflict events (where a country is an actor) from inbound events (where a country is a target). This decomposition would allow testing whether supply-side geopolitical risk (producer countries) and demand-side risk (consumer countries) have different lag structures.

10.4 Additional Commodities and Countries

The current system covers 8 commodities and 22 countries. Extending to additional agricultural commodities (rice, sugar, coffee) and energy commodities (LNG, uranium) would broaden the paper's contribution. Including additional countries — particularly India, Brazil, and Indonesia as emerging commodity powerhouses — would improve exposure weight accuracy.

10.5 Graph-Based Spillover Modelling

If the baseline results justify additional complexity, a knowledge graph extension could model geopolitical spillover effects — how a conflict in one country propagates risk to neighbouring or economically linked countries. This was identified in the original project design as an optional extension conditional on strong baseline results.

11. Conclusion

This project has built a structured geopolitical risk infrastructure that transforms daily global news event data into measurable, commodity specific volatility risk signals. The GRI pipeline addresses three documented gaps in the existing literature — the absence of daily GDELT-based commodity risk measures, the lack of exposure-weighted country commodity composites, and the absence of a unified multi-commodity volatility forecasting framework.

The empirical results support the following conclusions:

  • GRI adds predictive value for energy and metals commodities, most strongly for Brent Oil (+12.1% R² improvement over benchmark).

  • GRI outperforms the published GPR index for 5 of 8 commodities, with the largest gap for Wheat (+26 percentage points) where the GPR's undifferentiated global signal actively misleads models.

  • The GRI signal is regime-dependent — it activates during geopolitical stress years and is dormant during calm periods. This conditional predictability is precisely what makes it operationally useful.

  • Combining GRI with GPR degrades performance through multicollinearity, confirming the two indices capture overlapping information with GRI providing the more precise signal for supply-chain-sensitive commodities.

  • The analytical workflow executed through Terno AI produced a fully audited, internally consistent pipeline with 12 of 13 consistency checks passing and one documented WARNING with known cause and mitigation.

Practical Value Statement

The primary long-term value of this project lies not in its predictive R² values, but in the infrastructure it creates: a clean, daily, commodity-specific, exposure-weighted geopolitical risk dataset covering 2018–2026 that is reusable, extensible, and independently valuable as a data asset for commodity risk research.

12. References

  • Caldara, D. and Iacoviello, M. (2022). Measuring Geopolitical Risk. American Economic Review, 112(4), 1194–1225.

  • GDELT Project (2020). GDELT 1.0 Daily Event Files. Available at: https://www.gdeltproject.org/data.html

  • Caldara, D. and Iacoviello, M. (2021). Geopolitical Risk Index Data. Board of Governors of the Federal Reserve System. Available at: https://www.matteoiacoviello.com/gpr.htm

  • Breiman, L. (2001). Random Forests. Machine Learning, 45(1), 5–32.
    Chen, T. and Guestrin, C. (2016). XGBoost: A Scalable Tree Boosting System. Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.

  • Granger, C.W.J. (1969). Investigating Causal Relations by Econometric Models and Cross-spectral Methods. Econometrica, 37(3), 424–438.

  • International Energy Agency (2024). World Energy Statistics and Balances. Paris: OECD/IEA.

  • United States Department of Agriculture (2024). World Agricultural Supply and Demand Estimates (WASDE). Washington DC: USDA.

  • World Bank (2024). Commodity Markets Outlook. Washington DC: World Bank Group.

  • Breuer, T., Jandacka, M., Rheinberger, K. and Summer, M. (2008). How to find plausible, severe, and useful stressscenarios. International Finance, 11(2), 205–224.

All code, datasets, and outputs referenced in this paper were generated within Terno AI's persistent sandbox environment. Saved files include:

  • GRI_modelling_clean.csv,

  • GRI_canonical_comparison.csv,

  • GRI_vs_GPR_comparison.csv,

  • GRI_paper_summary_table_final.csv,

  • GRI_walkforward_summary.csv,

  • feature_importances_canonical_final.csv, and

  • 13 chart PNG files (chart1 through chart13).

Privacy-First Mule Hunter Network

26 August 2026

Privacy-First Mule Hunter Network

A Proof-of-Concept for a Decentralised Fraud Defence System Using Federated Learning and Graph Neural Networks in Indian Banking

Read More
The Honest Number Was 83%: Leakage, Abstention, and a Complaint Router You Can Actually Deploy

18 August 2026

The Honest Number Was 83%: Leakage, Abstention, and a Complaint Router You Can Actually Deploy

The same complaint-routing model scores 96.3% or 83.2% depending on which three columns you leave in the training data. The high number is the intake form being read back to you. This is what the leakage audit found before a single model was trained, why 83.2% is the honest figure, and how the same model — given permission to say "I don't know" — becomes deployable at 90.7% accuracy on 79.5% of traffic.

Read More
EdgeGuard: AI-Driven Predictive Maintenance for Power Transformers

29 July 2026

EdgeGuard: AI-Driven Predictive Maintenance for Power Transformers

Power transformers are among the most critical assets in electrical distribution infrastructure. Their unexpected failure can result in power outages, safety hazards, equipment damage, expensive repairs, and long service interruptions. Traditional transformer maintenance practices often rely on periodic manual inspection, offline testing, or run-to-failure maintenance. These methods are expensive, slow, labor-intensive, and unable to detect rapidly developing faults in real time. EdgeGuard is an AI-driven, edge-computing predictive maintenance system designed to continuously monitor transformer health and forecast failures before catastrophic damage occurs. The system acts as a retrofittable “Digital Doctor” for distribution transformers by combining low-cost industrial sensors, an ESP32 microcontroller, local intelligence, machine learning-based risk prediction, autonomous relay control, and a real-time web dashboard. The proposed system monitors six major transformer health indicators: temperature, humidity, vibration, oil level, current, and voltage. These signals are normalized and processed through a Multi-Layer Perceptron neural network to classify transformer condition and estimate failure risk. If the predicted risk crosses a critical threshold of 80%, EdgeGuard automatically triggers a relay through GPIO 26 to isolate the transformer from the electrical network. The system also supports secure remote control, dashboard monitoring, API-key-based hardware authentication, JWT-based user access, WebSocket live updates, and automatic live-hardware detection. With an estimated deployment cost of approximately ₹3,850, EdgeGuard offers a low-cost alternative to conventional transformer monitoring systems. Its cloud-independent operation and edge-based decision-making make it especially useful for rural and semi-urban distribution grids where connectivity and maintenance resources are limited.

Read More

- Your AI-Data Scientist

Turn your data into decisions with Terno.

Check out Terno