Foliolytic 方法论

最后更新:

Foliolytic 计算的每一项指标,其计算方式、所用数据、实现中处理的边界情况,以及 Foliolytic 与典型在线计算器的不同之处。绝无黑箱操作。

快速解答

Foliolytic 最重要的方法论选择是什么?

Foliolytic 使用 FRED 提供的实际每日美国国库券收益率 作为无风险利率,并与您的投资组合历史中的每个日历日匹配。大多数在线计算器使用静态的2%或3%假设,这在国库券收益率为5%的环境中,可以将 Sharpe 和 Sortino 比率改变0.3–0.5。结合每日分辨率的回撤重建(而非月末快照)以及带有二分法回退的牛顿-拉夫逊 XIRR,这使得 Foliolytic 的数据与机构资产管理方法论保持一致。

实际国库券收益率 · 每日粒度 · 牛顿-拉夫逊 XIRR
涵盖指标
  1. 夏普比率
  2. 索蒂诺比率
  3. XIRR(资金加权收益率)
  4. TWR(时间加权收益率)
  5. Beta
  6. Alpha(詹森指数)
  7. R平方
  8. 最大回撤
  9. 风险价值 (VaR)
  10. CVaR(预期亏空)
  11. 卡尔玛比率
  12. 特雷诺比率
  13. 信息比率
  14. 捕捉比率(上涨/下跌)
  15. 追踪误差
  16. 概率夏普比率 (PSR)
  17. 赫斯特指数
  18. 溃疡指数
  19. 击球率
  20. 伯克比率
  21. 马丁比率
  22. 斯特林比率
  23. 莫迪利亚尼 M²

夏普比率

公式

Sharpe = (R̄_p - R_f) · √252 / (σ(r_d) · √252)
where r_d = daily log returns and R̄_p, σ are computed on those daily log returns.

输入

根据您的交易重建的每日投资组合价值序列。FRED 提供的每日3个月期美国国库券收益率,与每个日历日匹配。纯股票投资组合每年252个交易日;纯加密货币投资组合365天;混合投资组合根据资产类型适当混合。

边界情况与数值处理

如果投资组合历史少于30天,则不显示 Sharpe 比率(样本量过小,无法进行有意义的推断)。如果 σ < 1e-9(投资组合基本持平),Sharpe 比率报告为 null 而非无穷大。

与常见计算器的差异

大多数在线计算器使用静态的2%或3%无风险利率。Foliolytic 使用实际每日国库券收益率。在高利率环境(2023–2025年)下,这会使 Sharpe 比率与固定利率计算器相比改变0.3–0.5。

索蒂诺比率

公式

Sortino = (R̄_p - R_f) · √252 / DD
where DD = √( (1/n) · Σ min(r_d - r_f_d, 0)² ) · √252

输入

与 Sharpe 比率使用相同的每日投资组合序列和每日无风险利率。“下行”阈值是每日无风险利率,而非零。

边界情况与数值处理

下行偏差仅使用 r_d < r_f_d 的日期计算。r_d ≥ r_f_d 的日期对总和贡献为零,但计入 n。这与 Sortino 在1980年代的原始规范一致。

与常见计算器的差异

一些计算器使用零作为下行阈值,这在数学上很方便,但在理论上不正确。Sortino 的原始论文规定了最低可接受收益 (MAR),最自然的解释是无风险利率。

XIRR(资金加权收益率)

公式

0 = Σᵢ CFᵢ / (1 + XIRR)^( (dᵢ - d₀) / 365 )
solved via Newton-Raphson with bisection fallback.

输入

包含日期现金流的完整交易历史。包括投入(负值)、提取(正值)、最近日期的期末投资组合价值(正值),以及作为单独资金流收到的任何现金股息。

边界情况与数值处理

