【検証】レバナスで資産が溶ける?「逓減(ていげん)」の正体をPythonシミュレーションで図解する

複雑な歯車や数式(E(x)=...)、下落する株価チャートが描かれた背景の上に、「逓減」という漢字が虫眼鏡で拡大されている、レバレッジ投資の数学的なリスクを象徴したアイキャッチ画像。 投資戦略

プロローグ:レバナスブームの裏側に潜む「数学的な罠」

資産形成に関心のある方なら、「レバナス(NASDAQ100レバレッジ)」という言葉を一度は耳にしたことがあるでしょう。

近年の米国テック企業の成長力を背景に、日々の値動きの2倍、3倍のリターンを目指すレバレッジ商品は、一部で「最短で資産を築くための最適解」であるかのように語られています。上昇相場において、その爆発力が凄まじいことは事実です。

しかし、この強力なエンジンの裏側には、「逓減(ていげん)」と呼ばれる数学的な性質が潜んでいることを、どれだけの人が正確に理解しているでしょうか?

この記事では、投資信託の目論見書に小さく書かれたリスクを、エンジニアらしく数式とシミュレーションで解き明かしていきます。

「価格が元に戻っても、資産が戻らない」という数学的ミステリー

まず、直感と数学のズレを感じていただくために、一つの問いを投げかけます。

「ある指数が乱高下した後、結局元の価格に戻った(±0%)とします。この時、レバレッジ商品の価格はどうなっているでしょうか?」

多くの人は直感的に「元の価格(プラマイゼロ)に戻る」と考えがちです。しかし、数学的な答えは「マイナスになる」です。

直感 vs 現実:資産は元に戻らない

ステップ 計算式 資産評価額
スタート 100万円
1日目:+20%上昇 100 × 1.2 120万円
2日目:-20%下落 120 × 0.8 96万円

結論:元の価格に戻ったように見えても、資産は4%減少する。

相場がボックス圏(一定の幅で上がったり下がったりを繰り返す状態)で推移する場合、レバレッジ商品はボディブローのように資産を削り続けます。これは信託報酬などの手数料の話ではありません。「変動すること自体」が資産を目減りさせるという、数学的な宿命なのです。

読者への問いかけ:あなたは、ご自身のポートフォリオに含まれるレバレッジ商品が、「なぜ横ばい相場に弱いのか」を、数式を使って誰かに説明できますか?

日次リバランスの功罪:なぜ「1日の値動き」の2倍を目指すのか

レバレッジ投資信託やETFの目論見書(説明書)を詳しく読んだことはありますか? そこには必ず、以下のような注意書きがあります。

「日々の基準価額の値動きが、対象指数の値動きの2倍程度となることを目指して運用を行います」

ここで重要なのは「日々の」という言葉です。 「1年後のリターンが2倍になる」とはどこにも書かれていません。この「日次リバランス(Daily Rebalancing)」という仕組みこそが、レバレッジ商品の最大の武器であり、同時に最大のリスク要因でもあります。

⚙️ 重要:日次リバランスとは?

レバレッジETFは、「毎日、その日の終わりに」レバレッジ倍率がちょうど2倍(または3倍)になるように、自動で調整(リバランス)を行います。

  • 上がった日:利益が出てレバレッジが下がるので、追加で買い増す(アクセルを踏む)。
  • 下がった日:損失が出てレバレッジが上がるので、一部を売却する(ブレーキを踏む)。

この「毎日リセットされる」という仕組みが、複利効果と逓減の両方を生み出すエンジンなのです。

複利効果を最大化するための、運用構造

なぜ、わざわざ「1日単位」で調整するのでしょうか? それは、上昇相場において「複利効果(コンパウンディング)」を最大化するためです。

相場が上昇している局面を想像してください。 資産が増えれば、投資家としては「もっと資金を投じて、さらに利益を伸ばしたい」と考えるのが自然です。レバレッジ型ファンドは、これを自動的に行っています。

  • 価格が上昇した日: 資産総額が増えるため、レバレッジ比率(2倍)を維持するために、追加で先物を買い建てます(ポジションを増やす)。
  • 価格が下落した日: 資産総額が減るため、レバレッジ比率(2倍)を維持するために、先物を売却します(ポジションを減らす)。

つまり、「上がれば買い増し、下がれば損切り」という順張りのトレードを、毎日機械的に繰り返しているのがレバレッジ商品の正体です。

100円が121円になる時、レバレッジの裏では何が起きているか

