资产配置可视化:热力图 vs 饼图 vs 桑基图,三种图表分别看出什么

· 约 5 分钟 🟦 资产分布热力图

资产配置可视化是”看结构不是看 K 线”——同一份持仓用不同图表能看出不同的问题。这篇讲清三种主流图表的视觉信息密度、适用场景,以及用热力图(treemap)做资产配置的具体方法。

三种图表对比

维度饼图热力图(treemap)桑基图(sankey)
信息载体圆周角度矩形面积流量带宽
项数极限≤ 5(清晰)100+(可读)≤ 30
占比识别大项清晰,小项模糊全部线性可比同列内可比
多维度不支持嵌套支持天然支持
适合场景大类分配详细持仓资金流向
视觉负担

饼图:只适合 5 项以内

适合

  • 大类资产配置:股票 / 债券 / 现金 / 房产 / 其他(5 类)
  • 币种粗分:人民币 / 美元 / 港币 / 其他(3-4 类)
  • 简单业绩归因:哪几个标的贡献了 80% 收益

不适合

  • 详细持仓(> 5 项),人眼分辨角度差异 < 5° 失败
  • 多层嵌套(饼图无法表达”美元股票里科技占多少”)

典型反例

20 项持仓的饼图:
- 前 3 项(共 60%)能看清
- 中间 7 项(共 30%)扇形角度都在 4-7°,难分辨
- 末尾 10 项(共 10%)挤成一片,标签全部叠在一起
- "其他"项无奈合并,丢失信息

经验线:项数超过 5,饼图就该让位。

热力图(treemap):详细持仓的最优解

算法原理

Squarified Treemap:保持矩形长宽比接近正方形的递归填充算法。

1. 项按市值降序排
2. 第一项占面积最大
3. 后续项贪心填充,使每行/列总长宽比接近 1:1
4. 递归处理子层(如有嵌套)
5. 最终画布是 1:1,内部矩形整齐铺满

视觉特性

  • 大持仓左上、小持仓右下(默认)
  • A 占 20% 的方块 = B 占 5% 的方块 × 4
  • 占比 < 1% 的小项可能拍成长条或被合并

适合场景

资产配置的所有静态视图

  • 单项持仓占组合比例
  • 币种分布(按颜色聚类)
  • 行业分布(按标签视图)
  • 账户分布(按标签视图)

嵌套层级

treemap 天然支持二层结构:

组合
├── 美元股票
│   ├── 苹果
│   ├── 特斯拉
│   └── 微软
├── 人民币股票
│   ├── 茅台
│   └── 招行
└── 港币 ETF
    ├── 盈富
    └── 恒生

外框分组、内部细分,一张图同时表达”币种 / 单项”两层信息。本工具可通过”按币种 / 按标签”切换不同分组维度。

桑基图:资金流向的专业图

算法原理

Sankey diagram:节点 + 流量带,带的宽度表示流量大小。

左节点 ─── 流量带 ───→ 右节点
(来源)   (宽度=金额)  (去向)

可以多列连续——“工资 → 账户 → 资产类别 → 具体持仓”四列一字排开。

适合场景

桑基图擅长”流量”而非”存量”

场景适合度
月薪 → 账户 → 支出/储蓄✅ 完美
总收入 → 税 / 五险一金 / 到手✅ 经典
上月配置 → 本月配置(再平衡迁移)✅ 适合
税前营收 → 成本 / 利润 / 税✅ 财务报表
当前持仓静态分布❌ 太重
单维度饼图能解决的事❌ 杀鸡用牛刀

不适合资产配置的原因

资产配置看的是当下结构——“我有多少钱、放在哪”。桑基图的左右两栏对静态视图是冗余信息,反而把简单的占比关系搞复杂。

真正的资产桑基图场景是:

  • 月度再平衡:旧配置 → 新配置,资金从哪流到哪
  • 现金流分析:收入 → 储蓄 / 投资 / 消费
  • 多步骤分配:总资产 → 大类 → 子类 → 具体标的