牛顿-拉夫逊法以0.10作为初始猜测进行迭代。如果导数趋于零或迭代发散,算法将回退到在 [-0.99, +5.0] 上的二分法。收敛容差:1e-10。低于0.01美元的现金流将被忽略。结果每年被限制在 [-0.99, +5.0] 范围内——超出此范围的值几乎总是表明数据错误(货币混淆、小数点偏移、加密货币报告故障)。

与常见计算器的差异

Excel 的 XIRR 使用相同的牛顿-拉夫逊方法,但没有进行合理性限制,因此对于混乱的加密货币数据会返回荒谬的值(数十亿百分比)。Foliolytic 的限制可以防止这些值污染仪表板。

TWR(时间加权收益率)

公式

TWR = Π_i (1 + R_i) - 1
where R_i is the return of period i computed between cash flow events.

输入

每日投资组合价值,所有外部现金流的日期。两个连续现金流之间的时间段为一个收益窗口。

边界情况与数值处理

子期收益以几何方式链接,以消除投入和提取的时机效应。没有现金流的日期产生单日收益期。现金流之间的多日期间进行复合。

与常见计算器的差异

TWR 是评估资产层面表现(基金经理报告的内容)的标准。资金加权收益率 (XIRR) 是评估投资者实际体验的标准。Foliolytic 同时计算两者——它们通常相差几个百分点。

Beta

公式

β = Cov(r_p, r_m) / Var(r_m)
computed via OLS regression of daily portfolio returns r_p on daily benchmark returns r_m, using excess-of-risk-free-rate returns.

输入

每日投资组合收益。每日基准收益(默认为 S&P 500;可配置为 QQQ、VT 或任何自定义基准)。每日3个月期国库券收益率用于计算超额收益。

边界情况与数值处理

投资组合和基准之间至少有30天的重叠。任何一方缺少数据的日期将被删除。异常值(>5σ)会被标记但不移除——Beta 是一个稳健的统计量,移除异常值往往会使其向上偏倚。

与常见计算器的差异

一些计算器对原始收益(而非超额收益)运行 Beta,这仅在无风险利率恒定时才在数学上等效。在国库券利率随时间变化的情况下,对超额收益进行回归更为正确。

Alpha(詹森指数)

公式

α = R̄_p - [R_f + β · (R̄_m - R_f)]
where all quantities are annualized.

输入

与 Beta 相同,加上回归截距(OLS 常数项)。

边界情况与数值处理

Alpha 以年化百分点报告。同时计算统计显著性(t值)——t值小于1.5的 Alpha 值应视为噪音,而非技能。

与常见计算器的差异

许多电子表格中的 Alpha 计算为未缩放回归的纯截距,缺少年化步骤。Foliolytic 始终报告年化 Alpha,因此该数字可以直接解释为“相对于基准等效风险敞口每年获得的额外收益”。

R平方

公式

R² = 1 - SS_residual / SS_total
where SS_residual = Σ(r_p - r_p_predicted)² and SS_total = Σ(r_p - r̄_p)²

输入

与 Beta 使用相同的回归。R² 是该拟合的决定系数。

边界情况与数值处理

如果相对于所选基准的 R² < 0.05,则投资组合的 Beta 和 Alpha 估计值被标记为统计上无意义——没有线性关系可供解释。

与常见计算器的差异

Foliolytic 将高 R²(≥ 0.95 且主动份额低)视为“隐形指数基金”信号——有关徽章定义,请参阅 CLAUDE.md 中的“近期重大更新”。

最大回撤

公式

MaxDD = min over t of [V_t / max(V_s : s ≤ t) - 1]

输入

整个历史期间的每日投资组合价值序列。重建使用逐笔交易估值,而非期末快照。

边界情况与数值处理

股票和加密货币使用每日粒度。不捕捉盘中高点/低点——Foliolytic 的最大回撤是每日分辨率的。同时报告恢复时间(从峰值到下一个达到或超过峰值的日期的天数)。

与常见计算器的差异

