<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.4 20241031//EN" "JATS-journalpublishing1-4.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article" dtd-version="1.4" xml:lang="en">
  <front>
    <journal-meta>
      <journal-id journal-id-type="publisher-id">jamp</journal-id>
      <journal-title-group>
        <journal-title>Journal of Applied Mathematics and Physics</journal-title>
      </journal-title-group>
      <issn pub-type="epub">2327-4379</issn>
      <issn pub-type="ppub">2327-4352</issn>
      <publisher>
        <publisher-name>Scientific Research Publishing</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.4236/jamp.2026.1410190</article-id>
      <article-id pub-id-type="publisher-id">jamp-154491</article-id>
      <article-categories>
        <subj-group>
          <subject>Article</subject>
        </subj-group>
        <subj-group>
          <subject>Physics</subject>
          <subject>Mathematics</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>A Hybrid Wavelet-LSTM Model for Forecasting NSPO Stock Prices: Structure, Methodology, and Empirical Application</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author" corresp="yes">
          <name name-style="western">
            <surname>Noori</surname>
            <given-names>Nooruldeen A.</given-names>
          </name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <name name-style="western">
            <surname>Abdullah</surname>
            <given-names>Hiba H.</given-names>
          </name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
      </contrib-group>
      <aff id="aff1"><label>1</label> Anbar Education Directorate, Anbar, Iraq </aff>
      <aff id="aff2"><label>2</label> Department of Mathematics, College of Education for Women, Tikrit University, Tikrit, Iraq </aff>
      <author-notes>
        <fn fn-type="conflict" id="fn-conflict">
          <p>The authors declare no conflicts of interest regarding the publication of this paper.</p>
        </fn>
      </author-notes>
      <pub-date pub-type="epub">
        <day>08</day>
        <month>10</month>
        <year>2026</year>
      </pub-date>
      <pub-date pub-type="collection">
        <month>10</month>
        <year>2026</year>
      </pub-date>
      <volume>14</volume>
      <issue>10</issue>
      <fpage>3890</fpage>
      <lpage>3913</lpage>
      <history>
        <date date-type="received">
          <day>02</day>
          <month>09</month>
          <year>2026</year>
        </date>
        <date date-type="accepted">
          <day>11</day>
          <month>10</month>
          <year>2026</year>
        </date>
        <date date-type="published">
          <day>14</day>
          <month>10</month>
          <year>2026</year>
        </date>
      </history>
      <permissions>
        <copyright-statement>© 2026 by the authors and Scientific Research Publishing Inc.</copyright-statement>
        <copyright-year>2026</copyright-year>
        <license license-type="open-access">
          <license-p> This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license ( <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">https://creativecommons.org/licenses/by/4.0/</ext-link> ). </license-p>
        </license>
      </permissions>
      <self-uri content-type="doi" xlink:href="https://doi.org/10.4236/jamp.2026.1410190">https://doi.org/10.4236/jamp.2026.1410190</self-uri>
      <abstract>
        <p>Financial time series forecasting is sensitive to nonlinear dynamics, abrupt shocks, and preprocessing choices that can contaminate out-of-sample evaluation. This study evaluates a hybrid Wavelet-Long Short-Term Memory (Wavelet-LSTM) model for weekly stock prices of Northern Upper Egypt Development Company (NSPO) under a leakage-safe chronological protocol. The dataset contains 319 weekly prices from 5 January 2020 to 8 March 2026, producing 318 logarithmic returns. The final 10 returns and corresponding prices were reserved exclusively for rolling one-step-ahead testing, while the preceding 20 returns formed a chronological validation segment and the first 288 returns formed the base training segment. At every test origin, the db4 level-3 discrete wavelet decomposition and min-max normalization were recomputed using only information available before the target observation. Hyperparameters were selected without using the final test period. The selected Wavelet-LSTM used 12 lags, 40 hidden units per component, dropout 0.20, 150 epochs, and an initial learning rate of 0.005. Across the 10 rolling test origins, the Wavelet-LSTM achieved return RMSE = 0.1757, return MAE = 0.0946, and directional accuracy = 50%. On the reconstructed price scale, RMSE = 0.1163, MAE = 0.0714, and MAPE = 8.40%. A matched standard LSTM achieved price RMSE = 0.1086 and MAPE = 8.11%. Thus, the leakage-safe evaluation does not support a forecasting-accuracy advantage for wavelet decomposition on this short terminal holdout, although the framework remains useful for multi-scale representation. The revised protocol provides a reproducible assessment that prevents future observations from entering decomposition, scaling, model selection, or forecasting.</p>
      </abstract>
      <kwd-group kwd-group-type="author-generated" xml:lang="en">
        <kwd>Wavelet Decomposition</kwd>
        <kwd>LSTM</kwd>
        <kwd>Stock Price Forecasting</kwd>
        <kwd>Logarithmic Returns</kwd>
        <kwd>Rolling-Origin Evaluation</kwd>
        <kwd>Information Leakage</kwd>
        <kwd>NSPO Stock Prices</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec1">
      <title>1. Introduction</title>
      <p>Financial markets are complex systems which are often sensitive to macroeconomic and structural changes, changes in the country’s government, political events, investor expectations, uncertainty in the stock market, and new, external events. It is this kind of complexity that renders stock price forecasting a fundamental yet complex challenge for scholars, investors, analysts and decision-makers. Predicting the future accurately provides assets and liabilities of portfolios, helps in risk management and investment risk mitigation and investment management, and is important in market strategy. Financial time series exhibit nonlinear movement, irregularities, clustering and time structure. These characters result in that, the prediction of future price fluctuations is hard at best, since it’s not only linearity that determines the future trend of stock prices as much as it is not deterministic trends of the past.</p>
      <p>We have been employing classical statistical models widely in time series forecasting because they have straightforward mathematical form and can be easily interpreted. Models, including Autoregressive Integrated Moving Average (ARIMA), still help to represent linear dependence and short term temporal patterns. For some, however, such models are based on assumptions such as stationarity, linearity and regularity of error behavior. If the series includes nonlinear structures not visible to the model, abrupt price changes, and multifaceted temporal dependence, classical models also lose their predictive power. Zhang [<xref ref-type="bibr" rid="B1">1</xref>] demonstrated that the hybrid structure of ARIMA combined with neural networks achieves superior predictive performance over the non-linear-linear ARIMA hybrid structure. Hyndman and Athanasopoulos [<xref ref-type="bibr" rid="B2">2</xref>] also pointed by stressing that effective forecasting is in terms of pre-processed processing, model choice, model validation, accuracy validation, and not of choosing a structured model for all data sources.</p>
      <p>AI and deep learning methods have gained acceptance in financial forecasting in recent years because they can learn nonlinear structures in the data directly. Long Short-Term Memory (LSTM) networks are one of these architectures and have attracted considerable interest in stock price predictions. The LSTM networks are a specific form of recurrent neural network created to model sequential dependency and to solve the vanishing gradient problem of classical recurrent networks. By utilizing memory cells and gating mechanisms, LSTM manages to store useful past observations while ignoring irrelevant signals. The latter feature renders LSTM applicable to financial time series, where short-term movements as well as long-term trends can be responsible for current prices and returns.</p>
      <p>Although the forecasting efficiency of LSTM is very high, the application of LSTM directly on raw financial data does not necessarily result in the best scenarios. In the financial time series the data are usually dominated with various mix of long-run movement, medium-frequency variations, local shocks, and high-frequency noise. In a case where a specific neural network is trained on the original series, this would need to be learned simultaneously. This can lead to poor prediction accuracy, particularly with an erratic volatility and abrupt changes in the series. Thus, decomposition-based hybrid models have emerged as a key research direction in time series forecasting. The key takeaway is to re-construct the final forecast from the predicted components, and learn a good model to use for that recordings from the new original series.</p>
      <p>It has been reported in multiple recent works that decomposition approaches with neural networks add value to prediction. Chen et al. [<xref ref-type="bibr" rid="B3">3</xref>] used seasonal and trend decomposition under Loess based LSTM approach for short-term prediction of metro riderships and the results demonstrated that using decomposition can enhance learning before neural modeling. Aljboori [<xref ref-type="bibr" rid="B4">4</xref>] presented the STDR-MNN hybrid model which combines structural decomposition with modular neural-network. Sultana and Aljboori [<xref ref-type="bibr" rid="B5">5</xref>] proposed STL-FNN with seasonal decomposition and trend extraction incorporated into feedforward neural networks. The STR-ENN model by Othman and Aljboori [<xref ref-type="bibr" rid="B6">6</xref>] combines Seasonal-Trend Regression with an Elman neural network to model temporal memory. In recent works, Abdullah, Noori, and Hamza [<xref ref-type="bibr" rid="B7">7</xref>] introduced an improved hybrid STD-RBFNN model and implemented it on the prediction of Tesla stock price by presenting that adding dispersion component improves forecasting performance, when nonlinear financial behavior is detected. Another viable method to update neural forecasting models is wavelet decomposition, as this method takes into account time and frequency dimensions of the time series. To the contrary to standard smoothing methodology, wavelet decomposition, does not treat the series in indivisible manner.</p>
      <p>It does not, but instead breaks down the series into a low-frequency approximation element and multiple high-frequency detail elements. The approximation element is related to the net movement of the series; the detail element is the local variations, shocks and short term anomaly. This property makes wavelet decomposition an especially strong fitting method for financial data, where price movements can have both smooth long-term behavior and rapid short-term change. To this end, wavelet decomposition with LSTM combines wavelet decomposition, every decomposed constituent of the structure is taken through separate (independent) processing, where the neural network can then learn more uniform yet simpler patterns from the information. This study aims at building a cost-effective and reproducible hybrid framework that can be fully functional: both the wavelet decomposition and forecasting is performed directly on the stock prices of Northern Upper Egypt Development Company (NSPO). The hybrid decomposition-neural network model has been well investigated, yet the practical applications still pay a significant focus on the global forecasting accuracy, and little attention to how the initial series is transformed, decomposed, component modeled and reconstructed. Additionally, the volatility of Egyptian stock market has its own features, and a Wavelet-LSTM based model for NSPO price prediction is an applied valuable feature in financial time series modeling.</p>
      <p>This study evaluates whether wavelet decomposition adds forecasting value to an LSTM model when the empirical protocol strictly respects the chronological information set. The analysis transforms 319 weekly NSPO prices into 318 logarithmic returns, reserves the final 10 returns for untouched out-of-sample evaluation, and uses the immediately preceding 20 returns for chronological validation. The key methodological contribution is a leakage-safe expanding-window design: at each forecast origin, wavelet decomposition, normalization, lag construction, and model fitting use only observations available before the target week. The final test consists of 10 rolling one-step-ahead forecasts. After each forecast is evaluated, the newly realized return becomes available for the next origin. A standard LSTM is evaluated under the same lag order, hidden size, dropout, epochs, learning rate, normalization rule, and deterministic seed structure. This design allows the empirical comparison to focus on the effect of the decomposition-and-componentwise modeling structure rather than on unequal preprocessing or tuning. Accuracy is reported on both return and reconstructed-price scales, together with directional accuracy.</p>
    </sec>
    <sec id="sec2">
      <title>2. Theoretical Background of Forecasting and Hybrid Wavelet-LSTM Models</title>
      <sec id="sec2dot1">
        <title>2.1. Classical Forecasting Models</title>
        <p>Classical forecasting models provide an important foundation for time series analysis because they describe temporal dependence through explicit mathematical structures. Linear regression models and autoregressive models have been widely used in economic and financial forecasting because they are simple, interpretable, and computationally efficient. In a basic linear regression forecasting structure, the observed value of a financial series at time <inline-formula><mml:math><mml:mi> t </mml:mi></mml:math></inline-formula> can be represented as</p>
        <disp-formula id="FD1">
          <label>(1)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mi>y</mml:mi>
                <mml:mi>t</mml:mi>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:msub>
                <mml:mi>β</mml:mi>
                <mml:mn>0</mml:mn>
              </mml:msub>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mi>β</mml:mi>
                <mml:mn>1</mml:mn>
              </mml:msub>
              <mml:msub>
                <mml:mi>x</mml:mi>
                <mml:mrow>
                  <mml:mn>1</mml:mn>
                  <mml:mo>,</mml:mo>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mi>β</mml:mi>
                <mml:mn>2</mml:mn>
              </mml:msub>
              <mml:msub>
                <mml:mi>x</mml:mi>
                <mml:mrow>
                  <mml:mn>2</mml:mn>
                  <mml:mo>,</mml:mo>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
              <mml:mo>+</mml:mo>
              <mml:mo>⋯</mml:mo>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mi>β</mml:mi>
                <mml:mi>p</mml:mi>
              </mml:msub>
              <mml:msub>
                <mml:mi>x</mml:mi>
                <mml:mrow>
                  <mml:mi>p</mml:mi>
                  <mml:mo>,</mml:mo>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mi>ε</mml:mi>
                <mml:mi>t</mml:mi>
              </mml:msub>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>where <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> y </mml:mi><mml:mi> t </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the response variable, <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> x </mml:mi><mml:mrow><mml:mn> 1 </mml:mn><mml:mo> , </mml:mo><mml:mi> t </mml:mi></mml:mrow></mml:msub><mml:mo> , </mml:mo><mml:msub><mml:mi> x </mml:mi><mml:mrow><mml:mn> 2 </mml:mn><mml:mo> , </mml:mo><mml:mi> t </mml:mi></mml:mrow></mml:msub><mml:mo> , </mml:mo><mml:mo> ⋯ </mml:mo><mml:mo> , </mml:mo><mml:msub><mml:mi> x </mml:mi><mml:mrow><mml:mi> p </mml:mi><mml:mo> , </mml:mo><mml:mi> t </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> are explanatory variables, <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> β </mml:mi><mml:mn> 0 </mml:mn></mml:msub><mml:mo> , </mml:mo><mml:msub><mml:mi> β </mml:mi><mml:mn> 1 </mml:mn></mml:msub><mml:mo> , </mml:mo><mml:mo> ⋯ </mml:mo><mml:mo> , </mml:mo><mml:msub><mml:mi> β </mml:mi><mml:mi> p </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are model parameters, and <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> ε </mml:mi><mml:mi> t </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the random error term.</p>
        <p>This formulation assumes that the relation between the predictors and the response is linear. Therefore, it may become less effective when the financial series contains nonlinear dynamics, abrupt structural changes, volatility clustering, or hidden temporal interactions. Autoregressive models extend linear modeling by using previous values of the series as predictors. An autoregressive model of order <inline-formula><mml:math><mml:mi> p </mml:mi></mml:math></inline-formula> , denoted by <inline-formula><mml:math><mml:mrow><mml:mtext> AR </mml:mtext><mml:mrow><mml:mo> ( </mml:mo><mml:mi> p </mml:mi><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> , is written as</p>
        <disp-formula id="FD2">
          <label>(2)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mi>y</mml:mi>
                <mml:mi>t</mml:mi>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:mi>c</mml:mi>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mi>ϕ</mml:mi>
                <mml:mn>1</mml:mn>
              </mml:msub>
              <mml:msub>
                <mml:mi>y</mml:mi>
                <mml:mrow>
                  <mml:mi>t</mml:mi>
                  <mml:mo>−</mml:mo>
                  <mml:mn>1</mml:mn>
                </mml:mrow>
              </mml:msub>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mi>ϕ</mml:mi>
                <mml:mn>2</mml:mn>
              </mml:msub>
              <mml:msub>
                <mml:mi>y</mml:mi>
                <mml:mrow>
                  <mml:mi>t</mml:mi>
                  <mml:mo>−</mml:mo>
                  <mml:mn>2</mml:mn>
                </mml:mrow>
              </mml:msub>
              <mml:mo>+</mml:mo>
              <mml:mo>⋯</mml:mo>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mi>ϕ</mml:mi>
                <mml:mi>p</mml:mi>
              </mml:msub>
              <mml:msub>
                <mml:mi>y</mml:mi>
                <mml:mrow>
                  <mml:mi>t</mml:mi>
                  <mml:mo>−</mml:mo>
                  <mml:mi>p</mml:mi>
                </mml:mrow>
              </mml:msub>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mi>ε</mml:mi>
                <mml:mi>t</mml:mi>
              </mml:msub>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>where <inline-formula><mml:math><mml:mi> c </mml:mi></mml:math></inline-formula> is a constant term, <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> ϕ </mml:mi><mml:mn> 1 </mml:mn></mml:msub><mml:mo> , </mml:mo><mml:msub><mml:mi> ϕ </mml:mi><mml:mn> 2 </mml:mn></mml:msub><mml:mo> , </mml:mo><mml:mo> ⋯ </mml:mo><mml:mo> , </mml:mo><mml:msub><mml:mi> ϕ </mml:mi><mml:mi> p </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are autoregressive coefficients, and <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> ε </mml:mi><mml:mi> t </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is a white-noise error term.</p>
        <p>The model assumes the present value of the series is linearly related to the previous values. This assumption is feasible for stable and weakly nonlinear series. However, this assumption is restrictive for stock price series where local perturbations or nonlinear response from the market may affect the future directions. <inline-formula><mml:math><mml:mrow><mml:mtext> ARIMA </mml:mtext><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:mi> p </mml:mi><mml:mo> , </mml:mo><mml:mi> d </mml:mi><mml:mo> , </mml:mo><mml:mi> q </mml:mi></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> , which stands for Autoregressive Integrated Moving Average model, is one of the most popular classical models for non-stationary time series. It integrates autoregressive, differencing, and moving-average error correction. The general form is</p>
        <disp-formula id="FD3">
          <label>(3)</label>
          <mml:math>
            <mml:mrow>
              <mml:mi>ϕ</mml:mi>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mi>B</mml:mi>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:msup>
                <mml:mrow>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:mn>1</mml:mn>
                      <mml:mo>−</mml:mo>
                      <mml:mi>B</mml:mi>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                </mml:mrow>
                <mml:mi>d</mml:mi>
              </mml:msup>
              <mml:msub>
                <mml:mi>y</mml:mi>
                <mml:mi>t</mml:mi>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:mi>θ</mml:mi>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mi>B</mml:mi>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:msub>
                <mml:mi>ε</mml:mi>
                <mml:mi>t</mml:mi>
              </mml:msub>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>where <inline-formula><mml:math><mml:mi> B </mml:mi></mml:math></inline-formula> is the backshift operator such that <inline-formula><mml:math><mml:mrow><mml:mi> B </mml:mi><mml:msub><mml:mi> y </mml:mi><mml:mi> t </mml:mi></mml:msub><mml:mo> = </mml:mo><mml:msub><mml:mi> y </mml:mi><mml:mrow><mml:mi> t </mml:mi><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mi> d </mml:mi></mml:math></inline-formula> is the order of differencing, <inline-formula><mml:math><mml:mrow><mml:mi> ϕ </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mi> B </mml:mi><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> is the autoregressive polynomial, and <inline-formula><mml:math><mml:mrow><mml:mi> θ </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mi> B </mml:mi><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> is the moving-average polynomial. These polynomials are defined by</p>
        <disp-formula id="FD4">
          <mml:math>
            <mml:mrow>
              <mml:mi>ϕ</mml:mi>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mi>B</mml:mi>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>=</mml:mo>
              <mml:mn>1</mml:mn>
              <mml:mo>−</mml:mo>
              <mml:msub>
                <mml:mi>ϕ</mml:mi>
                <mml:mn>1</mml:mn>
              </mml:msub>
              <mml:mi>B</mml:mi>
              <mml:mo>−</mml:mo>
              <mml:msub>
                <mml:mi>ϕ</mml:mi>
                <mml:mn>2</mml:mn>
              </mml:msub>
              <mml:msup>
                <mml:mi>B</mml:mi>
                <mml:mn>2</mml:mn>
              </mml:msup>
              <mml:mo>−</mml:mo>
              <mml:mo>⋯</mml:mo>
              <mml:mo>−</mml:mo>
              <mml:msub>
                <mml:mi>ϕ</mml:mi>
                <mml:mi>p</mml:mi>
              </mml:msub>
              <mml:msup>
                <mml:mi>B</mml:mi>
                <mml:mi>p</mml:mi>
              </mml:msup>
              <mml:mo>,</mml:mo>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>and</p>
        <disp-formula id="FD5">
          <mml:math>
            <mml:mrow>
              <mml:mi>θ</mml:mi>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mi>B</mml:mi>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>=</mml:mo>
              <mml:mn>1</mml:mn>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mi>θ</mml:mi>
                <mml:mn>1</mml:mn>
              </mml:msub>
              <mml:mi>B</mml:mi>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mi>θ</mml:mi>
                <mml:mn>2</mml:mn>
              </mml:msub>
              <mml:msup>
                <mml:mi>B</mml:mi>
                <mml:mn>2</mml:mn>
              </mml:msup>
              <mml:mo>+</mml:mo>
              <mml:mo>⋯</mml:mo>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mi>θ</mml:mi>
                <mml:mi>q</mml:mi>
              </mml:msub>
              <mml:msup>
                <mml:mi>B</mml:mi>
                <mml:mi>q</mml:mi>
              </mml:msup>
              <mml:mo>.</mml:mo>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>While ARIMA models are very useful for most linear forecasting problems, they are also constrained when the series has complex nonlinear relations. Moreover, they need proper stationarity treatment and fine-grained ordering. Price movements within financial markets are influenced by nonlinear investor behavior, abrupt information disruptions, and volatility in market regimes. Therefore, the classical models might make poor predictions if the underlying structure cannot be captured by linear dependence alone. This constraint allowed to hybridize predictive models that combine the statistical preprocessing with neural learning, in the form of ARIMA-neural framework, hybridization architectures [<xref ref-type="bibr" rid="B1">1</xref>] and current model validation and data-driven prediction theories [<xref ref-type="bibr" rid="B2">2</xref>].</p>
      </sec>
      <sec id="sec2dot2">
        <title>2.2. Deep Learning Models for Financial Time Series Forecasting</title>
        <p>Deep learning algorithms have become widely adopted for financial forecasting because they can learn nonlinear temporal interactions dynamically and directly from data. While classical forms are rooted in an ordered framework between inputs and outputs, neural networks rely upon nonlinearity from the inputs to their outputs. A neural network estimates an indeterminate nonlinear <inline-formula><mml:math><mml:mrow><mml:mi> f </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mo> ⋅ </mml:mo><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> , meaning</p>
        <disp-formula id="FD6">
          <label>(4)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mover accent="true">
                  <mml:mi>y</mml:mi>
                  <mml:mo>^</mml:mo>
                </mml:mover>
                <mml:mi>t</mml:mi>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:mi>f</mml:mi>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mrow>
                  <mml:msub>
                    <mml:mstyle mathvariant="bold" mathsize="normal">
                      <mml:mi>x</mml:mi>
                    </mml:mstyle>
                    <mml:mi>t</mml:mi>
                  </mml:msub>
                  <mml:mo>;</mml:mo>
                  <mml:mi>θ</mml:mi>
                </mml:mrow>
                <mml:mo>)</mml:mo>
              </mml:mrow>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>where <inline-formula><mml:math><mml:mrow><mml:msub><mml:mstyle mathvariant="bold" mathsize="normal"><mml:mi> x </mml:mi></mml:mstyle><mml:mi> t </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the input vector, <inline-formula><mml:math display="inline"><mml:mi> θ </mml:mi></mml:math></inline-formula> the trained parameters, and <inline-formula><mml:math><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi> y </mml:mi><mml:mo> ^ </mml:mo></mml:mover><mml:mi> t </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> represents the predicted value. For forecasting time series the input vector is typically built from lagged observations:</p>
        <p>For time series forecasting, the input vector is usually constructed from lagged observations:</p>
        <disp-formula id="FD7">
          <label>(5)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mstyle mathvariant="bold" mathsize="normal">
                  <mml:mi>x</mml:mi>
                </mml:mstyle>
                <mml:mi>t</mml:mi>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:msup>
                <mml:mrow>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>y</mml:mi>
                        <mml:mrow>
                          <mml:mi>t</mml:mi>
                          <mml:mo>−</mml:mo>
                          <mml:mn>1</mml:mn>
                        </mml:mrow>
                      </mml:msub>
                      <mml:mo>,</mml:mo>
                      <mml:msub>
                        <mml:mi>y</mml:mi>
                        <mml:mrow>
                          <mml:mi>t</mml:mi>
                          <mml:mo>−</mml:mo>
                          <mml:mn>2</mml:mn>
                        </mml:mrow>
                      </mml:msub>
                      <mml:mo>,</mml:mo>
                      <mml:mo>⋯</mml:mo>
                      <mml:mo>,</mml:mo>
                      <mml:msub>
                        <mml:mi>y</mml:mi>
                        <mml:mrow>
                          <mml:mi>t</mml:mi>
                          <mml:mo>−</mml:mo>
                          <mml:mi>p</mml:mi>
                        </mml:mrow>
                      </mml:msub>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                </mml:mrow>
                <mml:mtext>T</mml:mtext>
              </mml:msup>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>Recurrent Neural Networks (RNNs) was a general algorithm for modelling sequential data, which was able to update a hidden state through time. A standard RNN can be written as:</p>
        <disp-formula id="FD8">
          <label>(6)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mstyle mathvariant="bold" mathsize="normal">
                  <mml:mi>h</mml:mi>
                </mml:mstyle>
                <mml:mi>t</mml:mi>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:mi>g</mml:mi>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mrow>
                  <mml:msub>
                    <mml:mi>W</mml:mi>
                    <mml:mi>x</mml:mi>
                  </mml:msub>
                  <mml:msub>
                    <mml:mstyle mathvariant="bold" mathsize="normal">
                      <mml:mi>x</mml:mi>
                    </mml:mstyle>
                    <mml:mi>t</mml:mi>
                  </mml:msub>
                  <mml:mo>+</mml:mo>
                  <mml:msub>
                    <mml:mi>W</mml:mi>
                    <mml:mi>h</mml:mi>
                  </mml:msub>
                  <mml:msub>
                    <mml:mstyle mathvariant="bold" mathsize="normal">
                      <mml:mi>h</mml:mi>
                    </mml:mstyle>
                    <mml:mrow>
                      <mml:mi>t</mml:mi>
                      <mml:mo>−</mml:mo>
                      <mml:mn>1</mml:mn>
                    </mml:mrow>
                  </mml:msub>
                  <mml:mo>+</mml:mo>
                  <mml:msub>
                    <mml:mstyle mathvariant="bold" mathsize="normal">
                      <mml:mi>b</mml:mi>
                    </mml:mstyle>
                    <mml:mi>h</mml:mi>
                  </mml:msub>
                </mml:mrow>
                <mml:mo>)</mml:mo>
              </mml:mrow>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>and</p>
        <disp-formula id="FD9">
          <label>(7)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mover accent="true">
                  <mml:mi>y</mml:mi>
                  <mml:mo>^</mml:mo>
                </mml:mover>
                <mml:mi>t</mml:mi>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:msub>
                <mml:mi>W</mml:mi>
                <mml:mi>y</mml:mi>
              </mml:msub>
              <mml:msub>
                <mml:mstyle mathvariant="bold" mathsize="normal">
                  <mml:mi>h</mml:mi>
                </mml:mstyle>
                <mml:mi>t</mml:mi>
              </mml:msub>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mi>b</mml:mi>
                <mml:mi>y</mml:mi>
              </mml:msub>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>where <inline-formula><mml:math><mml:mrow><mml:msub><mml:mstyle mathvariant="bold" mathsize="normal"><mml:mi> h </mml:mi></mml:mstyle><mml:mi> t </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the hidden state at the time <inline-formula><mml:math><mml:mi> t </mml:mi></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> W </mml:mi><mml:mi> x </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the input weight matrix, <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> W </mml:mi><mml:mi> h </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the recurrent weight matrix, <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> W </mml:mi><mml:mi> y </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the output weight matrix, <inline-formula><mml:math><mml:mrow><mml:msub><mml:mstyle mathvariant="bold" mathsize="normal"><mml:mi> b </mml:mi></mml:mstyle><mml:mi> h </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the hidden bias vector, <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> b </mml:mi><mml:mi> y </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is output bias, and <inline-formula><mml:math><mml:mrow><mml:mi> g </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mo> ⋅ </mml:mo><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> is a nonlinear activation function.</p>
        <p>But, standard RNNs tend to encounter the vanishing gradient issue during training and this is even more prevalent when the model needs to learn long-distance dependence. This problem negatively affects the ability of the network to be able to recall useful information from previous observations. To solve this issue, long short-term memory (LSTM) networks were proposed by employing memory cells and gates. An LSTM module takes care of information transfer through three gates: the forget gate, the input gate, and the output gate. For an input vector <inline-formula><mml:math><mml:mrow><mml:msub><mml:mstyle mathvariant="bold" mathsize="normal"><mml:mi> x </mml:mi></mml:mstyle><mml:mi> t </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> , previous hidden state <inline-formula><mml:math><mml:mrow><mml:msub><mml:mstyle mathvariant="bold" mathsize="normal"><mml:mi> h </mml:mi></mml:mstyle><mml:mrow><mml:mi> t </mml:mi><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> , previous cell state <inline-formula><mml:math><mml:mrow><mml:msub><mml:mstyle mathvariant="bold" mathsize="normal"><mml:mi> c </mml:mi></mml:mstyle><mml:mrow><mml:mi> t </mml:mi><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> : the LSTM equations are formulated by [<xref ref-type="bibr" rid="B8">8</xref>][<xref ref-type="bibr" rid="B9">9</xref>]:</p>
        <disp-formula id="FD10">
          <label>(8)</label>
          <mml:math>
            <mml:mtable columnalign="left">
              <mml:mtr>
                <mml:mtd>
                  <mml:msub>
                    <mml:mstyle mathsize="normal" mathvariant="bold">
                      <mml:mi>f</mml:mi>
                    </mml:mstyle>
                    <mml:mi>t</mml:mi>
                  </mml:msub>
                  <mml:mo>=</mml:mo>
                  <mml:mi>σ</mml:mi>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>W</mml:mi>
                        <mml:mi>f</mml:mi>
                      </mml:msub>
                      <mml:msub>
                        <mml:mstyle mathsize="normal" mathvariant="bold">
                          <mml:mi>x</mml:mi>
                        </mml:mstyle>
                        <mml:mi>t</mml:mi>
                      </mml:msub>
                      <mml:mo>+</mml:mo>
                      <mml:msub>
                        <mml:mi>U</mml:mi>
                        <mml:mi>f</mml:mi>
                      </mml:msub>
                      <mml:msub>
                        <mml:mstyle mathsize="normal" mathvariant="bold">
                          <mml:mi>h</mml:mi>
                        </mml:mstyle>
                        <mml:mrow>
                          <mml:mi>t</mml:mi>
                          <mml:mo>−</mml:mo>
                          <mml:mn>1</mml:mn>
                        </mml:mrow>
                      </mml:msub>
                      <mml:mo>+</mml:mo>
                      <mml:msub>
                        <mml:mstyle mathsize="normal" mathvariant="bold">
                          <mml:mi>b</mml:mi>
                        </mml:mstyle>
                        <mml:mi>f</mml:mi>
                      </mml:msub>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                  <mml:mo>,</mml:mo>
                </mml:mtd>
              </mml:mtr>
              <mml:mtr>
                <mml:mtd>
                  <mml:msub>
                    <mml:mstyle mathsize="normal" mathvariant="bold">
                      <mml:mi>i</mml:mi>
                    </mml:mstyle>
                    <mml:mi>t</mml:mi>
                  </mml:msub>
                  <mml:mo>=</mml:mo>
                  <mml:mi>σ</mml:mi>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>W</mml:mi>
                        <mml:mi>i</mml:mi>
                      </mml:msub>
                      <mml:msub>
                        <mml:mstyle mathsize="normal" mathvariant="bold">
                          <mml:mi>x</mml:mi>
                        </mml:mstyle>
                        <mml:mi>t</mml:mi>
                      </mml:msub>
                      <mml:mo>+</mml:mo>
                      <mml:msub>
                        <mml:mi>U</mml:mi>
                        <mml:mi>i</mml:mi>
                      </mml:msub>
                      <mml:msub>
                        <mml:mstyle mathsize="normal" mathvariant="bold">
                          <mml:mi>h</mml:mi>
                        </mml:mstyle>
                        <mml:mrow>
                          <mml:mi>t</mml:mi>
                          <mml:mo>−</mml:mo>
                          <mml:mn>1</mml:mn>
                        </mml:mrow>
                      </mml:msub>
                      <mml:mo>+</mml:mo>
                      <mml:msub>
                        <mml:mstyle mathsize="normal" mathvariant="bold">
                          <mml:mi>b</mml:mi>
                        </mml:mstyle>
                        <mml:mi>i</mml:mi>
                      </mml:msub>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                  <mml:mo>,</mml:mo>
                </mml:mtd>
              </mml:mtr>
              <mml:mtr>
                <mml:mtd>
                  <mml:msub>
                    <mml:mstyle mathsize="normal" mathvariant="bold">
                      <mml:mover accent="true">
                        <mml:mi>c</mml:mi>
                        <mml:mo>˜</mml:mo>
                      </mml:mover>
                    </mml:mstyle>
                    <mml:mi>t</mml:mi>
                  </mml:msub>
                  <mml:mo>=</mml:mo>
                  <mml:mtext>tanh</mml:mtext>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>W</mml:mi>
                        <mml:mi>c</mml:mi>
                      </mml:msub>
                      <mml:msub>
                        <mml:mstyle mathsize="normal" mathvariant="bold">
                          <mml:mi>x</mml:mi>
                        </mml:mstyle>
                        <mml:mi>t</mml:mi>
                      </mml:msub>
                      <mml:mo>+</mml:mo>
                      <mml:msub>
                        <mml:mi>U</mml:mi>
                        <mml:mi>c</mml:mi>
                      </mml:msub>
                      <mml:msub>
                        <mml:mstyle mathsize="normal" mathvariant="bold">
                          <mml:mi>h</mml:mi>
                        </mml:mstyle>
                        <mml:mrow>
                          <mml:mi>t</mml:mi>
                          <mml:mo>−</mml:mo>
                          <mml:mn>1</mml:mn>
                        </mml:mrow>
                      </mml:msub>
                      <mml:mo>+</mml:mo>
                      <mml:msub>
                        <mml:mstyle mathsize="normal" mathvariant="bold">
                          <mml:mi>b</mml:mi>
                        </mml:mstyle>
                        <mml:mi>c</mml:mi>
                      </mml:msub>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                  <mml:mo>,</mml:mo>
                </mml:mtd>
              </mml:mtr>
              <mml:mtr>
                <mml:mtd>
                  <mml:msub>
                    <mml:mstyle mathsize="normal" mathvariant="bold">
                      <mml:mi>c</mml:mi>
                    </mml:mstyle>
                    <mml:mi>t</mml:mi>
                  </mml:msub>
                  <mml:mo>=</mml:mo>
                  <mml:msub>
                    <mml:mstyle mathsize="normal" mathvariant="bold">
                      <mml:mi>f</mml:mi>
                    </mml:mstyle>
                    <mml:mi>t</mml:mi>
                  </mml:msub>
                  <mml:mo>⊙</mml:mo>
                  <mml:msub>
                    <mml:mstyle mathsize="normal" mathvariant="bold">
                      <mml:mi>c</mml:mi>
                    </mml:mstyle>
                    <mml:mrow>
                      <mml:mi>t</mml:mi>
                      <mml:mo>−</mml:mo>
                      <mml:mn>1</mml:mn>
                    </mml:mrow>
                  </mml:msub>
                  <mml:mo>+</mml:mo>
                  <mml:msub>
                    <mml:mstyle mathsize="normal" mathvariant="bold">
                      <mml:mi>i</mml:mi>
                    </mml:mstyle>
                    <mml:mi>t</mml:mi>
                  </mml:msub>
                  <mml:mo>⊙</mml:mo>
                  <mml:msub>
                    <mml:mstyle mathsize="normal" mathvariant="bold">
                      <mml:mover accent="true">
                        <mml:mi>c</mml:mi>
                        <mml:mo>˜</mml:mo>
                      </mml:mover>
                    </mml:mstyle>
                    <mml:mi>t</mml:mi>
                  </mml:msub>
                  <mml:mo>,</mml:mo>
                </mml:mtd>
              </mml:mtr>
              <mml:mtr>
                <mml:mtd>
                  <mml:msub>
                    <mml:mstyle mathsize="normal" mathvariant="bold">
                      <mml:mi>o</mml:mi>
                    </mml:mstyle>
                    <mml:mi>t</mml:mi>
                  </mml:msub>
                  <mml:mo>=</mml:mo>
                  <mml:mi>σ</mml:mi>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>W</mml:mi>
                        <mml:mi>o</mml:mi>
                      </mml:msub>
                      <mml:msub>
                        <mml:mstyle mathsize="normal" mathvariant="bold">
                          <mml:mi>x</mml:mi>
                        </mml:mstyle>
                        <mml:mi>t</mml:mi>
                      </mml:msub>
                      <mml:mo>+</mml:mo>
                      <mml:msub>
                        <mml:mi>U</mml:mi>
                        <mml:mi>o</mml:mi>
                      </mml:msub>
                      <mml:msub>
                        <mml:mstyle mathsize="normal" mathvariant="bold">
                          <mml:mi>h</mml:mi>
                        </mml:mstyle>
                        <mml:mrow>
                          <mml:mi>t</mml:mi>
                          <mml:mo>−</mml:mo>
                          <mml:mn>1</mml:mn>
                        </mml:mrow>
                      </mml:msub>
                      <mml:mo>+</mml:mo>
                      <mml:msub>
                        <mml:mstyle mathsize="normal" mathvariant="bold">
                          <mml:mi>b</mml:mi>
                        </mml:mstyle>
                        <mml:mi>o</mml:mi>
                      </mml:msub>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                  <mml:mo>,</mml:mo>
                </mml:mtd>
              </mml:mtr>
            </mml:mtable>
          </mml:math>
        </disp-formula>
        <p>and</p>
        <disp-formula id="FD11">
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mstyle mathvariant="bold" mathsize="normal">
                  <mml:mi>h</mml:mi>
                </mml:mstyle>
                <mml:mi>t</mml:mi>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:msub>
                <mml:mstyle mathvariant="bold" mathsize="normal">
                  <mml:mi>o</mml:mi>
                </mml:mstyle>
                <mml:mi>t</mml:mi>
              </mml:msub>
              <mml:mo>⊙</mml:mo>
              <mml:mtext>tanh</mml:mtext>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mrow>
                  <mml:msub>
                    <mml:mstyle mathvariant="bold" mathsize="normal">
                      <mml:mi>c</mml:mi>
                    </mml:mstyle>
                    <mml:mi>t</mml:mi>
                  </mml:msub>
                </mml:mrow>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>.</mml:mo>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>Here, the forget gate, input gate, output gate, candidate cell state, and updated cell state control information flow through the LSTM. The logistic sigmoid and hyperbolic tangent functions provide the nonlinear gate transformations, and element-wise multiplication combines gate and state information. The final prediction follows the standard LSTM output mapping described in [<xref ref-type="bibr" rid="B8">8</xref>][<xref ref-type="bibr" rid="B9">9</xref>]:</p>
        <disp-formula id="FD12">
          <label>(9)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mover accent="true">
                  <mml:mi>y</mml:mi>
                  <mml:mo>^</mml:mo>
                </mml:mover>
                <mml:mi>t</mml:mi>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:msub>
                <mml:mi>W</mml:mi>
                <mml:mi>y</mml:mi>
              </mml:msub>
              <mml:msub>
                <mml:mstyle mathvariant="bold" mathsize="normal">
                  <mml:mi>h</mml:mi>
                </mml:mstyle>
                <mml:mi>t</mml:mi>
              </mml:msub>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mi>b</mml:mi>
                <mml:mi>y</mml:mi>
              </mml:msub>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>These gates provide an index for LSTM network to control which data and memory or how it is passed to the output. This type of structure makes LSTM appropriate for financial prediction as stock prices movements can be influenced not only by short-run changes over the short-run, but also long-run patterns that are long-run. Hence, LSTM is much better suited to model temporal dependence than RNN and classical linear forecasting methods based on the RNN and classical linear forecasting approaches.</p>
      </sec>
      <sec id="sec2dot3">
        <title>2.3. The Proposed Hybrid Wavelet-LSTM Forecasting Framework</title>
        <p>LSTM networks can model nonlinear temporal dependence; however, a direct model must learn low-frequency movement, local oscillation, and short-term shocks simultaneously. Wavelet decomposition can separate these scales before neural learning. In forecasting applications, the decomposition must respect the information set available at each origin. A decomposition calculated once on the complete series can use values from the holdout period when forming coefficients near the training boundary and can therefore create information leakage.</p>
        <p>The hybrid Wavelet-LSTM model integrates wavelet decomposition with a Long Short-Term Memory neural network. Wavelet decomposition separates the original time series into a smooth low-frequency approximation component and several high-frequency detail components. The LSTM network then learns the temporal dynamics of each component separately. After that, all predicted components are recombined to reconstruct the final forecasted series. This structure combines the ability of wavelet decomposition to extract multi-scale information with the ability of LSTM to learn nonlinear sequential dependence. In the revised empirical protocol, the wavelet operation follows the multi-resolution principles summarized in [<xref ref-type="bibr" rid="B10">10</xref>][<xref ref-type="bibr" rid="B11">11</xref>], but it is recalculated separately at every forecast origin so that future observations cannot affect boundary coefficients. Neural-network learning principles are discussed in [<xref ref-type="bibr" rid="B12">12</xref>], while related applications include nonlinear time-series and RBFNN comparisons [<xref ref-type="bibr" rid="B13">13</xref>], statistical distribution modeling [<xref ref-type="bibr" rid="B14">14</xref>], conditional-variance stability forecasting [<xref ref-type="bibr" rid="B15">15</xref>], and seasonal autoregressive versus feed-forward neural-network forecasting [<xref ref-type="bibr" rid="B16">16</xref>].</p>
        <p>Let <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> y </mml:mi><mml:mi> t </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> denote the original time series at time <inline-formula><mml:math><mml:mi> t </mml:mi></mml:math></inline-formula> . Under a wavelet decomposition of level <inline-formula><mml:math><mml:mi> k </mml:mi></mml:math></inline-formula> , the series can be represented as</p>
        <disp-formula id="FD13">
          <label>(10)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mi>y</mml:mi>
                <mml:mi>t</mml:mi>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:msub>
                <mml:mi>A</mml:mi>
                <mml:mi>t</mml:mi>
              </mml:msub>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mi>D</mml:mi>
                <mml:mrow>
                  <mml:mn>1</mml:mn>
                  <mml:mo>,</mml:mo>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mi>D</mml:mi>
                <mml:mrow>
                  <mml:mn>2</mml:mn>
                  <mml:mo>,</mml:mo>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
              <mml:mo>+</mml:mo>
              <mml:mo>⋯</mml:mo>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mi>D</mml:mi>
                <mml:mrow>
                  <mml:mi>k</mml:mi>
                  <mml:mo>,</mml:mo>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>where <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> A </mml:mi><mml:mi> t </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the approximation component at time <inline-formula><mml:math><mml:mi> t </mml:mi></mml:math></inline-formula> , and <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> D </mml:mi><mml:mrow><mml:mi> j </mml:mi><mml:mo> , </mml:mo><mml:mi> t </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is the <inline-formula><mml:math><mml:mi> j </mml:mi></mml:math></inline-formula> -th detail component at time <inline-formula><mml:math><mml:mi> t </mml:mi></mml:math></inline-formula> , for <inline-formula><mml:math><mml:mrow><mml:mi> j </mml:mi><mml:mo> = </mml:mo><mml:mn> 1 </mml:mn><mml:mo> , </mml:mo><mml:mn> 2 </mml:mn><mml:mo> , </mml:mo><mml:mo> ⋯ </mml:mo><mml:mo> , </mml:mo><mml:mi> k </mml:mi></mml:mrow></mml:math></inline-formula> .</p>
        <p>The approximation component <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> A </mml:mi><mml:mi> t </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> describes the large-scale structure of the series and captures the smooth low-frequency movement. The detail components <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> D </mml:mi><mml:mrow><mml:mn> 1 </mml:mn><mml:mo> , </mml:mo><mml:mi> t </mml:mi></mml:mrow></mml:msub><mml:mo> , </mml:mo><mml:msub><mml:mi> D </mml:mi><mml:mrow><mml:mn> 2 </mml:mn><mml:mo> , </mml:mo><mml:mi> t </mml:mi></mml:mrow></mml:msub><mml:mo> , </mml:mo><mml:mo> ⋯ </mml:mo><mml:mo> , </mml:mo><mml:msub><mml:mi> D </mml:mi><mml:mrow><mml:mi> k </mml:mi><mml:mo> , </mml:mo><mml:mi> t </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> describe fine-scale oscillations, local shocks, and short-term irregularities. Each detail component captures variations in a specific frequency band determined by the selected decomposition level and mother wavelet.</p>
        <p>In the empirical implementation, the model may use the Daubechies wavelet of order four and a third-level decomposition. In that case, the original series or transformed return series can be written as</p>
        <disp-formula id="FD14">
          <label>(11)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mi>y</mml:mi>
                <mml:mi>t</mml:mi>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:msub>
                <mml:mi>A</mml:mi>
                <mml:mrow>
                  <mml:mn>3</mml:mn>
                  <mml:mo>,</mml:mo>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mi>D</mml:mi>
                <mml:mrow>
                  <mml:mn>3</mml:mn>
                  <mml:mo>,</mml:mo>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mi>D</mml:mi>
                <mml:mrow>
                  <mml:mn>2</mml:mn>
                  <mml:mo>,</mml:mo>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mi>D</mml:mi>
                <mml:mrow>
                  <mml:mn>1</mml:mn>
                  <mml:mo>,</mml:mo>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>where <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> A </mml:mi><mml:mrow><mml:mn> 3 </mml:mn><mml:mo> , </mml:mo><mml:mi> t </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is the approximation component at level three, while <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> D </mml:mi><mml:mrow><mml:mn> 3 </mml:mn><mml:mo> , </mml:mo><mml:mi> t </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> D </mml:mi><mml:mrow><mml:mn> 2 </mml:mn><mml:mo> , </mml:mo><mml:mi> t </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> , and <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> D </mml:mi><mml:mrow><mml:mn> 1 </mml:mn><mml:mo> , </mml:mo><mml:mi> t </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> are the detail components at levels three, two, and one, respectively. The component <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> A </mml:mi><mml:mrow><mml:mn> 3 </mml:mn><mml:mo> , </mml:mo><mml:mi> t </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> captures the smooth low-frequency behavior, while <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> D </mml:mi><mml:mrow><mml:mn> 1 </mml:mn><mml:mo> , </mml:mo><mml:mi> t </mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> usually contains the highest-frequency fluctuations.</p>
        <p>For each decomposed component, lagged input-output pairs are constructed before training. Let</p>
        <disp-formula id="FD15">
          <label>(12)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mi>C</mml:mi>
                <mml:mrow>
                  <mml:mi>j</mml:mi>
                  <mml:mo>,</mml:mo>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
              <mml:mo>∈</mml:mo>
              <mml:mrow>
                <mml:mo>{</mml:mo>
                <mml:mrow>
                  <mml:msub>
                    <mml:mi>A</mml:mi>
                    <mml:mrow>
                      <mml:mn>3</mml:mn>
                      <mml:mo>,</mml:mo>
                      <mml:mi>t</mml:mi>
                    </mml:mrow>
                  </mml:msub>
                  <mml:mo>,</mml:mo>
                  <mml:msub>
                    <mml:mi>D</mml:mi>
                    <mml:mrow>
                      <mml:mn>3</mml:mn>
                      <mml:mo>,</mml:mo>
                      <mml:mi>t</mml:mi>
                    </mml:mrow>
                  </mml:msub>
                  <mml:mo>,</mml:mo>
                  <mml:msub>
                    <mml:mi>D</mml:mi>
                    <mml:mrow>
                      <mml:mn>2</mml:mn>
                      <mml:mo>,</mml:mo>
                      <mml:mi>t</mml:mi>
                    </mml:mrow>
                  </mml:msub>
                  <mml:mo>,</mml:mo>
                  <mml:msub>
                    <mml:mi>D</mml:mi>
                    <mml:mrow>
                      <mml:mn>1</mml:mn>
                      <mml:mo>,</mml:mo>
                      <mml:mi>t</mml:mi>
                    </mml:mrow>
                  </mml:msub>
                </mml:mrow>
                <mml:mo>}</mml:mo>
              </mml:mrow>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>For a lag order <inline-formula><mml:math><mml:mi> p </mml:mi></mml:math></inline-formula> , the input vector for the <inline-formula><mml:math><mml:mi> j </mml:mi></mml:math></inline-formula> -th component is</p>
        <disp-formula id="FD16">
          <label>(13)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mstyle mathvariant="bold" mathsize="normal">
                  <mml:mi>x</mml:mi>
                </mml:mstyle>
                <mml:mrow>
                  <mml:mi>j</mml:mi>
                  <mml:mo>,</mml:mo>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:msup>
                <mml:mrow>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>C</mml:mi>
                        <mml:mrow>
                          <mml:mi>j</mml:mi>
                          <mml:mo>,</mml:mo>
                          <mml:mi>t</mml:mi>
                          <mml:mo>−</mml:mo>
                          <mml:mn>1</mml:mn>
                        </mml:mrow>
                      </mml:msub>
                      <mml:mo>,</mml:mo>
                      <mml:msub>
                        <mml:mi>C</mml:mi>
                        <mml:mrow>
                          <mml:mi>j</mml:mi>
                          <mml:mo>,</mml:mo>
                          <mml:mi>t</mml:mi>
                          <mml:mo>−</mml:mo>
                          <mml:mn>2</mml:mn>
                        </mml:mrow>
                      </mml:msub>
                      <mml:mo>,</mml:mo>
                      <mml:mo>⋯</mml:mo>
                      <mml:mo>,</mml:mo>
                      <mml:msub>
                        <mml:mi>C</mml:mi>
                        <mml:mrow>
                          <mml:mi>j</mml:mi>
                          <mml:mo>,</mml:mo>
                          <mml:mi>t</mml:mi>
                          <mml:mo>−</mml:mo>
                          <mml:mi>p</mml:mi>
                        </mml:mrow>
                      </mml:msub>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                </mml:mrow>
                <mml:mtext>T</mml:mtext>
              </mml:msup>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>and the target output is</p>
        <disp-formula id="FD17">
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mi>y</mml:mi>
                <mml:mrow>
                  <mml:mi>j</mml:mi>
                  <mml:mo>,</mml:mo>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:msub>
                <mml:mi>C</mml:mi>
                <mml:mrow>
                  <mml:mi>j</mml:mi>
                  <mml:mo>,</mml:mo>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
              <mml:mo>.</mml:mo>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>An independent LSTM model is then trained for each component:</p>
        <disp-formula id="FD18">
          <label>(14)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mover accent="true">
                  <mml:mi>C</mml:mi>
                  <mml:mo>^</mml:mo>
                </mml:mover>
                <mml:mrow>
                  <mml:mi>j</mml:mi>
                  <mml:mo>,</mml:mo>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:msub>
                <mml:mi>f</mml:mi>
                <mml:mi>j</mml:mi>
              </mml:msub>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mrow>
                  <mml:msub>
                    <mml:mstyle mathvariant="bold" mathsize="normal">
                      <mml:mi>x</mml:mi>
                    </mml:mstyle>
                    <mml:mrow>
                      <mml:mi>j</mml:mi>
                      <mml:mo>,</mml:mo>
                      <mml:mi>t</mml:mi>
                    </mml:mrow>
                  </mml:msub>
                  <mml:mo>;</mml:mo>
                  <mml:msub>
                    <mml:mi>θ</mml:mi>
                    <mml:mi>j</mml:mi>
                  </mml:msub>
                </mml:mrow>
                <mml:mo>)</mml:mo>
              </mml:mrow>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>where <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> f </mml:mi><mml:mi> j </mml:mi></mml:msub><mml:mrow><mml:mo> ( </mml:mo><mml:mo> ⋅ </mml:mo><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> denotes the LSTM mapping for the <inline-formula><mml:math><mml:mi> j </mml:mi></mml:math></inline-formula> -th component and <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> θ </mml:mi><mml:mi> j </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the corresponding parameter vector. Training is performed by minimizing the mean squared error for each component:</p>
        <disp-formula id="FD19">
          <label>(15)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mi>L</mml:mi>
                <mml:mi>j</mml:mi>
              </mml:msub>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mrow>
                  <mml:msub>
                    <mml:mi>θ</mml:mi>
                    <mml:mi>j</mml:mi>
                  </mml:msub>
                </mml:mrow>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>=</mml:mo>
              <mml:mfrac>
                <mml:mn>1</mml:mn>
                <mml:mrow>
                  <mml:msub>
                    <mml:mi>N</mml:mi>
                    <mml:mi>j</mml:mi>
                  </mml:msub>
                </mml:mrow>
              </mml:mfrac>
              <mml:munderover>
                <mml:mstyle mathsize="140%" displaystyle="true">
                  <mml:mo>∑</mml:mo>
                </mml:mstyle>
                <mml:mrow>
                  <mml:mi>t</mml:mi>
                  <mml:mo>=</mml:mo>
                  <mml:mn>1</mml:mn>
                </mml:mrow>
                <mml:mrow>
                  <mml:msub>
                    <mml:mi>N</mml:mi>
                    <mml:mi>j</mml:mi>
                  </mml:msub>
                </mml:mrow>
              </mml:munderover>
              <mml:msup>
                <mml:mrow>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>C</mml:mi>
                        <mml:mrow>
                          <mml:mi>j</mml:mi>
                          <mml:mo>,</mml:mo>
                          <mml:mi>t</mml:mi>
                        </mml:mrow>
                      </mml:msub>
                      <mml:mo>−</mml:mo>
                      <mml:msub>
                        <mml:mover accent="true">
                          <mml:mi>C</mml:mi>
                          <mml:mo>^</mml:mo>
                        </mml:mover>
                        <mml:mrow>
                          <mml:mi>j</mml:mi>
                          <mml:mo>,</mml:mo>
                          <mml:mi>t</mml:mi>
                        </mml:mrow>
                      </mml:msub>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                </mml:mrow>
                <mml:mn>2</mml:mn>
              </mml:msup>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>After all components are forecasted, the final predicted series is reconstructed by summing the predicted components:</p>
        <disp-formula id="FD20">
          <label>(16)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mover accent="true">
                  <mml:mi>y</mml:mi>
                  <mml:mo>^</mml:mo>
                </mml:mover>
                <mml:mi>t</mml:mi>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:msub>
                <mml:mover accent="true">
                  <mml:mi>A</mml:mi>
                  <mml:mo>^</mml:mo>
                </mml:mover>
                <mml:mi>t</mml:mi>
              </mml:msub>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mover accent="true">
                  <mml:mi>D</mml:mi>
                  <mml:mo>^</mml:mo>
                </mml:mover>
                <mml:mrow>
                  <mml:mn>1</mml:mn>
                  <mml:mo>,</mml:mo>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mover accent="true">
                  <mml:mi>D</mml:mi>
                  <mml:mo>^</mml:mo>
                </mml:mover>
                <mml:mrow>
                  <mml:mn>2</mml:mn>
                  <mml:mo>,</mml:mo>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
              <mml:mo>+</mml:mo>
              <mml:mo>⋯</mml:mo>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mover accent="true">
                  <mml:mi>D</mml:mi>
                  <mml:mo>^</mml:mo>
                </mml:mover>
                <mml:mrow>
                  <mml:mi>k</mml:mi>
                  <mml:mo>,</mml:mo>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>For the third-level decomposition, this becomes</p>
        <disp-formula id="FD21">
          <label>(17)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mover accent="true">
                  <mml:mi>y</mml:mi>
                  <mml:mo>^</mml:mo>
                </mml:mover>
                <mml:mi>t</mml:mi>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:msub>
                <mml:mover accent="true">
                  <mml:mi>A</mml:mi>
                  <mml:mo>^</mml:mo>
                </mml:mover>
                <mml:mrow>
                  <mml:mn>3</mml:mn>
                  <mml:mo>,</mml:mo>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mover accent="true">
                  <mml:mi>D</mml:mi>
                  <mml:mo>^</mml:mo>
                </mml:mover>
                <mml:mrow>
                  <mml:mn>3</mml:mn>
                  <mml:mo>,</mml:mo>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mover accent="true">
                  <mml:mi>D</mml:mi>
                  <mml:mo>^</mml:mo>
                </mml:mover>
                <mml:mrow>
                  <mml:mn>2</mml:mn>
                  <mml:mo>,</mml:mo>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mover accent="true">
                  <mml:mi>D</mml:mi>
                  <mml:mo>^</mml:mo>
                </mml:mover>
                <mml:mrow>
                  <mml:mn>1</mml:mn>
                  <mml:mo>,</mml:mo>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>If the model is applied to logarithmic returns, the predicted price can be recovered from the predicted return by</p>
        <disp-formula id="FD22">
          <label>(18)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mover accent="true">
                  <mml:mi>P</mml:mi>
                  <mml:mo>^</mml:mo>
                </mml:mover>
                <mml:mi>t</mml:mi>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:msub>
                <mml:mi>P</mml:mi>
                <mml:mrow>
                  <mml:mi>t</mml:mi>
                  <mml:mo>−</mml:mo>
                  <mml:mn>1</mml:mn>
                </mml:mrow>
              </mml:msub>
              <mml:mi>exp</mml:mi>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mrow>
                  <mml:msub>
                    <mml:mover accent="true">
                      <mml:mi>r</mml:mi>
                      <mml:mo>^</mml:mo>
                    </mml:mover>
                    <mml:mi>t</mml:mi>
                  </mml:msub>
                </mml:mrow>
                <mml:mo>)</mml:mo>
              </mml:mrow>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>where <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> P </mml:mi><mml:mrow><mml:mi> t </mml:mi><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is the observed price at time <inline-formula><mml:math><mml:mrow><mml:mi> t </mml:mi><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi> r </mml:mi><mml:mo> ^ </mml:mo></mml:mover><mml:mi> t </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the predicted logarithmic return at time <inline-formula><mml:math><mml:mi> t </mml:mi></mml:math></inline-formula> .</p>
        <p>The application procedure of the Wavelet-LSTM hybrid model can be summarized as follows.</p>
        <p>Step 1: Convert the observed price series to logarithmic returns and define the chronological information set available at each forecast origin.</p>
        <p>Step 2: Reserve the final 10 returns and their corresponding prices exclusively for final testing; do not use them for decomposition, normalization, tuning, or early model selection.</p>
        <p>Step 3: Reserve the 20 returns immediately preceding the final test as a chronological validation segment. The earlier 288 returns form the base training segment used for hyperparameter selection.</p>
        <disp-formula id="FD23">
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mi>y</mml:mi>
                <mml:mi>t</mml:mi>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:msub>
                <mml:mi>A</mml:mi>
                <mml:mi>t</mml:mi>
              </mml:msub>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mi>D</mml:mi>
                <mml:mrow>
                  <mml:mn>1</mml:mn>
                  <mml:mo>,</mml:mo>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mi>D</mml:mi>
                <mml:mrow>
                  <mml:mn>2</mml:mn>
                  <mml:mo>,</mml:mo>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
              <mml:mo>+</mml:mo>
              <mml:mo>⋯</mml:mo>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mi>D</mml:mi>
                <mml:mrow>
                  <mml:mi>k</mml:mi>
                  <mml:mo>,</mml:mo>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>At a generic origin t, let the available return history contain only observations up to t − 1. The db4 level-3 decomposition is applied to that history, yielding one approximation component and three detail components. Because the target return and all later observations are excluded, the component values at the training boundary cannot contain information from the future.</p>
        <p>The approximation component represents the low-frequency structure, while the detail components describe progressively higher-frequency fluctuations. Their sum reconstructs the available return history under the selected decomposition rule.</p>
        <p>Step 4: At every forecast origin, recompute the db4 decomposition at level 3 using only the expanding historical return window. Periodic boundary handling is used, with last-value extension when an intermediate decomposition length is odd.</p>
        <p>Step 5: Fit the min-max normalization parameters separately to each component using the current historical component values only. Apply no scaling parameter estimated from validation or future test observations.</p>
        <p>Step 6: Construct supervised sequences with lag order 12 from the normalized historical components.</p>
        <p>Step 7: Train one LSTM for each wavelet component using the hyperparameters selected from the pre-test validation segment.</p>
        <p>Step 8: Generate one-step-ahead forecasts for A3, D3, D2, and D1 at the current origin.</p>
        <p>Step 9: Reconstruct the next logarithmic-return forecast by summing the four component forecasts:</p>
        <disp-formula id="FD24">
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mover accent="true">
                  <mml:mi>A</mml:mi>
                  <mml:mo>^</mml:mo>
                </mml:mover>
                <mml:mi>t</mml:mi>
              </mml:msub>
              <mml:mo>,</mml:mo>
              <mml:msub>
                <mml:mover accent="true">
                  <mml:mi>D</mml:mi>
                  <mml:mo>^</mml:mo>
                </mml:mover>
                <mml:mrow>
                  <mml:mn>1</mml:mn>
                  <mml:mo>,</mml:mo>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
              <mml:mo>,</mml:mo>
              <mml:msub>
                <mml:mover accent="true">
                  <mml:mi>D</mml:mi>
                  <mml:mo>^</mml:mo>
                </mml:mover>
                <mml:mrow>
                  <mml:mn>2</mml:mn>
                  <mml:mo>,</mml:mo>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
              <mml:mo>,</mml:mo>
              <mml:mo>⋯</mml:mo>
              <mml:mo>,</mml:mo>
              <mml:msub>
                <mml:mover accent="true">
                  <mml:mi>D</mml:mi>
                  <mml:mo>^</mml:mo>
                </mml:mover>
                <mml:mrow>
                  <mml:mi>k</mml:mi>
                  <mml:mo>,</mml:mo>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>Step 10: Convert the predicted return to a one-step-ahead price forecast using the observed price available immediately before the target week:</p>
        <disp-formula id="FD25">
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mover accent="true">
                  <mml:mi>y</mml:mi>
                  <mml:mo>^</mml:mo>
                </mml:mover>
                <mml:mi>t</mml:mi>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:msub>
                <mml:mover accent="true">
                  <mml:mi>A</mml:mi>
                  <mml:mo>^</mml:mo>
                </mml:mover>
                <mml:mi>t</mml:mi>
              </mml:msub>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mover accent="true">
                  <mml:mi>D</mml:mi>
                  <mml:mo>^</mml:mo>
                </mml:mover>
                <mml:mrow>
                  <mml:mn>1</mml:mn>
                  <mml:mo>,</mml:mo>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mover accent="true">
                  <mml:mi>D</mml:mi>
                  <mml:mo>^</mml:mo>
                </mml:mover>
                <mml:mrow>
                  <mml:mn>2</mml:mn>
                  <mml:mo>,</mml:mo>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
              <mml:mo>+</mml:mo>
              <mml:mo>⋯</mml:mo>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mover accent="true">
                  <mml:mi>D</mml:mi>
                  <mml:mo>^</mml:mo>
                </mml:mover>
                <mml:mrow>
                  <mml:mi>k</mml:mi>
                  <mml:mo>,</mml:mo>
                  <mml:mi>t</mml:mi>
                </mml:mrow>
              </mml:msub>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>Step 11: Score the forecast. After the target week is observed, append its realized return to the information set before moving to the next origin. Therefore, the ten holdout predictions are rolling one-step-ahead forecasts, not a ten-step recursive forecast, and no unobserved holdout return is used as an input.</p>
        <p>Step 12: Select hyperparameters only from the chronological validation segment, then evaluate the frozen design on the final 10 rolling origins using return-scale MSE, RMSE, MAE, directional accuracy, and reconstructed-price MSE, RMSE, MAE, MAPE, and R<sup>2</sup>.</p>
      </sec>
    </sec>
    <sec id="sec3">
      <title>3. Materials and Data Description</title>
      <p>This empirical application uses weekly stock prices of Northern Upper Egypt Development Company (NSPO) listed on the Egyptian Exchange. The observations were obtained from Investing.com for the period 5 January 2020 to 8 March 2026. The supplied series contains 319 positive price observations. Taking first differences of log prices produces 318 logarithmic returns. The final 10 returns and their corresponding 10 prices are reserved for the final rolling-origin test. Before that test, 308 returns are available: the first 288 returns form the base training block and the next 20 returns form the chronological validation block. With lag order 12, the base training block yields 276 supervised sequences. At the first final test origin, the expanding history contains 308 returns and therefore 296 lagged training sequences; this increases to 305 sequences by the tenth origin as realized test returns become available one at a time. <bold>Table 1</bold> summarizes the dataset structure and chronological split used in the analysis.</p>
      <p><bold>Table 1.</bold> Description of the empirical dataset.</p>
      <table-wrap id="tbl1">
        <label>Table 1</label>
        <table>
          <tbody>
            <tr>
              <td>Item</td>
              <td>Description</td>
            </tr>
            <tr>
              <td>Company</td>
              <td>Northern Upper Egypt Development Company</td>
            </tr>
            <tr>
              <td>Symbol</td>
              <td>NSPO</td>
            </tr>
            <tr>
              <td>Market</td>
              <td>Egyptian Exchange</td>
            </tr>
            <tr>
              <td>Data source</td>
              <td>Investing.com</td>
            </tr>
            <tr>
              <td>Frequency</td>
              <td>Weekly</td>
            </tr>
            <tr>
              <td>Period</td>
              <td>5 January 2020 to 8 March 2026</td>
            </tr>
            <tr>
              <td>Price observations</td>
              <td>319</td>
            </tr>
            <tr>
              <td>Logarithmic returns</td>
              <td>318</td>
            </tr>
            <tr>
              <td>Base training block</td>
              <td>288 returns; 276 sequences with lag 12</td>
            </tr>
            <tr>
              <td>Chronological validation</td>
              <td>20 returns immediately before final test</td>
            </tr>
            <tr>
              <td>Final test</td>
              <td>10 returns and 10 corresponding prices</td>
            </tr>
            <tr>
              <td>Forecast design</td>
              <td>10 rolling one-step-ahead expanding-window origins</td>
            </tr>
            <tr>
              <td>Training sequences at test origins</td>
              <td>296 at origin 1, increasing to 305 at origin 10</td>
            </tr>
          </tbody>
        </table>
      </table-wrap>
    </sec>
    <sec id="sec4">
      <title>4. Application to Northern Upper Egypt Development Company (NSPO) Stock Prices</title>
      <p>The empirical analysis begins with the original weekly NSPO price series. <xref ref-type="fig" rid="fig1">Figure 1</xref> is descriptive only and displays the complete observed sample after the forecasting experiment has been defined. It shows strong level changes, abrupt peaks, and heterogeneous volatility, which motivate the use of logarithmic returns and a nonlinear forecasting framework. The full-sample descriptive plot is not used to estimate any decomposition or scaling parameter for the holdout forecasts.</p>
      <p><xref ref-type="fig" rid="fig1">Figure 1</xref> depicts the behavior of the data without any transformations, decomposition, or modeling being carried out. This figure is also significant from a methodological point of view because it represents the series in terms of whether it is stationary or not and whether it indicates clear trends, price jumps, or distinct volatility phases. There were multiple price phases in the series; it doesn’t ride a constant mean—<xref ref-type="fig" rid="fig1">Figure 1</xref>. Price movements are observed at the start of the sample, where prices range roughly between 2.2 and 2.5, until they enter a continuous upward phase that exceeds 3.0, followed by a downward movement that returns the series to lower levels. The regularization of this behavior occurs more than once and suggests that the series does not conform to a simple linear trend; instead, it is accompanied by structural variation and shifts in the ascending or descending regimes. It also indicates the striking sharp jumps in prices in the middle and later parts of the series, especially around the weeks of the series where prices are higher than 5.0. They are peaks of strong activity, or of positive price shocks, followed by generally rapid decreases. This behavior suggests that the data show heterogeneous volatility, as the amount of variation varies across different periods.</p>
      <fig id="fig1">
        <label>Figure 1</label>
        <graphic xlink:href="https://html.scirp.org/file/1724928-rId177.jpeg?20261014022649" />
      </fig>
      <p><bold>Figure 1.</bold> Time series plot of NSPO stock prices.</p>
      <p>The price series is converted to logarithmic returns before forecasting. For consecutive prices <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi> P </mml:mi><mml:mi> t </mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi> P </mml:mi><mml:mrow><mml:mi> t </mml:mi><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> , the return is <inline-formula><mml:math display="inline"><mml:mrow><mml:msub><mml:mi> r </mml:mi><mml:mi> t </mml:mi></mml:msub><mml:mo> = </mml:mo><mml:mi> log </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi> P </mml:mi><mml:mi> t </mml:mi></mml:msub></mml:mrow><mml:mo> / </mml:mo><mml:mrow><mml:msub><mml:mi> P </mml:mi><mml:mrow><mml:mi> t </mml:mi><mml:mo> − </mml:mo><mml:mn> 1 </mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> . This transformation produces 318 returns from 319 prices. <xref ref-type="fig" rid="fig2">Figure 2</xref> is again descriptive; the leakage-safe forecasting calculations use only the chronological subset available at each origin.</p>
      <fig id="fig2">
        <label>Figure 2</label>
        <graphic xlink:href="https://html.scirp.org/file/1724928-rId184.jpeg?20261014022649" />
      </fig>
      <p><bold>Figure 2.</bold> Time series plot of NSPO logarithmic returns.</p>
      <p><xref ref-type="fig" rid="fig2">Figure 2</xref>, which represents the time series of NSPO logarithmic returns, shows that the series fluctuates around zero, with positive and negative variations of different magnitudes. Sharp peaks also appear in some periods, indicating the presence of time shocks or sudden changes in returns. This feature is common in financial time series, since returns do not follow a smooth and stable pattern, but are instead affected by rapid and strong movements that appear as local jumps. Such behavior justifies the use of wavelet analysis, because it allows short-term fluctuations to be separated from the general low-frequency movement.</p>
      <p>For model development, the Discrete Wavelet Transform uses the Daubechies wavelet of order four (db4) at level 3. The crucial revision is that the transform is not calculated once on the full return series. During validation and final testing, the DWT is recalculated from the return history available at each forecast origin. <xref ref-type="fig" rid="fig3">Figure 3</xref> shows the decomposition of the 288-return base training block only; it is therefore separated from the final validation and test observations.</p>
      <disp-formula id="FD26">
        <label>(19)</label>
        <mml:math>
          <mml:mrow>
            <mml:msub>
              <mml:mi>r</mml:mi>
              <mml:mi>t</mml:mi>
            </mml:msub>
            <mml:mo>=</mml:mo>
            <mml:msub>
              <mml:mi>A</mml:mi>
              <mml:mrow>
                <mml:mn>3</mml:mn>
                <mml:mo>,</mml:mo>
                <mml:mi>t</mml:mi>
              </mml:mrow>
            </mml:msub>
            <mml:mo>+</mml:mo>
            <mml:msub>
              <mml:mi>D</mml:mi>
              <mml:mrow>
                <mml:mn>3</mml:mn>
                <mml:mo>,</mml:mo>
                <mml:mi>t</mml:mi>
              </mml:mrow>
            </mml:msub>
            <mml:mo>+</mml:mo>
            <mml:msub>
              <mml:mi>D</mml:mi>
              <mml:mrow>
                <mml:mn>2</mml:mn>
                <mml:mo>,</mml:mo>
                <mml:mi>t</mml:mi>
              </mml:mrow>
            </mml:msub>
            <mml:mo>+</mml:mo>
            <mml:msub>
              <mml:mi>D</mml:mi>
              <mml:mrow>
                <mml:mn>1</mml:mn>
                <mml:mo>,</mml:mo>
                <mml:mi>t</mml:mi>
              </mml:mrow>
            </mml:msub>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <fig id="fig3">
        <label>Figure 3</label>
        <graphic xlink:href="https://html.scirp.org/file/1724928-rId187.jpeg?20261014022649" />
      </fig>
      <fig id="fig4">
        <label>Figure 4</label>
        <graphic xlink:href="https://html.scirp.org/file/1724928-rId188.jpeg?20261014022649" />
      </fig>
      <p>(a) A3 (b) D3</p>
      <fig id="fig5">
        <label>Figure 5</label>
        <graphic xlink:href="https://html.scirp.org/file/1724928-rId189.jpeg?20261014022649" />
      </fig>
      <fig id="fig6">
        <label>Figure 6</label>
        <graphic xlink:href="https://html.scirp.org/file/1724928-rId190.jpeg?20261014022649" />
      </fig>
      <p>(c) D2 (d) D1</p>
      <p><bold>Figure 3.</bold> Training-only level-3 db4 decomposition: (a) approximation A3; (b) detail D3; (c) detail D2; and (d) detail D1.</p>
      <p>The level-3 decomposition produces A3 together with D3, D2, and D1. A3 represents the smoother low-frequency structure; D3 and D2 represent intermediate fluctuations; and D1 contains the highest-frequency local variation under the selected level. The exact same decomposition rule is reapplied to the expanding history at each final forecast origin.</p>
      <p>Leakage-safe forecasting pseudocode:for k = 1,...,10 H_k = returns available before test origin k [A3,D3,D2,D1] = db4_level3_DWT(H_k) fit component min-max scalers using H_k only fit the component LSTMs and forecast one step ahead r_hat(k) = A3_hat + D3_hat + D2_hat + D1_hat P_hat(k) = P_previous_observed × exp(r_hat(k)) after scoring, append the realized return before origin k+1end</p>
      <p>This origin-specific decomposition prevents holdout values from influencing wavelet coefficients near the training boundary. It also makes the information set explicit: each test prediction is generated only from observations that would have been known at that time.</p>
      <p><xref ref-type="fig" rid="fig3">Figure 3</xref> is based exclusively on the first 288 returns used for base training. The four panels demonstrate the distinct frequency behavior available to the componentwise model without using the validation or final test periods. This figure is a training-data diagnostic and does not constitute out-of-sample evidence.</p>
      <p>At each forecast origin, one LSTM is fitted to each available wavelet component. Lagged input-output pairs are generated only after the component series has been decomposed and normalized from the current historical window. This ensures that both target construction and scaling respect chronology.</p>
      <disp-formula id="FD27">
        <mml:math>
          <mml:mrow>
            <mml:msub>
              <mml:mstyle mathvariant="bold" mathsize="normal">
                <mml:mi>x</mml:mi>
              </mml:mstyle>
              <mml:mrow>
                <mml:mi>j</mml:mi>
                <mml:mo>,</mml:mo>
                <mml:mi>t</mml:mi>
              </mml:mrow>
            </mml:msub>
            <mml:mo>=</mml:mo>
            <mml:msup>
              <mml:mrow>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:msub>
                      <mml:mi>C</mml:mi>
                      <mml:mrow>
                        <mml:mi>j</mml:mi>
                        <mml:mo>,</mml:mo>
                        <mml:mi>t</mml:mi>
                        <mml:mo>−</mml:mo>
                        <mml:mn>1</mml:mn>
                      </mml:mrow>
                    </mml:msub>
                    <mml:mo>,</mml:mo>
                    <mml:msub>
                      <mml:mi>C</mml:mi>
                      <mml:mrow>
                        <mml:mi>j</mml:mi>
                        <mml:mo>,</mml:mo>
                        <mml:mi>t</mml:mi>
                        <mml:mo>−</mml:mo>
                        <mml:mn>2</mml:mn>
                      </mml:mrow>
                    </mml:msub>
                    <mml:mo>,</mml:mo>
                    <mml:mo>⋯</mml:mo>
                    <mml:mo>,</mml:mo>
                    <mml:msub>
                      <mml:mi>C</mml:mi>
                      <mml:mrow>
                        <mml:mi>j</mml:mi>
                        <mml:mo>,</mml:mo>
                        <mml:mi>t</mml:mi>
                        <mml:mo>−</mml:mo>
                        <mml:mn>12</mml:mn>
                      </mml:mrow>
                    </mml:msub>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
              </mml:mrow>
              <mml:mtext>T</mml:mtext>
            </mml:msup>
            <mml:mo>.</mml:mo>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>The target is the next value of the corresponding component. Each component network minimizes mean squared error over the historical lagged sequences. Component forecasts are then transformed back to their original component scales before reconstruction.</p>
      <disp-formula id="FD28">
        <mml:math>
          <mml:mrow>
            <mml:msub>
              <mml:mi>L</mml:mi>
              <mml:mi>j</mml:mi>
            </mml:msub>
            <mml:mrow>
              <mml:mo>(</mml:mo>
              <mml:mrow>
                <mml:msub>
                  <mml:mi>θ</mml:mi>
                  <mml:mi>j</mml:mi>
                </mml:msub>
              </mml:mrow>
              <mml:mo>)</mml:mo>
            </mml:mrow>
            <mml:mo>=</mml:mo>
            <mml:mfrac>
              <mml:mn>1</mml:mn>
              <mml:mrow>
                <mml:msub>
                  <mml:mi>N</mml:mi>
                  <mml:mi>j</mml:mi>
                </mml:msub>
              </mml:mrow>
            </mml:mfrac>
            <mml:munderover>
              <mml:mstyle mathsize="140%" displaystyle="true">
                <mml:mo>∑</mml:mo>
              </mml:mstyle>
              <mml:mrow>
                <mml:mi>t</mml:mi>
                <mml:mo>=</mml:mo>
                <mml:mn>1</mml:mn>
              </mml:mrow>
              <mml:mrow>
                <mml:msub>
                  <mml:mi>N</mml:mi>
                  <mml:mi>j</mml:mi>
                </mml:msub>
              </mml:mrow>
            </mml:munderover>
            <mml:msup>
              <mml:mrow>
                <mml:mrow>
                  <mml:mo>(</mml:mo>
                  <mml:mrow>
                    <mml:msub>
                      <mml:mi>C</mml:mi>
                      <mml:mrow>
                        <mml:mi>j</mml:mi>
                        <mml:mo>,</mml:mo>
                        <mml:mi>t</mml:mi>
                      </mml:mrow>
                    </mml:msub>
                    <mml:mo>−</mml:mo>
                    <mml:msub>
                      <mml:mover accent="true">
                        <mml:mi>C</mml:mi>
                        <mml:mo>^</mml:mo>
                      </mml:mover>
                      <mml:mrow>
                        <mml:mi>j</mml:mi>
                        <mml:mo>,</mml:mo>
                        <mml:mi>t</mml:mi>
                      </mml:mrow>
                    </mml:msub>
                  </mml:mrow>
                  <mml:mo>)</mml:mo>
                </mml:mrow>
              </mml:mrow>
              <mml:mn>2</mml:mn>
            </mml:msup>
            <mml:mo>.</mml:mo>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>Hyperparameters were selected on a chronological 20-return validation segment located immediately before the final 10-return test. Seven predefined candidates varied the decomposition level (2 or 3), lag order (8 or 12), hidden units (40 or 80), dropout (0.10 or 0.20), epochs (150 or 250), and initial learning rate (0.001 or 0.005). The selected configuration—level 3, lag 12, 40 hidden units, dropout 0.20, 150 epochs, and learning rate 0.005—achieved the lowest validation RMSE of 0.09945, with validation MAE 0.08636 and directional accuracy 65%. The alternative candidates produced validation RMSE values from 0.10052 to 0.10957. The final 10 test observations were not used in this selection. <bold>Table 2</bold> presents the reproducible configuration of the revised Wavelet-LSTM and the matched standard LSTM.</p>
      <p><bold>Table 2.</bold> Reproducible configuration of the revised Wavelet-LSTM and matched standard LSTM.</p>
      <table-wrap id="tbl2">
        <label>Table 2</label>
        <table>
          <tbody>
            <tr>
              <td>
                <bold>Parameter</bold>
              </td>
              <td>
                <bold>Wavelet</bold>
                <bold>-</bold>
                <bold>LSTM</bold>
              </td>
              <td>
                <bold>Standard</bold>
                <bold>LSTM</bold>
              </td>
            </tr>
            <tr>
              <td>Lag order</td>
              <td>12</td>
              <td>12</td>
            </tr>
            <tr>
              <td>Testing horizon</td>
              <td>1 week at each of 10 origins</td>
              <td>1 week at each of 10 origins</td>
            </tr>
            <tr>
              <td>Hidden units</td>
              <td>40 per component</td>
              <td>40</td>
            </tr>
            <tr>
              <td>Maximum epochs</td>
              <td>150</td>
              <td>150</td>
            </tr>
            <tr>
              <td>Dropout rate</td>
              <td>0.20</td>
              <td>0.20</td>
            </tr>
            <tr>
              <td>Initial learning rate</td>
              <td>0.005</td>
              <td>0.005</td>
            </tr>
            <tr>
              <td>Training algorithm</td>
              <td>Adam</td>
              <td>Adam</td>
            </tr>
            <tr>
              <td>Gradient threshold</td>
              <td>1</td>
              <td>1</td>
            </tr>
            <tr>
              <td>Decomposition level</td>
              <td>3</td>
              <td>Not applied</td>
            </tr>
            <tr>
              <td>Mother wavelet</td>
              <td>db4</td>
              <td>Not applied</td>
            </tr>
            <tr>
              <td>Normalization</td>
              <td>Min-max fitted at each origin from available history only</td>
              <td>Same origin-specific rule</td>
            </tr>
            <tr>
              <td>Validation</td>
              <td>20 returns before final test</td>
              <td>Same chronological validation period</td>
            </tr>
            <tr>
              <td>Random seed</td>
              <td>2026; deterministic component/origin offsets</td>
              <td>2026; deterministic origin offsets</td>
            </tr>
            <tr>
              <td>Implementation</td>
              <td>Python 3/PyTorch; leakage-safe rerun</td>
              <td>Python 3/PyTorch; leakage-safe rerun</td>
            </tr>
          </tbody>
        </table>
      </table-wrap>
      <p>Both models use the same one-dimensional sequence input, a single LSTM layer, dropout, a fully connected scalar output, and mean-squared-error regression training. The hybrid model fits this architecture separately to A3, D3, D2, and D1, whereas the standard LSTM fits one network directly to the undecomposed logarithmic-return history. Apart from the decomposition-and-componentwise structure, the lag order, hidden size, dropout, epochs, learning rate, optimizer, gradient threshold, validation period, normalization timing, and base random seed are matched.</p>
      <p>Reproducibility specification: sequence input dimension = 1; LSTM hidden units = 40; dropout = 0.20; fully connected output dimension = 1; loss = MSE; optimizer = Adam; initial learning rate = 0.005; maximum epochs = 150; gradient clipping threshold = 1; base random seed = 2026. All preprocessing parameters are re-estimated from the historical window available at the relevant origin.</p>
      <p><xref ref-type="fig" rid="fig4">Figures 4-7</xref> present in-sample diagnostics for the four LSTM component models fitted only to the 288-return base training block. They are not used to report final forecast accuracy.</p>
      <p><xref ref-type="fig" rid="fig4">Figure 4</xref> shows that the LSTM follows the smoother A3 component within the base training block. Because this is an in-sample diagnostic, the closeness of the fitted and observed curves is interpreted only as evidence that the selected network can represent the low-frequency training pattern; it is not used as evidence of generalization.</p>
      <fig id="fig7">
        <label>Figure 7</label>
        <graphic xlink:href="https://html.scirp.org/file/1724928-rId195.jpeg?20261014022649" />
      </fig>
      <p><bold>Figure 4.</bold> Training-only LSTM fit for approximation component A3.</p>
      <p><xref ref-type="fig" rid="fig5">Figure 5</xref> and <xref ref-type="fig" rid="fig6">Figure 6</xref> show the corresponding training-only fits for D3 and D2. These detail components contain faster local variation, so larger discrepancies appear around abrupt oscillations. The plots are retained to document component behavior, while model selection and final claims are based on chronological validation and out-of-sample rolling forecasts rather than training fit.</p>
      <fig id="fig8">
        <label>Figure 8</label>
        <graphic xlink:href="https://html.scirp.org/file/1724928-rId196.jpeg?20261014022649" />
      </fig>
      <p><bold>Figure 5.</bold> Training-only LSTM fit for detail component D3.</p>
      <fig id="fig9">
        <label>Figure 9</label>
        <graphic xlink:href="https://html.scirp.org/file/1724928-rId197.jpeg?20261014022649" />
      </fig>
      <p><bold>Figure 6.</bold> Training-only LSTM fit for detail component D2.</p>
      <p><xref ref-type="fig" rid="fig7">Figure 7</xref> reports the training-only D1 fit. D1 contains the highest-frequency variation among the retained components, and its local fluctuations are more difficult to reproduce. This provides a descriptive explanation for why decomposition does not automatically guarantee improved forecast accuracy once future information is excluded.</p>
      <fig id="fig10">
        <label>Figure 10</label>
        <graphic xlink:href="https://html.scirp.org/file/1724928-rId198.jpeg?20261014022649" />
      </fig>
      <p><bold>Figure 7.</bold> Training-only LSTM fit for detail component D1.</p>
      <p>At each forecast origin, the four one-step component forecasts are summed to reconstruct the predicted logarithmic return:</p>
      <disp-formula id="FD29">
        <mml:math>
          <mml:mrow>
            <mml:msub>
              <mml:mover accent="true">
                <mml:mi>r</mml:mi>
                <mml:mo>^</mml:mo>
              </mml:mover>
              <mml:mi>t</mml:mi>
            </mml:msub>
            <mml:mo>=</mml:mo>
            <mml:msub>
              <mml:mover accent="true">
                <mml:mi>A</mml:mi>
                <mml:mo>^</mml:mo>
              </mml:mover>
              <mml:mrow>
                <mml:mn>3</mml:mn>
                <mml:mo>,</mml:mo>
                <mml:mi>t</mml:mi>
              </mml:mrow>
            </mml:msub>
            <mml:mo>+</mml:mo>
            <mml:msub>
              <mml:mover accent="true">
                <mml:mi>D</mml:mi>
                <mml:mo>^</mml:mo>
              </mml:mover>
              <mml:mrow>
                <mml:mn>3</mml:mn>
                <mml:mo>,</mml:mo>
                <mml:mi>t</mml:mi>
              </mml:mrow>
            </mml:msub>
            <mml:mo>+</mml:mo>
            <mml:msub>
              <mml:mover accent="true">
                <mml:mi>D</mml:mi>
                <mml:mo>^</mml:mo>
              </mml:mover>
              <mml:mrow>
                <mml:mn>2</mml:mn>
                <mml:mo>,</mml:mo>
                <mml:mi>t</mml:mi>
              </mml:mrow>
            </mml:msub>
            <mml:mo>+</mml:mo>
            <mml:msub>
              <mml:mover accent="true">
                <mml:mi>D</mml:mi>
                <mml:mo>^</mml:mo>
              </mml:mover>
              <mml:mrow>
                <mml:mn>1</mml:mn>
                <mml:mo>,</mml:mo>
                <mml:mi>t</mml:mi>
              </mml:mrow>
            </mml:msub>
            <mml:mo>.</mml:mo>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>The reconstructed return is converted to a one-step-ahead price forecast using the previous observed price:</p>
      <disp-formula id="FD30">
        <mml:math>
          <mml:mrow>
            <mml:msub>
              <mml:mover accent="true">
                <mml:mi>P</mml:mi>
                <mml:mo>^</mml:mo>
              </mml:mover>
              <mml:mi>t</mml:mi>
            </mml:msub>
            <mml:mo>=</mml:mo>
            <mml:msub>
              <mml:mi>P</mml:mi>
              <mml:mrow>
                <mml:mi>t</mml:mi>
                <mml:mo>−</mml:mo>
                <mml:mn>1</mml:mn>
              </mml:mrow>
            </mml:msub>
            <mml:mi>exp</mml:mi>
            <mml:mrow>
              <mml:mo>(</mml:mo>
              <mml:mrow>
                <mml:msub>
                  <mml:mover accent="true">
                    <mml:mi>r</mml:mi>
                    <mml:mo>^</mml:mo>
                  </mml:mover>
                  <mml:mi>t</mml:mi>
                </mml:msub>
              </mml:mrow>
              <mml:mo>)</mml:mo>
            </mml:mrow>
            <mml:mo>.</mml:mo>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>The final evaluation does not use a ten-step recursive price path. Instead, the one-step reconstruction above is repeated at each of the ten rolling origins. Once the actual price and return for origin k are observed, they become available to construct origin <italic>k</italic> + 1. This distinction prevents the later holdout forecasts from being confused with a purely recursive multi-step experiment.</p>
      <p><italic>The</italic><italic>cumulative</italic><italic>recursive</italic><italic>reconstruction</italic><italic>shown</italic><italic>in</italic><italic>the</italic><italic>earlier</italic><italic>version</italic><italic>is</italic><italic>therefore</italic><italic>not</italic><italic>used</italic><italic>in</italic><italic>the</italic><italic>revised</italic><italic>final</italic><italic>test.</italic></p>
      <p>Before opening the final 10-observation test, the selected hyperparameters were assessed on the chronological 20-return validation segment. <xref ref-type="fig" rid="fig8">Figure 8</xref> shows the recursive validation path for the Wavelet-LSTM and matched standard LSTM, while <xref ref-type="fig" rid="fig9">Figure 9</xref> displays the Wavelet-LSTM validation scatter.</p>
      <p>The 20-return validation experiment was completed before the final holdout was evaluated. The selected Wavelet-LSTM produced validation RMSE = 0.09945, MAE = 0.08636, and directional accuracy = 65%. Under the same selected architecture, the standard LSTM produced validation RMSE = 0.10213, MAE = 0.08839, and directional accuracy = 60%. These values were used only to document model selection and were not combined with the final test metrics.</p>
      <fig id="fig11">
        <label>Figure 11</label>
        <graphic xlink:href="https://html.scirp.org/file/1724928-rId203.jpeg?20261014022648" />
      </fig>
      <p><bold>Figure 8.</bold> Chronological pre-test validation forecasts for Wavelet-LSTM and standard LSTM.</p>
      <fig id="fig12">
        <label>Figure 12</label>
        <graphic xlink:href="https://html.scirp.org/file/1724928-rId204.jpeg?20261014022648" />
      </fig>
      <p><bold>Figure 9.</bold> Validation actual versus Wavelet-LSTM predicted logarithmic returns.</p>
      <p><xref ref-type="fig" rid="fig9">Figure 9</xref> shows that validation errors remain substantial around larger positive and negative returns. This prevents the in-sample component fits from being interpreted as near-perfect forecasting evidence and provides a more realistic basis for evaluating the terminal holdout.</p>
      <p>The final 10 logarithmic returns and corresponding prices were kept untouched during hyperparameter selection. They were then evaluated at ten expanding rolling origins. At origin 1 the model uses the 308 returns available before the final test. After the first realized test return is observed, it is appended before origin 2, and this process continues through origin 10. <bold>Table 3</bold> reports the leakage-safe Wavelet-LSTM return forecasts.</p>
      <p>The leakage-safe results are materially different from the earlier full-series implementation. The Wavelet-LSTM correctly predicts the sign of 5 of the 10 returns, giving directional accuracy of 50%. The largest error occurs at the first test origin, where the actual return is 0.469009 but the model forecasts −0.057161. The remaining origins contain smaller changes, and the forecast magnitudes are correspondingly closer, but the model still does not reproduce every sign or shock.</p>
      <p><bold>Table 3.</bold> Actual and leakage-safe Wavelet-LSTM logarithmic-return forecasts for the final 10 rolling origins.</p>
      <table-wrap id="tbl3">
        <label>Table 3</label>
        <table>
          <tbody>
            <tr>
              <td>
                <bold>Rolling</bold>
                <bold>origin</bold>
              </td>
              <td>
                <bold>Actual</bold>
                <bold>log-return</bold>
              </td>
              <td>
                <bold>Wavelet</bold>
                <bold>-</bold>
                <bold>LSTM</bold>
                <bold>forecast</bold>
              </td>
            </tr>
            <tr>
              <td>1</td>
              <td>0.469009</td>
              <td>−0.057161</td>
            </tr>
            <tr>
              <td>2</td>
              <td>0.063839</td>
              <td>0.053408</td>
            </tr>
            <tr>
              <td>3</td>
              <td>0.052285</td>
              <td>0.075714</td>
            </tr>
            <tr>
              <td>4</td>
              <td>−0.029216</td>
              <td>0.062047</td>
            </tr>
            <tr>
              <td>5</td>
              <td>0.065108</td>
              <td>0.064071</td>
            </tr>
            <tr>
              <td>6</td>
              <td>−0.043675</td>
              <td>0.048943</td>
            </tr>
            <tr>
              <td>7</td>
              <td>0.009995</td>
              <td>−0.024215</td>
            </tr>
            <tr>
              <td>8</td>
              <td>−0.031428</td>
              <td>−0.023117</td>
            </tr>
            <tr>
              <td>9</td>
              <td>0.069373</td>
              <td>0.004308</td>
            </tr>
            <tr>
              <td>10</td>
              <td>−0.068233</td>
              <td>0.025236</td>
            </tr>
          </tbody>
        </table>
      </table-wrap>
      <p><xref ref-type="fig" rid="fig10">Figure 10</xref> and <xref ref-type="fig" rid="fig11">Figure 11</xref> summarize the final return-scale evaluation. <xref ref-type="fig" rid="fig10">Figure 10</xref> compares actual returns with both leakage-safe models at all ten rolling origins. <xref ref-type="fig" rid="fig11">Figure 11</xref> focuses on the Wavelet-LSTM actual-versus-predicted relationship.</p>
      <p><xref ref-type="fig" rid="fig10">Figure 10</xref> makes the first-origin shock explicit. Neither model anticipates the jump from the last pre-test price to the first test price, and this single event has a strong effect on aggregate error. Across all ten origins, the Wavelet-LSTM return RMSE is 0.17568 and MAE is 0.09460, while the standard LSTM return RMSE is 0.16459 and MAE is 0.09197.</p>
      <p><xref ref-type="fig" rid="fig11">Figure 11</xref> confirms that the Wavelet-LSTM predictions are concentrated closer to zero than the most extreme realized returns. This behavior explains the limited directional accuracy and the negative return-scale R<sup>2</sup> value. The final assessment therefore relies on the complete set of reported errors rather than on visual training fit.</p>
      <fig id="fig13">
        <label>Figure 13</label>
        <graphic xlink:href="https://html.scirp.org/file/1724928-rId205.jpeg?20261014022649" />
      </fig>
      <p><bold>Figure 10.</bold> Leakage-safe rolling-origin logarithmic-return forecasts for the final 10 observations.</p>
      <fig id="fig14">
        <label>Figure 14</label>
        <graphic xlink:href="https://html.scirp.org/file/1724928-rId206.jpeg?20261014022649" />
      </fig>
      <p><bold>Figure 11.</bold> Actual versus Wavelet-LSTM predicted logarithmic returns in the final test.</p>
      <p>On the price scale, the first test origin is again the dominant error source: the actual price is 0.804, while the Wavelet-LSTM forecast is 0.47505. This first-origin error contributes approximately 80.0% of the total squared price error over the ten-origin test. Over origins 2 - 10, the hybrid-model price RMSE is 0.0548, but the primary reported metrics retain all ten origins. <xref ref-type="fig" rid="fig12">Figure 12</xref> and <xref ref-type="fig" rid="fig13">Figure 13</xref> therefore display the complete final test without excluding the shock. <bold>Table 4</bold> reports the corresponding rolling-origin Wavelet-LSTM price forecasts.</p>
      <p><xref ref-type="fig" rid="fig12">Figure 12</xref> shows that both models fail to anticipate the first large upward price shock but track the later price range more closely once the shock becomes part of the observed history. <xref ref-type="fig" rid="fig13">Figure 13</xref> shows substantial dispersion around the 45-degree line, particularly because of the first origin. These plots support a cautious interpretation: the revised experiment measures genuine one-step forecasting performance, but the short terminal test is strongly affected by one exceptional movement.</p>
      <p><bold>Table 4.</bold> Actual and leakage-safe Wavelet-LSTM NSPO price forecasts for the final 10 rolling origins.</p>
      <table-wrap id="tbl4">
        <label>Table 4</label>
        <table>
          <tbody>
            <tr>
              <td>
                <bold>Rolling</bold>
                <bold>origin</bold>
              </td>
              <td>
                <bold>Actual</bold>
                <bold>price</bold>
              </td>
              <td>
                <bold>Wavelet</bold>
                <bold>-</bold>
                <bold>LSTM</bold>
                <bold>forecast</bold>
              </td>
            </tr>
            <tr>
              <td>1</td>
              <td>0.804</td>
              <td>0.47505</td>
            </tr>
            <tr>
              <td>2</td>
              <td>0.857</td>
              <td>0.84811</td>
            </tr>
            <tr>
              <td>3</td>
              <td>0.903</td>
              <td>0.92441</td>
            </tr>
            <tr>
              <td>4</td>
              <td>0.877</td>
              <td>0.96080</td>
            </tr>
            <tr>
              <td>5</td>
              <td>0.936</td>
              <td>0.93503</td>
            </tr>
            <tr>
              <td>6</td>
              <td>0.896</td>
              <td>0.98295</td>
            </tr>
            <tr>
              <td>7</td>
              <td>0.905</td>
              <td>0.87456</td>
            </tr>
            <tr>
              <td>8</td>
              <td>0.877</td>
              <td>0.88432</td>
            </tr>
            <tr>
              <td>9</td>
              <td>0.940</td>
              <td>0.88079</td>
            </tr>
            <tr>
              <td>10</td>
              <td>0.878</td>
              <td>0.96402</td>
            </tr>
          </tbody>
        </table>
      </table-wrap>
      <fig id="fig15">
        <label>Figure 15</label>
        <graphic xlink:href="https://html.scirp.org/file/1724928-rId207.jpeg?20261014022649" />
      </fig>
      <p><bold>Figure 12.</bold> Leakage-safe rolling-origin NSPO price forecasts for Wavelet-LSTM and standard LSTM.</p>
      <fig id="fig16">
        <label>Figure 16</label>
        <graphic xlink:href="https://html.scirp.org/file/1724928-rId208.jpeg?20261014022649" />
      </fig>
      <p><bold>Figure 13.</bold> Actual versus predicted NSPO prices for both leakage-safe models.</p>
      <p>Forecast accuracy is reported on both the logarithmic-return and reconstructed-price scales. Return MAPE is not emphasized because several realized returns are close to zero, which makes percentage errors unstable. Directional accuracy is reported directly on the return scale. <bold>Table 5</bold> summarizes the leakage-safe Wavelet-LSTM results.</p>
      <p><bold>Table 5.</bold> Leakage-safe Wavelet-LSTM forecast accuracy at return and price scales.</p>
      <table-wrap id="tbl5">
        <label>Table 5</label>
        <table>
          <tbody>
            <tr>
              <td>
                <bold>Metric</bold>
              </td>
              <td>
                <bold>Return</bold>
                <bold>scale</bold>
              </td>
              <td>
                <bold>Price</bold>
                <bold>scale</bold>
              </td>
            </tr>
            <tr>
              <td>MSE</td>
              <td>0.030863</td>
              <td>0.013521</td>
            </tr>
            <tr>
              <td>RMSE</td>
              <td>0.175679</td>
              <td>0.116281</td>
            </tr>
            <tr>
              <td>MAE</td>
              <td>0.094600</td>
              <td>0.071396</td>
            </tr>
            <tr>
              <td>MAPE</td>
              <td>Not emphasized</td>
              <td>8.3980%</td>
            </tr>
            <tr>
              <td>
                R
                <sup>2</sup>
              </td>
              <td>−0.446904</td>
              <td>−8.699560</td>
            </tr>
            <tr>
              <td>Directional accuracy</td>
              <td>50.0%</td>
              <td>—</td>
            </tr>
          </tbody>
        </table>
      </table-wrap>
      <p>For the Wavelet-LSTM, return RMSE = 0.17568, return MAE = 0.09460, and directional accuracy = 50%. On the price scale, RMSE = 0.11628, MAE = 0.07140, and MAPE = 8.3980%. The negative R<sup>2</sup> values show that, over this short and shock-dominated terminal period, the forecasts do not outperform a constant-mean reference in squared-error terms. These results are less favorable than the earlier report, but they are based on a stricter chronological information set and therefore provide a more defensible out-of-sample assessment.</p>
      <p>The matched comparison does not reproduce the previously reported 91.51% RMSE reduction. Under the leakage-safe rolling-origin design, the standard LSTM achieves return RMSE = 0.16459 and price RMSE = 0.10862, compared with 0.17568 and 0.11628 for the Wavelet-LSTM. Price MAPE is 8.108% for the standard LSTM and 8.398% for the Wavelet-LSTM, while both models obtain 50% directional accuracy. The relative Wavelet-LSTM RMSE improvement, defined with the standard LSTM as the reference, is therefore negative: <bold>Table 6</bold> reports the standard-LSTM price forecasts, and <bold>Table 7</bold> summarizes the matched rolling-origin accuracy comparison.</p>
      <p><bold>Table 6.</bold> Actual and leakage-safe standard-LSTM NSPO price forecasts for the final 10 rolling origins.</p>
      <table-wrap id="tbl6">
        <label>Table 6</label>
        <table>
          <tbody>
            <tr>
              <td>
                <bold>Rolling</bold>
                <bold>origin</bold>
              </td>
              <td>
                <bold>Actual</bold>
                <bold>price</bold>
              </td>
              <td>
                <bold>Standard</bold>
                <bold>LSTM</bold>
                <bold>forecast</bold>
              </td>
            </tr>
            <tr>
              <td>1</td>
              <td>0.804</td>
              <td>0.48879</td>
            </tr>
            <tr>
              <td>2</td>
              <td>0.857</td>
              <td>0.81161</td>
            </tr>
            <tr>
              <td>3</td>
              <td>0.903</td>
              <td>0.87056</td>
            </tr>
            <tr>
              <td>4</td>
              <td>0.877</td>
              <td>0.90641</td>
            </tr>
            <tr>
              <td>5</td>
              <td>0.936</td>
              <td>0.87677</td>
            </tr>
            <tr>
              <td>6</td>
              <td>0.896</td>
              <td>0.93521</td>
            </tr>
            <tr>
              <td>7</td>
              <td>0.905</td>
              <td>0.88939</td>
            </tr>
            <tr>
              <td>8</td>
              <td>0.877</td>
              <td>0.90043</td>
            </tr>
            <tr>
              <td>9</td>
              <td>0.940</td>
              <td>0.86848</td>
            </tr>
            <tr>
              <td>10</td>
              <td>0.878</td>
              <td>0.93883</td>
            </tr>
          </tbody>
        </table>
      </table-wrap>
      <p><bold>Table 7.</bold> Leakage-safe rolling-origin accuracy comparison between Wavelet-LSTM and matched standard LSTM.</p>
      <table-wrap id="tbl7">
        <label>Table 7</label>
        <table>
          <tbody>
            <tr>
              <td>
                <bold>Model</bold>
              </td>
              <td>
                <bold>Return</bold>
                <bold>RMSE</bold>
              </td>
              <td>
                <bold>Return</bold>
                <bold>MAE</bold>
              </td>
              <td>
                <bold>Direction</bold>
              </td>
              <td>
                <bold>Price</bold>
                <bold>RMSE</bold>
              </td>
              <td>
                <bold>Price</bold>
                <bold>MAE</bold>
              </td>
              <td>
                <bold>Price</bold>
                <bold>MAPE</bold>
              </td>
              <td>
                <bold>Price</bold>
                <bold>R</bold>
                <bold>
                  <sup>2</sup>
                </bold>
              </td>
            </tr>
            <tr>
              <td>Wavelet-LSTM</td>
              <td>0.17568</td>
              <td>0.09460</td>
              <td>50.0%</td>
              <td>0.11628</td>
              <td>0.07140</td>
              <td>8.398%</td>
              <td>−8.6996</td>
            </tr>
            <tr>
              <td>Standard LSTM</td>
              <td>0.16459</td>
              <td>0.09197</td>
              <td>50.0%</td>
              <td>0.10862</td>
              <td>0.06923</td>
              <td>8.108%</td>
              <td>−7.4638</td>
            </tr>
          </tbody>
        </table>
      </table-wrap>
      <disp-formula id="FD31">
        <mml:math>
          <mml:mrow>
            <mml:mtext>Improvement</mml:mtext>
            <mml:mrow>
              <mml:mo>(</mml:mo>
              <mml:mtext>%</mml:mtext>
              <mml:mo>)</mml:mo>
            </mml:mrow>
            <mml:mo>=</mml:mo>
            <mml:mfrac>
              <mml:mrow>
                <mml:msub>
                  <mml:mrow>
                    <mml:mtext>RMSE</mml:mtext>
                  </mml:mrow>
                  <mml:mrow>
                    <mml:mtext>Standard LSTM</mml:mtext>
                  </mml:mrow>
                </mml:msub>
                <mml:mo>−</mml:mo>
                <mml:msub>
                  <mml:mrow>
                    <mml:mtext>RMSE</mml:mtext>
                  </mml:mrow>
                  <mml:mrow>
                    <mml:mtext>Wavelet–LSTM</mml:mtext>
                  </mml:mrow>
                </mml:msub>
              </mml:mrow>
              <mml:mrow>
                <mml:msub>
                  <mml:mrow>
                    <mml:mtext>RMSE</mml:mtext>
                  </mml:mrow>
                  <mml:mrow>
                    <mml:mtext>Standard LSTM</mml:mtext>
                  </mml:mrow>
                </mml:msub>
              </mml:mrow>
            </mml:mfrac>
            <mml:mo>×</mml:mo>
            <mml:mn>100.</mml:mn>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>Using the leakage-safe price RMSE values:</p>
      <disp-formula id="FD32">
        <mml:math>
          <mml:mrow>
            <mml:mtext>Improvement</mml:mtext>
            <mml:mrow>
              <mml:mo>(</mml:mo>
              <mml:mtext>%</mml:mtext>
              <mml:mo>)</mml:mo>
            </mml:mrow>
            <mml:mo>=</mml:mo>
            <mml:mfrac>
              <mml:mrow>
                <mml:mn>0.10862</mml:mn>
                <mml:mo>−</mml:mo>
                <mml:mn>0.11628</mml:mn>
              </mml:mrow>
              <mml:mrow>
                <mml:mn>0.10862</mml:mn>
              </mml:mrow>
            </mml:mfrac>
            <mml:mo>×</mml:mo>
            <mml:mn>100</mml:mn>
            <mml:mo>=</mml:mo>
            <mml:mo>−</mml:mo>
            <mml:mn>7.05</mml:mn>
            <mml:mtext>%</mml:mtext>
            <mml:mo>.</mml:mo>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>The relative value is −7.05%, meaning that the Wavelet-LSTM price RMSE is approximately 7.05% higher than the matched standard-LSTM RMSE in this final test. Consequently, the revised evidence does not attribute an accuracy gain to wavelet decomposition for this particular terminal holdout.</p>
      <p>The wavelet stage still provides an interpretable multi-scale representation by separating the return history into lower- and higher-frequency components, but representational separation alone does not guarantee superior forecasting. The first holdout observation contains a very large positive return that neither model anticipates, and the hybrid model also produces larger errors at several later origins. The empirical contribution should therefore be interpreted as a leakage-safe comparison of modeling structures rather than as proof that decomposition universally improves LSTM forecasts.</p>
      <p>The revised empirical procedure has four chronological stages. First, 319 prices are converted to 318 logarithmic returns. Second, the first 288 returns are used as base training data and the next 20 returns are reserved for chronological validation. Third, the selected configuration uses db4 level 3, lag 12, 40 hidden units per component, dropout 0.20, 150 epochs, and learning rate 0.005, with all decomposition and normalization recalculated from available history only. Fourth, the final 10 returns are evaluated through expanding rolling one-step-ahead origins and compared with a matched standard LSTM. The final test is reported at both return and price scales, with directional accuracy included to assess sign prediction.</p>
    </sec>
    <sec id="sec5">
      <title>5. Conclusion</title>
      <p>This study presents a hybrid Wavelet-LSTM framework for forecasting NSPO stock prices and, in the revised analysis, evaluates it under a leakage-safe chronological protocol. The supplied 319 weekly prices generate 318 logarithmic returns. The final 10 observations are kept exclusively for rolling one-step-ahead testing, while a preceding 20-return block is used for validation. At every forecast origin, db4 level-3 decomposition and min-max normalization are recalculated using only the return history available before the target week. The selected Wavelet-LSTM uses lag 12, 40 hidden units per component, dropout 0.20, 150 epochs, and learning rate 0.005. In the final test, it achieves return RMSE = 0.1757, return MAE = 0.0946, directional accuracy = 50%, price RMSE = 0.1163, price MAE = 0.0714, and price MAPE = 8.40%. A matched standard LSTM achieves lower error in the same experiment, with price RMSE = 0.1086 and MAPE = 8.11%. The earlier claim of a 91.51% RMSE reduction is therefore not retained. The main empirical lesson is that wavelet decomposition can organize multi-scale information, but its forecasting value must be established under causal preprocessing and repeated chronological evaluation rather than inferred from full-series decomposition or in-sample fit. Future research should evaluate longer rolling-origin sequences, alternative wavelet boundary rules, broader hyperparameter grids, and additional assets before drawing general conclusions about relative forecasting performance.</p>
    </sec>
    <sec id="sec6">
      <title>Author Contributions</title>
      <p>Nooruldeen A. Noori: Methodology, software development and programming, formal analysis, interpretation of results, and writing of the original manuscript. Hiba H. Abdullah: Supervision, critical review of the manuscript, and editing. Both authors have reviewed and approved the final version of the manuscript and agree to be accountable for their respective contributions.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <title>References</title>
      <ref id="B1">
        <label>1.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Zhang, G.P. (2003) Time Series Forecasting Using a Hybrid ARIMA and Neural Network Model. <italic>Neurocomputing</italic>, 50, 159-175. https://doi.org/10.1016/s0925-2312(01)00702-0 <pub-id pub-id-type="doi">10.1016/s0925-2312(01)00702-0</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1016/s0925-2312(01)00702-0">https://doi.org/10.1016/s0925-2312(01)00702-0</ext-link></mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Zhang, G.P.</string-name>
            </person-group>
            <year>2003</year>
            <article-title>Time Series Forecasting Using a Hybrid ARIMA and Neural Network Model</article-title>
            <source>Neurocomputing</source>
            <volume>2312</volume>
            <issue>01</issue>
            <pub-id pub-id-type="doi">10.1016/s0925-2312(01)00702-0</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B2">
        <label>2.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Hyndman, R.J. and Athanasopoulos, G. (2018) Forecasting: Principles and Practice. OTexts.</mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Hyndman, R.J.</string-name>
              <string-name>Athanasopoulos, G.</string-name>
            </person-group>
            <year>2018</year>
            <article-title>Forecasting: Principles and Practice</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B3">
        <label>3.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Chen, D., Zhang, J. and Jiang, S. (2020) Forecasting the Short-Term Metro Ridership with Seasonal and Trend Decomposition Using Loess and LSTM Neural Networks. <italic>IEEE Access</italic>, 8, 91181-91187. https://doi.org/10.1109/access.2020.2995044 <pub-id pub-id-type="doi">10.1109/access.2020.2995044</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/access.2020.2995044">https://doi.org/10.1109/access.2020.2995044</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Chen, D.</string-name>
              <string-name>Zhang, J.</string-name>
              <string-name>Jiang, S.</string-name>
            </person-group>
            <year>2020</year>
            <article-title>Forecasting the Short-Term Metro Ridership with Seasonal and Trend Decomposition Using Loess and LSTM Neural Networks</article-title>
            <source>IEEE Access</source>
            <volume>8</volume>
            <pub-id pub-id-type="doi">10.1109/access.2020.2995044</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B4">
        <label>4.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Aljboori, N.S.K. (2023) Structural Structure of the STDR-MNN Hybrid Model with Application. <italic>Advances in the Theory of Nonlinear Analysis and Its Application</italic>, 7, 89-98.</mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Aljboori, N.S.K.</string-name>
            </person-group>
            <year>2023</year>
            <article-title>Structural Structure of the STDR-MNN Hybrid Model with Application</article-title>
            <source>Advances in the Theory of Nonlinear Analysis and Its Application</source>
            <volume>7</volume>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B5">
        <label>5.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Sultana, Z.A. and Aljbooria, N.S.K. (2024) Seasonal Decomposition and Trend Using Hybrid STL-FNN with Application. <italic>Advances in the Theory of Nonlinear Analysis and Its Application</italic>, 7, 35-46.</mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Sultana, Z.A.</string-name>
              <string-name>Aljbooria, N.S.K.</string-name>
            </person-group>
            <year>2024</year>
            <article-title>Seasonal Decomposition and Trend Using Hybrid STL-FNN with Application</article-title>
            <source>Advances in the Theory of Nonlinear Analysis and Its Application</source>
            <volume>7</volume>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B6">
        <label>6.</label>
        <citation-alternatives>
          <mixed-citation publication-type="confproc">Othman, M.L. and Aljboori, N.S.K. (2025) The Hybrid STR-ENN Model: A Study with Application. In: Pal, S. and Rocha, Á., Eds., <italic>Proceedings of</italic> 4 <italic>th International Conference on Mathematical Modeling and Computational Science</italic>, Springer, 104-117. https://doi.org/10.1007/978-3-031-91008-1_10 <pub-id pub-id-type="doi">10.1007/978-3-031-91008-1_10</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1007/978-3-031-91008-1_10">https://doi.org/10.1007/978-3-031-91008-1_10</ext-link></mixed-citation>
          <element-citation publication-type="confproc">
            <person-group person-group-type="author">
              <string-name>Othman, M.L.</string-name>
              <string-name>Aljboori, N.S.K.</string-name>
              <string-name>Pal, S.</string-name>
              <string-name>Science, S</string-name>
            </person-group>
            <year>2025</year>
            <article-title>The Hybrid STR-ENN Model: A Study with Application</article-title>
            <source>In: Pal</source>
            <volume>104</volume>
            <pub-id pub-id-type="doi">10.1007/978-3-031-91008-1_10</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B7">
        <label>7.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Abdullah, H.H., Noori, N.A. and Hamza, T.S. (2026) The Improved Hybrid STD-Radial Basis Function Neural Network Approach for Time Series Forecasting Application to Tesla Stock Price Prediction. <italic>F</italic>1000 <italic>Research</italic>, 15, Article 286. https://doi.org/10.12688/f1000research.172498.2 <pub-id pub-id-type="doi">10.12688/f1000research.172498.2</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.12688/f1000research.172498.2">https://doi.org/10.12688/f1000research.172498.2</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Abdullah, H.H.</string-name>
              <string-name>Noori, N.A.</string-name>
              <string-name>Hamza, T.S.</string-name>
            </person-group>
            <year>2026</year>
            <article-title>The Improved Hybrid STD-Radial Basis Function Neural Network Approach for Time Series Forecasting Application to Tesla Stock Price Prediction</article-title>
            <source>F1000Research</source>
            <volume>15</volume>
            <elocation-id>286</elocation-id>
            <pub-id pub-id-type="doi">10.12688/f1000research.172498.2</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B8">
        <label>8.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Yu, Y., Si, X., Hu, C. and Zhang, J. (2019) A Review of Recurrent Neural Networks: LSTM Cells and Network Architectures. <italic>Neural Computation</italic>, 31, 1235-1270. https://doi.org/10.1162/neco_a_01199 <pub-id pub-id-type="doi">10.1162/neco_a_01199</pub-id><pub-id pub-id-type="pmid">31113301</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1162/neco_a_01199">https://doi.org/10.1162/neco_a_01199</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Yu, Y.</string-name>
              <string-name>Si, X.</string-name>
              <string-name>Hu, C.</string-name>
              <string-name>Zhang, J.</string-name>
            </person-group>
            <year>2019</year>
            <article-title>A Review of Recurrent Neural Networks: LSTM Cells and Network Architectures</article-title>
            <source>Neural Computation</source>
            <volume>31</volume>
            <pub-id pub-id-type="doi">10.1162/neco_a_01199</pub-id>
            <pub-id pub-id-type="pmid">31113301</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B9">
        <label>9.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Yunita, A., Pratama, M.I., Almuzakki, M.Z., Ramadhan, H., Akhir, E.A.P., Firdausiah Mansur, A.B., <italic>et al</italic>. (2025) Performance Analysis of Neural Network Architectures for Time Series Forecasting: A Comparative Study of RNN, LSTM, GRU, and Hybrid Models. <italic>MethodsX</italic>, 15, Article ID: 103462. https://doi.org/10.1016/j.mex.2025.103462 <pub-id pub-id-type="doi">10.1016/j.mex.2025.103462</pub-id><pub-id pub-id-type="pmid">40777584</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1016/j.mex.2025.103462">https://doi.org/10.1016/j.mex.2025.103462</ext-link></mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Yunita, A.</string-name>
              <string-name>Pratama, M.I.</string-name>
              <string-name>Almuzakki, M.Z.</string-name>
              <string-name>Ramadhan, H.</string-name>
              <string-name>Akhir, E.A.P.</string-name>
              <string-name>Mansur, A.B.</string-name>
              <string-name>RNN, L</string-name>
              <string-name>STM, G</string-name>
            </person-group>
            <year>2025</year>
            <article-title>Performance Analysis of Neural Network Architectures for Time Series Forecasting: A Comparative Study of RNN, LSTM, GRU, and Hybrid Models</article-title>
            <source>MethodsX</source>
            <volume>15</volume>
            <fpage>103462</fpage>
            <elocation-id>ID</elocation-id>
            <pub-id pub-id-type="doi">10.1016/j.mex.2025.103462</pub-id>
            <pub-id pub-id-type="pmid">40777584</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B10">
        <label>10.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Elias, I.I. and Ali, T.H. (2025) Optimal Level and Order of the Coiflets Wavelet in the VAR Time Series Denoise Analysis. <italic>Frontiers in Applied Mathematics and Statistics</italic>, 11, Article 1526540. https://doi.org/10.3389/fams.2025.1526540 <pub-id pub-id-type="doi">10.3389/fams.2025.1526540</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/fams.2025.1526540">https://doi.org/10.3389/fams.2025.1526540</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Elias, I.I.</string-name>
              <string-name>Ali, T.H.</string-name>
            </person-group>
            <year>2025</year>
            <article-title>Optimal Level and Order of the Coiflets Wavelet in the VAR Time Series Denoise Analysis</article-title>
            <source>Frontiers in Applied Mathematics and Statistics</source>
            <volume>11</volume>
            <elocation-id>1526540</elocation-id>
            <pub-id pub-id-type="doi">10.3389/fams.2025.1526540</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B11">
        <label>11.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Shuvo, S.B., Alam, S.S., Ayman, S.U., Chakma, A., Salvi, M., Seoni, S., <italic>et al</italic>. (2025) Application of Wavelet Transformation and Artificial Intelligence Techniques in Healthcare: A Systemic Review. <italic>WIREs Data Mining and Knowledge Discovery</italic>, 15, e70007. https://doi.org/10.1002/widm.70007 <pub-id pub-id-type="doi">10.1002/widm.70007</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1002/widm.70007">https://doi.org/10.1002/widm.70007</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Shuvo, S.B.</string-name>
              <string-name>Alam, S.S.</string-name>
              <string-name>Ayman, S.U.</string-name>
              <string-name>Chakma, A.</string-name>
              <string-name>Salvi, M.</string-name>
              <string-name>Seoni, S.</string-name>
            </person-group>
            <year>2025</year>
            <article-title>Application of Wavelet Transformation and Artificial Intelligence Techniques in Healthcare: A Systemic Review</article-title>
            <source>WIREs Data Mining and Knowledge Discovery</source>
            <volume>15</volume>
            <pub-id pub-id-type="doi">10.1002/widm.70007</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B12">
        <label>12.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Haykin, S. (2009) Neural Networks and Learning Machines, 3/E. Pearson Education India.</mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Haykin, S.</string-name>
            </person-group>
            <year>2009</year>
            <article-title>Neural Networks and Learning Machines, 3/E</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B13">
        <label>13.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Abdullah, H.H., Khalaf, N.S. and Noori, N.A. (2024) Comparison of Non-Linear Time Series Models ( <italic>β</italic>-T-EGARCH and NARMAX Models) with Radial Basis Function Neural Network Usingreal Data. <italic>Iraqi Journal for Computer Science and Mathematics</italic>, 5, Article No. 38. https://doi.org/10.52866/ijcsm.2024.05.03.003 <pub-id pub-id-type="doi">10.52866/ijcsm.2024.05.03.003</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.52866/ijcsm.2024.05.03.003">https://doi.org/10.52866/ijcsm.2024.05.03.003</ext-link></mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Abdullah, H.H.</string-name>
              <string-name>Khalaf, N.S.</string-name>
              <string-name>Noori, N.A.</string-name>
            </person-group>
            <year>2024</year>
            <article-title>Comparison of Non-Linear Time Series Models (β-T-EGARCH and NARMAX Models) with Radial Basis Function Neural Network Usingreal Data</article-title>
            <source>Iraqi Journal for Computer Science and Mathematics</source>
            <volume>5</volume>
            <elocation-id>No</elocation-id>
            <pub-id pub-id-type="doi">10.52866/ijcsm.2024.05.03.003</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B14">
        <label>14.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Noori, N.A. (2023) Exploring the Properties, Simulation, and Applications of the Odd Burr XII Gompertz Distribution. <italic>Advances in the Theory of Nonlinear Analysis and Its Application</italic>, 7, 60-75.</mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Noori, N.A.</string-name>
              <string-name>Properties, S</string-name>
            </person-group>
            <year>2023</year>
            <article-title>Exploring the Properties, Simulation, and Applications of the Odd Burr XII Gompertz Distribution</article-title>
            <source>Advances in the Theory of Nonlinear Analysis and Its Application</source>
            <volume>7</volume>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B15">
        <label>15.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Abdullah, H.H., Aljboori, N.S.K. and Noori, N.A. (2025) Stability of Conditional Variance and Stability Forecasts for Natural Gas Contracts Using NAGARCH Models. <italic>Mathematical Modelling of Engineering Problems</italic>, 12, 1551-1561. https://doi.org/10.18280/mmep.120509 <pub-id pub-id-type="doi">10.18280/mmep.120509</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.18280/mmep.120509">https://doi.org/10.18280/mmep.120509</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Abdullah, H.H.</string-name>
              <string-name>Aljboori, N.S.K.</string-name>
              <string-name>Noori, N.A.</string-name>
            </person-group>
            <year>2025</year>
            <article-title>Stability of Conditional Variance and Stability Forecasts for Natural Gas Contracts Using NAGARCH Models</article-title>
            <source>Mathematical Modelling of Engineering Problems</source>
            <volume>12</volume>
            <pub-id pub-id-type="doi">10.18280/mmep.120509</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B16">
        <label>16.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Ibrahim, M.Q., Mohammed, A.A., Khalaf, A.A. and Noori, N.A. (2025) Comparative Analysis of Seasonal Mixed Integrated Autoregressive Moving Average and Feed-Forward Neural Networks Models in Predicting United State Natural Hazard Casualties. <italic>Baghdad Science Journal</italic>, 22, 2360-2374. https://doi.org/10.21123/2411-7986.5002 <pub-id pub-id-type="doi">10.21123/2411-7986.5002</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.21123/2411-7986.5002">https://doi.org/10.21123/2411-7986.5002</ext-link></mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Ibrahim, M.Q.</string-name>
              <string-name>Mohammed, A.A.</string-name>
              <string-name>Khalaf, A.A.</string-name>
              <string-name>Noori, N.A.</string-name>
            </person-group>
            <year>2025</year>
            <article-title>Comparative Analysis of Seasonal Mixed Integrated Autoregressive Moving Average and Feed-Forward Neural Networks Models in Predicting United State Natural Hazard Casualties</article-title>
            <source>Baghdad Science Journal</source>
            <volume>22</volume>
            <pub-id pub-id-type="doi">10.21123/2411-7986.5002</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
    </ref-list>
  </back>
</article>