用热力图发现配置问题

1. 单项集中度

观察:最大方块占比是多少?

✅ 健康:最大单项 < 20%(除非是宽基指数 ETF)
⚠️ 警示:最大单项 20-30%
❌ 危险:最大单项 > 30%

特例:
- 沪深 300 ETF / 标普 500 ETF / 全球 ACWI 占 50% 是合理的
- 单只个股占 30% 是赌博

2. 币种集中度

观察:同色块面积总和。

✅ 健康:单一币种 < 70%
⚠️ 警示:单一币种 70-85%
❌ 危险:单一币种 > 85%

经典翻车:
- 全压人民币资产,2015-2016 人民币贬值期错失 10% 汇率收益
- 全压美元资产,2017 / 2020 / 2025 弱美元期反向

3. 行业集中度(按标签视图)

观察:同标签块总占比。

✅ 健康:单一行业 < 30%
⚠️ 警示:单一行业 30-50%
❌ 危险:单一行业 > 50%

经典翻车:
- 2021 中概互联,全压一个行业 ETF 60%,半年腰斩
- 2022 美股科技,FAANG 重仓 70%,年度 -30%
- 2024 AI 概念,单赛道 50%+,回撤 40%+

4. 单一账户/平台集中度

观察:按标签 = 账户名 切换视图。

✅ 健康:单一平台 < 60%
⚠️ 警示:60-80%
❌ 危险:> 80%

风险来源:
- 平台合规问题(部分外资券商账户冻结)
- 国别政策变化(FATCA、CRS 申报)
- 单一账户密码丢失 / 被盗

月度配置截图工作流

1. 月初(1 号或工资到账日)打开工具
2. 更新所有持仓的当前价
3. 看新生成的热力图:
   - 单项最大占比是多少?
   - 主色(最大币种)占多少?
   - 各分类块整体平衡吗?
4. 截图保存到 OneDrive / iCloud / 笔记
5. 对比上月截图:
   - 结构变化是市场涨跌带来的?还是主动操作?
   - 偏离目标比例 ±5% 触发再平衡
6. 操作再平衡:卖涨多的,买跌多的

陷阱提醒

  • 别每天看——日内波动是噪音
  • 跌了立刻补仓不是再平衡(是抄底)
  • 再平衡要”按预定比例机械操作”

三种图表的协同使用

资产配置分析推荐图表组合:

视角用什么图
大类配置(股 / 债 / 现 / 房)饼图(≤ 5 类)
详细持仓(个股/基金/ETF)热力图
币种暴露(颜色聚类)热力图 + 同色聚合
行业暴露(按标签)热力图(按标签视图)
账户分布热力图(按标签)
月度再平衡迁移桑基图
现金流(收入 → 各账户)桑基图

单一图表完成不了所有任务——配置分析需要 2-3 张图配合。

配置可视化的盲区

热力图也有看不到的东西:

  1. 流动性——大方块如果是不动产 / 私募基金,紧急用钱时变现不了
  2. 税务影响——卖出有资本利得税的资产,账面价值 ≠ 可支配价值
  3. 币种汇率波动——按当前汇率画图,明天汇率变动 5% 整张图就变了
  4. 杠杆敞口——融资买入的部分热力图按市值显示,但你只有一半权益
  5. 未来现金流——退休金、保险、年金等未来收益不在图里

结论:热力图回答”现在结构如何”,不回答”未来如何”——后者需要财务规划软件或专业顾问。

实战清单

要做

  1. 持仓 > 5 项一律用热力图,别再画饼图
  2. 按”币种 / 行业 / 账户”三个维度切换看
  3. 月度更新一次价格、截图存档
  4. 单项 / 币种 / 行业三个集中度分别守住安全线
  5. 桑基图保留给现金流和再平衡场景