许多追踪器从每月净资产值 (NAV) 计算回撤,这通常会低估真实峰谷回撤20–30%,因为它错过了月内下跌。每日重建能捕捉更多实际路径。

风险价值 (VaR)

公式

Historical: VaR_α = quantile(r_d, 1 - α)
Parametric (Gaussian): VaR_α = μ - z_α · σ
Monte Carlo: simulate from fitted distribution and take 1-α quantile.

输入

完整的每日收益历史。置信水平 α(默认:95%和99%)。对于参数法 VaR,还需要样本均值和标准差。对于蒙特卡洛法,拟合一个分布(默认为高斯分布;对于厚尾资产使用 t 分布)。

边界情况与数值处理

历史法 VaR 至少需要60天的收益数据(统计最低要求);强烈建议250天以上。参数法 VaR 对于非高斯收益分布可能不可靠。Foliolytic 并排报告这三种方法,以便差距(或缺乏差距)可见。

与常见计算器的差异

大多数计算器只报告参数法 VaR。Foliolytic 显示历史法、参数法和蒙特卡洛法。对于厚尾资产(加密货币、杠杆股票、单一股票),参数法 VaR 可能低估真实损失潜力50%以上。

CVaR(预期亏空)

公式

CVaR_α = E[Loss | Loss ≥ VaR_α]
empirically: mean of returns worse than VaR_α threshold.

输入

与历史法 VaR 相同。CVaR 仅使用损失超过 VaR 阈值的日期。

边界情况与数值处理

条件是尾部非空:需要至少5个超出 VaR 阈值的观测值才能进行有意义的估计。在95% VaR 下,250天的历史数据提供12–13个尾部观测值——处于临界状态。

与常见计算器的差异

许多来源只报告 VaR。CVaR(也称为预期亏空)不仅告诉您阈值,还告诉您超出阈值的平均严重程度——这对于资本规划更有用。出于这些原因,巴塞尔协议 III 现在要求银行使用 CVaR 而非 VaR。

卡尔玛比率

公式

Calmar = R_annual / |MaxDD|

输入

年化收益率(整个历史期间的复合年增长率)。整个历史期间的最大回撤。

边界情况与数值处理

要求两个输入均非微不足道。如果最大回撤 < 1%(基本无回撤),Calmar 比率报告为“不适用”而非无穷大。如果年化收益率 ≤ 0,Calmar 仍可计算,但会附带明确的上下文(低回撤带来的高 Calmar 比率只有在收益为正时才令人印象深刻)。

与常见计算器的差异

一些实现使用36个月滚动 Calmar 比率而非全期。Foliolytic 默认计算全期 Calmar 比率;滚动 Calmar 比率可在高级指标选项卡中找到。

特雷诺比率

公式

Treynor = (R̄_p - R_f) / β

输入

期间的年化超额收益。Beta 来自用于 Beta 指标的相同回归。

边界情况与数值处理

如果 β 接近零或为负,特雷诺比率将变得无意义或反直觉。Foliolytic 将 |β| < 0.2 的投资组合标记为“低 Beta”,并显示带有警告指示的特雷诺比率。

与常见计算器的差异

特雷诺比率最适用于已分散掉特殊风险的多元化投资组合。对于单一股票或集中投资组合,夏普比率是更合适的指标——特雷诺比率会高估风险调整收益,因为公司特定风险未被 Beta 捕捉。

信息比率

公式

IR = (R̄_p - R̄_b) / σ(r_p - r_b)
where the denominator is the tracking error.

输入

每日投资组合收益和每日基准收益。两者均通过 √252 进行年化。

边界情况与数值处理

需要至少60天的配对数据。如果追踪误差 < 0.5%(基本等同于指数化),则不显示信息比率,因为分子除以接近零的分母会产生不稳定的估计。

与常见计算器的差异

一些实现使用月度收益(官方 GIPS 标准)。Foliolytic 使用每日数据以获得更高分辨率;对于信息比率而言,每日与月度之间的差异很小(通常在5%以内)。

