<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//TaxonX//DTD Taxonomic Treatment Publishing DTD v0 20100105//EN" "https://mab-online.nl/nlm/tax-treatment-NS0.dtd">
<article xmlns:tp="http://www.plazi.org/taxpub" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" article-type="research-article" xml:lang="en">
  <front>
    <journal-meta>
      <journal-id journal-id-type="publisher-id">69</journal-id>
      <journal-id journal-id-type="index">urn:lsid:arphahub.com:pub:8D21F818-6EEF-540F-91C7-D50E3E5A13E0</journal-id>
      <journal-title-group>
        <journal-title xml:lang="en">Maandblad voor Accountancy en Bedrijfseconomie</journal-title>
        <abbrev-journal-title xml:lang="en">MAB</abbrev-journal-title>
      </journal-title-group>
      <issn pub-type="ppub">0924-6304</issn>
      <issn pub-type="epub">2543-1684</issn>
      <publisher>
        <publisher-name>Amsterdam University Press</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.5117/mab.100.170931</article-id>
      <article-id pub-id-type="publisher-id">170931</article-id>
      <article-categories>
        <subj-group subj-group-type="heading">
          <subject>MAB-scriptieprijs</subject>
        </subj-group>
        <subj-group subj-group-type="scientific_subject">
          <subject>Externe verslaggeving (External reporting)</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>Signal or noise? The role of firm narratives in earnings prediction</article-title>
      </title-group>
      <contrib-group content-type="authors">
        <contrib contrib-type="author" corresp="yes">
          <name name-style="western">
            <surname>Yin</surname>
            <given-names>Zixian</given-names>
          </name>
          <email xlink:type="simple">zixianjoe@outlook.com</email>
          <xref ref-type="aff" rid="A1">1</xref>
        </contrib>
        <contrib contrib-type="author" corresp="yes">
          <name name-style="western">
            <surname>Madelaine</surname>
            <given-names>Alexandre</given-names>
          </name>
          <email xlink:type="simple">madelaine@rsm.nl</email>
          <uri content-type="orcid">https://orcid.org/0000-0002-0418-0833</uri>
          <xref ref-type="aff" rid="A2">2</xref>
        </contrib>
      </contrib-group>
      <aff id="A1">
        <label>1</label>
        <addr-line content-type="verbatim">Erasmus University of Rotterdam, Cappelle aan den IJssel, Netherlands</addr-line>
        <institution>Erasmus University of Rotterdam</institution>
        <addr-line content-type="city">Cappelle aan den IJssel</addr-line>
        <country>Netherlands</country>
      </aff>
      <aff id="A2">
        <label>2</label>
        <addr-line content-type="verbatim">Erasmus University of Rotterdam, Rotterdam, Netherlands</addr-line>
        <institution>Erasmus University of Rotterdam</institution>
        <addr-line content-type="city">Rotterdam</addr-line>
        <country>Netherlands</country>
      </aff>
      <author-notes>
        <fn fn-type="corresp">
          <p>Corresponding authors: Zixian Yin (<email xlink:type="simple">zixianjoe@outlook.com</email>), Alexandre Madelaine (<email xlink:type="simple">madelaine@rsm.nl</email>).</p>
        </fn>
        <fn fn-type="edited-by">
          <p>Academic editor: René Orij</p>
        </fn>
      </author-notes>
      <pub-date pub-type="collection">
        <year>2026</year>
      </pub-date>
      <pub-date pub-type="epub">
        <day>17</day>
        <month>07</month>
        <year>2026</year>
      </pub-date>
      <volume>100</volume>
      <issue>4</issue>
      <fpage>167</fpage>
      <lpage>178</lpage>
      <uri content-type="arpha" xlink:href="http://openbiodiv.net/ED74529B-7F7A-54C5-817E-B01EBCFB1DE8">ED74529B-7F7A-54C5-817E-B01EBCFB1DE8</uri>
      <history>
        <date date-type="received">
          <day>03</day>
          <month>09</month>
          <year>2025</year>
        </date>
        <date date-type="accepted">
          <day>22</day>
          <month>06</month>
          <year>2026</year>
        </date>
      </history>
      <permissions>
        <copyright-statement>Zixian Yin, Alexandre Madelaine</copyright-statement>
        <license license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by-nc-nd/4.0/" xlink:type="simple">
          <license-p>This is an open access article distributed under the terms of the Creative Commons Attribution License (CC BY-NC-ND 4.0), which permits to copy and distribute the article for non-commercial purposes, provided that the article is not altered or modified and the original author and source are credited.</license-p>
        </license>
      </permissions>
      <abstract>
        <label>Abstract</label>
        <p>This study examines whether narrative disclosures in corporate financial reports enhance the prediction of future firm performance. While quantitative financial data such as current earnings and cash flows are established predictors, the added value of narratives remains uncertain. Using machine learning and topic modeling on over 5,000 10-K filings, we test whether narrative features improve predictive accuracy. Results indicate that narratives add limited and inconsistent value, though sections like Management Discussion and Risk Factors have higher predictive power. Our findings underline both the promise and current limitations of integrating textual analysis into financial prediction models.</p>
      </abstract>
      <kwd-group>
        <label>Keywords</label>
        <kwd>Textual analysis</kwd>
        <kwd>narrative disclosures</kwd>
        <kwd>financial prediction</kwd>
        <kwd>annual reports</kwd>
        <kwd>machine learning</kwd>
        <kwd>topic modeling</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec sec-type="Relevance to practice" id="sec1">
      <title>Relevance to practice</title>
      <p>This research informs analysts, investors, and regulators about the practical limitations of using automated textual analysis in financial prediction. It shows that while certain report sections provide valuable insights, textual data must be carefully selected and processed to meaningfully complement traditional quantitative financial data in predicting firm performance.</p>
    </sec>
    <sec sec-type="1. Introduction" id="sec2">
      <title>1. Introduction</title>
      <p>Quantitative information is regarded as easier for investors to process and compare, offering advantages in decision-making (<xref ref-type="bibr" rid="B42">Viswanathan and Childers 1996</xref>; <xref ref-type="bibr" rid="B16">Engelberg 2008</xref>; <xref ref-type="bibr" rid="B22">Huang et al. 2014</xref>; <xref ref-type="bibr" rid="B28">Liberti and Petersen 2019</xref>; <xref ref-type="bibr" rid="B11">Campbell et al. 2025</xref>; <xref ref-type="bibr" rid="B31">Madelaine et al. 2026</xref>). Yet, numbers rarely speak for themselves. They often require the interpretive context provided by narrative disclosures (<xref ref-type="bibr" rid="B1">Ahn et al. 2022</xref>; <xref ref-type="bibr" rid="B2">Allee et al. 2023</xref>). In some settings, such ‘soft’ information can even convey insights that are more informative than traditional quantitative indicators alone (<xref ref-type="bibr" rid="B7">Brockman and Cicon 2013</xref>). Despite this potential, the virtually unlimited amount of narrative content in annual reports raises a practical concern for practitioners and researchers: when does more text stop adding signal and start adding noise? In this paper, we offer a cautionary examination of that question in the context of short-horizon earnings prediction. Specifically, we test whether narrative topic features extracted from thousands of 10-K filings provide incremental predictive value, beyond quantitative financial data, when forecasting next-year earnings changes.</p>
      <p>We investigate three research questions:</p>
      <list list-type="bullet">
        <list-item>
          <p>whether 10-K annual reports provide incremental predictive power for earnings changes beyond traditional financial variables;
</p>
        </list-item>
        <list-item>
          <p>which topics within these reports are most strongly associated with earnings changes; and
</p>
        </list-item>
        <list-item>
          <p>which sections of these reports are most predictive of earnings changes.
