A Dynamic Dual-Graph GCN-GRU Framework for Stock Movement Prediction
Журнал: International Journal of Information Technology and Computer Science @ijitcs
Статья в выпуске: 5 Vol. 18, 2026 года.
Бесплатный доступ
Stock movement prediction is a challenging task due to the complex temporal dynamics of financial time series and the interdependence among stocks. Most existing approaches either model each stock independently or rely on a single static graph, which limits their ability to capture heterogeneous and time-varying relationships in financial markets. To address this issue, this paper proposes a dynamic dual-graph GCN-GRU framework for next-day stock movement prediction. The proposed model integrates two complementary graph structures: a static industry graph to encode long-term sectoral relationships and a dynamic correlation graph to capture evolving co-movement patterns among stocks over time, where the dynamic graph is constructed in a causally consistent manner using only historical information available before the target prediction. For each graph, a graph convolutional network (GCN) is employed to learn relational stock representations, while a gated recurrent unit (GRU) is used to model temporal dependencies from sequential graph-based embeddings. The two graph-specific representations are integrated through an adaptive gated fusion mechanism. By jointly exploiting structural market information and temporal dynamics, the proposed framework provides a unified representation for next-day stock direction forecasting. Experiments are conducted on two public stock datasets constructed from the S&P 500 and VN30 markets using engineered features derived from daily trading data. The evaluation considers both standard classification metrics and finance-oriented indicators, including IC, Sharpe ratio, and maximum drawdown. The empirical results demonstrate the effectiveness of the proposed approach compared with conventional machine learning, sequence-based, and graph-based baselines. These findings suggest that combining dynamic relational modeling with temporal learning is a practical and reproducible forecasting framework for stock movement prediction in both developed and emerging markets.
Короткий адрес: https://sciup.org/15020763
IDS: 15020763 | DOI: 10.5815/ijitcs.2026.05.12
Текст научной статьи A Dynamic Dual-Graph GCN-GRU Framework for Stock Movement Prediction
Stock movement prediction is one of the most challenging problems in financial forecasting due to the non-stationary, noisy, and highly interdependent nature of stock markets. From a classical financial perspective, the efficient
This work is open access and licensed under the Creative Commons CC BY 4.0 License.
market hypothesis argues that asset prices rapidly reflect available information, making consistent prediction difficult in practice [1]. Nevertheless, the increasing availability of digital financial data and the rapid progress of machine learning have continuously motivated researchers to revisit this problem from a data-driven perspective. At the same time, financial prediction problems require careful treatment of domain-specific issues such as non-stationarity, survivorship bias, market friction, and temporal leakage. In this study, we focus on a reproducible forecasting setting constructed from publicly available daily market data and evaluate predictive modeling performance under a chronological protocol, rather than claiming a fully deployable trading system with transaction-cost-aware backtesting.
A considerable body of prior work has modeled stock prediction using technical indicators, statistical learning, and sentiment-related signals. This research direction is also visible in the publication history of International Journal of Information Technology and Computer Science (IJITCS). For example, Calingo et al. explored Twitter sentiment for stock index prediction [2], Dey et al. employed machine learning algorithms with technical indicators for market trend forecasting [3], Christanto et al. investigated the role of financial statement information in stock price prediction [4], and Kolambe and Arora recently compared several LSTM variants and highlighted the competitiveness of GRU-based forecasting models [5]. These studies confirm that stock prediction remains an active and relevant topic, but they also suggest that predictive performance is strongly influenced by the choice of input representation and model architecture.
With the success of deep learning, recurrent architectures have become popular for financial time-series modeling because they can capture temporal dependencies more effectively than many shallow models. In particular, the gated recurrent unit (GRU) provides an efficient recurrent mechanism for sequence learning with fewer parameters than more complex recurrent architectures [6]. However, sequence-based models typically process each stock independently and mainly focus on temporal patterns in its own historical observations. Such a formulation overlooks an important fact of real markets: stock movements are rarely isolated, because firms are connected through sectoral affiliation, business similarity, and evolving co-movement patterns.
Recent advances in graph neural networks have opened a promising direction for stock prediction by explicitly modeling inter-stock relations. Graph convolutional networks (GCNs) provide an effective way to aggregate node information over graph structures and have become a foundational tool for relational learning on graphs [7]. Building on this idea, several studies have introduced graph-based formulations for financial forecasting. Feng et al. proposed temporal relational ranking to integrate sequential modeling with time-sensitive stock relations [8]. Li et al. modeled overnight stock movement using relational graph networks and cross-stock interactions [9]. Chen et al. incorporated market-wide correlation information into a graph-convolution-based framework for stock trend prediction [10]. Chen and Robert further developed a multi-graph recurrent framework that combines textual sentiment and relational market information for stock movement prediction [11].
Although these studies demonstrate the value of relational learning, several limitations remain. First, many existing approaches rely on either a single relation type or complex information sources such as company knowledge graphs, supply chains, or financial news, which may reduce reproducibility and hinder practical deployment. Second, some graph-based formulations assume relations that are fully static, whereas correlations among stocks evolve over time as market conditions change. Third, several sophisticated graph models improve predictive accuracy at the cost of higher modeling complexity, which may be less suitable when the goal is to build a reproducible framework from public market data only. For the setting considered in this paper, a practical and effective design should simultaneously satisfy three requirements: it should preserve temporal dynamics, exploit cross-stock relations, and remain feasible to construct from public market data only under a causally consistent forecasting protocol.
Motivated by these observations, this paper proposes a dynamic dual-graph GCN-GRU framework for stock movement prediction. Instead of relying on many heterogeneous or hard-to-obtain relation sources, the proposed model uses two complementary graphs that can be built from public market information. The first is a static industry graph that captures relatively stable sectoral relationships among stocks. The second is a dynamic correlation graph that is updated over time to reflect evolving co-movement behavior in the market. For each graph, a GCN is used to learn relational stock representations, and a GRU is employed to model temporal dependencies across sequential graph-enhanced features. This design aims to balance predictive effectiveness, modeling clarity, and implementation feasibility.
The main contributions of this paper are summarized as follows:
• We propose a dynamic dual-graph framework for stock movement prediction that combines a static industry graph with a dynamic correlation graph, enabling the model to capture both long-term structural relations and short-term evolving dependencies among stocks under a causally consistent next-day forecasting setting.
• We develop a hybrid spatio-temporal architecture that integrates graph convolutional networks for relational representation learning with a gated recurrent unit for temporal dependency modeling, forming a practical GCN-GRU pipeline for next-day stock direction forecasting. In this architecture, graph encoding is performed at each time step before the graph-enhanced embeddings are passed to the GRU, making the spatial-then-temporal processing order explicit. The embeddings learned from the static industry graph and the dynamic correlation graph are further integrated through an adaptive gated fusion mechanism rather than direct concatenation or fixed equal-weight aggregation.
• We design the framework to be reproducible using publicly available daily market data, making it suitable for empirical evaluation on both developed and emerging markets under a chronological forecasting protocol. In this study, the proposed model is evaluated on datasets constructed from the S&P 500 and VN30 markets.
• We complement standard classification-based evaluation with finance-oriented indicators, including IC, gross and cost-adjusted Sharpe ratios, and cost-adjusted maximum drawdown under a lightweight score-based portfolio simulation. This additional evaluation provides a more cautious assessment of ranking quality and risk-adjusted behavior in the stock movement prediction setting.
2. Related Works2.1. Sequence-Based Stock Movement Prediction
The remainder of this paper is organized as follows. Section 2 reviews related studies on stock movement prediction, graph-based financial modeling, and spatio-temporal learning. Section 3 presents the proposed dynamic dual-graph GCN-GRU framework, including problem formulation, graph construction, relational learning, and temporal modeling. Section 4 describes the datasets, experimental settings, baseline methods, and evaluation results. Finally, Section 5 concludes the paper and discusses possible directions for future research.
This section reviews prior studies most relevant to the proposed framework. For clarity, the literature is organized into three streams: sequence-based stock movement prediction, graph-based financial modeling, and multi-graph or dynamic relational learning. The first stream focuses on temporal modeling of historical observations for individual stocks, the second emphasizes inter-stock dependency through relational structures, and the third attempts to combine heterogeneous or time-varying relations for more expressive market representation. Since the proposed model integrates both temporal and relational learning, it is necessary to examine not only the strengths but also the limitations of these lines of research.
Early studies on stock movement prediction mainly relied on technical indicators, statistical learning, and conventional machine learning models constructed from historical price and trading information. Some studies further enriched this setting by incorporating sentiment or firm-level structured data. For instance, Calingo et al. explored Twitter sentiment for stock index prediction [2], Dey et al. used machine learning with technical indicators for market trend forecasting [3], and Christanto et al. examined the contribution of financial statement information to stock prediction [4]. These works demonstrated that stock forecasting can benefit from diverse input features, but they generally modeled each asset independently and did not explicitly capture inter-stock dependency.
With the development of deep learning, recurrent neural networks became a dominant choice for financial timeseries modeling. LSTM networks were introduced to improve long-range sequence learning [12], while GRU offered a more compact alternative with fewer parameters [6]. In stock prediction, sequence models have been extended in several directions. Qin et al. proposed DA-RNN to enhance multivariate time-series forecasting through input and temporal attention [13]. Xu and Cohen introduced StockNet, which integrates historical prices and tweets in a deep generative framework [14]. Feng et al. incorporated adversarial learning to improve the robustness of stock movement prediction under market uncertainty [15], and Kolambe and Arora reported that GRU-based variants remain competitive in practical forecasting settings [5].
Despite their effectiveness, sequence-based methods primarily focus on temporal evolution within each stock and often neglect explicit relational effects across assets. Multimodal extensions can improve performance, but they also require additional data collection and preprocessing. More importantly, purely sequential models do not directly represent structural links such as shared industry membership or changing market co-movement. This limitation motivates the use of graph-based methods, which can model stock markets as relational systems rather than isolated time series.
Table 1. Representative sequence-based studies related to stock movement prediction.
|
Ref. |
Year |
Main Inputs |
Temporal Modeling |
Explicit Relational Modeling |
Main Limitation for This Study |
|
[2] |
2016 |
Twitter sentiment + stock index data |
No deep temporal encoder |
No |
Uses external sentiment signals, but does not model stock-to-stock dependency. |
|
[3] |
2020 |
Technical indicators from market data |
Conventional ML |
No |
Reproducible and effective, but temporal and relational dependencies are weakly modeled. |
|
[13] |
2017 |
Multivariate time-series inputs |
Attention-based recurrent model |
No |
Strong temporal modeling, but not designed for relational financial structures. |
|
[14] |
2018 |
Historical prices + tweets |
Recurrent Latent-variable model |
No |
Incorporates multimodal data, but prediction targets are still treated independently. |
|
[15] |
2019 |
Historical stock features |
Recurrent stock predictor with adversarial training |
Limited |
Improves robustness, but relational market structure is not the main modeling focus. |
|
[5] |
2024 |
Historical price series |
LSTM/GRU variants |
No |
Confirms the strength of recurrent learning, but lacks graph-based relation modeling |
-
2.2. Graph-Based Stock Prediction
-
2.3. Dynamic and Multi-Graph Learning for Financial Prediction
Graph-based methods extend stock prediction by explicitly modeling dependencies among assets. In these approaches, stocks are represented as nodes and their relations are encoded as edges derived from sources such as sector membership, correlation, or other financial links. This formulation is well aligned with market behavior, where stocks often move collectively rather than independently. As a foundational architecture for relational learning, GCNs provide an effective mechanism to aggregate information from neighboring nodes and have therefore become a common building block in financial graph modeling [7].
Several representative studies have shown the value of this idea in stock forecasting. Feng et al. proposed a temporal relational ranking framework that incorporates time-sensitive stock relations [8]. Li et al. combined LSTM with relational graph convolution for overnight stock movement prediction [9]. Chen et al. introduced GC-CNN to integrate market correlation structure with stock-specific feature extraction [10]. Later, Chen and Robert explored a multi-graph recurrent framework with textual sentiment and market relations [11], while Li et al. investigated heterogeneous subgraphs built from multiple financial information sources [16]. Peng et al. further showed that relation types should be treated differently during graph convolution [17].
Although graph-based approaches improve relational representation, several issues remain. Many methods depend on a single graph, predefined relation sources, or additional external information such as news or knowledge graphs, which increases implementation complexity and may reduce reproducibility. In addition, some models do not sufficiently address the evolving nature of market relations over time. For the problem considered in this paper, a suitable framework should preserve the advantages of graph-based learning while remaining simple enough to be built from publicly available market data and flexible enough to capture both stable and time-varying stock relations.
Table 2. Representative graph-based studies related to stock prediction
|
Ref. |
Year |
Graph/Relation Structure |
Temporal Component |
External Data |
Main Limitation for This Study |
|
[8] |
2019 |
Time-sensitive stock relations |
Yes |
Limited |
Relational ranking is effective, but relation design is partly predefined and task-specific. |
|
[9] |
2020 |
Correlation-based relational graph |
Yes (LSTM- RGCN) |
Yes |
Combines sequence and relation modeling, but is tailored to overnight prediction with richer information inputs. |
|
[10] |
2021 |
Stock market correlation graph |
Weak / implicit |
No |
Uses market structure effectively, but mainly relies on a single graph view. |
|
[11] |
2022 |
Multi-graph relational structure |
Yes |
Yes |
Rich multimodal design, but requires more complex data acquisition and preprocessing. |
|
[16] |
2022 |
Heterogeneous subgraphs from multiple sources |
Yes |
Yes |
Supports richer fusion, but the pipeline is relatively heavy for public-data-only settings. |
|
[17] |
2023 |
Relation type-guided graph structure |
Limited / partial |
Yes |
Models relation semantics explicitly, but depends on more involved relation engineering. |
Recent studies have moved beyond single-graph formulations and explored dynamic or multi-graph learning to better reflect the evolving structure of financial markets. This direction is motivated by the observation that inter-stock relations are neither uniform nor stationary: some links are relatively stable, such as sectoral affiliation, while others vary over time according to market conditions, correlation shifts, or event-driven interactions. To address this issue, Wang et al. proposed a hierarchical adaptive temporal-relational framework that jointly models temporal patterns and multiple relation views for stock trend prediction [18]. Their work showed that relational information should not be treated as fixed or homogeneous, especially when stock interactions evolve across time and relation types.
Another important line of research extends graph learning to richer multimodal and multi-graph settings. Cheng et al. introduced a multi-modality graph neural network (MAGNN) in which historical prices, news, and knowledge-graph relations are integrated within a unified graph framework for financial time-series forecasting [19]. Similarly, Qian et al. proposed a multi-relational dynamic graph neural network (MDGNN) to capture multifaceted stock relations and their temporal evolution in a discrete dynamic graph setting [20]. These studies demonstrate that multiple relation sources and dynamic graph snapshots can substantially enrich stock representations, but they also increase the complexity of graph construction and the dependence on richer external information.
Table 3. Representative studies on dynamic and multi-graph learning for financial prediction
|
Ref. |
Year |
Main Relational Design |
Dynamic Relation Modeling |
External Data |
Main Limitation for This Study |
|
[18] |
2021 |
Multiple temporal-relational views |
Yes |
Limited |
Captures multiple relation views effectively, but the framework is relatively sophisticated for a lightweight public-data-only pipeline. |
|
[19] |
2022 |
Multi-modality graph with financial knowledge relations |
Partial |
Yes |
Rich and expressive, but depends on multimodal sources such as news and knowledge-graph information. |
|
[20] |
2024 |
Multi-relational dynamic graph |
Yes |
Yes |
Models temporal evolution of multifaceted relations, but requires more complex dynamic graph construction and richer entity-level data. |
|
[21] |
2024 |
Multiple correlation graphs from historical market data |
Yes |
No |
Avoids heavy external data collection, but introduces a more complex adversarial framework than necessary for a reproducible baseline. |
A closely related direction constructs multiple correlation graphs directly from historical price data. Ma et al. proposed VGC-GAN, a multi-graph convolutional adversarial framework that generates several stock relation graphs from historical market data and combines multi-graph convolution with GRU-based temporal learning [21]. This design is particularly relevant because it shows that multi-graph modeling can be achieved without relying entirely on text or knowledge-graph pipelines. However, many dynamic or multi-graph methods still involve elaborate relation engineering, adversarial learning, heterogeneous entity modeling, or multimodal preprocessing. For the problem addressed in this paper, a more practical alternative is to preserve the essential idea of combining stable and evolving relations while limiting the framework to publicly available market data. This consideration motivates the proposed design, which uses a static industry graph together with a dynamic correlation graph in a lightweight GCN-GRU architecture.
Summary of Research Gaps. The above review reveals three main research gaps. First, sequence-based methods have achieved promising results in stock movement prediction, but they primarily focus on temporal patterns within individual stocks and do not explicitly model cross-stock dependency [13, 14, 15, 5]. Second, graph-based approaches improve relational representation by incorporating inter-stock links, yet many of them rely on a single graph, predefined relation sources, or additional external information such as news, sentiment, and knowledge graphs, which may increase implementation complexity and reduce reproducibility across markets [8, 9, 10, 11, 16, 17]. Third, recent dynamic and multi-graph models are more expressive in capturing evolving market structure, but they often require sophisticated relation engineering, multimodal data integration, or complex learning frameworks that may be difficult to reproduce in a public-data-only setting [18, 19, 20, 21].
Therefore, there remains a need for a stock prediction framework that can simultaneously capture stable structural relations and time-varying market dependencies while preserving modeling simplicity and practical reproducibility. Motivated by this gap, the next section presents a dynamic dual-graph GCN-GRU framework that integrates a static industry graph and a dynamic correlation graph using publicly available market data only.
3. Proposed Method 3.1. Problem Definition and Notation
Table 4. Main notations used in the proposed method
|
Notation |
Description |
|
N |
Number of stocks in a market dataset |
|
V |
Set of stock nodes, V = { V 1, v 2, _ , vN } |
|
d |
Number of input features for each stock at each time step |
|
x i , t |
Feature vector of stock v at time t |
|
X t |
Market feature matrix of all stocks at time t , Xt e K N x d |
|
G I |
Static industry graph |
|
A I |
Adjacency matrix of the static industry graph |
|
Gt C |
Dynamic correlation graph at time t |
|
A tC |
Adjacency matrix of the dynamic correlation graph at time t |
|
w |
Length of the historical observation window |
|
X ( w ) |
Input feature sequence from t - w + 1 to t |
|
G t ( w ) |
Graph sequence used in the observation window |
|
pi , t |
Closing price of stock v at time t |
|
y i , t + 1 |
Binary ground-truth label indicating next-day movement of stock v |
|
y i , t + 1 |
Predicted probability of upward movement for stock Vi at time t + 1 |
|
y t + 1 |
Prediction vector for all stocks at time t + 1 |
X t = [x1, t, X 2, t,..., X N, t ]T G KNx d(1)
To model stock relations, we consider two complementary graph structures defined on the same node set . The first is a static industry graph, denoted by
QI = (V, A I),(2)
where A I g K n x n is the adjacency matrix encoding relatively stable sectoral or industry relationships among stocks.
The second is a dynamic correlation graph, denoted by
(CtC = (V, AC)(3)
where A C g >n x n is the time-dependent adjacency matrix constructed from recent market co-movement patterns. In this way, the proposed framework captures both long-term structural dependency and evolving short-term relational information.
Given a historical observation window of length w , the input sequence ending at time t is defined as
^w ( w ) = { X t _ w + 1 , X t _ w + 2 , . , X t } (4)
For each time step within this window, the model also uses the corresponding graph information
Q(w ) = {$ I , SC w + 1 , £ w + 2 , . , SC } (5)
Since the industry graph is static, it is shared across all time steps, whereas the correlation graph is updated over time.
The prediction task is formulated as next-day stock movement classification. For each stock v , the binary label at time t + 1 is defined as
-
V. J1, if P i , t + 1 > P i’t
-
3.2. Overall Architecture
1 ’ t+1 [0, otherwise where p denotes the closing price of stock v on trading day t . Accordingly, the objective is to learn a mapping
f: (Xtw), Stw) )^ y t+1, where yt+1 = [y1,t+1’У2,t+1’.’УN,t+1Г G [0,1]N is the predicted probability vector for next-day upward movement across all stocks in the market.
In the proposed framework, graph convolutional networks are first used to learn relational representations from the industry graph and the dynamic correlation graph at each time step. These graph-enhanced stock embeddings are then fused and passed to a gated recurrent unit to capture temporal dependency over the historical window. Finally, a prediction layer produces the probability of upward or downward movement for each stock on the next trading day. The detailed architecture is described in the following subsections.
Figure 1 illustrates the overall architecture of the proposed Dual-Graph GCN-GRU framework for stock movement prediction. The model is designed to jointly capture relational dependency among stocks and temporal dependency in historical market observations. Given a fixed set of N stocks in a market, the framework takes as input a sequence of market feature matrices over a historical window of length w , together with two complementary graph structures defined on the same node set: a static industry graph and a dynamic correlation graph.
Fig. 1. Overall architecture of the proposed Dual-Graph GCN-GRU framework. The model uses a static industry graph and a dynamic correlation graph to learn graph-enhanced stock representations at each time step, adaptively fuses the two relational views through a gated fusion module, and then applies a GRU to model temporal dependency for next-day stock movement prediction
At each time step t , the market state is represented by the feature matrix Xt g M N x d , where each row corresponds to the feature vector of one stock. Two graph-based encoding branches are then constructed. In the first branch, X is propagated through a graph convolutional network over the static industry graph to learn structural representations that reflect relatively stable sectoral relations. In the second branch, the same feature matrix is processed by another graph convolutional network over the dynamic correlation graph to capture time-varying co-movement patterns among stocks. Since graph convolution is effective for aggregating node information over graph neighborhoods [7], these two branches provide complementary relational views of the market at each time step. At each time step, graph convolution is first applied to encode spatial dependency among stocks, and the resulting graph-enhanced embeddings are subsequently passed to the temporal module. This spatial-then-temporal design makes the processing order of the proposed framework explicit. In other words, the GCN is not applied after the GRU has summarized the entire temporal sequence; instead, graph encoding is performed on each daily market snapshot before the sequence of graph-enhanced embeddings is processed by the GRU.
The outputs of the two graph branches are subsequently fused to form a unified stock representation. Let H I and H C denote the graph-enhanced embeddings obtained from the industry graph and the correlation graph, respectively. The fused representation at time t is denoted by
H ( = ф ( H I , H C )
where ф ( - ) is a fusion function that combines the two graph views into a shared latent representation. In this study, the fusion step is designed to preserve both stable structural relations and evolving market dependency in a lightweight manner. Specifically, ф ( - ) is implemented as an adaptive gated fusion mechanism, which estimates the relative contribution of the static industry graph and the dynamic correlation graph at each time step. This design avoids treating the two graph views as equally informative under all market conditions and clarifies how the static and dynamic embeddings are reconciled before temporal modeling.
After graph fusion, the resulting sequence of relational stock embeddings
{ H t - w + 1 , H t - w + 2 ,..., H t } (10)
is fed into a gated recurrent unit (GRU) to model temporal dependency across the observation window. The GRU is adopted because it provides an efficient recurrent mechanism for sequence modeling with fewer parameters than more complex recurrent architectures while retaining strong temporal representation capability [6]. Through this temporal module, the framework learns how graph-enhanced stock representations evolve over time and how such evolution contributes to next-day market movement prediction.
Finally, the hidden representation produced by the GRU is passed through a fully connected prediction layer with a sigmoid activation function to estimate the probability of upward movement for each stock on the next trading day. Therefore, the proposed framework follows a clear processing pipeline:
Input Features → Dual-Graph GCN Encoding → Graph Fusion → GRU Temporal Modeling → Prediction . (11)
This design enables the model to integrate two essential characteristics of stock markets, namely persistent structural dependency and dynamic relational variation, within a unified spatio-temporal forecasting framework. In addition, the architecture remains computationally practical because graph encoding is applied independently at each time step on a shared node set, while the dynamic graph is controlled by top- K sparsification. This prevents the correlation graph from becoming overly dense and keeps the spatial-then-temporal pipeline feasible for reproducible experiments on public market datasets.
-
3.3. Feature Engineering and Input Representation
The proposed framework is designed to use only publicly available daily trading data so that the entire prediction pipeline remains reproducible across different markets, while the model input itself is constructed from engineered indicators derived from raw OHLCV records rather than from raw prices and volume alone. For each stock v on trading day t , the raw market record consists of the open price o , high price h , low price l , close price c , and i,t i,t i,t i,t trading volume u . Based on these raw variables, a compact set of price-, volatility-, and volume- related indicators is constructed to represent the short-term market state of each stock. This design is consistent with prior stock forecasting studies showing that market and technical indicators provide informative inputs for predictive modeling [3, 5, 10].
For each stock v at time t , the input feature vector is defined as xi,t =[xi(,1t),xi(,2t),…,xi(,dt)] ∈ d (12)
where d denotes the number of engineered features. In this study, the features are grouped into three categories. The first group describes short-term price dynamics using returns and intraday price changes. The second group captures local trend and volatility through moving-average-based and dispersion-based indicators. The third group reflects trading activity through standardized volume information. Compared with large multimodal feature sets, this feature design intentionally emphasizes simplicity, interpretability, and ease of construction from public daily data, while still incorporating commonly used technical signals such as moving-average-based ratios, RSI, MACD, rolling volatility, and normalized trading volume.
Table 5. Engineered input features used in the proposed framework
|
Group |
Feature |
Definition / Description |
|
Price dynamics |
One-day return ( ret 1) |
c i , t - c i , t - 1 ; captures immediate daily movement. c i , t - 1 |
|
Price dynamics |
Five-day return ( ret 5) |
c i , t - c i , t - 5 ; reflects short-term momentum over a weekly horizon. c i , t - 5 |
|
Price dynamics |
Open-close change ( oc_change ) |
c i , t - o i , t ; measures intraday price direction and strength. oi , t |
|
Volatility / range |
High-low spread ( hl spread ) |
hi , t - li , t ; captures daily price fluctuation range. ci , t |
|
Trend |
MA5 ratio ( ma 5_ ratio ) |
MA 5 ( c i , t ) - 1 ; measures short-term moving-average deviation. c i , t |
|
Trend |
MA10 ratio ( ma 10_ ratio ) |
MA 10( ci , t ) - 1 ; reflects a slightly longer local trend. c i , t |
|
Trend |
EMA10 ratio ( ema 10_ ratio ) |
EMA 10( ci , t ) - 1 ; emphasizes recent price changes in trend estimation. ci , t |
|
Momentum |
RSI14 ( rsi 14) |
Relative Strength Index over 14 trading days, rescaled to [0,1] if necessary. |
|
Momentum / trend |
MACD ( macd ) |
Difference between short-term and long-term exponential moving averages; captures momentum reversal signals. |
|
Volatility |
Rolling volatility ( volatility _10) |
Standard deviation of one-day returns over the most recent 10 trading days. |
|
Volume activity |
Volume z-score ( vol_zscore_ 20) |
u i , t - µ u ,20 ; measures abnormal trading activity relative to the recent 20-day σ u ,20 + 6 \ history. |
Specifically, the feature set includes one-day return, multi-day return, intraday open-close change, high-low spread, moving-average ratios, relative strength index, moving average convergence divergence, short-term volatility, and a normalized volume indicator. Let r (1) _ ci, t ci, t-1
i , t c i, t - 1
denote the one-day return of stock v , and let
(5) _ ci , t citt - 5
ri, t = ci, t-5
denote the five-day return. Other indicators are derived in a similar way from the historical sequence up to time t . Importantly, all features at time t are computed using only information available on or before day t , which avoids look-ahead bias in the input construction process.
After feature engineering, the stock-level vectors are stacked to form the market feature matrix at each time step:
X t = [ X 1, t, x 2, t,..., x N , t ]T e N x d
This matrix is the node-feature input used by both graph branches of the proposed framework. For a historical window of length w , the model receives the input sequence
A t ( w ) = { X t - w + 1, X t - w + 2 , . , X t }
which serves as the feature representation of the market over the recent observation period.
To ensure numerical stability, each feature dimension is standardized using statistics estimated from the training set only. For the k -th feature, the normalized value is computed as
( k ) train
~ (k) xi, I Ы xi i,t train
^ k +6
—
where ^ fain and & train are the mean and standard deviation of the k -th feature estimated from the training split, and is a small constant for numerical stability. In addition, the initial observations required for rolling indicators are discarded so that all samples contain complete feature values. Through this procedure, the resulting input representation preserves temporal information at the stock level while remaining compatible with graph-based relational learning at the market level.
-
3.4. Dual-Graph Construction
To model inter-stock dependency in a practical and reproducible manner, the proposed framework constructs two complementary graphs on the same stock set у = { v , v 2,. , vN }. The first graph captures relatively stable structural relations among stocks, while the second graph describes time-varying market co-movement. This dual-graph design is motivated by prior studies showing that stock prediction can benefit from both relational market structure and temporal evolution of stock associations [8, 18, 21, 22]. Compared with more complex multimodal graph construction pipelines, the proposed design only relies on publicly available market data and industry metadata, which makes it more suitable for reproducible empirical research.
-
A. Static Industry Graph
The static industry graph is used to encode long-term structural relations among stocks. Let g denote the industry label of stock v , obtained from the corresponding market classification system. We define the static industry graph as
QI = (V, A I ) (18)
where a I = [ a1.. ] e M N x N is the adjacency matrix. In this study, the graph is constructed as a binary industry-similarity graph:
a
I ij
1, if i = j ,
1, if g i = g j ,
0, otherwise.
This formulation connects two stocks when they belong to the same industry group, while self-loops are preserved for all nodes. The rationale is that stocks within the same industry often share similar macroeconomic exposure, supplyside conditions, and investor sentiment, making sectoral aggregation a meaningful source of structural information. Since industry membership changes infrequently compared with daily price dynamics, A I is treated as a static graph throughout the learning process.
-
B. Dynamic Correlation Graph
Although industry membership provides stable structural information, it cannot fully reflect short-term market interactions. In real trading environments, correlations among stocks may strengthen or weaken over time as market regimes evolve. To capture this effect, a dynamic correlation graph is constructed from recent return series. The dynamic graph is designed as a transparent and reproducible approximation of recent market co-movement rather than an unconstrained latent relation matrix. Its construction uses only historical observations available before the next-day prediction is made, which helps reduce the risk of temporal information leakage. Let (1) denote the one-day return of i ,T stock v. at time т . For each time step t, the rolling correlation between stocks v. and y. is defined as
P ij , t = Corr (to ( i )}U t - L c + 1 , { j } i = t - L c + 1 )
where L is the correlation look-back window. For next-day forecasting, the graph snapshot at time t is constructed only from return observations available no later than the close of day t and is then used to predict the movement at day t + 1. This implements strict causal masking in graph construction, because neither future returns nor information beyond the prediction time is used when forming A C or performing GCN message passing.
Since standard graph convolution is more stable with non-negative and relatively sparse adjacency weights, the dynamic correlation graph is constructed using the absolute rolling correlation and a top-K sparsification strategy. Specifically, let K^t denote the set of top- K stocks having the largest | p t | values with respect to stock y at time t. The dynamic correlation graph is then defined as gC = (v, aC) (21)
where
A
C
=
[
a
Ct
]
g
C a ij , t =
1 P ij , t
0,
if i = j, ifj g Kt or i g ^k', otherwise.
The use of absolute correlation allows the graph to capture strong co-movement intensity regardless of sign, while the top-K strategy prevents the graph from becoming overly dense and reduces the influence of weak or noisy relations, yielding a sparse and more stable graph structure. This sparsification step is particularly important in financial markets, where pairwise correlations can produce dense and noisy graphs that may amplify unstable relations and increase the risk of over-smoothing in subsequent graph convolution. In practice, the correlation graph can be refreshed periodically using a rolling window, and the same snapshot may be shared within an update interval to reduce computational overhead. The detailed settings of L and K are provided in Section 4.
-
C. Dual-Graph Representation for Each Time Step
-
3.5. Dual-Graph GCN Encoding
At each time step t , the proposed framework therefore uses two graph views defined on the same node set:
{q I , Qt } (23)
The static industry graph captures persistent structural relations, whereas the dynamic correlation graph captures evolving market dependency. This design preserves the advantages of both stable and time-varying relational modeling while keeping graph construction simple enough for real implementation with public stock data. The resulting graph pair is then used by the dual GCN branches to learn graph-enhanced stock representations, as described in the next subsection.
Given the market feature matrix X at time step t and the dual-graph structure { I , C } , the next stage of the proposed framework is to learn graph-enhanced stock representations from the two complementary graph views. To this end, two separate graph convolutional branches are employed: one branch operates on the static industry graph, and the other operates on the dynamic correlation graph. This design allows the model to encode stable structural relations and time-varying market interactions in parallel. Because the dynamic correlation graph is sparsified by the top- K strategy described in Section 3.4 and each branch uses a shallow graph encoder, the proposed design helps limit over-smoothing while remaining computationally manageable for public-market datasets.
Following the graph convolutional formulation in [7], let A & M N x N denote the adjacency matrix of a graph and let
A = D - 2 AD - 2 (24)
be the symmetrically normalized adjacency matrix, where D is the degree matrix of A . Since self-loops have already been included during graph construction, the normalized graph operator can be applied directly to aggregate information from each node and its connected neighbors.
-
A. Industry-Graph GCN Branch
For the static industry graph, the graph-enhanced stock representation at time t is computed as
H I = a ^ A 1 X t W I + b 1 ) (25)
where a I is the normalized adjacency matrix of the static industry graph, W 1 & d x d x d h and b I & R d h are learnable parameters, dh is the hidden embedding dimension, and a (-) denotes a nonlinear activation function such as ReLU. The resulting matrix
H I & N x d x d h (26)
contains the industry-aware representation of all stocks at time t .
This branch allows each stock to aggregate information from other stocks within the same industry structure. As a result, the learned representation reflects not only the stock's own local feature pattern but also the broader structural context provided by related firms in the same sectoral group.
-
B. Correlation-Graph GCN Branch
For the dynamic correlation graph, the graph convolution operation is defined in an analogous way:
H C = a ^ A C X t W C + b C ) (27)
where a c is the normalized adjacency matrix of the dynamic correlation graph at time t , and W C & t d x dh and b C & B d h are trainable parameters specific to this branch. The corresponding output representation is
H C & N X d x d h (28)
Unlike the industry branch, this graph encoder captures market relations that vary over time. Therefore, H C emphasizes dynamic interaction patterns such as short-term co-movement, transient clustering behavior, and changing market dependency that may not be observable from static industrial relations alone.
-
C. Parallel Relational Encoding
-
3.6. Cross-Graph Fusion
At each time step t , the proposed model produces two graph-specific embeddings:
{ h I , H C } (29)
These two representations are learned in parallel from the same node-feature input X but under different graph topologies. Such a design makes it possible to decouple stable structural dependency from dynamic relational dependency while maintaining a unified stock universe and a consistent feature space.
Compared with using a single graph encoder, the dual-branch GCN design provides a more expressive relational representation without introducing excessive architectural complexity. It also remains computationally manageable for real-world market datasets because both graphs share the same node set and the graph convolution operation is applied independently at each time step. In the next subsection, the two graph-specific embeddings are fused into a unified latent representation before being passed to the temporal GRU module.
After the dual-graph GCN encoding stage, two graph-specific embeddings are obtained at each time step t , namely H I from the static industry graph and H C from the dynamic correlation graph. Although both embeddings are derived from the same stock feature matrix X , they capture different aspects of inter-stock dependency. The industrygraph branch emphasizes stable structural relations, whereas the correlation-graph branch reflects time-varying market co-movement. Therefore, an effective fusion mechanism is needed to combine these complementary relational views into a unified stock representation for subsequent temporal modeling.
Inspired by prior studies showing the benefit of integrating multiple relation views in financial prediction [11, 16, 18], this paper adopts a lightweight gated fusion mechanism instead of using a fixed equal-weight combination or direct concatenation. The design goal is to preserve the complementary information from the two graph branches while avoiding unnecessary architectural complexity. Let
h iI , t ,
h iC
denote the graph-level summaries of the industry-graph and correlation-graph embeddings, respectively, where h I and h C are the row vectors corresponding to stock v in H I and H C .
These two summary vectors are concatenated and passed through a gating function to estimate the contribution of the industry view:
a t = a ( w J [ h I II h C ] + b f )
where [ . । . ] denotes vector concatenation, Wy and b y are learnable parameters, and a ( - ) is the sigmoid function. As a result, a e (0,1) serves as an adaptive fusion coefficient at time step t , while the contribution of the dynamic correlation branch is given by 1 - a •
The fused stock representation is then defined as
H t = a t H I + (1 - a t ) H C (32) where
H te^N x d h (33)
is the unified graph-enhanced representation of all stocks at time t . This formulation preserves the dimensional consistency of the two graph branches and allows the model to balance stable structural information against dynamic market dependency in an adaptive manner.
The proposed fusion mechanism offers two practical advantages. First, it is lightweight and easy to implement, which is desirable for reproducible experiments on public financial datasets. Second, it allows the relative importance of the two graph views to vary across time, rather than assuming that structural and dynamic relations contribute equally under all market conditions. If the market is dominated by sector-wide behavior, the model can assign a larger weight to the industry graph; conversely, if short-term co-movement is more informative, the correlation graph can receive a larger contribution. The fused representation H is subsequently fed into the GRU module to model temporal dependency over the historical window.
-
3.7. GRU-Based Temporal Modeling
Although the fused graph representation H captures relational dependency among stocks at time step t , next-day stock movement prediction also depends on how such relational patterns evolve over time. In financial markets, structural information and co-movement signals are not sufficient if they are examined only at isolated time steps. A temporal modeling component is therefore required to learn the sequential evolution of the graph-enhanced market representation. To this end, the proposed framework employs a gated recurrent unit (GRU), which has been widely adopted in time-series forecasting due to its effectiveness and parameter efficiency [6, 5, 22].
For a historical observation window of length w , the fusion module produces a sequence of graph-enhanced feature matrices:
{Ht - w+1, Ht - w + 2,.... Ht} where each h e >Nxdh is the fused stock representation at time step T . To model temporal dependency in a stock-wise manner, the sequence of node embeddings is fed into a GRU. For each stock v , let s (w) = {h i, t - w+1, hi, t - w + 2, ., hi, t} denote the temporal sequence of fused embeddings associated with stock v , where h is the i -th row of H . The GRU then updates the hidden state recursively as zi,T = ^( Whi,T + UZqi,T-1 + bz ).
r,r = ^( WhiT + Urqi ,T-1 + br)
qi t = tanh(Whhi,t + Uh (ri r О qi,t-1) + bh)
qi> =(1 - ziT) о qit-1+zit © qit where z and r are the update gate and reset gate, respectively, q is the hidden state, denotes element-wise multiplication, and W , U , and b are trainable parameters.
After processing the historical window, the final hidden state q, ,e Rd*(40)
is regarded as the temporal representation of stock v at time t , where d is the hidden dimension of the GRU. By stacking the hidden states of all stocks, we obtain the market-level temporal representation
Qt = [q1„t,q2,t, .,qn,,]T e KNxd*(
The use of GRU in this framework serves two purposes. First, it captures short-term temporal dependence in graph-enhanced stock representations, allowing the model to learn how relational market signals evolve within the observation window. Second, compared with more complex recurrent architectures, GRU provides a compact and efficient temporal module, which is advantageous for reproducible experiments on public market datasets. In this way, the model combines two complementary dimensions of financial prediction: the GCN branches capture relational dependency across stocks, while the GRU models temporal dependency across trading days.
The temporal representation Q is then fed into the final prediction layer to estimate the probability of next-day upward movement for each stock.
-
3.8. Prediction Layer and Training Objective
After the GRU-based temporal modeling stage, the proposed framework obtains the temporal hidden representation q. t e M d * for each stock v z at time t . This representation summarizes both relational information from the dual-graph encoding stage and temporal dependency over the historical observation window. To estimate the probability of next-day upward movement, a fully connected prediction layer with sigmoid activation is applied to each stock representation:
y i , t + 1 = ^ ( w J q i , t + b P ) (42)
where w^ e M d * and bp e I are trainable parameters, and y. t +1 e (0,1) denotes the predicted probability that stock v. will move upward on the next trading day.
For binary decision making, the final class label can be obtained by thresholding the predicted probability:
if У i , t + 1 ^ 0.5, otherwise.
Since the prediction task in this study is formulated as next-day binary classification, binary cross-entropy is adopted as the main loss function. Let denote the set of training time indices. The classification loss is defined as
N
4CE =-TT7--- 7 X X [ У ,t + 1 log y i , t + 1 + (1 - y , t + 1 )log ( 1 - y i , t + 1 ) ] N I Aram 1 1^n i = 1
The choice of binary cross-entropy is appropriate for two reasons. First, the target variable is binary, indicating upward or downward movement on the next trading day. Second, the sigmoid output in Eq. (42) naturally represents a Bernoulli probability, making binary cross-entropy a suitable objective for probabilistic classification. Compared with regression-based objectives, this loss directly optimizes the prediction quality of the directional movement task considered in this paper.
To improve generalization and reduce the risk of overfitting on noisy financial data, an L regularization term is further added to the training objective:
4 eg = ® И 2
where 0 denotes the set of all trainable parameters in the proposed framework. The overall loss function is then defined as
£ = 4cE + ^ ^eg
where Л is a non-negative regularization coefficient.
The use of L regularization is motivated by the fact that stock market data are often noisy and the proposed model contains multiple learnable components, including graph encoders, fusion parameters, recurrent units, and the final prediction layer. By penalizing excessively large parameter values, the regularization term helps stabilize the optimization process and improves the robustness of the learned model. Therefore, the final training objective in Eq. (46) provides a balance between classification accuracy and model generalization.
4. Experiments and Discussion
This section evaluates the proposed Dual-Graph GCN-GRU framework on two public stock-market datasets and analyzes its effectiveness under a unified chronological forecasting setting. The experiments are designed to answer three main questions: whether graph-based relational modeling improves over sequence-only prediction, whether combining static and dynamic stock relations is beneficial, and whether the proposed framework remains effective across both developed and emerging market environments.
-
4.1. Datasets and Experimental Protocol
Table 6. Summary statistics of the datasets used in the experiments
|
Dataset |
Initial Stocks |
Retained Stocks |
Trading Days |
Usable Snapshots |
Stock-Day Samples |
|
S&P 500 |
500 |
492 |
1,258 |
1,237 |
608,604 |
|
VN30 |
30 |
30 |
1,248 |
1,227 |
36,810 |
For the U.S. market, historical daily OHLCV data are collected through the yfinance interface, which supports large-scale daily downloads with adjusted price handling [24]. For the Vietnamese market, daily historical data and stock metadata are obtained through the Vnstock ecosystem, where the history() interface provides adjusted OHLCV series and the KBS source is explicitly documented as suitable for cloud environments such as Google Colab and Kaggle [26]. To preserve a consistent graph structure across time, each market is modeled as a fixed-node panel. Specifically, a constituent snapshot is first collected for each market, and stocks with insufficient historical coverage, prolonged trading suspension, or unresolved ticker inconsistencies are excluded during preprocessing. This strategy avoids changing node identities across time and simplifies the construction of dynamic graph snapshots; however, it does not strictly follow point-in-time index rebalancing and should therefore be interpreted as a fixed-universe forecasting benchmark rather than a bias-free reconstruction of historical index membership. Consequently, delisted or bankrupt firms may be underrepresented, which can introduce survivorship bias into the empirical evaluation. We explicitly acknowledge this limitation and do not interpret the dataset as a fully investable historical index universe.
The observation period spans from January 2020 to December 2024. Following a chronological evaluation protocol, data from 2020–2022 are used for training, data from 2023 are used for validation, and data from 2024 are reserved for out-of-sample testing. This split avoids information leakage across time and reflects a more realistic forecasting scenario than random partitioning for assessing out-of-sample predictive generalization under a chronological protocol. All features are engineered from daily market data as described in Section 3 and are standardized using training-set statistics only. The same chronological separation is also maintained when constructing dynamic correlation graphs and portfolio-oriented evaluation metrics, so that each prediction uses only information available before the corresponding forecast date. The prediction target is the next-day directional movement of each stock, defined as a binary classification problem according to Eq. (6).
Table 7. Main preprocessing and experimental protocol settings
|
Item |
Setting |
|
Prediction task |
Binary next-day stock movement classification |
|
Observation period |
January 2020 – December 2024 |
|
Training / validation / test split |
2020–2022 / 2023 / 2024 |
|
Historical observation window (w) |
20 trading days |
|
Correlation look-back window (Lc) |
20 trading days |
|
Dynamic graph sparsification |
Top-K neighbors with K = 5 based on absolute rolling correlation |
|
Static graph |
Industry graph constructed from sector / industry membership |
|
Dynamic graph update interval |
Every 20 trading days |
|
Feature normalization |
Z-score standardization fitted on the training split only |
|
Decision threshold |
0.5 for converting probabilities into binary class labels |
In the proposed setting, the static industry graph is constructed once for each dataset using sector or industry metadata, whereas the dynamic correlation graph is refreshed periodically using a rolling window of recent daily returns. Unless otherwise specified, the historical observation window length is set to w = 20 , the correlation look-back window is set to L = 20 , and the dynamic correlation graph retains the top- K = 5 strongest neighbors for each stock according to absolute rolling correlation. These choices provide a reasonable balance between relational expressiveness and computational efficiency for medium-scale market graphs.
-
4.2. Baseline Methods
To evaluate the effectiveness of the proposed Dual-Graph GCN-GRU framework, we compare it with a set of representative baselines covering conventional machine learning, sequence-based deep learning, and graph-based prediction models. To strengthen the empirical comparison, we further include HistGradientBoosting and EvolveGCN, representing a robust tree-based ensemble for engineered tabular features and a dynamic graph neural network baseline, respectively. The baseline selection is designed to answer three questions: whether temporal deep models outperform shallow feature-based models, whether graph-based relational learning improves over sequence-only forecasting, and whether using two complementary graphs is more effective than relying on a single graph view.
For conventional feature-based learning, we consider Logistic Regression (LR) and a Multi-Layer Perceptron
(MLP). LR is included as a simple linear classifier that serves as a transparent and interpretable baseline for directional stock movement prediction. MLP provides a stronger nonlinear benchmark over the same engineered input features without explicitly modeling either temporal dependency or graph structure. These two baselines help quantify the benefit of moving from static feature learning to sequential and relational modeling. We additionally include HistGradientBoosting (HGB), a histogram-based gradient boosting classifier implemented in scikit-learn and based on the gradient boosting framework [28, 29]. Since histogram-based boosting is closely related to efficient gradientboosting implementations such as LightGBM [30], HGB serves as a strong non-neural ensemble baseline for the engineered tabular features used in this study.
Table 8. Baseline methods used in the expanded experiments
|
Method |
Category |
Temporal Modeling |
Relational Modeling |
Purpose in Comparison |
|
LR |
Conventional ML |
No |
No |
Provides a simple linear baseline on handcrafted features. |
|
MLP |
Conventional ML |
No |
No |
Evaluates whether nonlinear feature learning improves over linear classification. |
|
HistGradientBoosting |
Conventional ML |
No |
No |
Provides a strong histogram-based boosting baseline on engineered tabular features without explicit temporal or relational modeling. |
|
LSTM |
Sequence-based DL |
Yes |
No |
Tests the effectiveness of a standard recurrent temporal model for stock prediction. |
|
GRU |
Sequence-based DL |
Yes |
No |
Provides a compact recurrent baseline with strong forecasting capability. |
|
GCN-only |
Graph-based |
No |
Yes |
Isolates the contribution of graph relational encoding without temporal recurrence. |
|
Single-Graph GCN-GRU |
Graph-based |
Yes |
Yes |
Evaluates whether a single dynamic graph is sufficient for spatio-temporal stock prediction. |
|
GC-CNN |
Graph-based |
Partial |
Yes |
Represents a stronger graph-based market prediction architecture from prior work. |
|
EvolveGCN |
Graph-based |
Yes |
Yes |
Provides a representative dynamic graph baseline by evolving graph convolution parameters over temporal relation snapshots. |
|
Proposed DualGraph GCN-GRU |
Graph-based |
Yes |
Yes |
Integrates both static industry relations and dynamic correlation relations within a unified spatio-temporal framework. |
For sequence-based deep learning, we use LSTM and GRU. LSTM is a widely used recurrent architecture for time-series prediction and has shown strong performance in financial forecasting [12]. GRU is adopted as a more compact recurrent alternative with fewer parameters and competitive predictive capability [6]. In the experiments, both models receive the same historical feature window as input but process each stock independently, without explicit interstock relational information. These baselines are important for verifying whether the proposed graph-based design provides additional value beyond temporal sequence modeling alone.
For graph-based baselines, we consider four variants. The first is a GCN-only model, in which graph convolution is applied at each time step and the resulting representation is directly used for next-day prediction without recurrent temporal modeling. This baseline is used to isolate the contribution of graph-based relational encoding from temporal sequence learning. The second is a Single-Graph GCN-GRU model, which combines graph convolution with GRU but uses only one graph view, namely the dynamic correlation graph. This baseline is particularly important because it allows us to assess whether the proposed dual-graph design is more effective than a simpler single-graph spatiotemporal framework. The third is GC-CNN, a graph-based stock prediction model that integrates stock-specific feature extraction with graph convolutional market structure modeling [10]. This baseline represents a stronger graph-based forecasting architecture reported in prior literature. The fourth is EvolveGCN, which evolves graph convolution parameters over time and serves as a representative dynamic graph neural network baseline on temporal relation snapshots [27].
For all baselines, the same cleaned datasets, chronological data splits, and engineered feature set are used whenever applicable. Hyperparameters are selected using the validation set to ensure fair comparison. In addition, all graph-based models use the same node universe and graph preprocessing protocol as the proposed method. For HGB, the same engineered feature set and chronological data splits are used; for EvolveGCN, the same node universe, dynamic correlation graph snapshots, and validation protocol are retained to ensure a fair comparison. For the finance-oriented evaluation, model scores are generated on the same chronological test period whenever the corresponding method produces probabilistic or continuous prediction outputs. Through this experimental design, performance differences can be attributed more clearly to the modeling strategy rather than to inconsistencies in data preparation.
-
4.3. Evaluation Metrics
Since the task considered in this study is next-day binary stock movement classification, the predictive performance of each method is evaluated using five standard classification metrics: Accuracy, Precision, Recall, F1 -score, and Matthews Correlation Coefficient (MCC). These metrics are computed on the validation and test sets after converting predicted probabilities into binary labels using the decision rule in Eq. (43). Let TP, TN, FP, and FN denote the numbers of true positives, true negatives, false positives, and false negatives, respectively.
Accuracy measures the overall proportion of correctly classified samples:
Accuracy =
TP + TN
TP + TN + FP + FN
Although accuracy provides a direct measure of overall correctness, it may be insufficient on its own when the class distribution is not perfectly balanced.
Precision evaluates the reliability of positive predictions:
TP
Precision =--------
TP + FP while Recall measures the proportion of actual positive samples that are correctly identified:
TP
Recall = —TP--
TP + FN
In the context of stock movement prediction, Precision reflects how often predicted upward movements are correct, whereas Recall indicates how well the model captures actual upward movements.
To provide a balanced summary of Precision and Recall, the F1-score is used:
„ _ 2 x Precision x Recall
F1 -score =-----—------------
Precision + Recall
This metric is especially useful when a method performs unevenly across the two error types, since it penalizes models that improve one of Precision or Recall at the expense of the other.
In addition to the above measures, Matthews Correlation Coefficient (MCC) is also reported:
TP x TN - FP x FN MCC = ,
(TTP + FITP + 1NNTTN + ^
MCC provides a more balanced evaluation of binary classification because it takes all four entries of the confusion matrix into account simultaneously. Therefore, it is useful for assessing model quality even when class distributions or error patterns differ across datasets.
In the experimental analysis, Accuracy and F1-score are retained as important classification indicators, since they jointly reflect overall prediction correctness and the balance between false positives and false negatives. Precision, Recall, and MCC are further reported to provide a more complete view of model behavior. However, because directional classification metrics alone do not fully reflect ranking quality or risk-adjusted financial behavior, we further include finance-oriented evaluation metrics computed from model prediction scores on the chronological test period.
Specifically, let s ˆ denote the continuous prediction score assigned by a model to stock i at day t for forecasting the next-day movement, and let r_ (+i denote the realized return of stock i from day t to day t + 1. These scores are used directly for finance-oriented evaluation before thresholding into binary labels.
First, the Information Coefficient (IC) is used to measure the daily cross-sectional association between model scores and realized next-day returns. For each evaluation day, IC is computed across all stocks in the test universe, and the average IC over the evaluation period is defined as.
IC = S M s, ,. ri ,+1 ) . <52)
| Teval | te eval where Corr (•. •) denotes the Pearson correlation computed across stocks on a given day. A higher IC indicates that the model scores provide stronger cross-sectional ranking information for next-day stock returns.
Second, to connect prediction scores with risk-adjusted behavior, we construct a lightweight score-based portfolio simulation. At each evaluation day t, stocks are ranked by sˆ , and an equal-weighted long-only portfolio is formed using the top 20% of stocks. Let Qt denote the selected top-ranked stock set. The gross portfolio return for day t + 1 is computed as
R^s = E ^ + 1 (53)
| Q t I e Q t
To provide a simple cost-aware sensitivity analysis, we also compute a cost-adjusted return by subtracting proportional transaction costs based on portfolio turnover:
R + = R gross - c . Turnover t (54)
where c is the assumed proportional transaction-cost rate and Turnover is the total absolute change in portfolio weights between two consecutive rebalancing dates. In the experiments, we use c = 0.001 for the S&P 500 dataset and c = 0.002 for the VN30 dataset to reflect a conservative cost-sensitivity setting for the two market environments.
The annualized Sharpe ratio is then computed from either the gross or cost-adjusted daily portfolio return series as
Sharpe = ^ ( R ) V252 ° ( R )
where R denotes the corresponding daily portfolio return series, and ^ ( . ) and ° ( . ) denote the sample mean and sample standard deviation, respectively. We report both gross Sharpe and cost-adjusted Sharpe to distinguish frictionless ranking performance from cost-sensitive portfolio behavior.
Finally, Maximum Drawdown (MDD) is used to evaluate downside risk. Let V denote the cumulative portfolio value generated from the cost-adjusted return series, and let P denote the running peak value up to day t . MDD is defined as
MDD = max, I P - V I , P = maxr<, V (56) t t T ^ t T
These finance-oriented metrics complement the classification-based evaluation by assessing cross-sectional ranking quality, risk-adjusted return, and downside risk. The resulting portfolio simulation is intentionally lightweight and should be interpreted as an additional score-based evaluation protocol rather than a complete deployable trading system with stock-specific bid-ask spreads, realized slippage, commissions, or market-impact modeling.
-
4.4. Implementation Details
The proposed Dual-Graph GCN-GRU framework is implemented in Python using a standard deep learning environment with GPU acceleration. For fair comparison, all compared neural models are trained under the same chronological data splits and the same feature construction protocol described in the previous subsections, while the additional EvolveGCN and HistGradientBoosting baselines are evaluated under the same training, validation, and test protocol whenever applicable. Unless otherwise stated, the main hyperparameters are selected according to validationset performance and then fixed for both datasets to ensure a consistent experimental setting.
For the graph encoding stage, each graph branch uses a single graph convolutional layer followed by a ReLU activation function. The hidden dimension of the graph embedding is set to dh = 64. A lightweight design is adopted to reduce the risk of overfitting and to keep the model reproducible on public-market datasets without excessive computational cost. After cross-graph fusion, the fused embeddings are fed into a one-layer GRU with hidden dimension d^ = 64. Dropout with a rate of 0.2 is applied after the graph encoding stage and before the final prediction layer to improve regularization.
The model is trained using the Adam optimizer with an initial learning rate of 10 - 3. The regularization coefficient in Eq. (46) is set to Л = 10 - 5 . Mini-batch training is performed on sliding-window samples with batch size 32 . The maximum number of training epochs is set to 100 , and early stopping is applied with a patience of 10 epochs based on validation F1-score. At inference time, the model parameters with the best validation performance are used for testing. For the additional finance-oriented evaluation, continuous model scores are generated on the same chronological test period and are used to compute IC, gross Sharpe ratio, cost-adjusted Sharpe ratio, and cost-adjusted maximum drawdown. The score-based portfolio simulation follows the top-20% long-only equal-weighted protocol defined in Section 4.3. The primary classification experiments do not model stock-specific bid-ask spreads, realized slippage, trading commissions, or market impact. Instead, the cost-adjusted portfolio metrics are computed as a simple sensitivity analysis using fixed proportional transaction-cost assumptions, with c = 0.001 for S&P 500 and c = 0.002 for VN30.
Therefore, the finance-oriented results should be interpreted as a complementary score-based evaluation rather than a full deployable trading backtest.
For graph construction, the industry graph remains fixed throughout training and inference. The dynamic correlation graph is updated every 20 trading days using a rolling return window of length Lc = 20, and the top- K = 5 strongest neighbors are retained for each stock according to absolute correlation magnitude. The historical observation window for temporal modeling is set to w = 20. These settings provide a reasonable compromise between relational expressiveness and computational efficiency, while keeping the dynamic graph construction stable for both the S&P 500 and VN30 datasets.
To reduce randomness in model optimization, each deep learning method is trained three times with different random seeds, and the average results are reported in the main comparison tables. In addition, all input features are standardized using training-set statistics only, and the same normalization parameters are applied to the validation and test sets. This protocol ensures that the reported performance reflects chronological generalization rather than information leakage.
Table 9. Main implementation details and hyperparameter settings
|
Item |
Setting |
|
Graph encoder |
One-layer GCN for each graph branch |
|
Graph hidden dimension ( d ) |
64 |
|
Temporal module |
One-layer GRU |
|
GRU hidden dimension ( ) |
64 |
|
Activation function |
ReLU |
|
Dropout rate |
0.2 |
|
Optimizer |
Adam |
|
Initial learning rate |
10 - 3 |
|
Regularization coefficient ( A ) |
10 - 5 |
|
Batch size |
32 |
|
Maximum epochs |
100 |
|
Early stopping patience |
10 |
|
Historical observation window ( w ) |
20 |
|
Correlation look-back window ( L ) |
20 |
|
Top- K neighbors in dynamic graph |
5 |
|
Dynamic graph update interval |
Every 20 trading days |
|
Number of runs |
3 random seeds |
|
Model selection criterion |
Best validation F1-score |
-
4.5. Experimental Results
The additional baselines further strengthen this comparison. HistGradientBoosting performs competitively among non-graph methods, confirming that the engineered tabular features contain useful predictive information. EvolveGCN improves over simpler graph and sequence baselines, showing the value of dynamic graph modeling. However, the proposed Dual-Graph GCN-GRU still achieves the strongest overall performance, suggesting that the joint use of static industry relations, dynamic correlation relations, and temporal recurrent modeling provides complementary benefits.
|
Method |
Accuracy |
Precision |
Recall |
F1-score |
MCC |
|
LR |
0.523 |
0.525 |
0.531 |
0.528 |
0.046 |
|
MLP |
0.534 |
0.537 |
0.543 |
0.540 |
0.068 |
|
HistGradientBoosting |
0.550 |
0.553 |
0.560 |
0.557 |
0.103 |
|
LSTM |
0.548 |
0.551 |
0.557 |
0.554 |
0.096 |
|
GRU |
0.553 |
0.556 |
0.562 |
0.559 |
0.107 |
|
GCN-only |
0.545 |
0.548 |
0.555 |
0.551 |
0.091 |
|
GC-CNN |
0.560 |
0.563 |
0.570 |
0.566 |
0.120 |
|
EvolveGCN |
0.566 |
0.570 |
0.573 |
0.571 |
0.132 |
|
Single-Graph GCN-GRU |
0.569 |
0.572 |
0.579 |
0.575 |
0.138 |
|
Proposed Dual-Graph GCN-GRU |
0.578 |
0.581 |
0.588 |
0.584 |
0.156 |
On the S&P 500 dataset, the proposed method achieves an Accuracy of 0 . 578, an F1-score of 0 . 584, and an MCC of 0 . 156, outperforming all compared baselines. Among the sequence-based baselines, GRU performs slightly better than LSTM, which supports the use of GRU as the temporal component in the proposed framework. Among the additional baselines, HistGradientBoosting improves over LR and MLP and remains competitive with the recurrent baselines, while EvolveGCN outperforms GCN-only and GC-CNN but remains slightly below Single-Graph GCN-GRU. Compared with the strongest single-graph baseline, namely Single-Graph GCN-GRU, the proposed model improves Accuracy by 0 . 9 percentage points and MCC by 0 . 018, suggesting that the additional industry-graph branch provides complementary structural information beyond dynamic correlation alone.
Table 11. Main comparison results on the VN30 dataset
|
Method |
Accuracy |
Precision |
Recall |
F1-score |
MCC |
|
LR |
0.507 |
0.509 |
0.514 |
0.511 |
0.014 |
|
MLP |
0.521 |
0.524 |
0.531 |
0.527 |
0.043 |
|
HistGradientBoosting |
0.539 |
0.544 |
0.548 |
0.545 |
0.082 |
|
LSTM |
0.536 |
0.540 |
0.547 |
0.543 |
0.075 |
|
GRU |
0.541 |
0.545 |
0.551 |
0.548 |
0.086 |
|
GCN-only |
0.533 |
0.537 |
0.543 |
0.540 |
0.068 |
|
GC-CNN |
0.549 |
0.553 |
0.560 |
0.556 |
0.098 |
|
EvolveGCN |
0.551 |
0.556 |
0.561 |
0.558 |
0.103 |
|
Single-Graph GCN-GRU |
0.553 |
0.557 |
0.564 |
0.560 |
0.109 |
|
Proposed Dual-Graph GCN-GRU |
0.564 |
0.568 |
0.575 |
0.571 |
0.131 |
A similar trend is observed on the VN30 dataset. The proposed framework achieves the highest Accuracy (0 . 564), F1-score (0 . 571), and MCC (0 . 131), again surpassing all baseline methods. The expanded benchmark shows a similar ordering on VN30: HistGradientBoosting provides a stronger tabular baseline than LR and MLP and remains close to the recurrent baselines, whereas EvolveGCN is more competitive than GCN-only and GC-CNN but still slightly trails Single-Graph GCN-GRU. Compared with Single-Graph GCN-GRU, it yields an Accuracy gain of 1 . 1 percentage points and an MCC gain of 0 . 022, indicating that combining static and dynamic relations remains effective in an emergingmarket setting.
Another notable observation is that HistGradientBoosting consistently improves over the shallow conventional ML baselines on both datasets, indicating that the engineered feature set contains useful nonlinear tabular signals. GCN-only performs worse than GRU-based spatio-temporal models on both datasets. This result confirms that relational encoding alone is insufficient when temporal evolution is ignored. Similarly, EvolveGCN, GC-CNN and Single-Graph GCN-GRU both outperform pure recurrent baselines, which supports the usefulness of graph-based market representation.
However, the best overall performance is consistently obtained only when the model integrates both complementary graph views and temporal sequence modeling. Therefore, the results in Table 10 and Table 11 provide empirical evidence that the proposed Dual-Graph GCN-GRU framework effectively captures the joint spatio-temporal structure of stock markets.
Figure 2 provides a visual comparison of Accuracy and F1-score for selected representative baselines and the proposed method. For readability, the figure focuses on a representative subset of methods rather than the entire expanded benchmark suite. The figure shows that the proposed model achieves the most consistent gains across both datasets, and that the improvement is not limited to a single metric. This visual trend is particularly important because it indicates that the proposed framework improves not only overall correctness but also the balance between positive and negative prediction quality.
Table 12. Finance-oriented evaluation results under a score-based top-20% long-only portfolio simulation
|
Method |
S&P 500 |
VN30 |
||||||
|
IC ↑ |
Gross Sharpe ↑ |
Net Sharpe ↑ |
Net MDD (%) ↓ |
IC ↑ |
Gross Sharpe ↑ |
Net Sharpe ↑ |
Net MDD (%) ↓ |
|
|
HistGradientBoosting |
0.028 |
0.72 |
0.54 |
14.5 |
0.020 |
0.44 |
0.19 |
24.5 |
|
GRU |
0.029 |
0.75 |
0.56 |
14.2 |
0.022 |
0.49 |
0.22 |
24.0 |
|
EvolveGCN |
0.034 |
0.88 |
0.66 |
12.8 |
0.025 |
0.55 |
0.29 |
22.5 |
|
Single-Graph GCN-GRU |
0.036 |
0.95 |
0.72 |
12.1 |
0.027 |
0.60 |
0.33 |
21.6 |
|
Proposed Dual-Graph GCN-GRU |
0.039 |
1.10 |
0.82 |
11.2 |
0.031 |
0.73 |
0.46 |
19.3 |
Note: IC denotes the daily cross-sectional Information Coefficient between model scores and next-day stock returns. Gross Sharpe is computed from the frictionless top-20% long-only portfolio, while Net Sharpe and Net MDD are computed from cost-adjusted portfolio returns using the fixed proportional transaction-cost assumptions described in Section 4.3.
Compared with HistGradientBoosting and GRU, the graph-based methods generally produce stronger IC and risk-adjusted performance, suggesting that relational information is useful not only for direction classification but also for score-based stock ranking. EvolveGCN provides a competitive dynamic graph baseline, but its performance remains below that of the Single-Graph GCN-GRU and the proposed dual-graph model. This comparison indicates that combining temporal modeling with stock relation modeling is beneficial, and that incorporating both static industry relations and dynamic correlation relations further improves the quality of prediction scores.
The difference between gross Sharpe and cost-adjusted Sharpe also shows that transaction-cost assumptions have a non-negligible effect on portfolio-oriented evaluation. Nevertheless, the proposed method maintains the strongest cost-adjusted performance among the compared methods on both datasets. The lower Sharpe ratios and higher drawdowns observed on VN30 further suggest that the emerging-market setting is more challenging, which is consistent with its smaller stock universe and market-specific trading conditions. These results should be interpreted as complementary score-based evidence of predictive utility rather than as a complete deployable trading backtest.
-
4.6. Ablation Study
To better understand the contribution of each component in the proposed Dual-Graph GCN-GRU framework, an ablation study is conducted on both the S&P 500 and VN30 datasets. Starting from the full model, we remove or simplify one component at a time while keeping the remaining training settings unchanged. While the full model comparison in Section 4.5 includes both classification and finance-oriented metrics, the ablation study focuses on classification metrics in order to isolate the architectural contribution of each component under the same predictive setting. The considered variants are as follows: (i ) w/o Static Industry Graph , where the static industry branch is removed and only the dynamic correlation graph is retained; (ii) w/o Dynamic Correlation Graph , where the model uses only the static industry graph; (iii) w/o Adaptive Fusion , where the gated fusion mechanism is replaced with simple equal-weight averaging; and (iv) w/o GRU , where temporal modeling is removed and the fused graph representation at the latest time step is directly fed into the prediction layer.
Table 13. Ablation study of the proposed Dual-Graph GCN-GRU framework based on classification metrics
|
Variant |
S&P 500 |
VN30 |
||||
|
Accuracy |
F1-score |
MCC |
Accuracy |
F1-score |
MCC |
|
|
w/o Static Industry Graph |
0.569 |
0.575 |
0.138 |
0.553 |
0.560 |
0.109 |
|
w/o Dynamic Correlation Graph |
0.561 |
0.567 |
0.121 |
0.549 |
0.555 |
0.098 |
|
w/o Adaptive Fusion |
0.573 |
0.579 |
0.146 |
0.559 |
0.565 |
0.120 |
|
w/o GRU |
0.558 |
0.561 |
0.106 |
0.542 |
0.549 |
0.082 |
|
Full Dual-Graph GCN-GRU |
0.578 |
0.584 |
0.156 |
0.564 |
0.571 |
0.131 |
Table 13 presents the ablation results. Overall, the full model consistently achieves the best performance on both datasets, confirming that each component contributes positively to the final predictive capability. The most significant performance drop is observed when the GRU module is removed. On the S&P 500 dataset, eliminating GRU reduces Accuracy from 0 . 578 to 0 . 558 and MCC from 0 . 156 to 0 . 106. A similar trend is found on VN30, where Accuracy decreases from 0 . 564 to 0 . 542 and MCC decreases from 0 . 131 to 0 . 082. These results indicate that temporal modeling is essential for capturing the sequential evolution of graph-enhanced stock representations.
The comparison between w/o Static Industry Graph and w/o Dynamic Correlation Graph further shows that both graph branches are useful, but the dynamic correlation graph contributes slightly more to predictive performance. Removing the dynamic correlation graph causes a larger degradation than removing the static industry graph on both datasets, suggesting that time-varying market co-movement carries highly informative signals for next-day forecasting. At the same time, the performance of w/o Static Industry Graph remains below the full model, which confirms that stable structural information from industry relations provides complementary context beyond dynamic correlation alone.
Finally, replacing the adaptive fusion mechanism with simple averaging also leads to a consistent performance decline. Although the reduction is smaller than that caused by removing an entire graph branch or the GRU module, it still appears on both datasets across all reported metrics. This result suggests that the gated fusion strategy helps the model adjust the relative importance of static and dynamic graph views under different market conditions. Therefore, the ablation study supports the design choice of combining dual-graph encoding, adaptive fusion, and GRU-based temporal modeling within a unified framework. These results also explain why the proposed model achieves stronger score-based ranking and risk-adjusted behavior in the finance-oriented evaluation reported in Section 4.5: each architectural component contributes to the quality of the final prediction scores.
-
4.7. Sensitivity Analysis and Discussion
To further assess the robustness of the proposed framework, we analyze its sensitivity to three key hyperparameters: the historical observation window w , the correlation look-back window L , and the number of retained neighbors K in the dynamic correlation graph. Since these hyperparameters directly affect temporal context length and graph construction quality, they play an important role in the final predictive performance. For brevity, the sensitivity analysis is conducted on the validation set using the full Dual-Graph GCN-GRU model, while keeping all other hyperparameters unchanged.
Table 14. Validation F1-score (%) under different hyperparameter settings of the proposed model
|
Hyperparameter |
Setting |
S&P 500 |
VN30 |
|
w |
10 |
57.6 |
56.2 |
|
20 |
58.6 |
57.5 |
|
|
30 |
58.2 |
57.1 |
|
|
Lc |
10 |
57.9 |
56.6 |
|
20 |
58.6 |
57.5 |
|
|
40 |
58.1 |
57.0 |
|
|
K |
3 |
58.2 |
57.1 |
|
5 |
58.6 |
57.5 |
|
|
7 |
58.3 |
57.3 |
Table 14 summarizes the validation F1-scores obtained under different hyperparameter settings. Overall, the proposed model remains relatively stable across a reasonable range of configurations, which suggests that the framework is not excessively sensitive to moderate parameter changes. However, the best performance on both datasets is consistently achieved when w = 20 , L = 20 , and K = 5 , which supports the settings adopted in the main experiments.
When the historical observation window is reduced to w = 10 , the performance decreases on both datasets. This result indicates that a very short input sequence is insufficient to capture the temporal evolution of graph-enhanced stock representations. In contrast, increasing the window length to w = 30 does not yield additional gains and even leads to a slight decline. A plausible explanation is that overly long windows may introduce stale or noisy market information, especially in highly dynamic financial environments. Therefore, a moderate temporal horizon appears to provide the best trade-off between information sufficiency and noise control.
A similar pattern is observed for the correlation look-back window L . If L is too short, the estimated correlation graph becomes less stable because it is constructed from a limited return history. If L is too long, the graph may fail to reflect recent market shifts in a timely manner. The results in Table 14 suggest that L = 20 offers the most effective balance between stability and responsiveness. This finding is consistent with the intuition that short- to medium-term co-movement patterns are most informative for next-day stock movement prediction.
The number of retained neighbors K also influences the quality of the dynamic graph. When K is too small, the graph may miss useful cross-stock interactions; when K is too large, noisy or weakly relevant relations may be introduced. In our experiments, K = 5 produces the best validation performance on both datasets, while nearby values such as K = 3 and K = 7 remain competitive. This observation indicates that the proposed method is reasonably robust to graph sparsity choices as long as the correlation graph is neither too sparse nor too dense. This finding is also important from a graph-learning perspective, because financial correlation graphs can easily become dense and noisy. A moderate top- K value helps preserve informative co-movement relations while reducing weak edges that may amplify noise or contribute to over-smoothing in graph convolution.
Nevertheless, several limitations remain. The current framework constructs the dynamic graph only from returnbased correlation, which may not fully capture more complex relations such as news-driven dependency, supply-chain interaction, or investor sentiment spillover. In addition, the static industry graph is intentionally simplified for reproducibility and may not reflect finer-grained economic relations among firms. Finally, although the results are encouraging, stock movement prediction remains inherently difficult due to market noise and non-stationarity. Another limitation concerns interpretability. Although the adaptive gated fusion mechanism provides a coarse indication of how the model balances the static industry graph and the dynamic correlation graph, the current framework does not provide explicit spatial attention weights for identifying which stocks contribute most strongly to a prediction or temporal attention scores for identifying which historical days are most influential. This limits the direct explainability of the GCN-GRU pipeline for institutional deployment.
The finance-oriented evaluation should also be interpreted cautiously. The additional IC, Sharpe ratio, and MDD results complement the classification metrics by assessing score ranking quality and risk-adjusted behavior, but the portfolio simulation remains a lightweight evaluation protocol. The cost-adjusted metrics are based on fixed proportional transaction-cost assumptions rather than stock-specific bid-ask spreads, realized slippage, trading commissions, or market-impact estimates. In addition, because the datasets are constructed as fixed-universe panels rather than fully point-in-time investable index universes, survivorship bias may still affect the empirical evaluation. Therefore, the proposed framework should be viewed as a reproducible predictive modeling benchmark rather than a complete deployable trading system.
These limitations suggest that future work may further explore richer relation sources, adaptive graph update strategies, and more advanced fusion mechanisms while preserving practical reproducibility, as well as point-in-time constituent mapping, cost-aware backtesting with more realistic market frictions, and interpretable spatial-temporal explanation mechanisms.
5. Conclusion
This paper proposed a dynamic dual-graph GCN-GRU framework for stock movement prediction. The model integrates a static industry graph and a dynamic correlation graph to capture both long-term structural relations and short-term evolving co-movement patterns among stocks. Graph convolution is used to encode relational information from the two graph views, while a GRU models temporal dependencies from graph-enhanced stock representations. By combining dual-graph relational learning with recurrent temporal modeling, the proposed framework provides a practical approach for next-day stock direction prediction using publicly available daily market data.
Beyond standard classification metrics, the revised evaluation further considers finance-oriented indicators, including IC, gross and cost-adjusted Sharpe ratios, and cost-adjusted maximum drawdown under a lightweight scorebased portfolio simulation. The results show that the proposed framework also achieves the strongest overall scoreranking and risk-adjusted behavior among the compared methods. These additional metrics provide a more cautious assessment of the financial relevance of the prediction scores while avoiding the claim that the model constitutes a complete trading system.
Despite these findings, several limitations remain. The current dynamic graph is constructed from return-based correlations and may not fully capture other important relations such as news-driven dependency, supply-chain links, or investor sentiment spillovers. The static industry graph is also simplified for reproducibility and does not model finergrained economic relations among firms. In addition, the datasets are constructed as fixed-universe panels rather than fully point-in-time investable index universes, and the cost-adjusted evaluation uses fixed proportional transaction-cost assumptions rather than stock-specific bid-ask spreads, realized slippage, commissions, or market-impact estimates. The current framework also does not provide explicit spatial or temporal attention mechanisms for detailed interpretability.
Future work may extend the proposed framework by incorporating richer relation sources, adaptive graph structure learning, and more advanced fusion mechanisms. Further research should also consider point-in-time constituent mapping, more realistic cost-aware backtesting, and interpretable spatial-temporal explanation methods to better assess the practical utility of graph-based stock prediction models in real financial environments.
All the Declarations and StatementsAuthor Contributions Statement
Phuoc Long. Phan: Conceptualization, Methodology, and Supervision: Proposed the research idea, designed the overall framework, developed the methodological direction, and supervised the research process.
The Khai. Phan: Data Curation, Software Implementation, and Model Development: Collected and preprocessed the datasets, implemented the proposed model, and supported the construction of the experimental pipeline.
Van Thanh. Nguyen: Model Training, Validation, Formal Analysis, and Visualization: Conducted model training and validation, evaluated the experimental results, analyzed model performance, and prepared the figures and tables.
Thi Huong. Tran: Writing – Original Draft, Writing – Review and Editing, and Project Coordination: Drafted the manuscript, contributed to the literature review and technical background, revised the manuscript, and coordinated the preparation of the final submission.
All authors have read and agreed to the published version of the manuscript.
Conflict of Interest Statement
The authors declare that they have no conflicts of interest.
Funding Declaration
None.
Data Availability Statement
Accessed on May 22, 2026.
Ethical Declarations
This study did not involve human subjects, human data, animals, or clinical experiments. Therefore, ethical approval was not applicable.
Acknowledgments
We sincerely thank the editors and reviewers for their professional evaluation and valuable recommendations, which have contributed to improving the quality, clarity, and reliability of this manuscript.
Declaration of Generative AI in Scholarly Writing
Generative AI-assisted tools were used only to improve the language and readability of selected parts of the manuscript. All AI-assisted outputs were reviewed and edited by the authors. No AI or AI-assisted technology is listed as an author or co-author. The authors take full responsibility for the final content of the manuscript.
Abbreviations
The following abbreviations are used in this manuscript:
AI - Artificial Intelligence
AUC - Area Under the Curve
BCE - Binary Cross-Entropy
DL - Deep Learning
FC - Fully Connected
GC-CNN - Graph Convolutional Feature-based Convolutional Neural Network
GCN - Graph Convolutional Network
GNN - Graph Neural Network
GRU - Gated Recurrent Unit
IC - Information Coefficient
LSTM - Long Short-Term Memory
MA - Moving Average
MACD - Moving Average Convergence Divergence
MCC - Matthews Correlation Coefficient
MDD - Maximum Drawdown
ML - Machine Learning
MLP - Multi-Layer Perceptron
OHLCV - Open, High, Low, Close, Volume
ReLU - Rectified Linear Unit
RSI - Relative Strength Index
VN30 - Vietnam 30 Index
Appendix A Not Applicable
No appendix is included in this manuscript.