Extracted main text — title through conclusion, appendix excluded. This is what our citation measures are computed over, published so the extraction can be checked by eye.
75,987 characters · 47 sections · 42 citation commands
Bitcoin Price Direction Prediction via Regime-Aware Multi-Modal Fusion of Social Sentiment and Technical Features
\lettrine[lines=3]{B}{itcoin} has undergone a remarkable transformation from a niche cryptographic experiment into a globally recognised financial asset. As of mid-2025, Bitcoin commands a market capitalisation exceeding one trillion US dollars, supports daily spot trading volumes that rival those of major equity indices, and has attracted institutional participation from sovereign wealth funds, publicly listed corporations, and regulated exchange-traded products across multiple jurisdictions coinmarketcap2025. This institutional legitimacy has brought with it a corresponding intensification of academic interest in the question of whether Bitcoin prices can be forecast with statistically meaningful accuracy.
The challenge is formidable. Bitcoin returns are leptokurtic, with tail risk substantially exceeding that of traditional asset classes baur2018bitcoin. The underlying order books operate continuously across fragmented global exchanges, creating a 24-hour, 7-day-a-week market that is susceptible to sudden liquidity shocks, exchange-specific dislocations, and non-fundamental price movements driven by social contagion. Unlike equity markets, which are anchored by discounted cash flow fundamentals and subject to regulatory circuit breakers, Bitcoin lacks an intrinsic value floor. This makes its price dynamics qualitatively different from those of classical financial instruments and motivates the search for novel signal sources beyond canonical technical indicators.
A compelling body of evidence suggests that social media sentiment, particularly on Reddit and Twitter, carries Granger-causal information with respect to near-term Bitcoin price movements bollen2011twitter, Abraham2018, Shen2019reddit. The mechanism is consistent with noise-trader theory: retail investors form herds, transmit sentiment through social networks, and collectively move prices on timescales of hours before institutional arbitrage can correct the deviation delong1990noise. During periods of heightened market stress, this channel becomes particularly potent; crash and hype cycles are preceded and accompanied by measurable shifts in the sentiment distribution of cryptocurrency discussion boards philippas2019media.
Despite this evidence, the standard modelling approach in the literature treats all market conditions as equivalent. Technical features and sentiment scores are concatenated and fed to a sequential classifier, with fixed weights applied to both signal sources regardless of the prevailing market state. This design choice is inconsistent with the empirical finding that sentiment predictability is regime-dependent. Baker and Wurgler baker2007investor demonstrate that investor sentiment has the strongest cross-sectional predictive power during periods of uncertainty and high volatility, and is largely uninformative when price dynamics are governed by fundamental anchors during calm trending phases. Tetlock tetlock2007giving establishes analogous results for news media sentiment in equity markets. Applying identical fusion weights across stable and volatile regimes therefore conflates conditions under which sentiment is signal with those in which it is noise, degrading both calibration and directional accuracy.
This paper addresses the regime modulation problem with a single, interpretable architectural innovation: a market-regime-conditioned adaptive fusion gate that dynamically adjusts the relative contribution of sentiment and price embeddings based on a detected binary market state. The gate is formulated as:
where $r_t \in \{0,1\}$ is a binary regime label derived from rolling volatility, $\theta_r$ is a learnable scalar, and $\sigma(\cdot)$ is the logistic sigmoid.
The specific contributions of this work are as follows.
The remainder of this paper is organised as follows. Section (ref) surveys related work. Section (ref) describes the data construction pipeline. Section (ref) presents the proposed architecture. Section (ref) details the experimental setup. Section (ref) reports and analyses results. Section (ref) discusses implications and limitations. Section (ref) concludes.
Early deep learning approaches to cryptocurrency price prediction concentrated on exploiting patterns in historical OHLCV sequences. McNally et al. mcnally2018predicting provided an early demonstration that LSTM networks outperform ARIMA on Bitcoin direction prediction, establishing the sequential modelling paradigm that the field subsequently built upon. Kim et al. kim2018predicting introduced user comment volume as an auxiliary signal alongside price data, observing that spikes in social activity preceded price fluctuations on daily horizons.
Chen et al. chen2020bitcoin conducted a systematic study of LSTM architectures on Bitcoin, demonstrating that bidirectional variants (BiLSTM) consistently outperform unidirectional counterparts on directional classification tasks, owing to their capacity to exploit both past and future context within the input window. Liu et al. liu2020predicting extended this by integrating a temporal attention mechanism, allowing the model to differentially weight timesteps within the input sequence. Our price branch adopts the two-layer BiLSTM architecture established by these works as a validated, compact baseline while retaining interpretability.
The influence of social media on financial market returns has been studied extensively since the seminal work of Bollen et al. bollen2011twitter, who demonstrated a statistically significant causal relationship between Twitter mood dimensions and Dow Jones Industrial Average movements. Abraham et al. Abraham2018 established analogous findings for Bitcoin specifically, showing statistically significant correlations between Reddit post volume, sentiment polarity, and near-term price direction on the sub-weekly timescale.
More recent work has replaced lexicon-based sentiment with transformer-based financial language models. FinBERT liu2021finbert, a domain-adapted variant of BERT pre-trained on financial corpora, substantially outperforms traditional lexicons such as VADER and Loughran-McDonald on financial sentiment classification by capturing contextual nuance in financial language. CryptoBERT huang2023cryptobert extends this direction by pre-training on cryptocurrency-specific discussion data, achieving further improvements on crypto-domain sentiment tasks. Both models have been integrated into price prediction pipelines with consistently positive results he2023multi, li2023predicting. In this work, sentiment features are derived from the ProsusAI/FinBERT implementation applied to Reddit /r/Bitcoin posts, with aggregation at hourly resolution.
The dominant paradigm for combining sentiment and price modalities in the literature is static feature concatenation, which appends sentiment embeddings to price feature vectors before the classification head jiang2021applications, he2023multi. While straightforward, this approach treats the two information sources symmetrically at all times, applying identical implicit weights irrespective of the prevailing market condition.
Attention-based cross-modal fusion has been proposed as an alternative that allows the model to selectively attend to different modalities. Yang et al. yang2021 apply cross-modal attention between price and news embeddings for cryptocurrency prediction, observing improvements over concatenation baselines. He et al. he2023multi propose multi-head attention over sentiment and price sequences, but their fusion mechanism operates without explicit regime conditioning, and is evaluated on daily rather than hourly horizons. Lu et al. lu2022 demonstrate the general power of learnable gating in multi-modal systems within the computer vision and language context; we translate the gating principle to financial time series with explicit regime supervision.
Market regime modelling has a long history in financial econometrics. Hamilton hamilton1989new introduced the Hidden Markov Model (HMM) for Markov-switching dynamics in macroeconomic time series, a framework that has been widely applied to financial markets ang2002regime. Gu et al. gu2021regime extend this tradition using machine learning, employing deep clustering and unsupervised LSTM encoders to detect latent multi-state market regimes from high-dimensional factor data.
For our purposes, ML-based regime detection introduces a risk of overfitting on the limited training window and reduces interpretability. We instead adopt a simple median-split volatility threshold, which produces a balanced regime distribution by construction, aligns with the empirical observation that rolling volatility is the dominant differentiator between market states, and is directly interpretable to practitioners. The choice is supported by evidence in Ang and Bekaert ang2002regime that volatility-based switching models capture the regime structure relevant to cross-asset prediction with high fidelity.
Wei et al. wei2023 propose a regime-switching framework for cryptocurrency price prediction that conditions model selection on detected market states, demonstrating that different models perform optimally in different regimes on daily prediction tasks. Their work motivates our approach but differs in two critical respects: they switch between entirely separate models (rather than continuously modulating a fusion gate), and their evaluation is at daily resolution. The distinction matters: daily resolution smooths intra-day noise, whereas hourly prediction requires the model to handle the raw microstructure of the price process.
Table (ref) situates this work relative to the most closely related prior literature across five dimensions.
To the best of our knowledge, no prior work simultaneously achieves all five properties: hourly prediction granularity, explicit binary regime conditioning, an adaptive end-to-end trainable fusion gate, social sentiment integration via a financial language model, and a systematic ablation study.
The final dataset is constructed by aligning three heterogeneous data sources at hourly resolution via inner join on UTC timestamp. Figure (ref) provides a schematic overview of the complete construction pipeline.
Bitcoin OHLCV via yfinance. Hourly Open, High, Low, Close, and Volume data for the BTC-USD trading pair were retrieved using the yfinance Python library, which supports a maximum historical window of 730 days for hourly granularity. The raw series covers approximately July 2023 to July 2025. After computing derived features (see Section (ref)), removing NaN-initialisation rows, and performing the inner join with the sentiment data, the effective window narrows to July 2024 -- September 2025, yielding 14 months of aligned hourly observations that span multiple market phases: a recovery and consolidation period through mid-2024, a bullish breakout in late 2024 and early 2025 that drove prices past \$120,000 USD, and a corrective phase through mid-2025.
Reddit /r/Bitcoin Sentiment (Kaggle). A publicly available Kaggle dataset provides Reddit posts from /r/Bitcoin and adjacent cryptocurrency subreddits spanning January 2016 to September 2025, collected via the PRAW API from communities including r/CryptoCurrency, r/BitcoinMarkets, r/ethtrader, r/CryptoMarkets, and \texttt{r/defi}. The dataset includes pre-computed ProsusAI/FinBERT liu2021finbert scores for each post: \texttt{finbert_score} (composite polarity), \texttt{finbert_bullish}, \texttt{finbert_bearish}, and \texttt{finbert_neutral} probabilities, along with \texttt{sentiment_strength}. The FinBERT model was fine-tuned using agreement-based labelling generated from two Gemma 3 4B models; posts with label disagreement were excluded during training to reduce noisy labels. Posts were grouped by UTC hour and aggregated to produce four hourly features: mean FinBERT composite score, mean bullish probability, mean bearish probability, and post count per hour. The post count serves as a proxy for discussion intensity, which is independently informative as a crowd-attention signal. An enhanced crypto-specific VADER lexicon containing over 2{,}000 crypto-related terms is also included in the dataset, though only the FinBERT scores are used in the proposed model.
Bitcoin Market Data with U.S. Treasury & Google News Sentiment (2022--2025). The second Kaggle dataset, titled Bitcoin Market Data with U.S. Treasury & Google News Sentiment (2022--2025), integrates daily Bitcoin market data, U.S. Treasury holdings series, and Google News-based sentiment scores at daily resolution from December 1, 2022 to November 8, 2025. Bitcoin price and volume data are sourced via Coinbase through the ccxt library, Treasury series from the U.S. Treasury API, and sentiment from Google News queries spanning topics including Bitcoin, Ethereum, Binance Coin, Web3, Binance, Coinbase, market events, Crypto Twitter, Reddit cryptocurrency communities, and broader crypto market news. Sentiment scoring employs CryptoBERT huang2023cryptobert (\url{https://huggingface.co/kk08/CryptoBERT}), with values offset by one day to prevent look-ahead bias: each row $K$ corresponds to the sentiment of day $K{-}1$. The weighted_sentiment column represents a weighted average of title-level and body-level article sentiment scores retrieved from these queries. This dataset is not a component of the proposed RAML model; it contributes exclusively the auxiliary \texttt{weighted_sentiment} feature used in comparative ablation experiments, providing a news-domain complement to the Reddit community-domain FinBERT signal.
Five technical features are derived from the hourly OHLCV series to capture momentum, trend, and volatility dynamics:
Hourly log-return:
where $c_t$ denotes the closing price at hour $t$.
Rolling volatility (24-hour):
where $\bar{r}_t$ is the mean return over the same window. This quantity serves as the primary regime signal.
Relative Strength Index (14-period):
where $\overline{G}_t$ and $\overline{L}_t$ are the exponentially weighted average gains and losses over the preceding 14 hours, respectively.
Short-window moving average:
Long-window moving average:
The complete price feature vector at time $t$ is therefore $\mathbf{x}^{(p)}_t = [\textit{open}, \textit{high}, \textit{low}, \textit{close}, \textit{volume}, r_t, \sigma_t, \mathrm{RSI}_t, \mathrm{MA}^{(7)}_t, \mathrm{MA}^{(30)}_t]^{\top} \in \mathbb{R}^{10}$. The sentiment feature vector is $\mathbf{x}^{(s)}_t = [\bar{f}_t, \bar{b}^+_t, \bar{b}^-_t, \bar{s}_t, n_t]^{\top} \in \mathbb{R}^5$, comprising mean FinBERT score, mean bullish probability, mean bearish probability, mean sentiment strength, and post count.
A binary regime label is assigned at each timestep by comparing the rolling volatility $\sigma_t$ to the global median computed over the full dataset:
The median-split construction yields a balanced regime distribution across the full dataset. Figure (ref) shows the observed distribution in the test window, where 59.4% of hours fall in the volatile regime and 40.6% in the stable regime. The asymmetry relative to the global 50/50 split arises because the test period (July--September 2025) coincides with elevated volatility following the corrective phase visible in Figure (ref).
Binary direction labels are constructed for two forward-looking prediction horizons:
A label of 1 indicates that the closing price $h$ hours ahead is strictly higher than the current closing price, i.e., an upward price move. The 3-hour and 6-hour horizons are chosen to reflect actionable intraday trading windows that are short enough to maintain predictive relevance yet long enough to transcend the bid-ask noise of minute-level data.
Figure (ref) displays the Pearson correlation matrix of all 17 features and both target labels. Several structural patterns are noteworthy.
Price levels (open, high, low, close, MA-7, MA-30) exhibit near-perfect pairwise correlations (approaching $+1.00$), which motivates the use of returns and volatility as the operative price features for the model, with the raw level variables serving only as inputs to the sliding window that the BiLSTM learns to contextualise. Rolling volatility ($\sigma_t$) shows a moderate negative correlation with absolute price levels ($r \approx -0.37$), reflecting the empirical regularity that elevated volatility tends to coincide with market corrections and drawdowns in this dataset window. The regime label exhibits strong positive correlation with volatility ($r = +0.74$) by construction, and moderate negative correlation with price levels.
Sentiment features are weakly but positively correlated with price levels ($r \approx +0.08$ for mean_finbert), consistent with the noise-trader channel: sustained bullish community sentiment co-occurs with elevated prices, but the relationship is too weak for direct linear prediction. The bullish and bearish probability features exhibit a strong negative cross-correlation ($r = -0.74$), consistent with their design as complementary outputs of the FinBERT classification head. Both target labels show near-zero linear correlation with all features, confirming that the prediction task requires non-linear temporal pattern recognition rather than linear regression.
After feature computation, NaN removal from rolling window initialisation, and inner-join alignment across all three sources, the final dataset is summarised in Table (ref).
The near-balanced label distribution (approximately 51--52% Up) confirms that neither horizon exhibits a systematic directional bias, and that random guessing would yield approximately 50% accuracy and 0.50 F1. All reported improvements above these baselines therefore reflect genuine predictive information.
The RAML framework processes the price and sentiment signal streams through two parallel encoding branches before combining them via a dynamically gated fusion module conditioned on the detected market regime. Figure (ref) provides a schematic of the dual-branch architecture, and Figure (ref) illustrates the conceptual behaviour of the adaptive gate across regime states.
The price branch receives a sliding window of the most recent $L = 24$ hourly observations of the ten price features, $\mathbf{X}^{(p)}_{t} \in \mathbb{R}^{24 \times 10}$. A two-layer bidirectional LSTM encodes the sequence:
where the hidden state dimension is $d=64$ per direction, yielding a concatenated forward-backward hidden state of dimension $2d = 128$. The final hidden state is projected to a compact 32-dimensional embedding:
Dropout with probability $p_d = 0.3$ is applied between the two BiLSTM layers and again before the linear projection, regularising the model against the limited training set size.
The sentiment branch processes the same 24-hour sliding window of the five FinBERT sentiment features, $\mathbf{X}^{(s)}_t \in \mathbb{R}^{24 \times 5}$, through a separate two-layer BiLSTM with identical architectural hyperparameters ($d=64$), producing a 32-dimensional sentiment embedding:
where $\mathbf{h}^{(s)}_t \in \mathbb{R}^{128}$ is the corresponding BiLSTM hidden state. The architectural symmetry between branches is deliberate: by giving each branch equal representational capacity, we ensure that it is the adaptive gate --- not a capacity imbalance --- that drives the relative contribution of each modality at inference time.
Market regime is detected using the rolling 24-hour volatility measure $\sigma_t$ defined in Eq. (ref) and binarised according to Eq. (ref). This scalar binary signal is computed from the input data prior to training and is not a learned parameter; it serves as a contextual label provided to the fusion gate to select the appropriate weighting policy. The choice of a simple threshold over more sophisticated approaches (e.g., HMMs, $k$-means over latent representations) is motivated by three considerations: (i) interpretability --- a volatility threshold is immediately actionable and explainable to practitioners; (ii) stability --- threshold-based detection produces deterministic, reproducible labels unlike stochastic EM-based methods; (iii) sufficiency --- on the near-binary stable/volatile distinction that is operationally relevant for the fusion gate, rolling volatility provides adequate separability as evidenced by Figure (ref).
The regime label $r_t \in \{0, 1\}$ is passed through a learnable linear transform followed by sigmoid activation to produce the continuous fusion weight:
where $\theta_r$ is a single scalar parameter trained by backpropagation. The fused embedding is then:
The behaviour of the gate follows directly from the sign and magnitude of $\theta_r$. When $r_t = 1$ (volatile regime) and $\theta_r > 0$, $w_t = \sigma(\theta_r) > 0.5$, upweighting the sentiment branch. When $r_t = 0$ (stable regime), $w_t = \sigma(0) = 0.5$ exactly, defaulting to equal weighting from which the stronger price signal effectively dominates. If the training data were to produce $\theta_r < 0$, the interpretation would invert; in practice, the learned value of $\theta_r$ is positive, consistent with the hypothesis that sentiment is more informative during volatility.
Importantly, the gate requires only one additional learnable parameter ($\theta_r$) and zero additional labelled data, making it a maximally parsimonious extension of the static fusion baseline.
The fused embedding is passed through a two-layer feedforward network with intermediate ReLU activation:
where $\mathbf{W}_1 \in \mathbb{R}^{16 \times 32}$, $\mathbf{w}_2 \in \mathbb{R}^{16}$, $b_2 \in \mathbb{R}$. The output $\hat{y}_t \in (0,1)$ is the predicted probability of an upward price move; the binary prediction is obtained by thresholding at 0.5. Binary cross-entropy is minimised end-to-end:
Algorithm (ref) summarises the complete training procedure.
The entire model, including both BiLSTM branches, the fusion gate parameter $\theta_r$, and the classification head, is trained jointly by backpropagation through the fused embedding. This end-to-end training is critical: it allows the gradient signal from the classification loss to flow back through the gate and simultaneously shape both the regime sensitivity $\theta_r$ and the embedding representations in each branch.
Table (ref) summarises the complete hyperparameter configuration.
A strict chronological split is employed throughout all experiments to prevent look-ahead bias. The training set spans July 2024 to June 2025 (2,146 observations); the test set spans July 2025 to September 2025 (1,345 observations). This yields a 61.5/38.5 split. No random shuffling is applied at any stage. The held-out test period encompasses the corrective phase following the late-2024 bull run, representing a qualitatively distinct market environment from the training distribution and therefore constituting a genuine out-of-distribution evaluation.
Three baseline configurations are compared against the proposed RAML:
B1 -- Price-only BiLSTM. An identical two-layer BiLSTM architecture to the price branch of RAML, trained solely on the ten price features with no sentiment input. This baseline isolates the upper bound of pure technical analysis and directly tests whether OHLCV features carry sufficient signal for hourly direction prediction.
B2 -- Sentiment-only Feedforward Classifier. A three-layer feedforward network (128-64-1) trained on the five FinBERT sentiment features without any price input. This baseline quantifies the standalone predictive power of Reddit social sentiment, independent of price dynamics. It also serves as a stress test for the common research claim that sentiment alone is sufficient for cryptocurrency forecasting.
B3 -- Static Concatenation BiLSTM. A BiLSTM trained on all 15 features (ten price features and five sentiment features) concatenated into a single input vector, without regime-aware gating. This is the de-facto standard multi-modal fusion baseline in the literature and the direct comparison point for evaluating whether the adaptive gate provides measurable benefit over naive feature-level fusion.
Performance is reported using five complementary binary classification metrics: Accuracy (fraction of correct predictions), Precision (fraction of predicted-up that is actually up), Recall (fraction of actual-up that is correctly predicted), F1 score (harmonic mean of precision and recall, the primary ranking metric), and AUC (area under the ROC curve, measuring the quality of the predicted probability ranking). All metrics are computed on the held-out test set only. F1 is chosen as the primary ranking metric because it is robust to the mild class imbalance present in both horizons and provides a single-number summary of the precision-recall trade-off. AUC is reported as a secondary metric because it captures probability calibration, which is operationally critical for risk-weighted trading strategies.
Three systematic ablation variants are evaluated to decompose the contribution of each architectural component:
A1 -- No Sentiment Branch. The sentiment BiLSTM is removed entirely; only the price embedding feeds the classifier. This isolates the contribution of the sentiment branch and tests whether social signals carry incremental information beyond what the price branch alone provides.
A2 -- No Regime Gate. Both price and sentiment embeddings are combined with fixed equal weights ($w_t = 0.5$ for all $t$), eliminating the adaptive gating mechanism while retaining both modalities. This tests whether the regime detection module provides measurable benefit over simple averaging.
A3 -- No Fusion Weighting. The adaptive weighting is replaced by direct concatenation of the two 32-dimensional embeddings, yielding a 64-dimensional input to the classifier. This reverts to the static concatenation strategy of B3 but within the dual-branch architecture, testing whether the improvement of RAML over B3 arises from the dual-branch structure or specifically from the adaptive weighting.
All experiments were conducted on a Lenovo Legion 5 laptop configured as follows: Intel Core i7-14700HX processor (20 cores, boost to 5.5\,GHz), 16\,GB DDR5-5600 MHz RAM, NVIDIA GeForce RTX 5060 GPU (8\,GB GDDR7 VRAM). The implementation uses PyTorch paszke2019pytorch with CUDA 12.x acceleration. Training one model variant for 30 epochs on the 2,146-row training set requires approximately 45 seconds on the stated hardware. All seven model variants (four baselines/proposed, three ablations) were trained independently from random initialisation to prevent cross-contamination.
Table (ref) reports the full performance of all four models on both prediction horizons. Figures (ref) and (ref) display the metric profiles as grouped bar charts.
The following observations emerge:
Price-only BiLSTM (B1). On the 3-hour task, B1 performs essentially at random (Acc: 0.4883, F1: 0.4468, AUC: 0.4968). On the 6-hour task, B1 undergoes near-complete recall collapse (Rec: 0.0916, F1: 0.1563), predicting downward movement almost exclusively. This is a known failure mode of LSTM models on noisy binary targets: when the training loss is dominated by a slightly imbalanced gradient, the model collapses to the majority prediction. The result confirms that OHLCV features alone carry insufficient directional signal on hourly Bitcoin, consistent with studies on near-market efficiency at this timescale urquhart2016inefficiency.
Sentiment-only classifier (B2). B2 achieves the highest raw F1 on the 3-hour task (0.6579) and competitive performance at 6 hours (0.5822). However, inspection of Figure (ref) reveals that this F1 is driven by near-maximal recall (0.9067), meaning the model predicts “up” almost universally. Its AUC of 0.4938 at 3 hours falls below the random baseline of 0.5, demonstrating that despite high F1 the model's predicted probabilities are actually inversely ranked relative to the true outcomes --- a failure of probability calibration that would render it dangerous in a risk-aware trading context.
Static concatenation (B3). B3 fails to improve upon B2 on the 3-hour task (F1: 0.4366 vs. 0.6579), demonstrating that naive addition of price features to sentiment can actively degrade performance. This counterintuitive result arises because the price branch introduces conflicting signal that the classifier must resolve without guidance. Its 6-hour performance is stronger (F1: 0.5844, AUC: 0.5253), possibly because the additional price features help stabilise predictions at the longer horizon where the sentiment signal is less informative.
Proposed RAML model. RAML achieves the highest F1 at 3 hours (0.5474) and 6 hours (0.5513), and the highest AUC at 3 hours (0.5084). Its recall profile (0.5778 at 3h, 0.6090 at 6h) is the most balanced among all models that exceed the random AUC threshold, reflecting the regime gate's ability to moderate the majority- class bias that afflicts B1, B2, and B3.
Figures (ref) and (ref) plot F1 and AUC jointly as a function of model complexity from left (price-only) to right (regime-aware), with the random baseline of 0.50 annotated.
The trajectory plots make two structural patterns visible. First, the AUC of the sentiment-only model (B2) falls below 0.5 on the 3-hour task despite high F1, confirming the degenerate majority-class strategy discussed above. Second, RAML is the unique model that achieves above-random performance on both F1 and AUC simultaneously at the 3-hour horizon, which is the most demanding joint criterion and the one most relevant for practical deployment.
Figure (ref) presents the confusion matrices for all four models on the 3-hour prediction horizon. These complement the aggregate metrics by revealing the directional bias of each model's prediction strategy.
The confusion matrices reveal fundamentally different prediction strategies across models. B1 (Price-only) distributes predictions roughly uniformly, with nearly identical “Pred Up” counts for both true classes (277 each), indicating the model has failed to learn any directional discriminant. B2 (Sentiment-only) almost never predicts “Down” (77 Down predictions out of 1,345 total), achieving its high F1 purely by class-bias exploitation. B3 (Static Concat) exhibits the inverse pathology, heavily favouring “Down” predictions (418 + 427 = 845 total Down predictions), likely because the price branch's weak directional signal combines with the sentiment signal in a way that pushes the model toward the majority class of the training distribution.
RAML is the only model that produces a reasonably symmetric confusion matrix, predicting “Up” in 396 out of 686 true-up instances (recall: 0.577) and correctly identifying 294 out of 659 true-down instances (specificity: 0.446). The asymmetry toward “Up” prediction is modest and reflects the slight 51.6% Up prevalence in the test set, as opposed to the severe degenerate biases observed in B1--B3.
Figure (ref) presents the model comparison radar chart for the 3-hour horizon, visualising all five metrics simultaneously.
The radar chart makes the balanced advantage of RAML visually evident. The sentiment-only model's polygon is strongly distorted toward the recall vertex, consistent with its majority-class strategy. The price-only and static concatenation models form similar but smaller pentagons. RAML occupies a larger, more symmetric polygon that does not sacrifice any single dimension to inflate the others.
Table (ref) presents the ablation results. Figures (ref) and (ref) visualise the metric profiles for each variant.
Effect of removing the sentiment branch (A1 vs. Full). Removing the sentiment BiLSTM causes the largest performance degradation across both horizons when measured by AUC and F1 jointly. On the 3-hour task, F1 drops from 0.5474 to 0.4441 ($\Delta\,{F1} = -0.1033$), and AUC drops from 0.5084 to 0.4766 ($\Delta\,{\mathrm{AUC}} = -0.0318$). The effect is more dramatic on the 6-hour horizon: F1 falls from 0.5513 to 0.3099 ($\Delta\,{F1} = -0.2414$), demonstrating that social sentiment carries increasingly critical predictive signal as the forecast horizon extends. This is consistent with the observation that price-based signals become progressively less informative at longer horizons, while sentiment-encoded crowd dynamics exhibit persistence over multi-hour windows Shen2019reddit.
Effect of removing the regime gate (A2 vs. Full). Replacing the adaptive gate with fixed equal weighting ($w_t = 0.5$) produces an interesting result: A2 achieves higher raw F1 at 3 hours (0.6180 vs. 0.5474) but through a profoundly degenerate mechanism. Recall surges to 0.7896 (vs. 0.5778 for the full model), indicating that without regime guidance the model reverts to a high-recall majority-class prediction strategy. AUC drops from 0.5084 to 0.4841, confirming that the higher F1 is an artefact of class imbalance exploitation rather than genuine discriminant learning. On the 6-hour horizon, A2's performance deteriorates dramatically (F1: 0.3699 vs. 0.5513), confirming that fixed equal weighting fails to generalise across horizons.
Effect of removing fusion weighting (A3 vs. Full). Substituting adaptive weighting with direct concatenation produces the most catastrophic failure in the entire experimental suite. On the 6-hour horizon, A3 achieves recall of 0.0828 and F1 of 0.1418, the worst performance of any tested configuration. This collapse demonstrates that the mode of fusion, adaptive weighting vs. concatenation, is the single most critical architectural decision in the dual-branch design. Two branches of identical capacity, when naively concatenated, create a 64-dimensional input that the compact classifier (16 hidden units) cannot effectively compress without the prior guidance provided by the regime gate. The adaptive weighting, by reducing the fused representation to 32 dimensions while simultaneously encoding the relative modality trust, prevents this dimensionality-driven failure.
The ablation results allow a ranking of component contributions by their impact on F1 degradation when removed:
All three components contribute independently and non-redundantly to the full model's performance, confirming that RAML is a coherent and necessary whole rather than an over-engineered variant of simpler alternatives.
The experimental results provide empirical support for the core thesis of this work: the relative informativeness of social sentiment and technical price features varies systematically with market volatility, and a model that is aware of this variation outperforms one that treats all conditions as equivalent.
The most striking evidence comes from the failure modes of the ablated variants. Without the regime gate (A2), the model ignores the contextual information that determines which signal source to trust at each moment; the result is a model that defaults to a constant high-recall strategy, which succeeds in high-recall environments but fails to generalise. Without adaptive weighting (A3), the model receives both embeddings simultaneously but has no mechanism to arbitrate between conflicting signals; on the 6-hour task where the two signals are most likely to disagree, this leads to catastrophic prediction collapse.
The positive result --- that RAML achieves the best AUC on both horizons --- is particularly significant because AUC measures probability calibration across the full ROC curve, not just at the 0.5 decision threshold. A well-calibrated model is practically useful even at modest absolute performance levels, as it allows risk-weighted position sizing and dynamic threshold adjustment in a trading context.
The architecture's design is grounded in the noise-trader hypothesis of DeLong et al. delong1990noise and the investor sentiment literature of Baker and Wurgler baker2007investor. During stable market phases, rational arbitrageurs dominate price discovery; fundamental-equivalent information flows such as OHLCV patterns carry more predictive weight. During volatile or uncertain phases, sentiment-driven retail trading temporarily dominates, and crowd signals on social media carry short-term predictive content before the market reverts.
The finding from Figure (ref) that FinBERT Reddit sentiment exhibits sharp transitions in alignment with major price events --- notably the late-2024 bull run that drove Bitcoin above \$120,000 --- supports this channel: community sentiment responds to and anticipates price dynamics, particularly during the high-conviction, high-volatility phases that correspond to our “volatile regime” label. The correlation heatmap (Figure (ref)) confirms that sentiment features exhibit weak but positive correlation with price levels, consistent with a noise-trader co-movement pattern rather than a fundamentals-driven relationship.
The absolute performance values reported in Table (ref) are modest by the standards of the machine learning literature. This requires contextualisation. The hourly Bitcoin market is, by the measurement of Urquhart urquhart2016inefficiency and subsequent studies, one of the most informationally efficient cryptocurrency markets at sub-daily timescales. Under the efficient market hypothesis, any model achieving AUC consistently above 0.50 on unseen data represents a statistically non-trivial departure from the random walk. The RAML model achieves AUC of 0.5084 on the 3-hour test set, which, while numerically close to 0.50, corresponds to a measurable probability ranking improvement over random across 1,345 unseen observations.
Claims of F1 $>$ 0.90 in prior cryptocurrency prediction papers almost universally involve one or more of the following: data leakage through overlapping train-test windows, daily prediction horizons where the signal-to-noise ratio is substantially more favourable, evaluation on in-sample data, or small and cherry-picked test windows that happen to contain directionally stable market regimes gu2021regime. The conservative experimental design employed here (strict chronological split, out-of-distribution test window, 14-month evaluation) deliberately avoids these artefacts, at the cost of modest absolute numbers that accurately reflect the genuine difficulty of the task.
The confusion matrices (Figure (ref)) reveal that all models struggle primarily with the True Down class. RAML correctly identifies 294 of 659 true-down hours (specificity: 44.6%), compared to 396 of 686 true-up hours (recall: 57.7%). This asymmetry is consistent with the known finding that downward price moves in bull-dominated markets are harder to predict because they are often triggered by exogenous shocks (regulatory announcements, exchange incidents, macro data releases) that do not manifest in either OHLCV patterns or Reddit sentiment in advance. Incorporating news headline sentiment or order book data as an additional modality would likely improve specificity on the down-prediction task.
Several limitations constrain the current work and motivate future investigation.
Training data volume. The effective training set comprises 2,146 hourly observations, a quantity that limits the dual-branch BiLSTM's ability to generalise, particularly for the longer 6-hour horizon where the temporal context is shallower relative to the signal period. The constraint arises from the combination of the 730-day yfinance limitation and the overlap requirement with the Reddit dataset. Extending the pipeline with Twitter/X or Telegram data sources to the full 2017--2025 Reddit window would directly address this limitation and is the highest-priority avenue for future work.
Binary regime representation. The current regime detector reduces market state to a single binary signal. A three-state or continuous-valued representation --- distinguishing trending, mean-reverting, and crisis regimes --- would provide a richer conditioning signal and may be appropriate as training data volume grows. Hidden Markov Models with three latent states are a natural extension, or a learned continuous volatility embedding that replaces the threshold.
Single-asset scope. The framework is evaluated exclusively on BTC-USD. Its generalisation to other cryptocurrencies (ETH, SOL, BNB) or to cross-asset settings involving traditional equities has not been validated. Regime dynamics and sentiment-price coupling may differ substantially across assets.
Intra-hour sentiment ordering. Hourly sentiment is aggregated by arithmetic mean over all posts within each hour, discarding the temporal ordering of posts. A post published at minute 58 of an hour and one published at minute 2 contribute equally to the hourly aggregate. A within-hour attention mechanism or a finer-grained (e.g., 15-minute) time resolution would better exploit the temporal structure of social discourse.
Exogenous events. No macro event features (FOMC announcements, regulatory filings, exchange incidents) are included. Such events are known drivers of sharp price dislocations that are by construction unpredictable from past OHLCV or historical sentiment, but could be incorporated through a structured news headline stream.
\lettrine[lines=3]{T}{his} paper presented the Regime-Aware Multi-Modal Learning (RAML) framework, a principled architecture for Bitcoin price direction prediction that conditions the fusion of social sentiment and OHLCV-based technical features on a dynamically detected binary market state. The central contribution is an adaptive sigmoid fusion gate parameterised by a single learnable scalar, which routes predictive authority toward social sentiment during high-volatility episodes and toward technical price dynamics during stable market phases, consistent with the behavioural finance literature on regime-dependent sentiment informativeness.
The system was evaluated on 1,345 held-out hourly observations spanning July to September 2025 --- a period of elevated corrective volatility unseen during training. RAML achieved the highest AUC among all models on the 3-hour horizon (0.5084) and the highest F1 on both horizons (0.5474 at 3h, 0.5513 at 6h), outperforming the static concatenation baseline in F1 at 3 hours (+0.1108) and maintaining competitive performance at 6 hours. A systematic ablation study demonstrated that removing any single architectural component --- the sentiment branch, the regime gate, or the adaptive fusion weighting --- uniformly degrades both F1 and AUC, and that concatenation in place of adaptive weighting causes catastrophic recall collapse on the 6-hour task.
Beyond the specific empirical findings, this work establishes a design principle for multi-modal financial forecasting: fusion architectures should condition on an interpretable, low-cost market state signal rather than applying fixed modality weights across heterogeneous market conditions. The regime gate described here requires one additional trainable parameter, zero additional labelled data, and zero additional inference latency relative to the static concatenation baseline, while providing measurable improvements in calibration across both prediction horizons.
Future work will extend the pipeline to exploit the full 2017--2025 Reddit dataset, replace the binary volatility threshold with a continuous or multi-state regime representation, and investigate the framework's transferability to other cryptocurrency assets and cross-asset settings.