避免

  1. 用饼图画 20 项持仓(看不清)
  2. 把日内波动当配置变化(噪音)
  3. 看到某块小了立刻补仓(不是再平衡)
  4. 只看占比不看流动性(紧急用钱抓瞎)
  5. 把行情看盘和配置分析混为一谈

一句话总结

资产配置可视化首选 treemap——同时看单项、币种、行业三层;饼图留给 5 类以内的大类分配;桑基图留给现金流和再平衡。本工具不接账户、不上传、纯静态——结构静态分析的最简洁工具。

❓ 常见问题

为什么"饼图看资产配置"是个常见误区?

饼图擅长 5 个以内的占比对比,超过就失效。资产配置至少包含 10-30 项持仓(股票、基金、ETF、债券、现金……),饼图扇形角度差异在 5° 以下时人眼几乎无法分辨——10% 和 8% 在饼图上看起来一样大。实测:把 20 项持仓画饼图,前 3 项占 60% 还能看清,后 17 项挤成一圈乱七八糟的小扇形,标签互相重叠。热力图(treemap)天然适合多项——矩形面积可以横向纵向同时利用空间,20 项持仓能整齐铺满整个画布,每项都有合适的标签位置。结论:资产数 ≤ 5 用饼图(如"股 / 债 / 现金 / 黄金 / 其他");> 5 一律用热力图。

热力图(treemap)的"按市值面积铺"具体怎么算的?

核心算法 = Squarified Treemap(保持矩形长宽比接近正方形的填充算法)。流程:(1) 把所有项按市值从大到小排序;(2) 大项先放,按"贪心法"把多个相邻项合并成一行/列,使该行的矩形长宽比尽量接近 1:1;(3) 递归处理剩余项;(4) 最终得到一个 1:1 的整体画布,内部矩形按市值占比分配面积。视觉效果:(1) 大持仓在左上、小持仓在右下(默认);(2) 同等市值的项尽量是同样大小的方块;(3) 极小占比(< 1%)的项可能拍成细长矩形或被合并显示。优势:100 项持仓也能画整齐;占比关系一目了然——A 占 20% 的方块就是 B 占 5% 的 4 倍大。vs 饼图:饼图的 360° 圆周固定,多项时角度差异不明显;treemap 用的是 2D 面积,差异线性放大。

桑基图(Sankey)适合资产配置吗?什么场景下用?

桑基图擅长"流向"和"层级转换"——资产配置静态结构用桑基图浪费表达力。真正适合桑基图的场景:(1) 资金流向——薪资 → 各账户 → 各支出类别;(2) 多维度分类——同一笔资产同时按"币种"和"类别"分类,桑基图可以画出 USD-科技、CNY-消费 等交叉关系;(3) 再平衡迁移——上月配置 → 本月配置,谁迁移到谁;(4) 税前 → 税后金额拆解——总收入 → 五险一金 / 个税 / 到手。不适合:(1) 单纯看"我有多少钱在哪"——树状图更清楚;(2) 持仓项数太多(> 30)——桑基图线条会糊成一团;(3) 不需要展示"从…到…"关系——桑基图的左右两栏是冗余信息。实务:资产配置可视化首选 treemap,桑基图作为深度分析工具按需用。

同一币种的所有资产应该归到一起还是分开看?

两种视角同时看。本工具默认按币种着色(同币种同色),但每项独立成块;这给你两个层次的信息:(1) 单项市值——方块大小看得出 A 股茅台 vs 美股苹果谁占比高;(2) 币种暴露——同色块面积总和看得出多少钱压在美元资产、多少在人民币。为什么不直接合并:(1) 合并后失去单项信息——美元资产里苹果和特斯拉的相对权重看不到;(2) 配置分析需要"币种 + 行业 + 单项"三层都看到,合并到币种就只剩一层。进阶用法:(1) 切换"按标签"视图——标签可以用"科技/消费/债券"等行业分类,重新着色看行业暴露;(2) 同一项可打多标签("消费, 白酒"),不同视图归类不同;(3) 对币种集中度敏感的可以单独画一张币种饼图(仅 4-5 种币时饼图够用)。

