「もし、これから10年以上、米国株が右肩下がりだったら?」 「インフレで現金の価値が目減りする中、投資を続ける意味はあるのか?」
長期投資において「いずれは右肩上がりに収束する」という期待は合理的ですが、その前提が通用しない「脆弱な期間」が歴史上には存在します。その代表例が、1968年から1982年にかけての米国株市場です。
現在の好調な相場しか知らない私たちが抱くこの不安に対し、歴史的なデータとシミュレーションから「理系的な納得感」のある答えを導き出します。
期待リターンが機能しない「停滞の時代」の正体
長期投資の前提となる「平均リターン」が牙を剥く時期があります。1968年から約15年間、米国の代表的な株価指数であるS&P500は、表面上の価格(名目株価)で見れば横ばい、あるいは緩やかな上昇に見えました。しかし、当時の米国を襲ったのは「スタグフレーション」と呼ばれる、不況と激しい物価上昇が同時に進む現象でした。
投資家にとっての真の成果は、口座の数字が増えることではなく、その資産で「何が買えるか(購買力)」が維持・向上することにあります。この時代のデータを見ると、インフレの影響がいかに深刻だったかが分かります。
- 名目リターン: 株価指数そのものは約15年間で大きな変化なし。
- 実質リターン: 物価上昇分を差し引くと、資産の価値は実質的に約半分まで目減り。

「株を持っていても資産価値が目減りし、現金を持っていてもインフレで価値が落ちる」という、非常に忍耐を強いられる局面でした。こうした長期停滞は「起こり得るもの」として、ポートフォリオの堅牢性を高めておくことが不可欠です。
あなたのポートフォリオは、株価が10年間横ばいでも「生活とメンタル」を維持できる設計になっていますか?
現金比率の維持と積立がもたらす防衛力
長期停滞期において資産形成を挫折させないための最も合理的な仕組みは、「適切な現金比率の維持」と「淡々とした積立」の組み合わせにあります。100%株式に投資するフルインベストメントは上昇相場では効率的ですが、こうした「脆弱な期間」にはリスクを露呈します。
「株式70%:現金30%」という比率を維持する戦略の真価は、相場が大きく崩れた時に発揮されます。株価が下落すると、ポートフォリオ内の株式比率が下がり、相対的に現金の比率が高まります。ここで、あらかじめ決めた比率に戻すために「積立金や現金を投じて株を買う(リバランス)」を行うことで、感情に左右されず、システム的に運用を継続できます。

資産形成において最も避けるべきは、含み損や生活への不安による「市場からの退場」です。一時的なリターンの高さよりも、運用を定常状態で維持できる「堅牢性」を優先することが、結果として長期的な成功確率を引き上げます。
暴落が起きたとき、あなたは「恐怖で売る人」ですか? それとも「淡々と比率を戻す準備がある人」ですか?
暴落局面における「現金バッファ」の具体的な挙動とシーケンス
暴落が発生した際、具体的にどう動くべきか。そのシーケンス(手順)を明確にしておくことで、パニックを防ぎ、システムを安定稼働させることができます。
- 【守り】生活費の確保: 株価が暴落している最中に、生活費のために株式を売却することは、損失を確定させる「脆弱な行動」です。生活費は、ポートフォリオ内の30%の現金(あるいは別途用意した生活防衛資金)から支出します。これにより、株価の回復を待つ「時間」を稼ぎます。
- 【攻め】比率の復元(フィードバック制御): 株価下落により、ポートフォリオが「株70:現金30」から「株50:現金50」のように目標値から乖離します。このとき、毎月の積立金10万円をすべて「株式」の購入に割り振ります。
- 【攻め】戦略的キャッシュの投入: 積立金だけでは比率が戻らないほどの下落時には、保有している30%の現金の一部を株式の購入に充てます。
この一連の手順は「市場が安いから買う」という予測(市場を当てる行為)ではなく、「設計値からズレたシステムを元に戻す」というフィードバック制御です。この無感情な動作が、結果として後述する「資産の爆発」を準備することになります。
暴落が起きた際、あなたは「株を売って生活費を作る」必要がない状態を作れていますか?
インフレによる減衰を許容しシステムの平衡を維持する合理性
高インフレ下で現金を保持することは、確かに購買力の目減りという「定常的なロス」を伴います。しかし、このロスを許容してでも現金比率という設計値を守り続けることには、数理的な利点があります。
現金の目減りは、システムを安全に稼働させるための「摩擦抵抗」や「維持費」のようなものです。もし現金をゼロにしてシステムのバッファを排除してしまえば、市場の大きなノイズ(暴落)に対してシステム全体が過敏に反応し、運用停止という致命的なエラーを引き起こしかねません。
また、インフレ下で株価が停滞している時期は、株式という実物資産が本来の価値に対して割安に放置されている期間とも言えます。この時期に「比率の復元」を繰り返すことで、将来的にインフレが収束し、企業利益が価格転嫁によって上昇し始めたときに、インフレ率を遥かに凌駕する勢いで資産価値を押し上げる「株数」を確保できるのです。
手元の現金は「単なる余り」ですか? それとも、システムの平衡を保つための「戦略的物資」として位置づけていますか?
暗黒時代を抜けた先に待つ「複利の爆発」
15年間にわたる長期停滞を、システムの平衡を維持しながら生き抜いた投資家には、最後にご褒美とも言える劇的な変化が訪れます。それが、1980年代以降に始まった米国株の歴史的な大上昇局面です。
1982年を境にインフレが収束し、金利が低下を始めると、それまで蓄積されていたエネルギーが一気に解放されました。ここで資産を爆発させたのは、相場観の鋭さではなく、停滞期に「比率の維持」に徹して積み上げた圧倒的な「株数」です。

