01 · 投资入门:钱为什么要投出去¶

长期投资教程 · 第 1 章

免责声明:本教程为投资教育内容,所有分析与示例仅为方法演示,不构成任何投资建议。文中涉及的公司与数据仅用于教学举例,不代表推荐。市场有风险,决策需自负。


本章学什么 / 读完会什么¶

  • 搞懂通胀为什么让「现金躺着 = 慢慢变穷」;
  • 用代码亲眼看到复利这台时间机器有多猛;
  • 认识四大类资产(股 / 债 / 现金 / 房)的收益与风险定位;
  • 理解风险与收益是一枚硬币的两面,以及为什么长期持有能「驯服」波动;
  • 跑一遍每月定投 N 年的曲线,建立长期心态。
In [1]:
import sys, os
sys.path.insert(0, os.path.abspath('.'))
import warnings; warnings.filterwarnings('ignore')
import numpy as np, pandas as pd
import matplotlib.pyplot as plt
import invest_data as D
FONT = D.setup_matplotlib()
np.random.seed(D.SEED)
print('中文字体:', FONT, '| 数据目录:', D.DATA_DIR)
中文字体: Noto Sans CJK SC | 数据目录: /data/docs/investing/long-term-investing/data

1.1 通胀:现金为什么会「变毛」¶

大白话:今天 100 块能买的东西,10 年后可能要 130 块才买得到。钱的数字没变,但能买的东西变少了——这就是通胀。

类比:现金就像手里攥着的一块冰。你什么都不做,它也会慢慢化掉。通胀就是那个让冰融化的室温。

公式:年通胀率 i,T 年后,今天的 1 元购买力只剩 1 / (1+i)^T。

下面看看不同通胀率下,现金购买力是怎么被「融化」的:

In [2]:
years = np.arange(0, 31)
fig, ax = plt.subplots(figsize=(10, 5))
for i in [0.02, 0.03, 0.05]:
    purchasing = 1 / (1 + i) ** years
    ax.plot(years, purchasing * 100, lw=2, label=f"年通胀 {i*100:.0f}%")
ax.set_title("现金购买力随时间被通胀侵蚀(起点=100)")
ax.set_xlabel("年数"); ax.set_ylabel("购买力(起点=100)")
ax.legend(); ax.set_ylim(0, 105)
plt.tight_layout(); plt.show()

for i in [0.03, 0.05]:
    print(f"年通胀 {i*100:.0f}%:30 年后 100 元只剩约 {100/(1+i)**30:.1f} 元的购买力")
No description has been provided for this image
年通胀 3%:30 年后 100 元只剩约 41.2 元的购买力
年通胀 5%:30 年后 100 元只剩约 23.1 元的购买力

这张图在说什么:三条线都在往下掉,通胀越高掉得越快。年通胀 3% 时,30 年后你的现金购买力只剩四成左右。这就是「钱必须投出去」的根本原因——不是为了暴富,而是至少要跑赢通胀,别让攒下的钱悄悄缩水。

1.2 复利:世界第八大奇迹¶

大白话:复利 = 利滚利。今年赚的钱,明年和本金一起再去赚钱。时间越长,雪球滚得越离谱。

类比:单利是「每年砍一刀」的等差增长;复利是「利息也会生利息」的指数增长。短期看差不多,长期看天壤之别。

公式:本金 P,年化收益 r,T 年后变成 P × (1+r)^T。

我们对比「单利 vs 复利」,再看不同年化收益率下 10 万本金 30 年的结局:

In [3]:
P = 100000  # 10 万本金
years = np.arange(0, 31)
r = 0.08

simple = P * (1 + r * years)        # 单利:本金每年固定生 r
compound = P * (1 + r) ** years      # 复利:利滚利

fig, axes = plt.subplots(1, 2, figsize=(13, 5))
axes[0].plot(years, simple/1e4, lw=2, label="单利 8%", color="#7f8c8d")
axes[0].plot(years, compound/1e4, lw=2, label="复利 8%", color="#c0392b")
axes[0].set_title("单利 vs 复利(本金10万,年化8%)")
axes[0].set_xlabel("年数"); axes[0].set_ylabel("总资产(万元)"); axes[0].legend()