怎么用热力图发现资产配置的"集中度风险"?

三个观察点:(1) 单项最大方块占比 > 30% → 单一持仓集中度过高,单项黑天鹅会让组合大跌;(2) 同色块(同币种)总占比 > 80% → 币种集中度过高,汇率波动会显著影响资产;(3) 同标签(同行业)总占比 > 50% → 行业集中度过高,行业系统性风险敞口大。经典反例:2021 年中概互联网投资者,单一行业 ETF 占组合 60%,半年腰斩——如果当时画热力图能直观看到"绿色一大片"。对策:(1) 单项 < 20%(除非是全球指数 ETF);(2) 单一币种 < 70%;(3) 单一行业 < 30%;(4) 各国债券、各国股票、各币种现金各占合理权重。注意:本工具不做投资建议,只是把数据画出来——分散度判断和具体配置决策由你自己根据风险偏好做。

月度做资产配置截图对比,应该看什么?

关注三个变化:(1) 结构变化 —— 各类资产占比是否随计划在调整(如"年初股 6 债 3 现 1",年中是不是被股市涨了变成"股 7 债 2.5 现 0.5");(2) 再平衡时机——任一类别偏离目标比例 ±5% 时考虑再平衡(卖涨多了的,买跌多了的,回到目标);(3) 绝对市值变化——总资产是不是按计划在增长(每月新增储蓄 + 投资收益)。操作流程:(1) 每月 1 号或工资到账日更新一次"当前价";(2) 截图存档——本工具截图后保存到 OneDrive / iCloud / 笔记软件;(3) 对比上月:哪一块变大了、哪一块变小了、变化背后是市场涨跌还是主动加仓;(4) 不要每天看——日内波动是噪音,月度才是信号。陷阱:看到某项跌了立刻补仓不是再平衡,是抄底——再平衡是"按预定比例机械操作"。

工具不接券商账户怎么及时更新当前价?

手动更新是有意为之理由:(1) 接券商需要授权 / API key / 实名认证,本工具是纯静态站点没法做;(2) 实时行情需要付费数据源,免费 API 有延迟和限频;(3) 资产配置是"看结构不看 K 线"——日内价格波动对配置决策没价值,月度更新就够;(4) 隐私 —— 不接账户意味着持仓数据完全在你浏览器里,零泄漏风险。手动更新流程:(1) 月初打开工具;(2) 看自己的券商 / 基金 App 当前价;(3) 工具里更新当前价字段;(4) 工具自动重算市值和占比;(5) 新热力图渲染出来。建议频率:(1) 长期投资者(1 年起)→ 月度;(2) 中短期持有 → 双周;(3) 主动交易者(< 1 月)→ 不适合用本工具,用专业看盘软件。

为什么本工具刻意不显示涨跌幅 / 收益率?

定位差异配置工具回答"我有多少钱、分布如何、暴露在哪"——静态结构问题,关注的是分散度和风险敞口。行情/交易工具回答"我赚了多少、跑赢大盘没"——动态收益问题,关注的是绝对/相对回报。两类需求经常混在一起谈但工具设计完全不同:(1) 配置工具不需要成本价、不需要参考基准、不需要实时行情;(2) 行情工具需要 API 接入、需要 K 线、需要技术指标。本工具的 4 列输入(名称/数量/当前价/币种)刻意保持简单,目的就是"配置可视化"专一定位。想要看收益:(1) 用券商 / 基金 App 自带的收益曲线(最准);(2) 用专门的记账工具(雪球的"自选股"、笔记本 Excel 表);(3) 这两类工具和本工具配合——本工具看"现在的结构",那些工具看"涨跌历史"。

🟦 打开 资产分布热力图 多币种持仓 · 按市值面积 · 标签分类 · 一图看懂资产结构