目次
「投資家は合理的ではない」——これは行動ファイナンスの世界で広く信じられている命題だ。伝統的な経済学は「投資家は合理的に期待効用を最大化する」と仮定するが、現実の投資家は体系的なバイアスに陥る。本稿では主要な心理的バイアスとその影響を解説する。
1. プロスペクト理論——損失は利益の 2 倍の重み
1.1 伝統的な期待効用理論 vs プロスペクト理論
期待効用理論(伝統的経済学):
期待効用 = p₁ × U(x₁) + p₂ × U(x₂) + ...
投資家は期待値を最大化するように行動する
プロスペクト理論(カーネマン&トベルスキー,1979):
価値関数 V = Σ w(p) × v(x)
w(p): 確率の重み付け(実際は非線形)
v(x): 価値関数(利益と損失で非対称)
1.2 価値関数の形状
プロスペクト理論の価値関数は以下の特徴を持つ:
価値
↑
│ / 利益領域(凹関数:リスク回避)
│ /
│ /
──┼──────────→ 基準点(現在财富)
│ /
│/
│ 損失領域(凸関数:リスク選好)
│
3 つの重要な性質:
| 性質 | 説明 | 投資行動への影響 |
|---|---|---|
| 参照点依存性 | 絶対額ではなく基準点からの変化で評価 | 取得価格を基準に損得を判断 |
| 損失回避 | 同じ額の利益より損失を 2-2.5 倍重く感じる | 損失確定を過度に避ける |
| 感応度逓減 | 額が大きくなるほど感度が鈍る | 100 万円→200 万円と 1 億円→1 億 100 万円では前者が大きく感じる |
1.3 損失回避の実証データ
# 損失回避係数の測定実験
# 「50% の確率で X 円得る、50% の確率で 1 万円損する」ギャンブルの受諾閾値
def gamble_acceptance_threshold():
"""
多くの実験で、X ≈ 2 万円 〜 2.5 万円の時に受諾する人が増える
つまり、損失の 2-2.5 倍の利益がないとギャンブルを受けない
"""
loss = 10000
gain_needed = 25000 # 損失の 2.5 倍
expected_value = 0.5 * gain_needed + 0.5 * (-loss)
print(f"期待値:{expected_value}円") # +7,500 円(プラスなのにためらう)
gamble_acceptance_threshold()
現実の影響:
- 株価下落時に「含み損」のまま塩漬け
- 利益確定は早く、損失確定は遅い( disposition effect)
- リスクプレミアムが高くなる(株式投資を避ける)
2. アンカリング——最初の情報に縛られる
2.1 アンカリングの実験
実験デザイン(トベルスキー&カーネマン,1974):
被験者を 2 グループに分ける:
グループ A: 「国連加盟国のアフリカ諸国の割合は 65% より大きいか?」
→ その後「実際の割合は?」と尋ねる
→ 中央値回答:45%
グループ B: 「国連加盟国のアフリカ諸国の割合は 10% より大きいか?」
→ その後「実際の割合は?」と尋ねる
→ 中央値回答:25%
結果: 最初の「65%」や「10%」という数字(アンカー)に回答が引きずられた。
2.2 投資におけるアンカリング
| アンカー | 投資行動への影響 |
|---|---|
| 取得価格 | 「取得価格まで戻ったら売る」という不合理な判断 |
| 高値 | 「高値を更新したら買う」というトレンド追従 |
| ラウンドナンバー | 株価が 1 万円、2 万円などの節目で注文が集中 |
| アナリスト予想 | コンセンサスに锚定した過剰反応 |
# アンカリングバイアスのシミュレーション
class AnchoredInvestor:
def __init__(self, purchase_price):
self.purchase_price = purchase_price # アンカー
self.loss_aversion = 2.5 # 損失回避係数
def decide_sell(self, current_price, prob_gain=0.5):
"""売却判断"""
gain_loss = current_price - self.purchase_price
if gain_loss >= 0:
# 利益領域:リスク回避
utility = gain_loss
else:
# 損失領域:損失回避により大きく感じる
utility = gain_loss * self.loss_aversion
# 期待効用が正なら売却
expected_utility = prob_gain * utility
return expected_utility > 0
# シミュレーション
investor = AnchoredInvestor(purchase_price=10000)
print("株価 9,500 円(-5%):", investor.decide_sell(9500)) # False(損失確定回避)
print("株価 9,000 円(-10%):", investor.decide_sell(9000)) # False
print("株価 10,500 円(+5%):", investor.decide_sell(10500)) # True(利益確定)
2.3 アンカリングへの対策
- 取得価格を忘れる: サンクコストとして考える
- 絶対評価で行う: 「今この資産を買うか?」で判断
- ルールベース: 事前に損切り・利確ルールを決定
3. 代表性ヒューリスティック——類似性で確率を誤判断
3.1 代表性ヒューリスティックとは
代表性ヒューリスティック: ある事象が「典型的」かどうかで確率を判断する心理的ショートカット。
リンダ問題(トベルスキー&カーネマン,1983):
リンダは 31 歳、独身、非常に賢く、哲学を専攻。
学生時代は差別や社会正義の問題に深く関与し、デモにも参加した。
次のうち、どちらがより確からしいか?
A. リンダは銀行員である
B. リンダは銀行員であり、フェミニスト運動にも積極的である
正解: A(B は A の部分集合なので、確率は A の方が高い)
結果: 85% の被験者が B を選択(** conjunction fallacy**)
3.2 投資における代表性バイアス
| バイアス | 具体例 |
|---|---|
| 優良企業=優良投資 | 「良い会社」と「割安な株」を混同 |
| 過去パフォーマンスの直感的外挿 | 「最近好調なので続きそう」と判断 |
| ストーリーへの過剰反応 | 魅力的な企業ストーリーで確率を過大評価 |
# 代表性バイアスのシミュレーション
def judge_investment_attractiveness():
"""
投資家の誤判断:
- 企業 A: 過去 3 年間の株価リターン +30%/年、魅力的な CEO、話題の AI 企業
- 企業 B: 過去 3 年間の株価リターン +5%/年、地味な事業、無名の CEO
代表性バイアス:企業 A の方が「成功企業」に似ている → A を選択
実際の確率:過去の株価パフォーマンスは将来の予測力を持たないことが多い
"""
company_a = {
"name": "AI Tech Corp",
"return_3y": 0.30,
"ceo_charisma": 0.9,
"story_appeal": 0.95,
}
company_b = {
"name": "Boring Utilities Inc",
"return_3y": 0.05,
"ceo_charisma": 0.3,
"story_appeal": 0.2,
}
# 代表性バイアスあり投資家:「成功企業らしさ」で判断
attractiveness_a = company_a["ceo_charisma"] * company_a["story_appeal"]
attractiveness_b = company_b["ceo_charisma"] * company_b["story_appeal"]
print(f"企業 A の「成功企業らしさ」: {attractiveness_a:.2f}") # 0.86
print(f"企業 B の「成功企業らしさ」: {attractiveness_b:.2f}") # 0.06
# 実際の期待リターン(代表性とは無関係)
expected_return_a = 0.05 # すでに高評価で割高
expected_return_b = 0.08 # 低評価で割安
print(f"企業 A の期待リターン:{expected_return_a*100:.0f}%")
print(f"企業 B の期待リターン:{expected_return_b*100:.0f}%")
judge_investment_attractiveness()
4. 利用可能性ヒューリスティック——思い出しやすさで確率を過大評価
4.1 利用可能性ヒューリスティックとは
利用可能性ヒューリスティック: 記憶から思い出しやすい事象の確率を過大評価する傾向。
実験結果:
質問:「英語で、最初の文字が K である単語と、
3 番目の文字が K である単語、どちらが多いか?」
実際:3 番目の文字が K の単語の方が多い(例:bank, ask, ink)
結果:ほとんどの被験者が「最初の文字が K」と回答
→ K で始まる単語(kite, king, kitchen)の方が思い出しやすい
4.2 投資における利用可能性バイアス
| バイアス | 具体例 |
|---|---|
| 最近のニュースに過剰反応 | 墜落事故後、航空株を過度に売却 |
| 印象的なエピソードに引きずられる | 「友人がビットコインで 1000 万円儲けた」話が記憶に残る |
| メディア報道の影響 | 大きく報道された企業リスクを過大評価 |
# 利用可能性バイアスのシミュレーション
def availability_bias_in_investing():
"""
記憶のしやすさが確率判断を歪める
"""
# 実際の大暴落発生確率(年平均)
actual_crash_prob = 0.02 # 2%(50 年に 1 回)
# 記憶に新しい暴落(2020 年コロナ、2008 年リーマン)の後
# 利用可能性バイアスで確率を過大評価
perceived_crash_prob = 0.15 # 15%(記憶に鮮明)
print(f"実際の暴落確率:{actual_crash_prob*100:.1f}%")
print(f"知覚される暴落確率:{perceived_crash_prob*100:.0f}%")
print(f"過大評価率:{perceived_crash_prob / actual_crash_prob:.1f}倍")
# 結果:株式投資を避ける、または過度なヘッジ
# 期待リターンの見誤り:株式リスクプレミアムを過大に見積もる
availability_bias_in_investing()
4.3 利用可能性バイアスへの対策
- ベースレートを参照: 実際の統計データを確認
- 記録をつける: 自分の予測と結果を記録し、客観視
- 幅広い視点: 特定の事例だけでなく、全体をみる
5. ハーディング(群衆行動)——他人に従う合理性と非合理性
5.1 ハーディングのメカニズム
ハーディング: 他者の行動を模倣する傾向。金融市場ではバブルやパニック売りの原因となる。
合理的ハーディング(情報カスケード):
投資家 A: 私有情報「買い」→ 買う
投資家 B: 私有情報「売り」だが、A の行動を見て「買い」と判断 → 買う
投資家 C: 私有情報「売り」だが、A と B の行動を見て「買い」と判断 → 買う
...
結果:私有情報が正しくても、誤った情報カスケードが形成される
5.2 ハーディングの実証研究
| 研究 | 発見 |
|---|---|
| Christie & Huang (1995) | 市場が極端な時にハーディングが発生 |
| Chang et al. (2000) | アジア市場でハーディングが強い |
| 個人投資家研究 | 個人投資家ほどハーディングに陥りやすい |
5.3 ハーディングの具体例
# ハーディングのシミュレーション(情報カスケード)
import random
def information_cascade_simulation(n_investors):
"""
真の状態:良い資産(価値上昇)
各投資家は 60% の精度の私有情報を持つ
"""
true_value = "good"
buy_count = 0
for i in range(n_investors):
# 私有情報(60% の確率で正解)
private_signal = "good" if random.random() < 0.6 else "bad"
# 過去の行動を観察
if i == 0:
# 最初の投資家:私有情報のみ
action = private_signal
elif i == 1:
# 2 人目:私有情報 + 1 人目の行動
action = private_signal # まだカスケード前
else:
# 3 人目以降:カスケードが発生している場合、私有情報を無視
if buy_count >= 2: # 2 連続買いならカスケード開始
action = "buy" # 私有情報を無視して買う
else:
action = private_signal
if action in ["good", "buy"]:
buy_count += 1
print(f"投資家{i+1}: 私有情報={private_signal}, 行動=買う(累計買い:{buy_count})")
else:
print(f"投資家{i+1}: 私有情報={private_signal}, 行動=売らない(累計買い:{buy_count})")
print(f"\n最終結果:{buy_count}/{n_investors}人が買う")
return buy_count
# シミュレーション実行
random.seed(42)
information_cascade_simulation(10)
6. 自信過剰——自分を実力以上に評価する
6.1 自信過剰の 3 つの形態
| 形態 | 説明 | 投資への影響 |
|---|---|---|
| 過大評価 | 実際の実力を実力以上に評価 | 過剰な頻繁取引 |
| 過信 | 自分の予測精度を過信 | 分散不足、集中投資 |
| optimism bias | 自分に良いことが起きると過信 | リスクテイクの増大 |
6.2 自信過剰の実証研究
バーバー&オーディーン研究(2000):
対象:米国証券会社の個人投資家 66,465 口座(1991-1996 年)
発見:
- 最も取引頻度の高い 20% の投資家
→ 年平均リターン 11.4%(市場平均 17.9% を大きく下回る)
- 最も取引頻度の低い 20% の投資家
→ 年平均リターン 18.5%(市場平均を上回る)
結論:「頻繁な取引は wealth を破壊する」
6.3 自信過剰の測定
# 自信過剰の簡易テスト
def overconfidence_test():
"""
自信過剰テスト:90% 信頼区間を設定させる
"""
questions = [
"日経 225 種平均の 1 年後の株価はいくら?",
"日本の 2025 年の GDP 成長率は何%?",
"2025 年の米国のインフレ率(CPI)は何%?",
]
# 自信過剰のある投資家:
# - 信頼区間が狭すぎる(実際にはその範囲に収まらない)
# - 自分の予測精度を過信している
print("自信過剰バイアスのチェック:")
print("1. 過去の自分の予測を記録しているか?")
print("2. 予測の 90% 信頼区間のうち、実際にその範囲に収まるのは何%か?")
print(" → 50-60% なら自信過剰(90% であるべき)")
overconfidence_test()
7. 行動ファイナンスに基づく投資戦略
7.1 バイアスを回避するルール
| バイアス | 対策ルール |
|---|---|
| 損失回避 | 事前に損切りラインを設定(例:-10% で機械的に売却) |
| アンカリング | 取得価格を記録しない、またはリセットする |
| 代表性 | チェックリストで客観的評価 |
| 利用可能性 | 統計データを参照し、記憶に頼らない |
| ハーディング | コンセンサスと逆のポジションを検討 |
| 自信過剰 | 予測記録をつけ、キャリブレーション |
7.2 行動ファイナンスを活用した戦略
1. バリュー投資:
- 市場の過剰反応(代表性、利用可能性)を利用
- 悪いニュースで過剰に売られた株を買う
2. モメンタム投資:
- ハーディングによるトレンドの持続性を利用
- 上がり続ける株は上がり続ける傾向
3. コントラリアン投資:
- 市場の極端なセンチメントと逆を張る
- 「血が路上に溢れているときに買え」
7.3 行動ファイナンスの実践チェックリスト
def investment_decision_checklist():
"""投資判断前のセルフチェック"""
checklist = [
"□ この判断は取得価格(アンカー)に影響されていないか?",
"□ 最近のニュース(利用可能性)に過剰反応していないか?",
"□ 他者が買っているから買おうとしていないか(ハーディング)?",
"□ 自分の予測精度を過信していないか(自信過剰)?",
"□ 損失確定を避けていないか(損失回避)?",
"□ 企業ストーリーに惹かれていないか(代表性)?",
"□ 事前に決めたルールに従っているか?",
]
print("投資判断前のセルフチェックリスト:")
for item in checklist:
print(item)
investment_decision_checklist()
まとめ
行動ファイナンスが示す 5 つの核心:
- プロスペクト理論: 損失は利益の 2-2.5 倍の重み
- アンカリング: 最初の情報(取得価格)に縛られる
- 代表性ヒューリスティック: 「成功企業らしさ」で確率を誤判断
- 利用可能性ヒューリスティック: 記憶のしやすさで確率を過大評価
- ハーディング: 他者の行動に同調する
これらのバイアスを理解し、ルールベースの投資で対抗することが、長期的な投資成功の鍵となる。
免責事項 — 当記事は情報提供を目的としており、特定の金融商品の売買を推奨するものではありません。投資判断はご自身の責任で行ってください。