衡量投资组合的集中度风险

数持仓数量并不等于衡量分散程度。一个组合可以持有三十只股票,表现却像只持有四只。本指南讲解真正描述集中度的三个数字——最大单一持仓权重、赫芬达尔-赫希曼指数与有效持仓数——如何计算,以及各自会在哪里误导你。

为什么数持仓数量不管用

"持仓越多、风险越小"的直觉大致正确,却毫无用处。设想两个各持有十只股票的组合。第一个把资金平均分配,每只占一成。第二个把六成押在一只股票上,剩下的四成分散到另外九只。

两者的持仓数量都是十。第一个是真正的分散;第二个则是对一家公司的押注,外加一些装饰。任何对这两者给出相同答案的指标,衡量的都不是你真正关心的东西。

你真正想知道的是:组合的结果在多大程度上取决于多么少的几个决定。这就必须引入权重。

最大单一持仓权重

最简单又实用的度量:最大的那一笔持仓占总市值的比例。

最大单一持仓权重 max_weight = max(valuei) / Σ valuei

这个数字值得最先检查,因为它能立刻捕捉到最危险的失效模式。如果某只持仓占组合的四成五,你分析中的其他部分就没那么重要了——无论其余配置多么精巧,这一只都会主导收益、回撤和波动率。

它的弱点在于只看得到一笔持仓。五只各占两成的组合,最大权重是两成,听起来很合理,实际上却远比这个数字所暗示的更集中。要看清这一点,需要一个考虑整体分布的指标。

赫芬达尔-赫希曼指数

HHI 源自反垄断经济学,监管机构用它衡量一个行业在各竞争者之间的集中程度。同样的数学可以干净利落地套用到投资组合上:把每个权重平方,再把这些平方值相加。

赫芬达尔-赫希曼指数 HHI = Σ wi²   其中 wi = valuei / total value

平方正是关键所在。它会不成比例地惩罚大权重——一笔占四成的持仓贡献 0.16,而四笔各占一成的持仓合计只贡献 0.04,尽管两者代表的资金总量相同。小仓位几乎变得不可见,这是正确的,因为它们本就无足轻重。

该指数的取值范围也很有用:

组合 HHI 解读
单一持仓 1.00 集中度最高
两只等权 0.50 高度集中
十只等权 0.10 中等分散
五十只等权 0.02 高度分散

规律一目了然:对于 N 只等权持仓,HHI 恰好等于 1/N。正是这一关系让下一个指标成为可能。

有效持仓数

HHI 在数学上很干净,却难以直观感受。0.3877 的 HHI 本身传达不了任何信息。取倒数之后,含义立刻浮现。

有效持仓数 Neffective = 1 / HHI

它回答了一个真正有用的问题:需要多少只等权持仓,才能产生与你实际持仓相同的集中度?一个持有三十只股票、有效持仓数为六的组合,明确地告诉你:它的表现就像一个六只股票的组合。另外二十四只都是噪音。

又称

统计学背景的读者会认出这就是逆辛普森指数,生态学中用它衡量物种多样性。同样的计算,只是应用到另一类"种群"上——解读方式完全可以照搬。

一个完整算例

以一个三只科技股的组合为例:

持仓 市值 权重 权重²
AAPL$25,00045.45%0.2066
MSFT$22,00040.00%0.1600
NVDA$8,00014.55%0.0212
合计 $55,000 100% 0.3877

HHI 为 0.3877,因此有效持仓数是 1 / 0.3877 = 2.58。组合持有三只股票,表现却像只持有两只半——NVDA 占比不到一成五,对整体风险特征的贡献非常有限。

最大单一持仓权重为 45.45%,单看这一项就已是警讯。两个数字合在一起讲出的是同一个故事:这是一次集中押注,加入 NVDA 并没有实质性改变这一点。

这些指标看不到的集中度

陷阱在这里。上面所有指标都把持仓当作彼此独立。它们并不独立。

例子中的组合是百分之百的科技股。即便把它再平衡成三笔完全相等的持仓——有效持仓数提高到健康的 3.0,最大权重降到 33%——它依然是对单一行业命运的一次未分散押注。持仓层面的指标改善了,实际风险却几乎没动。

因此,真正的集中度分析至少要往下看三层:

第三层正是多数分析半途而废的地方,也是真正的意外所在。如果两只分属不同行业的股票对同一个宏观因子作出反应,它们的相关性可能远高于同一行业的两只股票。一个组合可以在各行业上看起来分散,实质却是一次押注利率下行的杠杆交易。

通过 API 计算

这些计算简单到你完全可以自己实现——HHI 不过三行代码。真正困难的是其后的一切:把代码映射到行业与因子暴露、让这些参考数据在各个市场保持最新,以及把数字翻译成判断。

PORTIQA API 在一次请求中返回全部三项集中度指标,并附带行业与因子分析:

curl -X POST https://portiqa.ai/evaluate \
  -H "Authorization: Bearer $PORTIQA_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "risk_level": "medium",
    "positions": [
      { "ticker": "AAPL", "market_value": 25000 },
      { "ticker": "MSFT", "market_value": 22000 },
      { "ticker": "NVDA", "market_value":  8000 }
    ]
  }'

响应中的相关字段:

{
  "score": 45.9,
  "status": "Neutral",
  "max_position_weight": 45.45,
  "max_position_ticker": "AAPL",
  "effective_positions": 2.58,
  "top_sector": "Technology",
  "top_sector_weight": 100,
  "score_components": {
    "diversification": 34.5,
    "risk": 99.2,
    "quality": 72.1
  }
}

请留意两个分项之间的分歧,它很有启发性。risk 分项得 99.2——这些都是规模大、稳定、质量高、个股波动率低的公司。diversification 分项只有 34.5,因为所有这些优质公司都挤在同一个行业里。单一的综合评分会掩盖这种张力;拆分后的分项则明确告诉你该解决哪个问题。

完整的字段文档见 API 参考,Python、JavaScript 与 PHP 的实现片段见代码示例

评估一个真实组合

每月五次免费评估,与所有付费方案使用同一引擎。一个端点,除 API 密钥外无需任何配置。

获取免费 API 密钥