この「日次リバランス」がプラスに働くと、驚くべき現象が起きます。 簡単な例として、指数が「2日連続で10%ずつ上昇した」ケースを見てみましょう。

  • 通常指数(1倍)の場合
    • 1日目:100 × 1.1 = 110
    • 2日目:110 × 1.1 = 121 (トータル +21%)
  • レバレッジ(2倍)の場合
    • 1日目:100 × 1.2(+20%) = 120
    • 2日目:120 × 1.2(+20%) = 144 (トータル +44%)

ここでのポイントは、通常指数が「+21%」なのに対し、レバレッジはその単純な2倍(+42%)を超えて、「+44%」になっていることです。

この「+2%」の差分こそが、日次リバランスが生み出す複利のボーナスです。一方的に上がり続ける相場であれば、レバレッジ商品は最強の資産形成ツールになり得ます。しかし、これが逆回転(下落・横ばい)した瞬間に、牙をむくことになるのです。

読者への問いかけ:保有しているレバレッジ商品の目論見書で、「運用目標」の定義が「期間(例えば1年)」ではなく「日次」であることを再確認したことはありますか?

ボックス相場で資産が削られる「逓減」の正体を数式で解く

前章で、上昇局面では「複利」が味方することをお伝えしました。しかし、相場が上下動を繰り返すボックス相場(レンジ相場)では、この複利効果が「逆回転」を始めます。

これが「逓減(ていげん)」の正体です。 なぜ、横ばいの相場で資産が勝手に減っていくのか? エンジニアらしく、数式でそのメカニズムを解剖してみましょう。

算術平均と幾何平均の乖離:ボラティリティが資産を押し下げる理由

数学には「算術平均(足して2で割る)」と「幾何平均(掛けてルートを取る)」という2つの平均があります。 投資の世界、特にレバレッジ商品において重要なのは、「ボラティリティ(変動率)が高くなればなるほど、幾何平均は算術平均よりも小さくなる」という性質です。

これを「ボラティリティ・ドラッグ(Volatility Drag)」と呼びます。 レバレッジ2倍、3倍というのは、人為的にボラティリティを増幅させる行為です。つまり、「自ら幾何平均(=最終的なリターン)を押し下げるバイアスをかけている」ことに他なりません。

100→120→100の往復で、レバレッジ2倍が「93.3」に沈む計算根拠

具体的に、先ほどPythonシミュレーションで検証した「行って来い相場」の数値を追ってみましょう。

【シナリオ】

  • 通常指数(1倍): 100円からスタートし、翌日120円(+20%)に上昇。しかし、その翌日には100円に戻った。
    • 結果:±0円(損益なし)

この時、レバレッジ(2倍)ファンドの内部ではどのような計算が行われているでしょうか。

【レバレッジ(2倍)の挙動】

  1. 1日目(上昇局面): 指数が+20%なので、レバレッジは+40%動きます。100×1.4=140ここまでは順調です。
  2. 2日目(下落局面): ここが罠です。指数が120円から100円に戻るための下落率は「-20%」ではありません。(100−120)÷120=−16.66…%指数は約-16.7%の下落です。レバレッジはこの2倍動くため、約-33.3%下落することになります。140×(1−0.3333…)=93.33…

【結論】 指数は無傷(100円)で戻ってきたのに、レバレッジ商品は93.3円になり、約6.7%の資産が消滅しました。

代替テキスト案: Pythonで作成された「横ばい相場におけるレバレッジの逓減」を示すシミュレーショングラフ。横軸は経過日数(0日目〜2日目)、縦軸は資産評価額(スタート=100)。青色の実線「通常指数(1倍)」は、0日目に100、1日目に120(+20%)へ上昇後、2日目に元の100へ戻る推移を示している。一方、赤色の破線「レバレッジ(2倍)」は、1日目に140(+40%)まで大きく上昇するものの、2日目の下落局面で下げ幅が大きくなり、最終的に93.3まで資産が減少している。インデックスが±0%で着地したにもかかわらず、レバレッジ商品が約6.7%の損失(逓減)を出した様子が視覚的に表現されている。

この「6.7%の消失」は、運用会社のミスでも手数料でもありません。「140円という高い基準価額に対して、大きな下落率(-33%)が適用された」という、純粋な数学的結果です。

「大きく増えた後に、大きく減る」。この順序で計算が行われるとき、資産へのダメージは、回復に必要なエネルギー(上昇率)を遥かに上回るのです。

読者への問いかけ:あなたが現在投資している、あるいは投資しようとしている市場は、長期的に見て「トレンド(右肩上がり)」ですか? それとも「レンジ(横ばい)」ですか?

【数値検証】ボラティリティが資産寿命に与えるインパクト