</p>
        </list-item>
      </list>
      <p>The predictive value of structured financial data has been established by extensive research on earnings prediction. For instance, <xref ref-type="bibr" rid="B33">Ou and Penman (1989)</xref> establish that financial ratios predict changes in earnings and produce profitable investment strategies. More recently, <xref ref-type="bibr" rid="B14">Chen et al. (2022)</xref> found that ensemble methods – techniques that combine multiple models – can significantly improve earnings prediction accuracy. Yet, despite the potential relevance of narrative disclosures, most research in this area has largely overlooked them.</p>
      <p>Our research questions are not without tension. Unlike quantitative data, narratives are high-dimensional, noisy, and not easily comparable across firms, in particular because relevant information may be diffuse or buried in regulatory language. <xref ref-type="bibr" rid="B15">Dyer et al. (2017)</xref> conduct descriptive analysis of the evolution of 10-K filings, finding that regulatory requirements have led to increasingly lengthy documents with declining readability and increasing boilerplate language, particularly in topics related to risks, fair value, and internal controls. Therefore, it is unclear whether narratives in those filings contain any predictive signals or constitute mere noise.</p>
      <p>To capture narrative content, we employ Latent Dirichlet Allocation (<abbrev xlink:title="Latent Dirichlet Allocation">LDA</abbrev>) to extract topic distributions from 10-K filings of S&amp;P 500 companies between 2013 and 2023. Then, we develop prediction models for earnings changes using Lasso, Random Forest, and XGBoost, both with and without <abbrev xlink:title="Latent Dirichlet Allocation">LDA</abbrev>-derived topic features. Our main findings indicate that, although topic modeling offers valuable insights into narrative patterns in 10-K filings, we do not find robust evidence that topic-based features meaningfully complement traditional financial variables in predicting earnings changes. These results call for a cautious interpretation of the predictive value of textual analysis and underscore the importance of critically evaluating emerging methodologies in financial predictions.</p>
    </sec>
    <sec sec-type="2. Literature review" id="sec3">
      <title>2. Literature review</title>
      <sec sec-type="2.1. Prediction of earnings changes" id="sec4">
        <title>2.1. Prediction of earnings changes</title>
        <p>Reported earnings are a key metric for market participants when considering investment decisions (e.g., <xref ref-type="bibr" rid="B4">Beyer et al. (2010)</xref>), reflecting operational fundamentals more than transitory market noise (<xref ref-type="bibr" rid="B34">Penman 2013</xref>). The prediction of earnings changes has long been a cornerstone of fundamental analysis. Prior research shows that financial statement variables can predict future earnings (<xref ref-type="bibr" rid="B33">Ou and Penman 1989</xref>; <xref ref-type="bibr" rid="B35">Penman and Zhang 2006</xref>). Building on this foundation, <xref ref-type="bibr" rid="B14">Chen et al. (2022)</xref> set a new academic benchmark by applying ensemble learning, such as Random Forest and Gradient Boosting, to a granular set of over 4,000 distinct financial items. Their models achieved an Area Under the Curve (<abbrev xlink:title="Area Under the Curve">AUC</abbrev>) value of 68.66%, significantly outperforming traditional linear regressions. While their work identifies which financial variables carry the most information, their models exclude unstructured textual content, leaving open the question of whether narrative disclosures can further enhance predictive performance.</p>
      </sec>
      <sec sec-type="2.2. 10-K narrative disclosures: information signal vs. noise" id="sec5">
        <title>2.2. 10-K narrative disclosures: information signal vs. noise</title>
        <p>While quantitative data provides the ‘what,’ narrative disclosures in 10-K filings provide the ‘why,’ offering interpretive context and forward-looking insights into management’s expectations. However, the practical utility of these narratives is under scrutiny. <xref ref-type="bibr" rid="B15">Dyer et al. (2017)</xref> provide a comprehensive evolutionary analysis of 10-K filings from 1996 to 2013, documenting an increase in document length driven largely by regulatory requirements. Crucially for practitioners, they found that this expansion often results in declining readability and an increase in boilerplate language, that is, repetitive text that may obscure rather than reveal firm-specific risks. While narratives like the Management’s Discussion and Analysis (<abbrev xlink:title="Management’s Discussion and Analysis">MD&amp;A</abbrev>) can signal future performance (<xref ref-type="bibr" rid="B9">Brown and Tucker 2011</xref>), they can also be used strategically to obfuscate poor results through linguistic complexity (<xref ref-type="bibr" rid="B26">Li 2008</xref>). For investors and analysts, the primary challenge lies in distinguishing between genuine economic signals and regulatory noise. Our study addresses this by testing whether automated tools can effectively filter this noise to enhance prediction.</p>
      </sec>
      <sec sec-type="2.3. Textual analysis and LDA" id="sec6">
        <title>2.3. Textual analysis and LDA</title>
        <p>Textual analysis has become central in accounting and finance as narrative disclosures complement traditional financial information. To process the thousands of pages in a typical 10-K corpus, accounting research has shifted from simple word-counting to sophisticated Natural Language Processing (<abbrev xlink:title="Natural Language Processing">NLP</abbrev>). Early studies focus on readability (<xref ref-type="bibr" rid="B26">Li 2008</xref>) and sentiment (<xref ref-type="bibr" rid="B29">Loughran and McDonald 2011</xref>), offering simple textual measures but limited semantic depth. More recent <abbrev xlink:title="Natural Language Processing">NLP</abbrev> tools, including transformer-based models like FinBERT (<xref ref-type="bibr" rid="B24">Huang et al. 2023</xref>), capture richer narrative patterns, though their complexity and high dimensionality make the underlying drivers of prediction difficult to interpret. In this context, topic modeling, particularly <abbrev xlink:title="Latent Dirichlet Allocation">LDA</abbrev>, provides a useful middle ground. <abbrev xlink:title="Latent Dirichlet Allocation">LDA</abbrev> represents each document as a mixture of latent topics, allowing users to identify the specific themes (e.g., ‘Renewable energy’ or ‘Corporate governance’) being discussed. Each topic is characterized by a distribution over words, producing interpretable topic proportions that can be readily incorporated into predictive models.</p>
        <p><abbrev xlink:title="Latent Dirichlet Allocation">LDA</abbrev> has been widely applied to various financial texts. For example, <xref ref-type="bibr" rid="B10">Campbell et al. (2014)</xref> extract topics from risk disclosures in 10-K filings; <xref ref-type="bibr" rid="B23">Huang et al. (2018)</xref> compare analyst reports with earnings calls, and <xref ref-type="bibr" rid="B17">Feuerriegel et al. (2016)</xref> study market reactions to news announcements. Beyond those analyses, several studies have used topic distributions as predictive variables. <xref ref-type="bibr" rid="B20">Hanley and Hoberg (2010)</xref> incorporate topics into regressions predicting IPO underpricing, and <xref ref-type="bibr" rid="B8">Brown et al. (2020)</xref> use topic proportions from 10-K filings to predict financial misreporting. For practitioners, <abbrev xlink:title="Latent Dirichlet Allocation">LDA</abbrev> offers an automated way to analyze thousands of filings simultaneously, identifying thematic shifts. By integrating these <abbrev xlink:title="Latent Dirichlet Allocation">LDA</abbrev>-derived topics with the financial benchmark established by <xref ref-type="bibr" rid="B14">Chen et al. (2022)</xref>, we provide a test of whether automated textual analysis truly adds value in the context of short-horizon earnings prediction.</p>
      </sec>
    </sec>
    <sec sec-type="3. Methodology" id="sec7">
      <title>3. Methodology</title>
      <sec sec-type="3.1. Sample and variables" id="sec8">
        <title>3.1. Sample and variables</title>
        <p>The sample consists of S&amp;P 500 firms between 2013 and 2023 for three reasons:</p>
        <list list-type="order">
          <list-item>
            <p>the index captures roughly 80% of U.S. equity market capitalization (<xref ref-type="bibr" rid="B39">S&amp;P Global 2025</xref>);
</p>
          </list-item>
          <list-item>
            <p>these firms follow strict reporting standards, producing documents that are standardized yet retain firm-specific narrative content, making them suitable for topic modeling (<xref ref-type="bibr" rid="B27">Li 2010</xref>); and
</p>
          </list-item>
          <list-item>
            <p>the sample size balances representativeness, computational feasibility, and statistical power.