資産形成の勝負は、華やかな上昇相場ではなく、誰もが諦めたくなるような静かな停滞期にこそ決まっています。もし明日から10年の停滞が始まったとしても、この「70:30」のシステムを稼働させ続ける限り、その期間は将来のあなたを支える「最大の仕込み期間」へと変わるのです。
米国株の「暗黒の70年代」という極限状態での生存戦略を解説しました。 続く第2部では、舞台を日本に移し、「投資対象が右肩上がりでない時」のシステムの堅牢性を検証します。

10年後の自分から感謝されるために、今の「評価損」や「停滞」を、システムを最適化するための貴重なプロセスとして受け入れられますか?
以下に、今回のシミュレーションで使用したロジックのPythonコードを公開します。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 日本語化設定
try:
import japanize_matplotlib
except ImportError:
!pip install japanize-matplotlib
import japanize_matplotlib
# --- シミュレーション設定 ---
years_stagnation = 15
years_growth = 15
months_stagnation = years_stagnation * 12
months_growth = years_growth * 12
total_months = months_stagnation + months_growth
initial_capital = 1000 # 初期資産 1000万円
monthly_investment = 10 # 毎月の積立額 10万円
cash_target_ratio = 0.3 # 目標現金比率 30%
# 再現性のためのシード固定
np.random.seed(123)
# 1. 前半:停滞・高インフレ期(1970年代風)
# 名目リターンは低いがボラティリティが高く、高いインフレにより実質価値が削られる
stagnation_stock_ret = np.random.normal(0.005, 0.05, months_stagnation)
stagnation_inflation = 0.006 # 年率約7.4%
# 2. 後半:上昇・低インフレ期(1980〜90年代風)
# 高い名目リターンと落ち着いたインフレにより、複利が爆発する
growth_stock_ret = np.random.normal(0.012, 0.04, months_growth)
growth_inflation = 0.002 # 年率約2.4%
# データの結合
stock_returns = np.concatenate([stagnation_stock_ret, growth_stock_ret])
inflation_rates = np.concatenate([np.full(months_stagnation, stagnation_inflation),
np.full(months_growth, growth_inflation)])
def simulate_strategy():
"""
現金比率を維持しながら積立を継続する戦略
(リバランスは新規積立金の投入比率で調整する「買い増し」方式)
"""
stock_val = initial_capital * (1 - cash_target_ratio)
cash_val = initial_capital * cash_target_ratio
history = []
current_inflation_factor = 1.0
for i in range(total_months):
# 運用リターン(株式のみに適用)
stock_val *= (1 + stock_returns[i])
# 資産合計と目標株式額の算出
total_current = stock_val + cash_val
target_stock_val = (total_current + monthly_investment) * (1 - cash_target_ratio)
# 積立金10万円を比率が足りない方に優先配分(買い増しによるリバランス)
if stock_val < target_stock_val:
diff = target_stock_val - stock_val
invest_to_stock = min(monthly_investment, diff)
stock_val += invest_to_stock
cash_val += (monthly_investment - invest_to_stock)
else:
cash_val += monthly_investment
# インフレ調整(実質価値の算出)
current_inflation_factor *= (1 + inflation_rates[i])
history.append((stock_val + cash_val) / current_inflation_factor)
return history
# シミュレーション実行
assets_real_value = simulate_strategy()
# --- グラフ描画 ---
plt.figure(figsize=(12, 7))
plt.plot(assets_real_value, label='株式70%:現金30% 戦略(実質価値)', color='#2c3e50', lw=2.5)
# 停滞期のハイライト
plt.axvline(x=months_stagnation, color='#95a5a6', linestyle=':', alpha=0.7)
plt.fill_between(range(months_stagnation), 0, max(assets_real_value),
color='#95a5a6', alpha=0.1, label='暗黒の15年(長期停滞・高インフレ)')
# グラフの装飾
plt.title('長期停滞期に「種まき」を継続した先の資産爆発(30年シミュレーション)', fontsize=16)
plt.xlabel('経過月数', fontsize=12)
plt.ylabel('実質資産価値(万円)', fontsize=12)
plt.legend(loc='upper left')
plt.grid(True, which='both', linestyle='--', alpha=0.5)
# アノテーション(効果の強調)
plt.annotate('この停滞期の「仕込み」が...',
xy=(months_stagnation/2, assets_real_value[int(months_stagnation/2)]),
xytext=(20, max(assets_real_value)*0.6),
arrowprops=dict(facecolor='black', shrink=0.05), fontsize=11)
plt.annotate('上昇相場で指数関数的に加速',
xy=(total_months-10, assets_real_value[-1]),
xytext=(total_months-100, assets_real_value[-1]+500),
arrowprops=dict(facecolor='black', shrink=0.05), fontsize=11)
plt.tight_layout()
plt.show()


コメント