捕捉比率(上涨/下跌)

公式

Up-Capture = R̄_p_up / R̄_b_up
(over months where R_b > 0)
Down-Capture = R̄_p_down / R̄_b_down
(over months where R_b < 0)

输入

月度投资组合和基准收益。以月度粒度计算,以符合标准报告惯例。

边界情况与数值处理

每个区间(上涨/下跌)至少需要12个月才能进行有意义的估计。基准收益恰好为零的月份将被删除。捕捉比率以百分比形式报告。

与常见计算器的差异

Foliolytic 还报告捕捉比率质量(上涨捕捉比率 - 下跌捕捉比率的差值)——理想的曲线是高上涨捕捉比率,低下跌捕捉比率。

追踪误差

公式

TE = σ(r_p - r_b) · √252

输入

每日投资组合和基准收益。每日计算差异序列;追踪误差是年化标准差。

边界情况与数值处理

与信息比率 (IR) 具有相同的最低数据要求(≥ 60天)。对于非常紧密跟踪指数的投资组合(追踪误差 < 0.5%),该指标会报告但会被标记,因为如此低的追踪误差通常意味着隐形指数化。

与常见计算器的差异

一些计算器使用事前(前瞻性、基于因子)追踪误差而非事后(历史)追踪误差。Foliolytic 始终使用事后追踪误差——实际实现的与基准的偏差。

概率夏普比率 (PSR)

公式

PSR(SR*) = Φ( (SR_obs - SR*) · √(n-1) / √(1 - γ_3·SR_obs + ((γ_4-1)/4)·SR_obs²) )
where γ_3 is sample skew and γ_4 is sample kurtosis.

输入

观察到的夏普比率、样本量 n、样本偏度、样本峰度。基准 SR*(默认为0)。

边界情况与数值处理

PSR 的分位数是从滚动5年 SPY 总收益窗口(1928–2025年的1101个窗口)中自举得到的,因此分数反映了考虑样本量的参考分布。PSR 公式分子中有 √(n-1),因此参考分布必须使用与用户历史长度匹配的窗口——详见 CLAUDE.md 中2026年4月指标 v6 修复。

与常见计算器的差异

大多数在线计算器根本不报告 PSR。少数报告的通常使用固定的参考分布,不考虑样本量,导致具有真实5年历史的用户投资组合即使在 BLP 可信度阈值下也得分“差”。

赫斯特指数

公式

log(R/S)_n = H · log(n) + c
fit via OLS on log-window-size axis.

输入

每日收益序列。窗口大小通常从10到 T/2 呈对数分布。

边界情况与数值处理

方向被视为“中性”而非“越高越好”——H = 0.5(随机游走)是概念上的中点,任何方向的偏差都具有信息量。分位数从滚动5年 SPY 窗口自举得到,与 PSR 相同。

与常见计算器的差异

Foliolytic 使用重标极差 (R/S) 方法。去趋势波动分析 (DFA) 可作为高级选项卡中的替代方法;对于大多数用户持有的股票收益,两者通常会给出非常相似的结果。

溃疡指数

公式

UI = √( (1/n) · Σ DD_i² ) · 100

输入

每日回撤序列(偏离运行最大值的百分比)。

边界情况与数值处理

以百分比形式报告。与所有基于回撤的指标一样,对底层价值序列的分辨率敏感——每日重建至关重要。

与常见计算器的差异

一些实现将溃疡指数报告为分数;Foliolytic 使用 Peter Martin 的原始惯例,即百分比 * 100,以便与已发表的研究直接比较。

击球率

公式

BA = (months where r_p > r_b) / (total months)

输入

月度投资组合和基准收益。

边界情况与数值处理

r_p == r_b 的月份按一半计算。至少12个月才能进行有意义的估计。

与常见计算器的差异

