Discussing the article: "Neural Networks in Trading: An End-to-End Multivariate Time Series Forecasting Model (Key Components)"

 

Check out the new article: Neural Networks in Trading: An End-to-End Multivariate Time Series Forecasting Model (Key Components).

We invite you to explore a new implementation of the key components of the GinAR framework — an adaptive algorithm for working with graph-structured time series. This article provides a step-by-step breakdown of the architecture and the algorithms for the forward pass and error backpropagation.

The Interpolation Attention mechanism plays a central role in the architecture — it is not a classic Self-Attention kernel, but a full-fledged adaptive module capable of accounting for both global dependencies between variables and the local context of observations. In practice, this means that the model is capable, for example, of forecasting the value of a financial indicator — even in the absence of its most recent readings — by using the structure of neighboring indicators and the overall market picture. This approach is critically important in real-world conditions, where data often arrive with delays, at irregular intervals, or with significant gaps.

A key feature of GinAR is its ability to dynamically restructure the graph during training. Unlike most graph-based models, where the structure is fixed in advance, here it is formed during the training process. This makes it possible to account for changes in market conditions, correlations, and latent factors. The model independently determines which variables should be linked together, which links should be weakened, and which variables should be identified as key for the current context. This creates a flexible architecture capable of adapting to market regimes and dynamics.

In the practical section of the previous article, we did a significant amount of work, laying the groundwork for computations within the OpenCL program. All key functions were implemented—from local reductions and computing SoftMax to the forward and backward passes in the Interpolation Attention module. Particular attention was paid to the correct handling of local memory, thread synchronization, and numerical stability, which are especially important when working with incomplete time series in a parallel computing environment.

This preparation paves the way for the next stage — integrating the model core into the main program. This is where the algorithm will come to life: data will be fed in from the trading environment, processed using OpenCL devices, run through the model, and returned as forecasts and trading decisions. This bridge between high-level logic and low-level accelerated computations is a fundamental part of our entire implementation of the GinAR architecture.


Author: Dmitriy Gizlyk

 

Very interesting article and a valuable continuation of the GinAR implementation series. The architecture caught our attention because we are currently developing a broader multi-stage machine-learning research framework for algorithmic trading, and one of the areas we are actively investigating is whether cross-asset modelling can add information that is not captured by traditional per-symbol models.

Our framework is intentionally separated into independent layers: market-data collection, feature engineering, historical dataset construction, model research, validation, candidate generation and execution. Machine learning is treated as an evidence layer rather than a source of direct trading authority. A model is therefore not allowed to influence downstream trading decisions simply because it performs well in-sample; it must first demonstrate stable incremental out-of-sample value.

We currently work with a multi-asset universe covering FX, Gold, US indices, equities and energy instruments. Historical data is processed through a Bronze → Silver → Gold pipeline, with strict point-in-time controls. Information available at decision time is kept separate from future information used for labels and outcome analysis.

Our current Gold training contract contains 142 source features per observation, consisting of 129 numerical and 13 categorical features. The feature set includes volatility, trend, momentum, market structure, break behaviour, price-action context, liquidity conditions, session state and other deterministic market descriptors.

Before testing GinAR, we had already built a second-generation model family using Logistic Regression, XGBoost, LightGBM and CatBoost. These models were evaluated with chronological walk-forward validation, threshold screening, bootstrap stability analysis, calibration checks, regime analysis and an untouched holdout stage.

Ten instruments reached our Deep Validation PASS candidate stage:

GBPUSD, USDCHF, US500, US30, USDCAD, EURUSD, USDJPY, EURGBP, USTEC and XAUUSD.

These became the initial research universe for our GinAR experiment.

What made GinAR especially interesting to us is that it introduces something fundamentally different from our existing models. Our current GEN2 models are largely per-symbol classifiers, while GinAR offers the possibility of learning dynamic cross-asset relationships and latent representations across several instruments simultaneously.

This is particularly relevant in financial markets because instruments are not independent. Relationships between currencies, Gold, equity indices and other assets change with market regime, volatility and session structure. In addition, a multi-asset trading universe naturally contains periods where not all instruments have valid quotes or active sessions at the same time.

For this reason we created a completely separate GinAR Research Branch, with no trading authority and no effect on our existing execution system.

The purpose was not to reproduce the implementation in this article line by line, and not to immediately replace our existing models. Instead, we wanted to answer a narrower research question:

Can a GinAR-style cross-asset graph model provide additional out-of-sample information beyond our existing per-symbol GEN2 models?

Our implementation was therefore a clean-room GinAR-inspired research model based on the main architectural ideas:

  • Interpolation Attention,
  • adaptive graph relationships,
  • graph-convolutional transformations,
  • recurrent graph state,
  • node-level classification.

For the first experiment we used the common numerical part of the Gold feature contract, giving the model 129 numerical features per node.

The target used in this experiment was a 240-minute WHIPSAW classification problem.

Label integrity turned out to be an important methodological issue. Our historical labels contain:

WHIPSAW

NO_WHIPSAW

AMBIGUOUS_FIRST_MOVE

and, in some cases, INCOMPLETE .

AMBIGUOUS_FIRST_MOVE occurs when both first-move barriers are touched within the same M1 bar, meaning that the actual intrabar ordering cannot be determined from the available source data.