for r2, c in [(0.04,"#3498db"), (0.08,"#e67e22"), (0.12,"#c0392b")]:
    axes[1].plot(years, P*(1+r2)**years/1e4, lw=2, label=f"复利 {r2*100:.0f}%", color=c)
axes[1].set_title("不同年化收益率下的复利(本金10万)")
axes[1].set_xlabel("年数"); axes[1].set_ylabel("总资产(万元)"); axes[1].legend()
plt.tight_layout(); plt.show()

for r2 in [0.04, 0.08, 0.12]:
    print(f"年化 {r2*100:>2.0f}%:30 年后 10 万 → {P*(1+r2)**30/1e4:.1f} 万元")
No description has been provided for this image
年化  4%:30 年后 10 万 → 32.4 万元
年化  8%:30 年后 10 万 → 100.6 万元
年化 12%:30 年后 10 万 → 299.6 万元

这张图在说什么:

  • 左图:前几年单利和复利几乎贴在一起,但越往后复利越甩开单利——这就是「时间的朋友」。
  • 右图:年化从 4% 到 12% 看着只差几个百分点,30 年后结果却差出十几倍。长期投资里,每多 1% 的年化、每多 1 年的时间,威力都被指数放大。
  • 这也解释了为什么巴菲特 99% 的财富是 50 岁以后才积累的——他活得久 + 复利时间长。

1.3 四大类资产:收益与风险的定位¶

大白话:钱能去的地方大致四类,按「预期收益从低到高 / 风险从小到大」排:

资产 是什么 预期收益 风险 类比
现金/货币 银行存款、货币基金 最低(常跑不赢通胀) 几乎没有 冰块,会慢慢化
债券 借钱给政府/企业收利息 中低 较小 收租,稳但不多
股票 当企业股东,分享成长 最高(长期) 大(短期波动剧烈) 合伙开公司
房产 买房收租 + 增值 中高 中(流动性差、门槛高) 重资产生意

核心认知:没有「又安全又高收益」的资产。想要高收益,就得忍受高波动。长期投资的功夫,就是用「时间」和「分散」去管理这份波动。

下面用一组示意性的「收益-风险」散点,把四类资产的相对位置画出来(数字是教科书级的长期经验区间,仅作定位示意):

In [4]:
# 教科书级长期经验区间(示意定位,非精确预测)
assets = {
    "现金/货币": (1.5, 1),
    "债券":     (4.0, 6),
    "房产":     (6.0, 12),
    "股票(指数)": (8.0, 18),
}
fig, ax = plt.subplots(figsize=(9, 6))
for name, (ret, risk) in assets.items():
    ax.scatter(risk, ret, s=320, alpha=0.75)
    ax.annotate(name, (risk, ret), fontsize=12, ha="center", va="center")
ax.set_title("四大类资产的「收益-风险」相对定位(示意)")
ax.set_xlabel("风险(年化波动,越右越颠)→")
ax.set_ylabel("预期年化收益(越上越高)→")
ax.set_xlim(-2, 22); ax.set_ylim(0, 10)
plt.tight_layout(); plt.show()
No description has been provided for this image

这张图在说什么:四类资产大致排在一条从左下到右上的斜线上——想往上(高收益)走,就得往右(高风险)挪。这张图是「示意」的相对定位,不是精确预测。它要你记住的是排序和权衡关系,不是具体数字。长期投资者的主战场是右上角的股票(尤其是宽基指数),但要用资产配置把整体风险拉回自己能承受的程度。

1.4 用真实指数感受「长期股票收益」¶

理论说股票长期收益最高。我们用沪深300指数的真实历史数据验证一下:长期持有这一篮子中国大盘蓝筹,年化到底是多少、中途要忍受多大的回撤。

In [5]:
hs300 = D.load_index("000300")
close = hs300["close"]
tag = D.source_tag(hs300)
cagr = D.cagr(close)
mdd = D.max_drawdown(close)

fig, ax = plt.subplots(figsize=(11, 5))
ax.plot(close.index, close.values, lw=1.2, color="#c0392b")
ax.set_title(f"沪深300指数 长期走势 {tag}")
ax.set_xlabel("日期"); ax.set_ylabel("点位")
plt.tight_layout(); plt.show()