Foliolytic 还报告一个配对指标,击球率对零(r_p > 0 的月份数 / 总月份数),这对于绝对收益策略很有用。

伯克比率

公式

Burke = (R_annual - R_f) / √(Σ DD_i²)

输入

年化收益率、无风险利率、期间所有回撤值。

边界情况与数值处理

类似于卡尔玛比率,但惩罚的是回撤平方和而非仅仅最大回撤。对单一黑天鹅回撤的敏感度低于卡尔玛比率。

与常见计算器的差异

Foliolytic 的伯克比率基线在 v6.5 版本(2026年4月)中已重新校准至 FF_100Y_BUFFETT_ANCHORED——详见 CLAUDE.md 中的校准说明。

马丁比率

公式

Martin = (R_annual - R_f) / UI

输入

年化超额收益、溃疡指数。

边界情况与数值处理

卡尔玛比率和伯克比率的直接近亲;使用溃疡指数作为路径风险分母。

与常见计算器的差异

大多数计算器不计算马丁比率。Foliolytic 包含它,因为基于溃疡指数的指标与投资者主观痛苦高度相关。

斯特林比率

公式

Sterling = R_annual / (mean of N worst drawdowns - 10%)
N = 3, period = 36 months by default.

输入

年化收益率。回溯窗口内所有已完成回撤的列表,按深度排名。

边界情况与数值处理

-10% 的调整是斯特林原始公式中的固定偏移。如果存在的已完成回撤少于 N 个,则不显示该指标。

与常见计算器的差异

斯特林比率对一系列中等回撤的敏感度高于卡尔玛比率。Foliolytic 的基线 (FF_100Y_BUFFETT_ANCHORED) 在 v6.5 版本中已重新校准。

莫迪利亚尼 M²

公式

M² = Sharpe · σ_market + R_f

输入

投资组合夏普比率、基准的年化标准差、年化无风险利率。

边界情况与数值处理

M² ≡ 调整至基准波动率的夏普比率。每当夏普比率区间发生变化时,M² 区间必须同步变化——它们在数学上是相同的量。

与常见计算器的差异

许多计算器计算夏普比率但跳过 M²。M² 对散户用户来说更具可解释性,因为它以收益的百分点表示,而非无单位比率。

适用于所有指标的通用说明

每日粒度,而非月度

Foliolytic 的每一项指标都是根据每日投资组合重建计算的,而非月末快照。这对于基于回撤的指标(最大回撤、卡尔玛比率、伯克比率、马丁比率、斯特林比率、溃疡指数)尤为重要:月度净资产值 (NAV) 通常会低估真实峰谷回撤20–30%,因为它错过了月内下跌。每日粒度能捕捉实际发生的路径。

年化惯例

纯股票投资组合使用252个交易日。纯加密货币投资组合使用365天(24/7交易)。混合投资组合使用按资产混合的方式,然后重新组合成一个单一的年化投资组合数据。波动率缩放使用 √n(方差与时间呈线性关系,因此标准差与 √时间呈比例关系)。

对数收益用于复合,算术收益用于显示

每日对数收益在内部用于任何需要时间聚合的指标(方差、多期复合、年化)。算术收益用于显示,因为它们更直观(“-30%”比“对数收益 -0.357”更容易识别)。对于典型的股票收益,两者在每日层面是等效的;对于极端波动,它们会产生分歧。

异常值处理政策

异常值会被标记但不移除。移除异常值往往会使方差和夏普比率估计值向上偏倚,通常是不良做法。例外情况是数据明确指示错误——例如,加密货币交易以美分而非美元错误报告,或货币转换故障导致价格飙升1000倍。这些错误会在解析层(参见 /about)被捕获,并在指标计算前进行修正。

最小样本量