We therefore used an explicit:

AMBIGUOUS_DO_NOT_GUESS

policy.

The binary target contract became:

WHIPSAW = 1

NO_WHIPSAW = 0

while AMBIGUOUS_FIRST_MOVE and INCOMPLETE were excluded from the binary loss and evaluation metrics instead of being forced into either class.

This point was important to us because converting ambiguous outcomes into one of the two classes would introduce artificial label noise.

We also kept strict anti-look-ahead controls.

The validation protocol was:

180 days training

30 days validation

60-day walk-forward step

240-minute purge/gap

60-day final untouched holdout

The final holdout remained sealed during the initial GinAR experiment.

We deliberately avoided random train/test splitting.

Another important point concerns missing variables. GinAR's Interpolation Attention is potentially very useful for a multi-asset trading environment where instruments may temporarily be unavailable because of different trading sessions.

However, we did not use the model to manufacture historical observations.

Missing source observations remained missing in the original datasets and were represented explicitly by masks. Internal interpolation was used only as part of the neural representation. No reconstructed values were written back into our Gold datasets.

We then trained the GinAR research model across 6 chronological walk-forward folds.

The number of valid target observations was large and relatively stable across the folds. The resulting OOF evaluation produced approximately 114,558 out-of-fold predictions.

The PR-AUC values across the six folds were:

Fold 1: 0.6894

Fold 2: 0.6910

Fold 3: 0.6833

Fold 4: 0.6866

Fold 5: 0.6584

Fold 6: 0.6999

Most folds were reasonably stable, although Fold 5 was noticeably weaker. We consider that period especially interesting for a later regime and graph-structure analysis.

The next step was the part we considered most important: a direct comparison against our existing GEN2 champion models.

We aligned the GinAR OOF predictions with the corresponding GEN2 predictions on the same symbol/timestamp intersection.

The comparison contained 90,122 matched out-of-fold observations.

The result was:

Delta PR-AUC: -0.0161

Delta LogLoss: +0.0059

Since higher PR-AUC and lower LogLoss are preferable, the current result clearly favoured the existing GEN2 models.

In other words, in our first experiment GinAR did not outperform our existing Logistic Regression / XGBoost / LightGBM / CatBoost model family as a standalone WHIPSAW classifier.

We therefore did not promote GinAR as a replacement for GEN2.

However, I do not think this result makes GinAR uninteresting for financial applications.

In fact, the experiment may suggest that the most valuable part of the architecture is not necessarily the final standalone classifier.

GinAR creates a cross-asset latent representation that our independent per-symbol models do not naturally possess.

For this reason, we are keeping GinAR as a research encoder and changing the next research question from:

“Can GinAR replace GEN2?”

to:

“Can GinAR provide complementary cross-asset information to GEN2?”

Our next planned experiment is therefore:

GEN2 baseline

versus

GEN2 + GinAR cross-asset embeddings

using fold-safe stacking, probability-disagreement analysis, regime analysis, graph-stability analysis and ablation testing.

We are particularly interested in examining cases where the GEN2 champion is wrong while GinAR is correct, and vice versa. If these error sets are sufficiently different, the GinAR representation may still be useful as an additional feature layer even though its standalone PR-AUC is lower.

We also plan to examine whether the learned adjacency matrix remains stable over time or whether relationships between instruments change materially across different volatility and market regimes.

This is where we believe graph-based models may become particularly useful in trading systems.

For example, the relevance of relationships such as:

Gold ↔ USD,

FX ↔ US indices,

USDCAD ↔ energy,

or USTEC ↔ large technology equities

should not necessarily be expected to remain constant through time.

A model capable of learning these relationships dynamically may offer valuable context even if its direct classification head is not the strongest standalone predictor.

One methodological lesson from our experiment is also worth mentioning: it is very easy to judge a new neural architecture based only on training loss or a single backtest. Our results changed the interpretation of the model once we compared it against an existing benchmark on the same out-of-fold observations.

For us, this kind of comparison is essential.

A new model should not be considered useful simply because it produces a reasonable metric. It must demonstrate either:

  • better predictive performance,
  • better calibration,
  • better robustness,
  • complementary errors,
  • useful latent representations,
  • or measurable incremental value when combined with an existing system.

At this stage, our conclusion is therefore:

GinAR is not currently a better standalone classifier than our GEN2 models, but it remains a promising candidate as a cross-asset representation and feature-generation layer.

We have deliberately kept the final untouched holdout sealed until this next research stage is defined, in order to avoid repeatedly using the holdout for model development decisions.

I would be very interested to see the author's upcoming experiments on real market data, particularly:

  • how GinAR behaves under walk-forward validation,
  • how missing variables are handled across different trading sessions,
  • whether the learned graph structure remains stable across regimes,
  • whether the architecture is more effective for forecasting or classification,
  • and whether graph embeddings provide additional value when combined with stronger tree-based models.

Thank you for publishing this series. It is one of the more interesting directions we have encountered for applying multivariate graph-based learning to financial time series.

Even though our first independent comparison did not show a standalone advantage over GEN2, the experiment opened a new and potentially more useful research direction for us: using GinAR as a cross-asset intelligence layer rather than simply another classifier.

I look forward to the next article and would be very interested in comparing our findings with the author's market-data results.