「レバレッジは長期保有に向かない」と言われますが、それは具体的にどの程度の損失を意味するのでしょうか? エンジニアの視点で、Pythonを用いて3つの異なる相場シナリオをシミュレーションし、比較検証を行いました。

今回の検証で特に重要な条件は、「シナリオ1と2で、通常指数の最終的なリターンを全く同じ(+20%)に揃えた」という点です。 これにより、相場の「揺れ(ボラティリティ)」だけが純粋に資産へ与えるダメージを分離して観測することができます。

グラフから読み解く「道筋」の重要性

1. 【シナリオ1 vs 2】同じゴールでも、手残りは違う 左と中央のグラフを見比べてください。 どちらも青線(通常指数)は、最終的に「120(+20%)」という同じゴールに到達しています。しかし、赤線(レバレッジ)の到達点には明確な差が生じています。

  • シナリオ1(左:安定上昇) 日次リバランスが理想的な複利効果を生み、レバレッジの利益は最大化されています。
  • シナリオ2(中:乱高下上昇) 激しい値動きがブレーキとなり、シナリオ1に比べて最終的な利益が削られています。これが「ボラティリティ・ドラッグ(変動による減価)」の動かぬ証拠です。「結果的に上がればいい」と考えがちですが、荒波の中を進むだけで、実は見えないコストを支払い続けているのです。

2. 【シナリオ3】横ばい相場がもたらす「構造的な損失」 右のグラフは、レバレッジ商品の弱点を最も浮き彫りにしています。 青線(通常指数)は乱高下の末にスタート地点の「100」に戻り、損益はプラスマイナスゼロで着地しました。

しかし、赤線(レバレッジ)は100に戻ることなく、右肩下がりで沈んでいます。相場が方向感を持たずに迷っている期間、レバレッジ効果はプラスに働くことなく、変動によるマイナス要因だけが積み重なった結果です。これは、投資判断のミスではなく、商品の構造上避けられない現象です。

Pythonでシミュレーションされた3つの相場シナリオにおける、通常指数(青線)とレバレッジ2倍(赤線)の資産推移を比較したグラフ。左図は安定上昇でレバレッジが圧勝する様子、中央図は乱高下しながら指数と同じゴール(120)に到達するもレバレッジの利益が削られる様子、右図は横ばい相場で指数が元に戻る(100)一方でレバレッジが大きく資産を減らす(逓減)様子が描かれている。
# !pip install japanize-matplotlib
# ↑未インストールの場合は実行してください

import matplotlib.pyplot as plt
import japanize_matplotlib
import numpy as np

# 乱数シード
np.random.seed(42)

# シミュレーション日数 (約1年)
days = 252
time_axis = np.arange(days + 1)

# --- ターゲット設定 ---
target_s1 = 120.0 # シナリオ1のインデックス最終値
target_s2 = 120.0 # シナリオ2のインデックス最終値
target_s3 = 100.0 # シナリオ3のインデックス最終値

# --- 関数: 資産推移計算 ---
def calculate_path(daily_returns, leverage=2):
    idx = [100.0]
    lev = [100.0]
    for r in daily_returns:
        idx.append(idx[-1] * (1 + r))
        lev_val = lev[-1] * (1 + r * leverage)
        lev.append(lev_val)
    return np.array(idx), np.array(lev)

# --- シナリオデータ生成 ---

# 1. 理想的な上昇 (Ideal) -> 最終値120
# 毎日一定のペースで上昇して、ぴったり120になる日次リターンを逆算
# (1+r)^252 = 1.20
r_daily_ideal = (target_s1 / 100.0) ** (1/days) - 1
r_ideal = np.full(days, r_daily_ideal)

# 2. 現実的な乱高下上昇 (Realistic) -> 最終値120
# まず乱数で波を作る (ボラティリティ高め)
r_trend_raw = np.random.normal(0.0, 0.015, days)
# 強制的に最終値を120にするための補正係数を計算
idx_temp = 100.0
for r in r_trend_raw:
    idx_temp *= (1 + r)
correction_s2 = (target_s2 / idx_temp) ** (1/days)
r_trend = (1 + r_trend_raw) * correction_s2 - 1

# 3. ボックス相場 (Sideways) -> 最終値100
# 乱数で波を作る
r_box_raw = np.random.normal(0.0, 0.020, days)
# 強制的に最終値を100にする
idx_temp = 100.0
for r in r_box_raw:
    idx_temp *= (1 + r)
correction_s3 = (target_s3 / idx_temp) ** (1/days)
r_box = (1 + r_box_raw) * correction_s3 - 1