</p>
          </list-item>
        </list>
        <p>To ensure a consistent definition of the S&amp;P 500 universe throughout the sample period, we use constituents as of February 2024. Pre-processed 10-K filings are obtained from the Notre Dame Software Repository<sup><xref ref-type="fn" rid="en1">1</xref></sup> (accessed: May 18, 2025). After matching filings to the S&amp;P 500 constituents using Central Index Keys (<abbrev xlink:title="Central Index Keys">CIK</abbrev>), the sample includes 5,250 documents.</p>
        <p>Building upon the one-stage parsed text files from the repository, we apply additional preprocessing steps to optimize the corpus for topic modeling. First, paragraphs shorter than 80 characters or containing over 50% non-alphabetic characters are removed. URLs and emails are eliminated using regular expressions, and the text is tokenized into individual words with English stopwords filtered out. Words shorter than four characters and domain-specific terms such as ‘fiscal’ or ‘quarterly’ are also removed. A document-term matrix (<abbrev xlink:title="document-term matrix">DTM</abbrev>) is then constructed and dimensionality reduced by excluding terms appearing in fewer than 0.1% or more than 80% of documents (<xref ref-type="bibr" rid="B15">Dyer et al. 2017</xref>). This approach preserves terms with potential topical significance while minimizing noise, forming the foundation for subsequent <abbrev xlink:title="Latent Dirichlet Allocation">LDA</abbrev> topic modeling. After text preprocessing, we obtain a document-term matrix of 5,241 10-K filings and 87,106 unique terms.</p>
        <p>Then, we extract specific sections from 10-K filings including: Management’s Discussion and Analysis (<abbrev xlink:title="Management’s Discussion and Analysis">MD&amp;A</abbrev>, typically Item 7), Risk Factors (Item 1A), Controls and Procedures (Item 9A), Changes in Accounting and Disagreements (Item 9), Unresolved Staff Comments (Item 1B), and Quantitative and Qualitative Disclosures (Item 7A). The section extraction algorithm employs a multi-step approach. It first scans the document for standard SEC item headers using pattern recognition to identify section boundaries. Next, it extracts the text content between identified headers, creating separate text segments for each section. Finally, the same preprocessing procedures used for the main corpus (see previous paragraph) are applied to each section, ensuring consistency in tokenization, stop-word removal, and term filtering.</p>
        <p>We obtain annual financial data from Compustat for 2009–2024, a timeframe necessary to calculate earnings trend components while remaining consistent with the 10-K sample. To construct the dependent variable for earnings prediction, we follow <xref ref-type="bibr" rid="B14">Chen et al. (2022)</xref> and focus on earnings per share excluding extraordinary items (<abbrev xlink:title="earnings per share excluding extraordinary items">EPSPX</abbrev>). We then define a binary indicator equal to 1 if a firm’s EPS increases and 0 if it decreases from year <italic>t</italic> to year <italic>t</italic> + 1. The EPS change is detrended by subtracting a drift term, calculated as the average EPS change over the previous four years to control for firm-specific growth trends and enable meaningful cross-sectional comparisons.</p>
        <p>We calculate a set of 21 financial variables identified in prior literature as significant predictors of earnings changes. These variables span five key dimensions of financial performance: profitability, liquidity, leverage, efficiency, and market valuation. <xref ref-type="bibr" rid="B33">Ou and Penman (1989)</xref> evaluate 68 financial statement items and identify 16 indicators that collectively predict earnings direction more accurately than price-based measures alone. <xref ref-type="bibr" rid="B38">Sloan (1996)</xref> highlights the differential persistence of earnings components, showing that firms with high accrual components typically experience subsequent earnings reversals, while cash flow components persist more reliably. This explains why we include both accrual-based and operating cash flow measures to capture the varying information content of earnings components. <xref ref-type="bibr" rid="B36">Piotroski (2000)</xref> develops the F-Score using nine fundamental signals across profitability (ROA, CFO, change in ROA, accruals), leverage/liquidity (change in debt ratio, change in current ratio, equity offerings), and operating efficiency (change in gross margin, change in asset turnover). Instead of calculating the composite F-Score, we include its component ratios individually to allow differential weighting in the predictive model.</p>
        <p>For a subset of variables where a missing value corresponds to the absence of the underlying activity, we replace missing entries with zero. For instance, this applies to inventory (<abbrev xlink:title="inventory">INVT</abbrev>), capital expenditures (<abbrev xlink:title="capital expenditures">CAPX</abbrev>), or depreciation and amortization (<abbrev xlink:title="depreciation and amortization">DP</abbrev>). For other variables, missing values are imputed using industry averages based on the Fama-French 48 industry classification, constructed from each firm’s SIC code (see <xref ref-type="bibr" rid="B12">Chen and McCoy (2024)</xref>). Of all firm-year observations, 1,759 require imputation using the industry mean, with 1,322 cases due to missing inventory turnover. While this accounts for about 33% of observations, it affects only 4% of the underlying data entries in the dataset. Table <xref ref-type="table" rid="T1">1</xref> presents the definitions and summary statistics of our financial variables.</p>
        <table-wrap id="T1" position="float" orientation="portrait">
          <label>Table 1.</label>
          <caption>
            <p>Financial variables.</p>
          </caption>
          <table>
            <tbody>
              <tr>
                <th rowspan="1" colspan="1">
                  <bold>Variable</bold>
                </th>
                <th rowspan="1" colspan="1">
                  <bold>Definition</bold>
                </th>
                <th rowspan="1" colspan="1">
                  <bold>Mean</bold>
                </th>
                <th rowspan="1" colspan="1"><bold>Std. Dev</bold>.</th>
                <th rowspan="1" colspan="1"><bold>Min</bold>.</th>
                <th rowspan="1" colspan="1"><bold>Max</bold>.</th>
              </tr>
              <tr>
                <td rowspan="1" colspan="6">
                  <bold>Profitability variables</bold>
                </td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1">
                  <bold>ROA</bold>
                </td>
                <td rowspan="1" colspan="1">Net income / Total assets</td>
                <td rowspan="1" colspan="1">0.066</td>
                <td rowspan="1" colspan="1">0.069</td>
                <td rowspan="1" colspan="1">−0.161</td>
                <td rowspan="1" colspan="1">0.282</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1">
                  <bold>ROE</bold>
                </td>
                <td rowspan="1" colspan="1">Net income / Common equity</td>
                <td rowspan="1" colspan="1">0.169</td>
                <td rowspan="1" colspan="1">0.579</td>
                <td rowspan="1" colspan="1">−2.880</td>
                <td rowspan="1" colspan="1">3.324</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1">
                  <bold>EBIT_Margin</bold>
                </td>
                <td rowspan="1" colspan="1">EBIT / Sales</td>
                <td rowspan="1" colspan="1">0.192</td>
                <td rowspan="1" colspan="1">0.136</td>
                <td rowspan="1" colspan="1">−0.261</td>
                <td rowspan="1" colspan="1">0.569</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1">
                  <bold>Gross_Margin</bold>
                </td>
                <td rowspan="1" colspan="1">(Sales − COGS) / Sales</td>
                <td rowspan="1" colspan="1">0.447</td>
                <td rowspan="1" colspan="1">0.223</td>
                <td rowspan="1" colspan="1">0.033</td>
                <td rowspan="1" colspan="1">0.949</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1">
                  <bold>CFO_to_Assets</bold>
                </td>
                <td rowspan="1" colspan="1">Operating cash flow / Total assets</td>
                <td rowspan="1" colspan="1">0.106</td>
                <td rowspan="1" colspan="1">0.070</td>
                <td rowspan="1" colspan="1">−0.056</td>
                <td rowspan="1" colspan="1">0.321</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1">
                  <bold>Accruals</bold>
                </td>
                <td rowspan="1" colspan="1">(Net income – Operating cash flow) / Total assets</td>
                <td rowspan="1" colspan="1">−0.040</td>
                <td rowspan="1" colspan="1">0.048</td>
                <td rowspan="1" colspan="1">−0.221</td>
                <td rowspan="1" colspan="1">0.117</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="6">
                  <bold>Liquidity variables</bold>
                </td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1">
                  <bold>Current_Ratio</bold>
                </td>
                <td rowspan="1" colspan="1">Current assets / Current liabilities</td>
                <td rowspan="1" colspan="1">1.631</td>
                <td rowspan="1" colspan="1">1.007</td>
                <td rowspan="1" colspan="1">0.379</td>
                <td rowspan="1" colspan="1">6.013</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1">
                  <bold>Quick_Ratio</bold>
                </td>
                <td rowspan="1" colspan="1">(Current assets − Inventory) / Current liabilities</td>
                <td rowspan="1" colspan="1">1.333</td>
                <td rowspan="1" colspan="1">0.891</td>
                <td rowspan="1" colspan="1">0.180</td>
                <td rowspan="1" colspan="1">5.413</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1">
                  <bold>Cash_Ratio</bold>
                </td>
                <td rowspan="1" colspan="1">Cash &amp; equivalents / Current liabilities</td>
                <td rowspan="1" colspan="1">0.675</td>
                <td rowspan="1" colspan="1">0.783</td>
                <td rowspan="1" colspan="1">0.009</td>
                <td rowspan="1" colspan="1">4.558</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="6">
                  <bold>Leverage variables</bold>
                </td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1">
                  <bold>Debt_to_Equity</bold>
                </td>
                <td rowspan="1" colspan="1">Total liabilities / Common Equity</td>
                <td rowspan="1" colspan="1">2.484</td>
                <td rowspan="1" colspan="1">6.028</td>
                <td rowspan="1" colspan="1">−28.976</td>
                <td rowspan="1" colspan="1">28.903</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1">
                  <bold>Debt_to_Assets</bold>
                </td>
                <td rowspan="1" colspan="1">Total liabilities / Total assets</td>
                <td rowspan="1" colspan="1">0.644</td>
                <td rowspan="1" colspan="1">0.214</td>
                <td rowspan="1" colspan="1">0.144</td>
                <td rowspan="1" colspan="1">1.272</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1">
                  <bold>Long_Term_Debt_to_Assets</bold>
                </td>
                <td rowspan="1" colspan="1">Long-term debt / Total assets</td>
                <td rowspan="1" colspan="1">0.276</td>
                <td rowspan="1" colspan="1">0.185</td>
                <td rowspan="1" colspan="1">0.000</td>
                <td rowspan="1" colspan="1">0.951</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="6">
                  <bold>Efficiency variables</bold>
                </td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1">
                  <bold>Asset_Turnover</bold>
                </td>
                <td rowspan="1" colspan="1">Sales / Total assets</td>
                <td rowspan="1" colspan="1">0.697</td>
                <td rowspan="1" colspan="1">0.608</td>
                <td rowspan="1" colspan="1">0.040</td>
                <td rowspan="1" colspan="1">3.342</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1">
                  <bold>Inventory_Turnover</bold>
                </td>
                <td rowspan="1" colspan="1">COGS / Inventory</td>
                <td rowspan="1" colspan="1">411.560</td>
                <td rowspan="1" colspan="1">953.578</td>
                <td rowspan="1" colspan="1">0.253</td>
                <td rowspan="1" colspan="1">2732.488</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1">
                  <bold>Receivables_Turnover</bold>
                </td>
                <td rowspan="1" colspan="1">Sales / Accounts receivable</td>
                <td rowspan="1" colspan="1">12.075</td>
                <td rowspan="1" colspan="1">20.744</td>
                <td rowspan="1" colspan="1">0.073</td>
                <td rowspan="1" colspan="1">133.127</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1">
                  <bold>CAPEX_to_Assets</bold>
                </td>
                <td rowspan="1" colspan="1">Capital expenditures / Total assets</td>
                <td rowspan="1" colspan="1">0.034</td>
                <td rowspan="1" colspan="1">0.034</td>
                <td rowspan="1" colspan="1">0.000</td>
                <td rowspan="1" colspan="1">0.167</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="6">
                  <bold>Market valuation variables</bold>
                </td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1">
                  <bold>Book_Value</bold>
                </td>
                <td rowspan="1" colspan="1"/>
                <td rowspan="1" colspan="1">14,759.054</td>
                <td rowspan="1" colspan="1">27,454.617</td>
                <td rowspan="1" colspan="1">−4822.789</td>
                <td rowspan="1" colspan="1">182,828.230</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1">
                  <bold>Market_Cap</bold>
                </td>
                <td rowspan="1" colspan="1"/>
                <td rowspan="1" colspan="1">49,179.189</td>
                <td rowspan="1" colspan="1">75,294.089</td>
                <td rowspan="1" colspan="1">2647.402</td>
                <td rowspan="1" colspan="1">480,021.371</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1">
                  <bold>Market_to_Book</bold>
                </td>
                <td rowspan="1" colspan="1">Market capitalization / Book Value</td>
                <td rowspan="1" colspan="1">4.881</td>
                <td rowspan="1" colspan="1">14.202</td>
                <td rowspan="1" colspan="1">−73.669</td>
                <td rowspan="1" colspan="1">74.239</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1">
                  <bold>Price_to_Earnings</bold>
                </td>
                <td rowspan="1" colspan="1">Stock price / Earnings per share</td>
                <td rowspan="1" colspan="1">25.439</td>
                <td rowspan="1" colspan="1">46.903</td>
                <td rowspan="1" colspan="1">−176.452</td>
                <td rowspan="1" colspan="1">286.697</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1">
                  <bold>Dividend_Yield</bold>
                </td>
                <td rowspan="1" colspan="1">Common dividends / Market capitalization</td>
                <td rowspan="1" colspan="1">0.018</td>
                <td rowspan="1" colspan="1">0.016</td>
                <td rowspan="1" colspan="1">0.000</td>
                <td rowspan="1" colspan="1">0.073</td>
              </tr>
            </tbody>
          </table>
          <table-wrap-foot>
            <fn>
              <p><bold>Notes</bold>: The table presents the definitions and descriptive statistics of the 21 financial variables used in the baseline models. All variables are winsorized at the 1<sup>st</sup> and 99<sup>th</sup> percentiles to mitigate the influence of outliers. The high average values for Inventory_Turnover are mainly driven by the imputation of industry-average values. This ratio frequently contains missing observations because inventory data is often unavailable. For certain asset-light or financial services firms in our sample, reported inventory may be non-zero but remains extremely small relative to operating costs. As a result, the imputation procedure can generate disproportionately large turnover ratios. Additionally, winsorization is applied after imputation, which does not fully offset the upward bias introduced during the imputation step.</p>
            </fn>
          </table-wrap-foot>
        </table-wrap>
      </sec>
      <sec sec-type="3.2. Topic modeling on 10-K filings" id="sec9">
        <title>3.2. Topic modeling on 10-K filings</title>
        <p>To identify the main themes discussed in the 10-K filings, we apply <abbrev xlink:title="Latent Dirichlet Allocation">LDA</abbrev>, a widely used unsupervised machine-learning technique (<xref ref-type="bibr" rid="B5">Blei et al. 2003</xref>). <abbrev xlink:title="Latent Dirichlet Allocation">LDA</abbrev> treats each filing as a mixture of underlying topics and each topic as a collection of words that tend to appear together. The key decision in <abbrev xlink:title="Latent Dirichlet Allocation">LDA</abbrev> is choosing the number of topics (<italic>K</italic>). Too few topics merge distinct ideas into overly broad categories; too many create specific or hard-to-interpret themes.</p>
        <p>We evaluate five candidate values <italic>K</italic> ∈ {20, 60, 100, 140, 180} covering a range from coarse to highly granular topic structures, using two complementary criteria. Perplexity provides a measure of model fit, with lower values indicating better out-of-sample performance, but it does not guarantee that topics are meaningful. As shown by <xref ref-type="bibr" rid="B32">Mimno et al. (2011)</xref>, models with strong perplexity can still produce semantically incoherent topics. To address this limitation, we complement perplexity with topic coherence (<xref ref-type="bibr" rid="B37">Röder et al. 2015</xref>), which evaluates how consistently a topic’s top words co-occur in the corpus and better reflects human interpretability. As shown in Figure <xref ref-type="fig" rid="F1">1</xref>, perplexity decreases sharply at lower values of <italic>K</italic> and then levels off between 140 and 180. Coherence scores, however, continue to rise over this interval, indicating greater interpretability without clear signs of overfitting. We therefore select <italic>K</italic> = 140 as the optimal number of topics. This choice aligns with prior work, including <xref ref-type="bibr" rid="B15">Dyer et al. (2017)</xref>, who use 150 topics.</p>
        <fig id="F1">
          <object-id content-type="arpha">CC94ABB5-CECF-5716-8356-8440B9C72442</object-id>
          <label>Figure 1.</label>
          <caption>
            <p>Selection of optimal <italic>K.</italic> Notes: This figure presents the perplexity and coherence scores for different numbers of topics. Perplexity measures the model’s predictive performance as follows:<mml:math id="M3"><mml:mi>Perplexity</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>D</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mi>exp</mml:mi><mml:mo>⁡</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mo>−</mml:mo><mml:mfrac><mml:mrow><mml:munderover><mml:mo>∑</mml:mo><mml:mrow><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>M</mml:mi></mml:munderover><mml:mi>log</mml:mi><mml:mo>⁡</mml:mo><mml:mi>p</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:munderover><mml:mo>∑</mml:mo><mml:mrow><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>M</mml:mi></mml:munderover><mml:msub><mml:mi>N</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mo>}</mml:mo></mml:mrow></mml:math> where <italic>p</italic>(<italic>w<sub>d</sub></italic>) denotes the document likelihood under the fitted model and <italic>N<sub>d</sub></italic> is the number of words in each document. We train the model on 75% of the data and then calculate the perplexity using a random hold-out sample of the remaining 25% of the observations. The coherence score is computed as follows:<mml:math id="M4"><mml:msub><mml:mi>C</mml:mi><mml:mi>v</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>N</mml:mi></mml:mfrac><mml:munderover><mml:mo>∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mi>N</mml:mi></mml:munderover><mml:munderover><mml:mo>∑</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:munderover><mml:mi>log</mml:mi><mml:mo>⁡</mml:mo><mml:mfrac><mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mi>ϵ</mml:mi></mml:mrow><mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mi>P</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mfrac></mml:math> where <italic>P</italic>(<italic>w<sub>i</sub></italic>, <italic>w<sub>j</sub></italic>) denotes the probability of terms co-occurring within a sliding window (default = 110 words) in the 10-K corpus, and 𝜖 is a smoothing constant. In a second stage, we narrow the search to <italic>K</italic> ∈ {140, 150, 160, 170, 180} to capture potential marginal gains. Untabulated results highlight that coherence increases further but only modestly. After fixing the number of topics to 140, we estimate the final <abbrev xlink:title="Latent Dirichlet Allocation">LDA</abbrev> model using Gibbs sampling with 1,000 iterations and a burn-in of 250 to ensure convergence. Hyperparameters α and β follow standard symmetric values of 50/<italic>K</italic> and 0.1, respectively.</p>
          </caption>
          <graphic xlink:href="mab-100-167-g001.jpg" id="oo_1717308.jpg">
            <uri content-type="original_file">https://binary.pensoft.net/fig/1717308</uri>
          </graphic>
        </fig>
        <p>The estimation yields two outputs: (1) the document-topic distribution matrix, which provides each 10-K’s probability distribution over the 140 topics and serves as textual features in the earnings prediction models, and (2) the top words for each topic, enabling qualitative interpretation. At this stage, we exclude filings with fewer than 100 characters after preprocessing. The final dataset comprises 5,155 firm-year observations including 495 companies over the period 2013–2023.</p>
      </sec>
      <sec sec-type="3.3. Machine learning predictive models" id="sec10">
        <title>3.3. Machine learning predictive models</title>
        <sec sec-type="3.3.1. Dataset structure" id="sec11">
          <title>
            <italic>3.3.1. Dataset structure</italic>
          </title>
          <p>Our dependent variable is a binary indicator constructed following <xref ref-type="bibr" rid="B14">Chen et al. (2022)</xref>. We examine the direction of earnings changes after adjusting for firm-specific trends. Specifically, we subtract the average EPS change over the prior four years (the drift term) from the current change. An earnings increase is then coded as 1 and a decrease as 0 based on this de-trended measure. This adjustment serves three purposes (<xref ref-type="bibr" rid="B14">Chen et al. 2022</xref>): (1) it reduces class imbalance (as raw earnings increases are more common), (2) makes the prediction task more relevant for investment decisions by removing anticipated changes, and (3) allows direct comparison with prior literature. After this procedure, the sample is nearly balanced with 2,719 observations (52.7%) indicating an earnings increase and 2,436 observations (47.3%) indicating a decrease. This distribution mitigates concerns about class imbalance, which could otherwise bias predictive model performance, and supports the use of standard machine learning algorithms and evaluation metrics.</p>
          <p>The predictive modeling framework uses a time-based data split consistent with the panel structure of the dataset, where firms appear across multiple years. The training set covers 2013–2021 (4,212 observations), and the test set covers 2022–2023 (943 observations). This temporal split serves three methodological purposes:</p>
          <list list-type="order">
            <list-item>
              <p>it prevents data leakage ensuring that information from future periods does not influence predictions;
