Can LLMs Uncover Real Economic Links to Boost Cross‑Stock Prediction?
The paper proposes a two‑stage Retrieve‑then‑Reason framework that first builds a sparse candidate graph from 10‑K text embeddings and then uses a large language model to filter edges for true economic relationships, resulting in a higher‑Sharpe, lower‑drawdown cross‑stock trading signal on S&P 500 constituents.
Background
Cross‑stock predictability is a robust empirical regularity in asset pricing: a stock’s future return can be partially forecasted by the contemporaneous behavior of economically linked firms. Reliable economic‑relationship graphs are needed to capture genuine connections, but text‑based semantic networks built from 10‑K embeddings often contain spurious edges because embedding similarity reflects topical rather than causal economic ties.
Problem Definition
The goal is to refine the candidate embedding graph G_{emb} = (V, E_{emb}) into a high‑fidelity economic network G_{ref} = (V, E_{ref}), where E_{ref} ⊂ E_{emb} contains only edges that correspond to substantive economic relationships. Each retained edge receives a semantic label (competitor, supply‑chain, complementary, substitute, peer, unrelated) to enable relation‑aware signal construction. The core research question asks whether a large language model (LLM) can reason over company disclosures to distinguish true from false economic links and thereby improve cross‑stock predictability.
Method
Stage 1 – Candidate Graph Generation : Compute the full pairwise cosine‑similarity matrix from the 768‑dimensional 10‑K embeddings H = [h_1,…,h_N]. For each stock v_i, keep edges to its top‑ K most similar peers. Symmetrize the edge set so that an undirected edge (v_i, v_j) exists if either stock appears in the other’s top‑ K . This reduces edge count from O(N²) to O(NK), making subsequent LLM inference tractable.
Stage 2 – LLM‑Enhanced Edge Classification :
Input Construction : For each candidate edge, extract three textual components from the companies’ 10‑K filings of the prior fiscal year: (i) business description, (ii) product/segment disclosure, (iii) competitor‑related sentences identified via regex. Each component is truncated to a fixed token budget and the company identities are anonymized.
Prompt Design : Instruct the LLM (DeepSeek‑Chat, temperature 0) to act as an industry analyst and assign one of the predefined labels {competitor, supply‑chain, complementary, substitute, peer, unrelated}. The model must output a structured JSON containing the chosen label and the supporting evidence span.
Implementation Details : Queries are batched, cached across rolling windows, and the total number of queries is O(NK), which is feasible thanks to the sparsity of G_{emb}.
Cross‑Stock Signal Construction
For each retained edge, compute the normalized price spread over a training window [t_0, t_1] and estimate its historical mean and standard deviation. The Z‑score of the spread in the test window quantifies relative mispricing: a large positive Z‑score indicates that stock v_i is relatively expensive to v_j, predicting a mean‑reversion where v_i underperforms and v_j outperforms.
Aggregate pairwise Z‑scores to a stock‑level signal S_{i,t} by softmax‑weighting each edge with
w_{ij}^i = \frac{e^{-d_{ij}}{\sum_k e^{-d_{ik}}}\times \text{relation\,weight}, where d_{ij} is the distance derived from the embedding similarity and the relation weight reflects the economic channel.
Portfolio Construction
At each rebalancing date, rank all stocks by S_{i,t} and split them into G = 5 equal‑size quintiles. Form a long‑short portfolio that goes long the top quintile (predicted winners) and short the bottom quintile (predicted losers), using equal weighting within each group and daily rebalancing.
Experiments
Data and Settings : Daily returns for U.S. equities from the CRSP database (July 2007 – December 2020) are used, focusing on the S&P 500 constituents (≈ 605 unique PERMNOs per year). 10‑K embeddings (768‑dim) are obtained for each calendar year using a pretrained language model, yielding ~ 497 stocks with valid embeddings per year.
Rolling‑Window Backtest : A 180‑day training window estimates spread parameters, followed by a 2‑month test window for signal generation. The embedding from year y‑1 is used to avoid look‑ahead bias.
Evaluation Metrics : Annualized return, annualized volatility, Sharpe ratio, maximum drawdown, annualized turnover, and Newey‑West‑adjusted t‑statistics.
Main Results
The LLM‑filtered network achieves the highest Sharpe ratio of 0.820, a 10.5 % improvement over the baseline semantic graph (Sharpe 0.742) and reduces maximum drawdown from –10.47 % to –7.85 %. Random graph replacement drops Sharpe to 0.541, confirming that the semantic graph captures meaningful economic structure. An SIC‑industry graph attains Sharpe 0.792 but exhibits higher volatility, indicating that text embeddings capture finer‑grained relationships than coarse industry codes.
Ablation Study
Adding LLM edge filtering yields three measurable gains: (+56 bp) higher annualized return, (+0.078) higher Sharpe, and (–262 bp) lower maximum drawdown. The improvement stems from correctly removing competitor edges whose price spreads reflect structural market‑share shifts rather than temporary mispricing. The Newey‑West t‑stat rises from 2.14 to 2.32, surpassing the 5 % significance threshold.
Sensitivity Analysis
Neighbor Count K : Increasing K raises Sharpe from 0.681 (K=3) to 0.929 (K=15), though volatility and turnover also increase. K=5 offers a practical trade‑off.
Training Window Length : 120‑180 days yields optimal performance; extending to 250 days lowers Sharpe to 0.609, likely due to averaging out structural spread dynamics.
Holding Period : A 2‑month holding period performs best; 1‑month horizons suffer higher noise, while 3‑6 month horizons cause signal decay, dropping Sharpe below 0.30 and rendering t‑statistics insignificant.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