# --- 全データの最小・最大を取得してY軸を統一 ---
data_ideal = calculate_path(r_ideal)
data_trend = calculate_path(r_trend)
data_box = calculate_path(r_box)

all_values = np.concatenate([
    data_ideal[0], data_ideal[1],
    data_trend[0], data_trend[1],
    data_box[0], data_box[1]
])

y_min = all_values.min() - 5
y_max = all_values.max() + 5

# --- プロット処理 ---
fig, axes = plt.subplots(1, 3, figsize=(18, 6))

scenarios = [
    ("【シナリオ1】理想的な安定上昇\n(Index終値: 120)", data_ideal),
    ("【シナリオ2】激しい波のある上昇\n(Index終値: 120)", data_trend),
    ("【シナリオ3】横ばいボックス相場\n(Index終値: 100)", data_box)
]

for i, (title, (idx_vals, lev_vals)) in enumerate(scenarios):
    ax = axes[i]

    # プロット
    ax.plot(time_axis, idx_vals, label='通常指数 (1倍)', color='#3498db', linewidth=2)
    ax.plot(time_axis, lev_vals, label='レバレッジ (2倍)', color='#e74c3c', linewidth=2, linestyle='--')

    # タイトルとグリッド
    ax.set_title(title, fontsize=13)
    ax.grid(True, linestyle=':', alpha=0.6)
    ax.axhline(100, color='gray', linestyle='-', alpha=0.3)

    # Y軸統一
    ax.set_ylim(y_min, y_max)

    # 最終値表示
    last_idx = idx_vals[-1]
    last_lev = lev_vals[-1]

    # テキスト位置調整
    offset_idx = (5, 5) if last_idx >= last_lev else (5, -15)
    offset_lev = (5, -15) if last_idx >= last_lev else (5, 5)

    ax.annotate(f'{last_idx:.0f}', (days, last_idx), xytext=offset_idx, textcoords='offset points', color='#3498db', weight='bold', fontsize=11)
    ax.annotate(f'{last_lev:.0f}', (days, last_lev), xytext=offset_lev, textcoords='offset points', color='#e74c3c', weight='bold', fontsize=11)

    # 領域の着色
    ax.fill_between(time_axis, idx_vals, lev_vals, where=(lev_vals > idx_vals), color='red', alpha=0.1)
    ax.fill_between(time_axis, idx_vals, lev_vals, where=(lev_vals <= idx_vals), color='blue', alpha=0.1)

    if i == 0:
        ax.legend(fontsize=11, loc='upper left')
        ax.set_ylabel('資産評価額 (Start=100)', fontsize=12)
        ax.set_xlabel('営業日', fontsize=12)

plt.tight_layout()
plt.show()

「逓減」はコストではなく、数学が定める回避不能な「物理法則」

多くの投資家は、信託報酬(年率1%程度)を気にしますが、シナリオ2と3が示す数学的な損失は、信託報酬を遥かに上回るインパクトを持ちます。

ここで認識を改めるべきは、「逓減は手数料ではない」ということです。 それは、重力のように常に働き続ける物理法則です。

  • ボラティリティが低い(シナリオ1) = 重力が弱く、レバレッジの推進力が勝る。
  • ボラティリティが高い(シナリオ2, 3) = 重力が強く、資産が自重で潰れていく。

NASDAQ100のようなハイテク株指数は、S&P500などの広範な指数に比べてボラティリティが高い傾向にあります。つまり、「元々重力が強い惑星で、さらに重りを背負って登山をする」のがレバナス投資の本質です。

シミュレーション結果が示す通り、「最終的に右肩上がりなら勝てる」というのは半分正解で半分間違いです。正しくは、「ボラティリティの重力(逓減)を振り切るほどの、圧倒的なスピードで上昇し続けなければ、期待したリターンは得られない」のです。

読者への問いかけ:中央のグラフ(シナリオ2)を見てください。あなたは「指数と同じゴール」にたどり着くために、変動リスクによって削られた利益(シナリオ1との差分)を、「必要なコスト」として許容できますか?

「魔術」を「技術」に変える:レバレッジと誠実に向き合う戦略

ここまで、レバレッジ商品に潜む「逓減(ていげん)」という数学的な罠について、厳しい現実を見てきました。では、レバレッジ商品は「触れてはいけない危険物」なのでしょうか?

結論は「No」です。 危険なのは、仕組みを理解せずに全力で依存することです。ボラティリティの性質さえ理解していれば、それを制御可能な「技術」として、あなたのポートフォリオに組み込むことができます。

長期保有の難易度を跳ね上げる「数学的な期待値」の正体

