Daily Tech Briefing
AI 科技速览

每天 5 分钟内学习 AI。获取最新的人工智能新闻,理解其重要性,并学习如何将其应用于您的工作。

AI 快讯
Dev.to AI · 2026/8/4 13:50:00

Explaining Stock Returns with the Fama-French 5 Factor Model

AI 中文解读
英伟达的股价涨跌,终于能被传统金融模型“看透”了。最新测试显示,一个经典的股票分析框架——五因子模型,在2023年只能解释英伟达35%的股价波动,到了2024年却能解释82%。这意味着,英伟达此前的暴涨并非靠公司基本面,而是市场突然意识到“显卡荒”会重塑整个AI行业,这种集体狂热没被量化模型捕捉到。而到了2024年,这种共识已经融入了整个市场,英伟达从一支“故事股”变成了稳稳的大盘龙头。 这个五因子模型,说白了就是把股价涨跌拆解成几个常见原因:大盘整体行情、公司规模大小、是价值股还是成长股、赚钱能力强不强、投资激进不激进。通过这套分析,投资者能分清一只股票上涨是靠运气还是靠硬实力,从而判断未来是否还能复制。文章用这个模型对比了英伟达、苹果和微软,发现科技巨头们的涨跌逻辑各不相同。 对普通人来说,这提醒我们:一只股票短期飙升可能只是热点叙事在推动,未必真能持续。学会分辨“故事”和“基本面”,比盲目追涨杀跌更重要。
<p>In 2023, the Fama-French 5-factor model could explain only 35% of NVIDIA's weekly return variation. In 2024, it explained 82%. That gap tells you something important: NVIDIA's 2023 surge was driven primarily by a narrative that no systematic factor had yet priced in - the sudden recognition that GPU scarcity would define AI infrastructure for years. By 2024, that insight had diffused into the market factor itself, and the stock began behaving like a large-cap bellwether rather than a thematic trade.</p> <p>The Fama-French 5-factor model is the most widely used framework for decomposing stock returns into systematic components. Instead of asking "did this stock go up?", it asks "how much of that return is explained by exposure to known risk premia, and how much is specific to the company?" The answer has implications for both portfolio construction and for understanding whether outperformance is repeatable.</p> <p>This article runs the model on NVIDIA, Apple, and Microsoft using the Finance Toolkit, interprets what each factor says about each company, and draws out the most useful comparisons across the three. <strong>For more information on the Finance Toolkit, have a look <a href="https://github.com/JerBouma/FinanceToolkit" rel="noopener noreferrer">here</a>. To explore the Finance Toolkit MCP, see <a href="https://www.jeroenbouma.com/projects/financetoolkit/mcp" rel="noopener noreferrer">here</a>.</strong></p> <h2> The Five Factors </h2> <p>Before running any code, it helps to have the five factors clearly defined. Each represents a systematic source of return that the model holds responsible for a portion of a stock's performance.</p> <div class="table-wrapper-paragraph"><table> <thead> <tr> <th>Factor</th> <th>Full Name</th> <th>What it measures</th> <th>Negative slope means</th> </tr> </thead> <tbody> <tr> <td>Mkt-RF</td> <td>Market Risk Premium</td> <td>Excess return of the broad market over the risk-free rate. Slope ~= market beta.</td> <td>Less market-sensitive than average</td> </tr> <tr> <td>SMB</td> <td>Small Minus Big</td> <td>Historical premium of small-cap stocks over large-cap stocks.</td> <td>Large-cap orientation - underperforms when small-caps lead</td> </tr> <tr> <td>HML</td> <td>High Minus Low</td> <td>Historical premium of value stocks (high book-to-market) over growth stocks.</td> <td>Growth stock - underperforms when value leads</td> </tr> <tr> <td>RMW</td> <td>Robust Minus Weak</td> <td>Historical premium of high operating profitability over weak profitability.</td> <td>Returns not well explained by current realized earnings</td> </tr> <tr> <td>CMA</td> <td>Conservative Minus Aggressive</td> <td>Historical premium of low-investment firms over high-investment firms.</td> <td>Aggressive reinvestor - heavy capex or R&amp;D spend</td> </tr> </tbody> </table></div> <h2> Setting Things Up </h2> <p>Start by installing the Finance Toolkit:<br> </p> <div class="highlight js-code-highlight"> <pre class="highlight shell"><code>pip <span class="nb">install </span>financetoolkit </code></pre> </div> <p>Then import the library and create a Toolkit instance for all three stocks:<br> </p> <div class="highlight js-code-highlight"> <pre class="highlight python"><code><span class="kn">from</span> <span class="n">financetoolkit</span> <span class="kn">import</span> <span class="n">Toolkit</span> <span class="n">companies</span> <span class="o">=</span> <span class="nc">Toolkit</span><span class="p">(</span> <span class="n">tickers</span><span class="o">=</span><span class="p">[</span><span class="sh">"</span><span class="s">NVDA</span><span class="sh">"</span><span class="p">,</span> <span class="sh">"</span><span class="s">AAPL</span><span class="sh">"</span><span class="p">,</span> <span class="sh">"</span><span class="s">MSFT</span><span class="sh">"</span><span class="p">],</span> <span class="n">api_key</span><span class="o">=</span><span class="sh">"</span><span class="s">YOUR
分享
阅读原文