print(f"数据来源: {tag}")
print(f"区间: {close.index[0].date()} → {close.index[-1].date()}")
print(f"全程年化收益(CAGR): {cagr*100:.1f}%")
print(f"期间最大回撤: {mdd*100:.1f}%")
No description has been provided for this image
数据来源: (真实数据·本地缓存)
区间: 2002-01-04 → 2026-06-18
全程年化收益(CAGR): 5.6%
期间最大回撤: -72.3%

这张图在说什么:长期看指数是向上的(年化为正),但中途的最大回撤动辄 -40% 甚至更多。这就是股票的真相:长期向上,但路上很颠。能不能拿住、敢不敢在跌的时候继续买,才是长期投资者和短期赌徒的分水岭。

1.5 定投复利模拟:普通人最现实的入场方式¶

大白话:定投 = 每月固定投一笔钱,不管涨跌。它的好处是强制纪律 + 摊平成本,不用择时,特别适合工资党。

类比:定投就像每月往水池里舀一勺水,涨跌是水面的波浪,你不管波浪,只管坚持舀,时间久了水位自然涨上来。

下面模拟「每月定投 M 元、年化 r、持续 T 年」的资产曲线,并拆出「本金 vs 收益」:

In [6]:
def simulate_dca(monthly=3000, annual_return=0.08, years=20):
    months = years * 12
    r_m = (1 + annual_return) ** (1/12) - 1   # 月化收益
    bal = 0.0
    balances, principals = [], []
    for m in range(1, months + 1):
        bal = bal * (1 + r_m) + monthly        # 先增值,再投入本月
        balances.append(bal)
        principals.append(monthly * m)
    idx = pd.period_range("2024-01", periods=months, freq="M").to_timestamp()
    return pd.DataFrame({"本金累计": principals, "账户市值": balances}, index=idx)

M, R, T = 3000, 0.08, 20
df = simulate_dca(M, R, T)

fig, ax = plt.subplots(figsize=(11, 5))
ax.plot(df.index, df["本金累计"]/1e4, lw=2, label="累计投入本金", color="#7f8c8d")
ax.plot(df.index, df["账户市值"]/1e4, lw=2, label="账户市值(含收益)", color="#c0392b")
ax.fill_between(df.index, df["本金累计"]/1e4, df["账户市值"]/1e4, alpha=0.15, color="#c0392b")
ax.set_title(f"每月定投 {M} 元 · 年化 {R*100:.0f}% · {T} 年")
ax.set_xlabel("时间"); ax.set_ylabel("金额(万元)"); ax.legend()
plt.tight_layout(); plt.show()

total_in = df["本金累计"].iloc[-1]
final = df["账户市值"].iloc[-1]
print(f"{T}年共投入本金: {total_in/1e4:.1f} 万元")
print(f"最终账户市值:   {final/1e4:.1f} 万元")
print(f"其中投资收益:   {(final-total_in)/1e4:.1f} 万元(占最终市值 {(final-total_in)/final*100:.0f}%)")
No description has been provided for this image
20年共投入本金: 72.0 万元
最终账户市值:   170.7 万元
其中投资收益:   98.7 万元(占最终市值 58%)

这张图在说什么:

  • 灰线(本金)是直线匀速上升,红线(市值)一开始贴着灰线,后期越翘越高——红灰之间的阴影就是复利赚到的钱。
  • 关键洞察:前期收益占比很小,越往后收益占比越大。定投最怕的就是「投了两三年没起色就放弃」,恰恰错过了后面复利发力的阶段。
  • 改改上面的 M / R / T 参数重跑,体会一下「每月多投 1000」「多坚持 5 年」对终值的影响——你会对「时间和纪律」有新的敬畏。

本章小结¶

  • 通胀让现金贬值 → 钱必须投出去,至少跑赢通胀;
  • 复利是指数增长,时间和年化率都会被放大,长期投资的核心就是「让复利充分发酵」;
  • 四类资产收益与风险正相关,没有又稳又高的好事;
  • 真实的沪深300告诉我们:股票长期向上但回撤巨大,拿得住才有复利;
  • 定投是普通人最现实的纪律化入场方式,收益主要在后期兑现。

下一章 02:开始动真格——读懂三张财务报表,看清一家公司到底赚不赚钱、健不健康。

免责声明:本教程为投资教育内容,所有分析与示例仅为方法演示,不构成任何投资建议。文中涉及的公司与数据仅用于教学举例,不代表推荐。市场有风险,决策需自负。