レバレッジ投資において最も厄介なのは、「時間の経過とともに、勝率の偏りが大きくなる」という点です。

通常のインデックス投資(S&P500やNASDAQ100の現物)は、時間を味方につける投資です。保有期間が長くなるほど、プラスのリターンに収束する確率が高まります。 しかし、レバレッジ投資は「逓減(ボラティリティ・ドラッグ)」というマイナスの重力が常に働くため、「理論上の最高値」と「実際に多くの人が手にする結果」の差が広がりやすくなります。

つまり、「計算上は凄まじいリターンが出る可能性があるが、実際にその果実を手にできる確率は、現物投資よりも低くなる」のです。これを単に「ハイリスク」と呼ぶのではなく、「再現性が低い」と捉えるのが、レバレッジの本質を突いた見方です。

感情を排除し、リスク許容度を「レバレッジ比率」で制御する

では、どうすればこの「再現性の低さ」をカバーできるでしょうか? 答えはシンプルです。「ポートフォリオ全体の実質レバレッジ倍率」を管理することです。

レバナス(2倍)を買うか、買わないかという「0か100か」の議論にする必要はありません。ポートフォリオの一部にスパイスとして組み込むことで、全体の変動幅を許容範囲に抑えつつ、リターンの底上げを狙う「コア・サテライト戦略」が有効です。

例えば、以下のような配分を考えてみましょう。

  • コア資産(80%): 全世界株式やS&P500(レバレッジなし)
    • 役割:資産の守り。確実に市場平均を取りに行く。
  • サテライト資産(20%): NASDAQ100レバレッジ
    • 役割:資産の攻め。余剰資金でリスクを取り、超過リターンを狙う。

この場合、資産全体の実質レバレッジは以下のようになります。

pie title 推奨ポートフォリオ配分(例)
    "コア資産(守り): 80%" : 80
    "サテライト(攻め): 20%" : 20

(1倍×0.8)+(2倍×0.2)=1.2倍

これなら、仮にボックス相場でレバレッジ部分が20%目減りしても、資産全体へのダメージは4%程度です。これなら、相場が荒れても「夜もぐっすり眠れる」範囲ではないでしょうか。

「いつ売るか」「いつ買うか」というタイミング投資は、プロでも難しい「魔術」の領域です。 しかし、「資産の何%を割り当てるか」という配分(アセットアロケーション)は、誰でもコントロール可能な「技術」です。

読者への問いかけ:現在の投資額は、仮に「逓減」や暴落でレバレッジ部分が半値になっても、人生設計やメンタルに支障をきたさない金額ですか? それとも、祈らなければ耐えられない金額ですか?

エピローグ:数式を味方につけ、一過性のブームに惑わされない投資を

投資の世界には、魅力的なキャッチコピーが溢れています。「S&P500をアウトパフォームする」「最強の投資法」といった言葉は、私たちのアドレナリンを刺激します。

しかし、今回シミュレーションで確認した通り、レバレッジ商品には「逓減(ていげん)」という、確実なマイナスの力が常に働いています。これは誰かが作った悪意ある罠ではなく、数学的な事実です。

だからこそ、私たちに必要なのは「信じる心」ではなく「知る力」です。

相場が荒れ、株価が乱高下し始めたとき、仕組みを知らない投資家は「なぜ下がっているんだ!」と恐怖し、底値で狼狽売りをしてしまいます。 一方、この記事を読んだあなたは、「今はボラティリティが高まっているから、逓減圧力がかかっているな。想定通りの挙動だ」と、冷静にチャートを眺めることができるはずです。

「仕組みを理解すること」。 これこそが、あなたの大切な資産を市場の荒波から守る、最強の防御壁となります。

🛡️ 知識の盾:賢明な投資家のアクションリスト

  • 仕組みを理解する:「逓減」はコストではなく、数学的な物理法則であることを受け入れる。
  • 比率で管理する:「全力投資」を避け、ポートフォリオの一部(例:20%)に留める。
  • 感情を排除する:暴落時に狼狽売りしないよう、あらかじめ許容できるリスクの範囲内で投資する。
  • 相場を監視する:ボラティリティ(変動率)が高い時期は、逓減圧力が強まることを意識する。

ぜひ、今回紹介したシミュレーション結果を頭の片隅に置き、リスクとリターンを天秤にかけた「納得感のある投資」を続けてください。

読者への問いかけ:次に「買い」のボタンを押すとき、その決断の根拠を、雰囲気や感情ではなく「数字」で誰かに説明できますか?

コメント

タイトルとURLをコピーしました