Persistence remains the benchmark to beat. HMGNN records MSE 0.0309 versus 0.0328 for the last-value baseline, yet the Diebold-Mariano statistic is -1.0151 with p=0.3100. Nothing here beats this quarter's CDS spread at any conventional significance level. Section 5.2.2 says so directly.
Umeorah and Fadina combine two bank-to-bank relations and a bank-to-country relation in a temporal heterogeneous multiplex graph neural network, then pass them through one recurrent encoder. The static financial similarity layer uses an RBF kernel on balance-sheet characteristics averaged over the training period, retaining the strongest six links for each bank. A time-varying liquidity layer comes from rolling correlations of LCR, LDR and DAR (deposit-to-asset ratio) over eight quarters, mapped to (1+rho)/2. The third relation links each bank with its domicile country as a separate node type.
A bank-specific softmax gate mixes the two bank-to-bank embeddings. Country data enter through a GraphSAGE step and receive a fixed 50/50 weight. A GRU processes eight quarters of embeddings, after which an MLP forecasts the change in log(1+CDS) one quarter ahead.
The sample combines Bloomberg bank fundamentals from 1998Q1 to 2025Q4 for 29 named institutions, FRED market variables, and World Bank annual country indicators replicated across quarters and forward-filled. CDS coverage begins in 2001Q3 for 17 of the 29 banks, producing 1,249 bank-quarter observations. The Diebold-Mariano comparisons use 336 out-of-sample forecasts, while the directional test uses 320. For the BVAR, the respective counts are 263 and 264.
The paper makes three claims of contribution: one framework that joins forecasting with systemic risk assessment, the architecture itself, and an interpretable split of contagion across structural, liquidity and macroeconomic channels. The tables let us examine two of them directly: the forecasts and the channel interpretation generated by perturbing fitted-model inputs and edges.
Persistence decides the comparison
HMGNN reports MSE 0.0309, MAE 0.1342, R-squared 0.8136 and correlation 0.9032. Last value delivers 0.0328, 0.1425, 0.8021 and 0.9008. Squared error therefore falls by about 6% relative to doing nothing at all. The associated DM test gives p=0.3100. The authors describe the outcome plainly: no significant difference is observed relative to the baseline, "suggesting that naive persistence remains difficult to outperform in certain periods."
All the other DM comparisons clear 1%. The statistics are -6.5222 for panel regression, -4.5960 for LSTM, -3.1483 for BVAR, -2.9367 for XGBoost, -2.7119 for temporal GAT and -2.6976 for temporal GCN. Every one of those models also trails last value on MSE. Their figures are 0.0596, 0.0447, 0.0489, 0.0364, 0.0338 and 0.0353, compared with the baseline's 0.0328. Six victories over models that already lose to persistence carry less weight than the asterisk count implies.
The abstract says the framework outperforms conventional econometric, machine learning and graph-based benchmarks. Last value is absent from that list. In the body, the authors credit the naive baseline's performance to the persistence and autocorrelation of CDS spreads, presenting it as evidence that simple benchmarks are hard to improve upon substantially. With a series this close to a random walk, the tie with persistence becomes the main forecasting result.
Directional prediction tells a different story. HMGNN reaches 54.06% (173 of 320), with binomial p=0.0811 and Pesaran-Timmermann 1.4604 at p=0.1442. Plain XGBoost reaches 57.81% (185 of 320). It alone shows significant directional ability in the table, with PT p=0.0058. The authors acknowledge that their model's directional forecasts are not reliably distinguishable from random variation, arguing instead that it is optimised for structural and temporal interactions in the financial network. Fair enough. Once forecasting ends in a persistence tie, most of the case rests on interpretability. I turned there next.
The missing specification details
Large parts of the architecture are sufficiently detailed to implement. Huber delta is 0.5. Adam uses 1e-3 and weight decay 1e-4. The history length is 8 quarters, top-k is 6, and the liquidity window spans 8 quarters. At each date, sigma equals the median positive pairwise distance. The appendix names all 29 banks and their countries. It also specifies the stresses: NPL +25%, CET1 -10%, Tier 1 -10%, LCR -15%, LDR +10%, DAR -5%, RWA density +10%.
The convolution stacks receive only a general description: weighted graph convolutional layers with intermediate ReLU and dropout. Their depth and width cannot be recovered from the text. Other omitted choices also govern whether the reported figures can be reproduced:
- the train, validation and test split dates, which determine the quarters averaged into the static similarity graph
- whether estimation occurs walk-forward or only once
- the hidden dimension, GCN layer count, dropout rate and epoch count
- the reason Table 2's headline differs from the baseline row in the specification sweep
The final discrepancy is visible in the tables. Table 2 gives MSE 0.0309 and R-squared 0.8136, whereas Table 8's baseline row gives 0.0305 and 0.7983. The sweep baseline exactly matches seed 123. None of the four seeded runs matches the headline.
Initialisation produces little dispersion. Across seeds 1, 42, 123 and 999, mean MSE is 0.0311 with sd 0.0008. The runs therefore reproduce one another within 0.0008 on MSE. This check covers initialisation rather than the split or re-estimation protocol.
The rankings behave differently.
How much does systemic importance amount to?
The paper defines systemic importance as the L1 change in predicted log-CDS across all banks after stressing one institution's features. Julius Baer, a non-G-SIB Swiss bank, ranks first with a combined score of 134.21e-4 and a liquidity score of 138.51e-4. JPMorgan registers 16.30e-4, Citi 12.05e-4 and Bank of America 9.26e-4.
Mean spread in the sample is 76.231 bp, making one unit of log(1+CDS) worth roughly 77 bp. Julius Baer's fully stressed score of 134.21e-4, covering credit, capital, liquidity, funding and risk density, translates into about one basis point of predicted spread movement summed across the entire 29-bank system. Several combined scores also fall below their liquidity-only counterparts. Julius Baer shows 134.21 against 138.51, UBS 84.57 against 86.13, and MUFJ 75.19 against 76.14. Shocking every channel therefore moves the model less than shocking liquidity alone in these cases. The channels do not add up, and the combined score does not serve as an upper bound.
Country effects are smaller still. The USA leads the combined macro scenario at 13.30e-4, equivalent to about a tenth of a basis point. The scenario reduces GDP growth by 20%, raises inflation by 25%, increases unemployment by 20% and the lending rate by 20%, and lowers private credit to GDP by 10%. With the GDP growth shock applied alone, Spain takes roughly 45% of total country-level impact and China roughly 17%. Yet Spain places ninth among the fifteen countries under the combined scenario, scoring 2.38e-4. A measure assigning Spain nearly half of global bank CDS sensitivity to a growth shock, then placing it ninth when all shocks arrive together, reflects estimator sensitivity more than economic size.
The gate-based liquidity argument relies on differences of 0.0248 during the GFC, 0.0052 in the Eurozone crisis, 0.0268 post-crisis, 0.0665 during COVID and 0.0576 afterward, compared with -0.0073 pre-2008. The softmax weight stays near 50/50 throughout. Stress tests give the same impression. Julius Baer's liquidity channel reaches 138.51e-4, against 2.09e-4 for credit and 1.89e-4 for funding, although these are 1e-4-scale model sensitivities rather than calibrated losses. Table 8 then gives an average liquidity-minus-financial gate difference of -0.0508 for the baseline, reversing the sign of every crisis regime in Table 5. I could not reconcile those results.
Ranking stability causes the larger problem. Against the baseline, Spearman correlation for systemic importance drops to 0.649 at H=10, 0.532 with top-k 4, 0.349 with top-k 10, and 0.308 under a six-quarter liquidity window. Two specifications retain only 1 of 5 names in the top five. Top liquidity-edge overlap falls to 1 of 10. The prose gives the range as 0.35 to 0.82, omitting the lower 0.308 shown in the table, and calls the rankings broadly consistent. The abstract makes a stronger claim, saying the tests "confirm the stability of both predictive accuracy and systemic risk rankings." Predictive accuracy does hold up, with correlation between 0.8956 and 0.9255 across every specification. The rankings collapse when the liquidity window changes. In this paper, that instability bears directly on the product being offered.
An implementer should also consider the model choice before committing a week. H=10 forecasts materially better, with MSE 0.0238 and R-squared 0.8425, while the authors retain H=8. Their stated reason is that longer windows reduce ranking stability, so the baseline remains as a balanced benchmark for forecasting performance and network interpretability. The specification sweep had already been completed when the baseline was retained, and the text states the trade-off.
We could not test these results ourselves. The target is single-name five-year CDS for international banks, and we do not have CDS spread history. US bank equities would substitute both the instrument and the contagion channel, making that replacement unsuitable.
A walk-forward version with dated splits, and a top-five systemic ranking that persists across the top-k and liquidity-window grid, would change my view. For now, the model works as a hypothesis generator. The liquidity channel merits investigation, as does Julius Baer as a possible contagion hub. A gate weight of 0.53 and rank correlation of 0.308 establish neither claim. We previously examined a network stress measure whose structure exceeded what its results supported (the triadic stress index). The same failure mode appears here. The ranking depends as much on the estimator's settings as on the system itself.