</p>
            </list-item>
            <list-item>
              <p>it reflects real-world investment settings where forecasts rely on historical data; and
</p>
            </list-item>
            <list-item>
              <p>it provides a meaningful gap to evaluate the model’s ability to generalize beyond the training period.
</p>
            </list-item>
          </list>
          <p>To evaluate the incremental value of textual information, we estimate two models for each machine learning algorithm. The baseline model uses only the 21 financial variables presented in Table <xref ref-type="table" rid="T1">1</xref>, while the enhanced model combines these variables with the 140 topic probability distributions generated by the <abbrev xlink:title="Latent Dirichlet Allocation">LDA</abbrev> analysis of 10-K filings.</p>
        </sec>
        <sec sec-type="3.3.2. Algorithms and parameter optimization" id="sec12">
          <title>
            <italic>3.3.2. Algorithms and parameter optimization</italic>
          </title>
          <p>We employ three machine learning prediction models. First, we employ a Lasso regression (<xref ref-type="bibr" rid="B41">Tibshirani 1996</xref>). It is particularly useful in high-dimensional settings because it automatically performs variable selection and shrinks less important coefficients toward zero, which helps prevent overfitting. To select the optimal regularization parameter <italic>λ</italic>, we conduct time series cross validation that respects chronological order of the data to ensure that future observations do not predict the past – a crucial requirement in financial predictions (<xref ref-type="bibr" rid="B3">Bergmeir et al. 2016</xref>). We use five folds and perform tuning separately for the baseline and enhanced models. We select <italic>λ</italic> using the ‘1 standard error rule’ which chooses the most regularized models within one standard error of the minimum cross-validated <abbrev xlink:title="Area Under the Curve">AUC</abbrev>, yielding more parsimonious and robust models (<xref ref-type="bibr" rid="B21">Hastie et al. 2009</xref>). The selected <italic>λ</italic> values are 0.013 for the baseline model and 0.031 for the enhanced model.</p>
          <p>Second, we employ a Random Forest algorithm (<xref ref-type="bibr" rid="B6">Breiman 2001</xref>), an ensemble learning method that builds multiple decision trees and combines their predictions through majority voting. It is particularly suitable for earnings prediction because it captures complex nonlinear relationships and interactions among financial variables without requiring explicit specification of these relationships (<xref ref-type="bibr" rid="B14">Chen et al. 2022</xref>).</p>
          <p>Hyperparameter optimization focuses on two parameters: the number of trees (<italic>ntree</italic>) and the number of features considered at each split (<italic>mtry</italic>). Larger <italic>ntree</italic> improves performance at the cost of computational time, while <italic>mtry</italic> balances individual tree strength against inter-tree correlation. Following standard practice (<xref ref-type="bibr" rid="B21">Hastie et al. 2009</xref>), we conduct a grid search to identify optimal values for both parameters. Consistent with Lasso, we employ time series cross validation rather than random fold assignment. For the baseline model, the grid includes <italic>ntree</italic> ∈ {100, 200, 500, 1000} and <italic>mtry</italic> ∈ {2, 4, 6, 8} allowing exploration from highly correlated trees (large <italic>mtry</italic>) to diverse but weaker trees (small <italic>mtry</italic>). The enhanced model uses an expanded <italic>mtry</italic> ∈ {6, 8, 10, 12, 14} to accommodate the larger set of 161 features. Hyperparameter tuning selects <italic>ntree</italic> = 1000 and <italic>mtry</italic> = 6 for the baseline model, indicating that deeper trees and larger ensemble improve predictions. For the enhanced model, the optimal parameters are <italic>ntree</italic> = 500 and <italic>mtry</italic> = 14.</p>
          <p>Third, we employ XGBoost (Extreme Gradient Boosting) (<xref ref-type="bibr" rid="B13">Chen and Guestrin 2016</xref>). Like Random Forest, XGBoost is tree-based, but it builds trees sequentially, with each tree learning to correct the residual errors of its predecessors. This boosting approach iteratively improves predictions and often achieves superior performance on structured data. We tune three key parameters: (1) the number of boosting rounds (<italic>nrounds</italic>) controls ensemble size, with more rounds improving accuracy but increasing overfitting risk, (2) the maximum tree depth (<italic>max_depth</italic>) sets tree complexity, balancing the capture of nonlinear patterns and generalization and (3) the learning rate (<italic>eta</italic>) scales each tree’s contribution, with smaller values requiring more trees but improving performance. The hyperparameter search employs a grid search on those three parameters, setting <italic>subsample</italic> and <italic>colsample_bytree</italic> at 0.8 (i.e., two other parameters representing proportion of features considered for each tree) for computational efficiency. The grids are specified as maximum <italic>nrounds</italic> ∈ {100, 200, 300, 500}, <italic>max_depth</italic> ∈ {2, 4, 6, 8, 10, 12}, and <italic>eta</italic> ∈ {0.01, 0.03, 0.05, 0.10, 0.15, 0.20}. An early stopping mechanism with a patience of 10 rounds is applied to prevent overfitting, which dynamically determines the optimal number of trees rather than strictly sticking to the predefined discrete grid values. Consequently, the baseline (enhanced) model achieved optimal performance with an actual <italic>nrounds</italic> = 83 (122), <italic>max_depth</italic> = 4 (2), and <italic>eta</italic> = 0.05 (0.03). The reduced tree depth and learning rate for the enhanced model suggest that the textual features allow effective learning with simpler trees, likely due to richer feature representation from the <abbrev xlink:title="Latent Dirichlet Allocation">LDA</abbrev> topic distributions.</p>
        </sec>
        <sec sec-type="3.3.3. Evaluation metrics" id="sec13">
          <title>
            <italic>3.3.3. Evaluation metrics</italic>
          </title>
          <p>To evaluate the performance of the models in predicting the direction of earnings change, we use three widely adopted metrics: Area Under the Curve (<abbrev xlink:title="Area Under the Curve">AUC</abbrev>), Accuracy, and the F1 Score. Each metric highlights a different aspect of prediction quality and provides a balanced view of model performance.</p>
          <p><italic><abbrev xlink:title="Area Under the Curve">AUC</abbrev></italic> measures how effectively the prediction model separates firms with earnings increases from those with decreases. It is computed as the area under the Receiver Operating Characteristic (<abbrev xlink:title="Receiver Operating Characteristic">ROC</abbrev>) curve, which plots the true positive rate against the false positive rate across classification thresholds. It has the advantage of being independent of any specific probability cutoff and is widely used in prediction settings. <xref ref-type="bibr" rid="B14">Chen et al. (2022)</xref>, for example, report <abbrev xlink:title="Area Under the Curve">AUC</abbrev> values between 67.52% and 68.66%.</p>
          <p><italic>Accuracy</italic> is the simplest and most intuitive metric. It shows the percentage of correct predictions (i.e., how often the model correctly predicted the direction of the earnings change):</p>
          <p>
            <mml:math id="M1">
              <mml:mtext> Accuracy </mml:mtext>
              <mml:mo>=</mml:mo>
              <mml:mfrac>
                <mml:mrow>
                  <mml:mi>T</mml:mi>
                  <mml:mi>P</mml:mi>
                  <mml:mo>+</mml:mo>
                  <mml:mi>T</mml:mi>
                  <mml:mi>N</mml:mi>
                </mml:mrow>
                <mml:mrow>
                  <mml:mi>T</mml:mi>
                  <mml:mi>P</mml:mi>
                  <mml:mo>+</mml:mo>
                  <mml:mi>T</mml:mi>
                  <mml:mi>N</mml:mi>
                  <mml:mo>+</mml:mo>
                  <mml:mi>F</mml:mi>
                  <mml:mi>P</mml:mi>
                  <mml:mo>+</mml:mo>
                  <mml:mi>F</mml:mi>
                  <mml:mi>N</mml:mi>
                </mml:mrow>
              </mml:mfrac>
            </mml:math>
          </p>
          <p>where <italic>TP</italic> and <italic>TN</italic> denote true positives and true negatives, respectively, and <italic>FP</italic> and <italic>FN</italic> denote false positives and false negatives.</p>
          <p>The <italic>F1 Score</italic> combines precision (how many of the firms predicted to increase earnings actually did) and recall (how many of the firms that actually increased earnings were correctly identified by the model):</p>
          <p>
            <mml:math id="M2">
              <mml:mtext> F1 Score </mml:mtext>
              <mml:mo>=</mml:mo>
              <mml:mn>2</mml:mn>
              <mml:mo>×</mml:mo>
              <mml:mfrac>
                <mml:mtext> Precision × Recall </mml:mtext>
                <mml:mrow>
                  <mml:mtext> Precision </mml:mtext>
                  <mml:mo>+</mml:mo>
                  <mml:mtext> Recall </mml:mtext>
                </mml:mrow>
              </mml:mfrac>
            </mml:math>
          </p>
          <p>It offers a balanced evaluation of performance when false positives and false negatives carry similar importance. It is also particularly useful when class distributions are imbalanced, although in our nearly balanced sample it serves as a complementary measure.</p>
        </sec>
      </sec>
    </sec>
    <sec sec-type="4. Results" id="sec14">
      <title>4. Results</title>
      <sec sec-type="4.1. Predictive power of narratives in 10-K filings" id="sec15">
        <title>4.1. Predictive power of narratives in 10-K filings</title>
        <p>The empirical results provide mixed evidence on the incremental predictive power of narratives from 10-K filings for predicting earnings changes. Table <xref ref-type="table" rid="T2">2</xref> presents the performance metrics for all six model configurations. XGBoost outperforms both Lasso regression and Random Forest, with the baseline model achieving the highest performance across all metrics: <abbrev xlink:title="Area Under the Curve">AUC</abbrev> = 0.750, Accuracy = 0.695, and F1 Score = 0.699. This finding is consistent with recent machine learning literature emphasizing the superior performance of gradient boosting methods for structured prediction tasks (<xref ref-type="bibr" rid="B14">Chen et al. 2022</xref>).</p>
        <table-wrap id="T2" position="float" orientation="portrait">
          <label>Table 2.</label>
          <caption>
            <p>Predictive performance of models on the test data.</p>
          </caption>
          <table>
            <tbody>
              <tr>
                <th rowspan="2" colspan="1"/>
                <th rowspan="1" colspan="2">
                  <bold>Lasso</bold>
                </th>
                <th rowspan="1" colspan="2">
                  <bold>Random Forest</bold>
                </th>
                <th rowspan="1" colspan="2">
                  <bold>XGBoost</bold>
                </th>
              </tr>
              <tr>
                <th rowspan="1" colspan="1">
                  <bold>Baseline</bold>
                </th>
                <th rowspan="1" colspan="1">
                  <bold>Enhanced</bold>
                </th>
                <th rowspan="1" colspan="1">
                  <bold>Baseline</bold>
                </th>
                <th rowspan="1" colspan="1">
                  <bold>Enhanced</bold>
                </th>
                <th rowspan="1" colspan="1">
                  <bold>Baseline</bold>
                </th>
                <th rowspan="1" colspan="1">
                  <bold>Enhanced</bold>
                </th>
              </tr>
              <tr>
                <td rowspan="1" colspan="1">
                  <abbrev xlink:title="Area Under the Curve">AUC</abbrev>
                </td>
                <td rowspan="1" colspan="1">0.676</td>
                <td rowspan="1" colspan="1">0.654</td>
                <td rowspan="1" colspan="1">0.733</td>
                <td rowspan="1" colspan="1">0.714</td>
                <td rowspan="1" colspan="1">0.750</td>
                <td rowspan="1" colspan="1">0.737</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1">Accuracy</td>
                <td rowspan="1" colspan="1">0.623</td>
                <td rowspan="1" colspan="1">0.592</td>
                <td rowspan="1" colspan="1">0.667</td>
                <td rowspan="1" colspan="1">0.664</td>
                <td rowspan="1" colspan="1">0.695</td>
                <td rowspan="1" colspan="1">0.672</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1">F1 Score</td>
                <td rowspan="1" colspan="1">0.651</td>
                <td rowspan="1" colspan="1">0.652</td>
                <td rowspan="1" colspan="1">0.667</td>
                <td rowspan="1" colspan="1">0.674</td>
                <td rowspan="1" colspan="1">0.699</td>
                <td rowspan="1" colspan="1">0.695</td>
              </tr>
            </tbody>
          </table>
          <table-wrap-foot>
            <fn>
              <p>Notes: This table presents the predictive performance of three algorithms (Lasso, Random Forest, and XGBoost) using two feature sets (enhanced and baseline). Performance is assessed with three metrics: <abbrev xlink:title="Area Under the Curve">AUC</abbrev>, Accuracy, and F1 Score.</p>
            </fn>
          </table-wrap-foot>
        </table-wrap>
        <p>Contrary to expectations, the enhanced models, incorporating 140 <abbrev xlink:title="Latent Dirichlet Allocation">LDA</abbrev>-derived topic features alongside financial variables, generally exhibit slightly lower performance than the baseline models using only financial variables. This pattern is consistent across <abbrev xlink:title="Area Under the Curve">AUC</abbrev> and Accuracy metrics, where enhanced models underperform baseline models. Specifically, the <abbrev xlink:title="Area Under the Curve">AUC</abbrev> (Accuracy) declines from 0.676 to 0.654 (0.623 to 0.592) for Lasso, from 0.733 to 0.714 (0.667 to 0.664) for Random Forest and from 0.750 to 0.737 (0.695 to 0.672) for XGBoost. The F1 Score metric presents a more nuanced picture, showing minor improvements for Lasso and Random Forest enhanced models (0.651 to 0.652 and 0.667 to 0.674, respectively). Overall, these findings suggest that the relationship between narratives and earnings changes is complex. While incorporating <abbrev xlink:title="Latent Dirichlet Allocation">LDA</abbrev>-derived topic features can yield modest gains on a specific metric, using 140 topics does not provide systematic incremental predictive power beyond traditional financial variables.</p>
        <p>We then conduct two untabulated robustness tests. First, we examine whether including COVID-19 years influences model performance. We re-estimate the models using 2013–2019 as the training period and 2023 as the test period, thereby excluding 2020–2022. The results are consistent with the main findings, with baseline models outperforming their enhanced counterparts across all three algorithms. Second, we investigate whether the high dimensionality of <abbrev xlink:title="Latent Dirichlet Allocation">LDA</abbrev> explains the lack of incremental predictive value. Reducing the number of topics from 140 to 100 yields mixed results. Random Forest exhibits improved prediction with 100 topics, whereas XGBoost continues to underperform, and Lasso remains largely unchanged.</p>
      </sec>
      <sec sec-type="4.2. Topics in 10-K filings predictive of earnings changes" id="sec16">
        <title>4.2. Topics in 10-K filings predictive of earnings changes</title>
        <p>We examine feature importance when using the enhanced XGBoost model. Figure <xref ref-type="fig" rid="F2">2</xref> reports the top 20 features. Traditional financial ratios – particularly price-to-earnings ratio, ROA, accruals, and gross margin – dominate the ranking, while the most important topic features exhibit low importance. This result is consistent with prior earnings-prediction research (<xref ref-type="bibr" rid="B33">Ou and Penman 1989</xref>; <xref ref-type="bibr" rid="B14">Chen et al. 2022</xref>) and highlights the continued relevance of structured financial information relative to narrative disclosures.</p>
        <fig id="F2">
          <object-id content-type="arpha">AC9A8231-EF5F-5C72-9C5A-F326DAAAE571</object-id>
          <label>Figure 2.</label>
          <caption>
            <p>XGBoost – Top 20 most important features. Notes: The different scales on the horizontal axis reflect distinct feature importance. XGBoost uses relative gain (0–1 scale).</p>
          </caption>
          <graphic xlink:href="mab-100-167-g002.jpg" id="oo_1717309.jpg">
            <uri content-type="original_file">https://binary.pensoft.net/fig/1717309</uri>
          </graphic>
        </fig>
        <p>To evaluate the contribution of narratives, we further inspect the top 40 topic features from the XGBoost model with 140 topics in Figure <xref ref-type="fig" rid="F3">3</xref>. Since <abbrev xlink:title="Latent Dirichlet Allocation">LDA</abbrev> provides word distributions rather than semantic labels, topic interpretation relies on qualitative assessment of each topic’s most important words. The examination of topic composition reveals several meaningful patterns that contribute to the prediction of earnings changes.</p>
        <fig id="F3">
          <object-id content-type="arpha">7144608B-BB73-56CD-9EE5-C21E0204C900</object-id>
          <label>Figure 3.</label>
          <caption>
            <p>XGBoost – Top 40 most important topic features. Notes: The different scales on the horizontal axis reflects distinct feature importance. XGBoost uses relative gain (0–1 scale).</p>
          </caption>
          <graphic xlink:href="mab-100-167-g003.jpg" id="oo_1717310.jpg">
            <uri content-type="original_file">https://binary.pensoft.net/fig/1717310</uri>
          </graphic>
        </fig>
        <p>A first pattern is that many influential topics capture industry-specific disclosure language. Examples include topics related to healthcare and pharmaceuticals (Topics 118, 36, 70, 61, 108), energy and utilities (Topics 62, 87, 93, 40, 111), and technology-related themes (Topics 81, 7, 127). For instance, words in Topic 118 include ‘fertility’, ‘kidney’, ‘capitation’, and ‘practitioner’ and words in Topic 62 include ‘liquefaction’, ‘compressor’, and ‘energy’. This suggests that industry-specific linguistic patterns may embed information relevant for predicting earnings changes. Within these industry-oriented patterns, some topics further capture detailed elements of firms’ business models and operations. For instance, Topic 78 (Retail &amp; Product Assortment) includes keywords such as ‘assortment’, ‘markdown’, and ‘ecommerce’, pointing to retail merchandising and store-format adjustments. Topic 44 (Real Estate &amp; Land Development) features ‘tract’, ‘propco’, and ‘plat’, reflecting land development and property-holding structures. Topic 87 (Renewable Energy Technology) is defined by technical terms such as ‘microinverter’, ‘inverter’, and ‘connector’, capturing solar-energy hardware disclosures. These operational themes suggest that <abbrev xlink:title="Latent Dirichlet Allocation">LDA</abbrev> extracts variation in firms’ activities that is not fully captured by financial variables. Second, beyond industry-specific themes, several topics reflect functional aspects of complex financial and governance practices. For instance, Topic 106 (Financial Instruments) encompasses specialized banking and regulatory terminology, including words such as ‘noncumulative’ (non-cumulative preferred shares), ‘tlac’ (Total Loss-Absorbing Capacity requirements), and ‘hqla’ (High-Quality Liquid Assets). Topic 49 (Corporate Governance) contains procedural language related to shareholder meetings and securities administration, such as ‘adjourn’, ‘securityholder’ and ‘CUSIP’.</p>
      </sec>
      <sec sec-type="4.3. Sections in 10-K filings predictive of earnings changes" id="sec17">
        <title>4.3. Sections in 10-K filings predictive of earnings changes</title>
        <p>We conduct a section-level analysis to examine how the most important topics are distributed across different sections of the 10-K filings. After identifying each section, we compute the average term frequency for every section type across all filings in the sample. To assess the predictive relevance of each section, we compute cosine similarity scores between the 40 most important topics identified through XGBoost and the term distributions of each 10-K section. This approach allows us to map topics to their most likely source sections without re-estimating separate topic models for individual sections, thereby maintaining consistency with the main analysis.</p>
        <p>Figure <xref ref-type="fig" rid="F4">4</xref> presents the distribution of important topics across 10-K sections. The results reveal that Management’s Discussion and Analysis contains the highest concentration of predictive topics, capturing more than 25 of the 40 most important topics. The next most influential sections are Risk Factors (7 topics) and Controls and Procedures (4 topics).</p>
        <fig id="F4">
          <object-id content-type="arpha">C07AB104-D34A-56B4-9FEF-B825FB7F7245</object-id>
          <label>Figure 4.</label>
          <caption>
            <p>Number of important topics associated with each 10-K section. Notes: The horizontal axis reflects the number of important topics, obtained with XGBoost, associated with each 10-K section.</p>
          </caption>
          <graphic xlink:href="mab-100-167-g004.jpg" id="oo_1717311.jpg">
            <uri content-type="original_file">https://binary.pensoft.net/fig/1717311</uri>
          </graphic>
        </fig>
      </sec>
    </sec>
    <sec sec-type="5. Discussion and conclusion" id="sec18">
      <title>5. Discussion and conclusion</title>
      <p>We extend recent earnings prediction research (<xref ref-type="bibr" rid="B14">Chen et al. 2022</xref>) by incorporating full- document topic distributions extracted using <abbrev xlink:title="Latent Dirichlet Allocation">LDA</abbrev> as explanatory variables in machine learning models. Overall, we find that incorporating topic features derived from <abbrev xlink:title="Latent Dirichlet Allocation">LDA</abbrev> analysis of 10-K filings offers limited incremental predictive value beyond traditional financial variables. Across several machine learning models, including Lasso, Random Forest, and XGBoost, adding the topic features does not substantially improve performance and frequently even reduces it. Regarding our three research questions, we find that: (1) narrative disclosures in 10-K filings offer only modest and inconsistent incremental power for predicting earnings changes; (2) certain topics, particularly those capturing industry-specific operations and business model details, provide stronger predictive power than others; and (3) predictive content is concentrated in specific sections, <abbrev xlink:title="Management’s Discussion and Analysis">MD&amp;A</abbrev> and Risk Factors contributing the most, albeit modestly.</p>
      <sec sec-type="5.1. Implications for practitioners" id="sec19">
        <title>5.1. Implications for practitioners</title>
        <p>For practitioners, the implications are threefold:</p>
        <list list-type="order">
          <list-item>
            <p><italic>The targeted use of narrative disclosures may still provide qualitative value</italic>. The higher relevance of certain sections suggests that analysts should focus selectively on these portions rather than ingesting entire filings. Such prioritization can enhance efficiency while preserving the most decision-relevant insights.
                    </p>
          </list-item>
          <list-item>
            <p><italic>Our findings highlight important caveats regarding automation</italic>. Automated textual features can introduce noise and methodological sensitivity – for example, through choices related to topic modeling parameters or preprocessing techniques. Practitioners should rigorously validate any text-augmented model using out-of-sample testing and benchmark its performance against traditional approaches using economically meaningful metrics. This caution extends to the broader adoption of modern AI systems, which often function as black boxes and require careful scrutiny before integration into decision-making processes.
                    </p>
          </list-item>
          <list-item>
            <p><italic>Corporate narratives frequently echo quantitative disclosures or contain low-information content</italic>. As a result, for most investment and valuation workflows, the marginal benefit of systematically incorporating narrative data appears limited. In many cases, these benefits may not justify the additional complexity, implementation challenges, and data-processing costs involved.
                    </p>
          </list-item>
        </list>
        <p>Conceptually, the results suggest an information redundancy interpretation: narrative disclosures in 10-K filings may largely echo information already incorporated in traditional financial metrics. This interpretation is consistent with prior evidence that narrative disclosures often contain boilerplate and low-information content (<xref ref-type="bibr" rid="B15">Dyer et al. 2017</xref>), and with the idea that management may strategically obfuscate poor performance by increasing textual complexity (<xref ref-type="bibr" rid="B26">Li 2008</xref>). Predictive information appears to be localized in specific sections, and whole-document analysis may dilute these concentrated signals, consistent with the evidence in <xref ref-type="bibr" rid="B10">Campbell et al. (2014)</xref>. From a practical perspective, our findings provide regulators, such as the SEC, with empirical guidance on which sections of the 10-K might convey information most relevant for investors, potentially motivating refinements to disclosure standards that discourage excessive boilerplate while reinforcing economically meaningful content.</p>
        <p>At the same time, the mixed predictive results highlight the instability and limited robustness of textual features in earnings prediction in this context. Whether these results generalize to non-US settings remains an open question. On one hand, the structured nature of US disclosures makes narrative information easier to compare and analyze. On the other hand, less structured reporting in other settings may provide firms with greater opportunities to disclose unique, non-boilerplate information. Model performance is sensitive to methodological choices, particularly the number of topics, reflecting well-established concerns over topic-modeling instability and the challenges of extracting reliable signals from high-dimensional text (<xref ref-type="bibr" rid="B19">Greene et al. 2014</xref>; <xref ref-type="bibr" rid="B25">Lewis and Young 2019</xref>). While dimension reduction techniques can improve performance for specific algorithms, the overall pattern suggests that the incremental value of <abbrev xlink:title="Latent Dirichlet Allocation">LDA</abbrev>-derived features remains modest. Alternatively, the limited incremental value of textual features may reflect a temporal mismatch: narratives could be more informative for multi-year horizons rather than immediate annual earnings changes. Further research could disentangle between the two explanations.</p>
      </sec>
      <sec sec-type="5.2. Limitations" id="sec20">
        <title>5.2. Limitations</title>
        <p>Our study contains several limitations. First, the limited predictive value of <abbrev xlink:title="Latent Dirichlet Allocation">LDA</abbrev>-derived topics partly reflects methodological constraints inherent in standard unsupervised topic modeling. The bag-of-words representation disregards word order and syntax, leading to information loss when converting qualitative text into quantitative features (<xref ref-type="bibr" rid="B30">Loughran and McDonald 2016</xref>). <abbrev xlink:title="Latent Dirichlet Allocation">LDA</abbrev> assumes that each document is a mixture of latent topics optimized for textual coherence rather than predictive accuracy (<xref ref-type="bibr" rid="B40">Taddy 2013</xref>), which may cause misalignment with financially relevant information. Future work could explore transformer-based models (e.g., BERT or FinBERT) to better capture the semantic and rhetorical structure of narrative disclosures. Second, many extracted topics resemble industry labels dominated by sector-specific jargon, suggesting that <abbrev xlink:title="Latent Dirichlet Allocation">LDA</abbrev> predominantly captures broad industry traits rather than firm-level signals. This dilution is especially pronounced in cross-industry samples, highlighting the potential value of industry-specific topic modeling. Third, topic modeling remains highly sensitive to the number of topics. Despite using grid search and perplexity-coherence metrics, topic interpretability and predictive performance vary substantially across specifications, illustrating trade-offs between interpretability, granularity, and model fit. These limitations suggest that more nuanced approaches, such as supervised <abbrev xlink:title="Latent Dirichlet Allocation">LDA</abbrev> (<xref ref-type="bibr" rid="B18">Gentzkow et al. 2019</xref>), embedding-based representations (<xref ref-type="bibr" rid="B24">Huang et al. 2023</xref>), or stability-enhancing methods (<xref ref-type="bibr" rid="B19">Greene et al. 2014</xref>), may better capture the economic substance of narrative disclosures.</p>
        <boxed-text id="box1">
          <p><bold>Zixian Yin</bold> is an alumnus of the MSc Business Analytics &amp; Management, Rotterdam School of Management, Erasmus University Rotterdam.Zixian Yin is one of the winners of the MAB Thesis Award 2025. This article is based on her master thesis.</p>
        </boxed-text>
        <boxed-text id="box2">
          <p><bold>Dr. A. Madelaine – Alexandre</bold> is an Assistant Professor of Accounting, Rotterdam School of Management, Erasmus University Rotterdam.</p>
        </boxed-text>
      </sec>
    </sec>
  </body>
  <back>
    <fn-group>
      <title>Note</title>
      <fn id="en1">
        <p><ext-link xlink:href="https://sraf.nd.edu/sec-edgar-data/cleaned-10x-files" ext-link-type="uri">https://sraf.nd.edu/sec-edgar-data/cleaned-10x-files</ext-link>.</p>
      </fn>
    </fn-group>
    <ref-list>
      <title>References</title>
      <ref id="B1">
        <mixed-citation>Ahn J, Hoitash R, Hoitash U (2022) Are words beneficial to the consumption of numbers in financial reports? SSRN Working Paper. <ext-link xlink:href="10.2139/ssrn.3582662" ext-link-type="doi">https://doi.org/10.2139/ssrn.3582662</ext-link></mixed-citation>
      </ref>
      <ref id="B2">
        <mixed-citation>Allee KD, Do C, Do H (2023) Contextualization of numbers in earnings conference calls. SSRN Working Paper. <ext-link xlink:href="10.2139/ssrn.3867023" ext-link-type="doi">https://doi.org/10.2139/ssrn.3867023</ext-link></mixed-citation>
      </ref>
      <ref id="B3">
        <mixed-citation>Bergmeir C, Hyndman RJ, Benítez JM (2016) Bagging exponential smoothing methods using STL decomposition and Box–Cox transformation. International Journal of Forecasting 32(2): 303–312. <ext-link xlink:href="10.1016/j.ijforecast.2015.07.002" ext-link-type="doi">https://doi.org/10.1016/j.ijforecast.2015.07.002</ext-link></mixed-citation>
      </ref>
      <ref id="B4">
        <mixed-citation>Beyer A, Cohen DA, Lys TZ, Walther BR (2010) The financial reporting environment: Review of the recent literature. Journal of Accounting and Economics 50(2–3): 296–343. <ext-link xlink:href="10.1016/j.jacceco.2010.10.003" ext-link-type="doi">https://doi.org/10.1016/j.jacceco.2010.10.003</ext-link></mixed-citation>
      </ref>
      <ref id="B5">
        <mixed-citation>Blei DM, Ng AY, Jordan MI (2003) Latent dirichlet allocation. Journal of Machine Learning Research 3: 993–1022. https://dl.acm.org/doi/10.5555/944919.944937</mixed-citation>
      </ref>
      <ref id="B6">
        <mixed-citation>Breiman L (2001) Random forests. Machine Learning 45(1): 5–32. <ext-link xlink:href="10.1023/A:1010933404324" ext-link-type="doi">https://doi.org/10.1023/A:1010933404324</ext-link></mixed-citation>
      </ref>
      <ref id="B7">
        <mixed-citation>Brockman P, Cicon J (2013) The information content of management earnings forecasts: An analysis of hard versus soft information. Journal of Financial Research 36(2): 147–174. <ext-link xlink:href="10.1111/j.1475-6803.2013.12006.x" ext-link-type="doi">https://doi.org/10.1111/j.1475-6803.2013.12006.x</ext-link></mixed-citation>
      </ref>
      <ref id="B8">
        <mixed-citation>Brown NC, Crowley RM, Elliott WB (2020) What are you saying? Using topic to detect financial misreporting. Journal of Accounting Research 58(1): 237–291. <ext-link xlink:href="10.1111/1475-679X.12294" ext-link-type="doi">https://doi.org/10.1111/1475-679X.12294</ext-link></mixed-citation>
      </ref>
      <ref id="B9">
        <mixed-citation>Brown SV, Tucker JW (2011) Large-sample evidence on firms’ year-over-year MD&amp;A modifications. Journal of Accounting Research 49(2): 309–346. <ext-link xlink:href="10.1111/j.1475-679X.2010.00396.x" ext-link-type="doi">https://doi.org/10.1111/j.1475-679X.2010.00396.x</ext-link></mixed-citation>
      </ref>
      <ref id="B10">
        <mixed-citation>Campbell JL, Chen H, Dhaliwal DS, Lu H, Steele LB (2014) The information content of mandatory risk factor disclosures in corporate filings. Review of Accounting Studies 19(1): 396–455. <ext-link xlink:href="10.1007/s11142-013-9258-3" ext-link-type="doi">https://doi.org/10.1007/s11142-013-9258-3</ext-link></mixed-citation>
      </ref>
      <ref id="B11">
        <mixed-citation>Campbell JL, Zheng X, Zhou D (2025) Number of numbers: Does a greater proportion of quantitative textual disclosure reduce information risk? Journal of Corporate Finance 94: 102813. <ext-link xlink:href="10.1016/j.jcorpfin.2025.102813" ext-link-type="doi">https://doi.org/10.1016/j.jcorpfin.2025.102813</ext-link></mixed-citation>
      </ref>
      <ref id="B12">
        <mixed-citation>Chen AY, McCoy J (2024) Missing values handling for machine learning portfolios. Journal of Financial Economics 155: 103815. <ext-link xlink:href="10.1016/j.jfineco.2024.103815" ext-link-type="doi">https://doi.org/10.1016/j.jfineco.2024.103815</ext-link></mixed-citation>
      </ref>
      <ref id="B13">
        <mixed-citation>Chen T, Guestrin C (2016) XGBoost: A scalable tree boosting system. Proceedings of the 22<sup>nd</sup> ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 785–794. <ext-link xlink:href="10.1145/2939672.2939785" ext-link-type="doi">https://doi.org/10.1145/2939672.2939785</ext-link></mixed-citation>
      </ref>
      <ref id="B14">
        <mixed-citation>Chen X, Cho YH, Dou Y, Lev B (2022) Predicting future earnings changes using machine learning and detailed financial data. Journal of Accounting Research 60(2): 467–515. <ext-link xlink:href="10.1111/1475-679X.12429" ext-link-type="doi">https://doi.org/10.1111/1475-679X.12429</ext-link></mixed-citation>
      </ref>
      <ref id="B15">
        <mixed-citation>Dyer T, Lang M, Stice-Lawrence L (2017) The evolution of 10-K textual disclosure: Evidence from Latent Dirichlet Allocation. Journal of Accounting and Economics 64(2–3): 221–245. <ext-link xlink:href="10.1016/j.jacceco.2017.07.002" ext-link-type="doi">https://doi.org/10.1016/j.jacceco.2017.07.002</ext-link></mixed-citation>
      </ref>
      <ref id="B16">
        <mixed-citation>Engelberg J (2008) Costly information processing: Evidence from earnings announcements. AFA 2009 San Francisco Meetings Paper. <ext-link xlink:href="10.2139/ssrn.1107998" ext-link-type="doi">https://doi.org/10.2139/ssrn.1107998</ext-link></mixed-citation>
      </ref>
      <ref id="B17">
        <mixed-citation>Feuerriegel S, Ratku A, Neumann D (2016) Analysis of how underlying topics in financial news affect stock prices using Latent Dirichlet Allocation. Proceedings of the 2016 49<sup>th</sup> Hawaii International Conference on System Sciences (HICSS), 1072–1081. <ext-link xlink:href="10.1109/HICSS.2016.137" ext-link-type="doi">https://doi.org/10.1109/HICSS.2016.137</ext-link></mixed-citation>
      </ref>
      <ref id="B18">
        <mixed-citation>Gentzkow M, Kelly B, Taddy M (2019) Text as data. Journal of Economic Literature 57(3): 535–574. <ext-link xlink:href="10.1257/jel.20181020" ext-link-type="doi">https://doi.org/10.1257/jel.20181020</ext-link></mixed-citation>
      </ref>
      <ref id="B19">
        <mixed-citation>Greene D, O’Callaghan D, Cunningham P (2014) How many topics? Stability analysis for topic models. In: Calders T, Esposito F, Hüllermeier E, Meo R (Eds) Machine Learning and Knowledge Discovery in Databases 8724: 498–513. <ext-link xlink:href="10.1007/978-3-662-44848-9_32" ext-link-type="doi">https://doi.org/10.1007/978-3-662-44848-9_32</ext-link></mixed-citation>
      </ref>
      <ref id="B20">
        <mixed-citation>Hanley KW, Hoberg G (2010) The information content of IPO prospectuses. The Review of Financial Studies 23(7): 2821–2864. <ext-link xlink:href="10.1093/rfs/hhq024" ext-link-type="doi">https://doi.org/10.1093/rfs/hhq024</ext-link></mixed-citation>
      </ref>
      <ref id="B21">
        <mixed-citation>Hastie T, Tibshirani R, Friedman J (2009) The elements of statistical learning: Data mining, inference, and prediction. Springer, New York, 2<sup>nd</sup> edition. <ext-link xlink:href="10.1007/978-0-387-84858-7" ext-link-type="doi">https://doi.org/10.1007/978-0-387-84858-7</ext-link></mixed-citation>
      </ref>
      <ref id="B22">
        <mixed-citation>Huang AH, Zang AY, Zheng R (2014) Evidence on the information content of text in analyst reports. The Accounting Review 89(6): 2151–2180. <ext-link xlink:href="10.2308/accr-50833" ext-link-type="doi">https://doi.org/10.2308/accr-50833</ext-link></mixed-citation>
      </ref>
      <ref id="B23">
        <mixed-citation>Huang AH, Lehavy R, Zang AY, Zheng R (2018) Analyst information discovery and interpretation roles: A topic modeling approach. Management Science 64(6): 2833–2855. <ext-link xlink:href="10.1287/mnsc.2017.2751" ext-link-type="doi">https://doi.org/10.1287/mnsc.2017.2751</ext-link></mixed-citation>
      </ref>
      <ref id="B24">
        <mixed-citation>Huang AH, Wang H, Yang Y (2023) FinBERT: A large language model for extracting information from financial text. Contemporary Accounting Research 40(2): 806–841. <ext-link xlink:href="10.1111/1911-3846.12832" ext-link-type="doi">https://doi.org/10.1111/1911-3846.12832</ext-link></mixed-citation>
      </ref>
      <ref id="B25">
        <mixed-citation>Lewis C, Young S (2019) Fad or future? Automated analysis of financial text and its implications for corporate reporting. Accounting and Business Research 49(5): 587–615. <ext-link xlink:href="10.1080/00014788.2019.1611730" ext-link-type="doi">https://doi.org/10.1080/00014788.2019.1611730</ext-link></mixed-citation>
      </ref>
      <ref id="B26">
        <mixed-citation>Li F (2008) Annual report readability, current earnings, and earnings persistence. Journal of Accounting and Economics 45(2–3): 221–247. <ext-link xlink:href="10.1016/j.jacceco.2008.02.003" ext-link-type="doi">https://doi.org/10.1016/j.jacceco.2008.02.003</ext-link></mixed-citation>
      </ref>
      <ref id="B27">
        <mixed-citation>Li F (2010) Textual analysis of corporate disclosures: A survey of the literature. Journal of Accounting Literature 29(1): 143–165.</mixed-citation>
      </ref>
      <ref id="B28">
        <mixed-citation>Liberti JM, Petersen MA (2019) Information: Hard and soft. The Review of Corporate Finance Studies 8(1): 1–41. <ext-link xlink:href="10.1093/rcfs/cfy009" ext-link-type="doi">https://doi.org/10.1093/rcfs/cfy009</ext-link></mixed-citation>
      </ref>
      <ref id="B29">
        <mixed-citation>Loughran T, McDonald B (2011) When is a liability not a liability? Textual analysis, dictionaries, and 10-Ks. The Journal of Finance 66(1): 35–65. <ext-link xlink:href="10.1111/j.1540-6261.2010.01625.x" ext-link-type="doi">https://doi.org/10.1111/j.1540-6261.2010.01625.x</ext-link></mixed-citation>
      </ref>
      <ref id="B30">
        <mixed-citation>Loughran T, McDonald B (2016) Textual analysis in accounting and finance: A survey. Journal of Accounting Research 54(4): 1187–1230. <ext-link xlink:href="10.1111/1475-679X.12123" ext-link-type="doi">https://doi.org/10.1111/1475-679X.12123</ext-link></mixed-citation>
      </ref>
      <ref id="B31">
        <mixed-citation>Madelaine A, Paugam L, Stolowy H, Zhao W (2026) Investors’ quantitative disclosure: Target prices by short sellers. European Accounting Review 35(3): 879–914. <ext-link xlink:href="10.1080/09638180.2025.2585051" ext-link-type="doi">https://doi.org/10.1080/09638180.2025.2585051</ext-link></mixed-citation>
      </ref>
      <ref id="B32">
        <mixed-citation>Mimno D, Wallach H, Talley E, Leenders M, McCallum A (2011) Optimizing semantic coherence in topic models. Proceedings of the Conference on Empirical Methods in Natural Language Processing, 262–272. https://dl.acm.org/doi/10.5555/2145432.2145462</mixed-citation>
      </ref>
      <ref id="B33">
        <mixed-citation>Ou JA, Penman SH (1989) Financial statement analysis and the prediction of stock returns. Journal of Accounting and Economics 11(4): 295–329. <ext-link xlink:href="10.1016/0165-4101(89)90017-7" ext-link-type="doi">https://doi.org/10.1016/0165-4101(89)90017-7</ext-link></mixed-citation>
      </ref>
      <ref id="B34">
        <mixed-citation>Penman SH (2013) Financial statement analysis and security valuation. McGraw-Hill Education, 5<sup>th</sup> edition.</mixed-citation>
      </ref>
      <ref id="B35">
        <mixed-citation>Penman SH, Zhang XJ (2006) Modeling sustainable earnings and P/E ratios with financial statement analysis. SSRN Working Paper. <ext-link xlink:href="10.2139/ssrn.318967" ext-link-type="doi">https://doi.org/10.2139/ssrn.318967</ext-link></mixed-citation>
      </ref>
      <ref id="B36">
        <mixed-citation>Piotroski JD (2000) Value investing: The use of historical financial statement information to separate winners from losers. Journal of Accounting Research 38: 1–41. <ext-link xlink:href="10.2307/2672906" ext-link-type="doi">https://doi.org/10.2307/2672906</ext-link></mixed-citation>
      </ref>
      <ref id="B37">
        <mixed-citation>Röder M, Both A, Hinneburg A (2015) Exploring the space of topic coherence measures. Proceedings of the Eighth ACM International Conference on Web Search and Data Mining, 399–408. <ext-link xlink:href="10.1145/2684822.2685324" ext-link-type="doi">https://doi.org/10.1145/2684822.2685324</ext-link></mixed-citation>
      </ref>
      <ref id="B38">
        <mixed-citation>Sloan RG (1996) Do stock prices fully reflect information in accruals and cash flows about future earnings? The Accounting Review 71(3): 289–315. <ext-link xlink:href="10.2308/tar-9608042309" ext-link-type="doi">https://doi.org/10.2308/tar-9608042309</ext-link></mixed-citation>
      </ref>
      <ref id="B39">
        <mixed-citation>S&amp;P Global (2025) S&amp;P 500 factsheet. <ext-link xlink:href="https://www.spglobal.com/spdji/en/indices/equity/sp-500" ext-link-type="uri">https://www.spglobal.com/spdji/en/indices/equity/sp-500</ext-link></mixed-citation>
      </ref>
      <ref id="B40">
        <mixed-citation>Taddy M (2013) Multinomial inverse regression for text analysis. Journal of the American Statistical Association 108(503): 755–770. <ext-link xlink:href="10.1080/01621459.2012.734168" ext-link-type="doi">https://doi.org/10.1080/01621459.2012.734168</ext-link></mixed-citation>
      </ref>
      <ref id="B41">
        <mixed-citation>Tibshirani R (1996) Regression shrinkage and selection via the Lasso. Journal of the Royal Statistical Society: Series B (Methodological) 58(1): 267–288. <ext-link xlink:href="10.1111/j.2517-6161.1996.tb02080.x" ext-link-type="doi">https://doi.org/10.1111/j.2517-6161.1996.tb02080.x</ext-link></mixed-citation>
      </ref>
      <ref id="B42">
        <mixed-citation>Viswanathan M, Childers TL (1996) Processing of numerical and verbal product information. Journal of Consumer Psychology 5(4): 359–385. <ext-link xlink:href="10.1207/s15327663jcp0504_03" ext-link-type="doi">https://doi.org/10.1207/s15327663jcp0504_03</ext-link></mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>