Foliolytic 会抑制那些所需数据量不足的指标。夏普比率和索蒂诺比率需要 ≥ 30天。Beta、Alpha、信息比率、追踪误差需要 ≥ 60天的配对数据。捕捉比率在每个区间都需要 ≥ 12个月。PSR 和赫斯特指数需要足够的历史数据来引导参考分布。当不满足最低要求时,指标显示“—”而非无意义的数字。

无风险利率匹配

对于使用 R_f 的每个指标(夏普比率、索蒂诺比率、特雷诺比率、M²、Alpha、超额收益的 Beta),都使用每日3个月期国库券收益率,并与投资组合历史中的每个日历日匹配。显示中使用的年化 R_f 是投资组合历史中每日 R_f 的时间加权平均值。大多数计算器使用单一固定 R_f 值,这在利率变动时是错误的。

基准选择

默认使用 S&P 500 (SPY 总回报)。用户可配置为 QQQ、VT 或任何自定义股票代码。Beta、Alpha、R²、捕捉比率、击球率、信息比率和追踪误差都会根据所选基准重新计算。加密投资组合的基准相对指标默认为 BTC。

更新与重新校准

基于百分位评分的参考分布(PSR、赫斯特指数、夏普比率分位数等)会随着新市场数据的到来而定期重新校准。当前的校准集记录在 metricBaselines.js 源文件中。主要的重新校准事件会用版本标签(v6.4、v6.5)记录,以提高透明度——详见 CLAUDE.md 和 metricBaselines.js 文件顶部的更新日志。

所有 Foliolytic 计算器

以下每项指标都有其专属计算器,包含示例、解释表格和免费的 CSV 上传工具。

常见问题

对数收益和算术收益有什么区别?

算术收益 ((P_t - P_(t-1)) / P_(t-1)) 直观易懂,通常是投资者所指的“收益”。对数收益 (ln(P_t / P_(t-1))) 具有一个关键的数学特性:它们在时间上是可加的。90天的对数收益等于90个每日对数收益的总和。算术收益不具备此特性,它们是几何复合的。Foliolytic 在内部使用对数收益进行任何时间聚合,并使用算术收益进行显示。

为什么 Foliolytic 的 Sharpe 比率与我的券商不同?

几乎可以肯定是因为无风险利率。Foliolytic 使用 FRED 提供的实际每日3个月期国库券收益率,并与您的投资组合历史中的每个日历日匹配。大多数券商和在线计算器使用固定假设(通常为2%或0%)。在国库券收益率为5%的环境中,这可以将 Sharpe 比率改变0.3–0.5,这是一个显著的差异。

Foliolytic 如何处理股票拆分?

拆分会追溯应用于历史持股数量和价格。例如,2020年8月 AAPL 的1拆4,会追溯性地将拆分前所有日期的持股数量翻四倍,并将历史价格除以四。投资组合价值系列在拆分前后保持连续性——价值没有跳跃,只有每股数字的表面变化。

股息如何处理?

现金股息在除息日添加到投资组合的现金余额中。它们不会自动再投资。如果您的券商自动再投资,由此产生的股票购买将出现在您的交易历史中并正常处理。特殊股息的处理方式与普通现金股息相同。

Foliolytic 使用什么基准?

默认使用 S&P 500 (SPY 总回报)。基准可在仪表板中配置——您可以选择任何主要指数、ETF,甚至自定义股票代码。Beta、alpha、R²、捕捉比率、击球率和追踪误差都会根据所选基准重新计算。

收益是扣除费用前还是扣除费用后?

Foliolytic 根据您的交易历史原样计算收益。如果您的券商从头寸中扣除费用或将其作为单独交易收取,这些资金流将得到反映。如果费用是从您的 CSV 中未包含的单独现金账户支付的,则不会被捕获。对于大多数散户券商账户(Fidelity, Schwab, Robinhood, IBKR),平台内费用已反映在交易价格中。

试用 Foliolytic — 免费,无需注册

在几秒钟内,对您自己的投资组合运行上述所有计算。

免费分析您的投资组合 →