第34回 効用関数とリスク回避度 ― 同じ期待値でも選び方が変わる理由

位置: 第4部 第34回 / 前提: 第19回、第33回 / 数学編: M11、M29 / この回でできるようになること: 期待値が同じ2つの賭けを、リスク回避度に応じた確実性等価で比べることができる
0. 物語 ― サンクトペテルブルクの逆説
こんなゲームに誘われたとします。コインを投げて、表が出るまで続けます。1回目で表なら2円、2回目で初めて表なら4円、3回目なら8円。回数が増えるたびに賞金は倍になります。10回連続で裏が出て11回目にようやく表が出れば、賞金は2048円です。
このゲームの「平均的な賞金」を計算してみると、奇妙なことが起こります。どの回で表が出ても、確率と賞金をかけた値はぴったり1になります。それが永遠に続くので、平均は足せば足すほど増えていきます。10回分を足せば10、50回分なら50、際限がありません。
平均が無限に大きいなら、参加料がいくらであっても元が取れる計算です。100円でも、1000円でも、1万円でも。しかし実際に財布から1万円を出してこのゲームに参加する人は、まずいないでしょう。これが18世紀から知られている「サンクトペテルブルクの逆説」です。
答えを出したのはダニエル・ベルヌーイでした。お金の「ありがたみ」は金額そのものではなく、今持っている額から見た増え方で決まる、と考えたのです。持ち金が2円から4円に増えるのと、1000円から1002円に増えるのとでは、同じ2円でも重みが違います。
この「ありがたみ」で賞金を測り直すと、賞金がどれだけ大きくなっても、ありがたみの増え方は鈍っていきます。無限に発散していた平均が有限の値に収まります。手持ちのお金を考えず、賞金だけのありがたみで測ると、このゲームの価値は確定で4円をもらうのと同じになります。ありがたみの曲がり具合こそが、人がリスクを避ける理由です。この回では、その仕組みを3つの定理で示します。
1. 動機 ― 同じ期待値なら同じでよいのか
この回を読み終えると、期待値が同じ2つの賭けを、リスク回避度に応じた確実性等価で比べることができます。
2つの賭けがあります。どちらも期待値はゼロです。
- 賭け A: 確率
で 、確率 で 。 - 賭け B: 確率
で 、確率 で 。
「期待値が同じなら無差別」と考える人は、A と B を区別しません。しかし実際に手持ちが
期待値だけでは選択を説明できません。「同じ金額でも、持っている量によって嬉しさが違う」という事実を取り込む道具が効用関数です。今回は、効用関数の凸性がリスク回避を生む仕組みを証明し、リスクプレミアムと絶対的リスク回避度を導きます。
この記事で証明すること
- THM-UT-1: 効用関数が上に凸であることと、任意の賭けについて期待効用が期待値の効用を超えないことは同値です。これがイェンセンの不等式とリスク回避の関係です。
- THM-UT-2: 確実性等価は期待効用を与える確定額であり、上に凸な効用のもとでは期待値以下になります。その差がリスクプレミアムです。
- THM-UT-3: 小さな賭けに対するリスクプレミアムは、分散の半分に絶対的リスク回避度を掛けた量で近似されます。
2. 設定と仮定 ― 富の効用という考え方
以下の仮定を置きます。
- 効用関数
は2回微分可能で、 (富が増えれば効用は増える)。 - 賭けの結果は有限個の値を取る。確率変数
は の値を確率 で取る。 - 効用は富の関数であって、収益率の関数ではない。現在の富
に対し、賭けの結果が なら最終的な富は 。 - 数値に単位は付けない。
期待効用は
と定義します。投資家はこの値が大きい方を好む、と仮定します。
効用関数が上に凸(concave)であるとは、任意の
が成り立つことです。2回微分可能なとき、
代表的な上に凸の効用関数は対数効用
この節のまとめ: 効用関数は「富が増えたときの嬉しさの増え方が鈍っていく」ことを上に凸で表現する道具です。
3. 主張 ― 凸性がリスク回避を生む
定理 THM-UT-1(イェンセンの不等式とリスク回避) 効用関数
が上に凸であることと、任意の確率変数 (有限値)について が成り立つことは同値である。
定理 THM-UT-2(確実性等価とリスクプレミアム)
が上に凸で狭義単調増加とする。確率変数 に対して を確実性等価と呼ぶ。THM-UT-1 より
である。 をリスクプレミアムと呼ぶ。
定理 THM-UT-3(絶対的リスク回避度) 富
のもとで期待値ゼロの小さな賭け ( 、 )を取るとき、リスクプレミアムは で近似される。ここで
を絶対的リスク回避度(Arrow-Pratt の測度)と呼ぶ。
この節のまとめ: 上に凸な効用は、期待効用を期待値の効用以下に押し下げ、確実な額を好む行動を生みます。その強さを測る指標が絶対的リスク回避度です。
証明を読む(読まなくても記事は完結します)
4. 証明 ― イェンセンの不等式から出す
この節は読まなくても記事は完結します。
この証明を追いたい人は、数学編 第11回「ラグランジュ未定乗数法」、数学編 第29回「凸性と最適化」へ。
THM-UT-1 の証明
(⇐)
となり、左辺は
と定めます。これは最初の
帰納法の仮定を確率
(⇒) 任意の有限確率変数に対して (2.1) が成り立つならば
任意の
これは (1.1) そのものです。 ∎
THM-UT-2 の証明
THM-UT-1 から
よって
THM-UT-3 の証明
富
両辺の期待値を取ります。
確実性等価の定義から
(3.4) と (3.5) を等置して
これが (2.4) です。
5. 反例 ― 期待値が無限でも払える額は有限
反例 CEX-UT-1: 期待値が同じでも選好は分かれる
「期待値が同じなら同じ選択になる」は誤りです。対数効用
- 賭け A:
または 、各確率 。期待値 。 - 賭け B:
または 、各確率 。期待値 。
賭け A の確実性等価は
賭け B の確実性等価は
期待値はどちらもゼロですが、確実性等価は A の方が高く、この投資家は A を好みます。ばらつきが大きい賭けほど、上に凸な効用のもとでペナルティが大きくなるためです。
反例 CEX-UT-2: 下に凸な効用は賭けを好む
「効用関数は個人の好みだから何でもよい」は注意が必要です。
一方、
確実性等価は
このような嗜好を持つ人がいても構いませんが、市場全体が下に凸な効用で動いていたら、リスクの高い資産に低い価格がつきません。現実の価格形成ではリスクのある資産がリスクのない資産より高い期待収益率を持っており、これは市場参加者が全体として上に凸な効用を持つことと整合します。
反例 CEX-UT-3: サンクトペテルブルクの逆説
次の賭けを考えます。公正なコインを表が出るまで投げ続け、
この賭けの期待値は
と発散します。
対数効用
と有限に収まります。
確実性等価は
この節のまとめ: 期待値だけでは選好を説明できない場面が存在し、効用関数の凸性が選択の違いを生みます。期待値が発散するサンクトペテルブルクの賭けも、対数効用では有限の確実性等価を持ちます。
6. 数値例 ― コイン投げの確実性等価を出す
対数効用
富の水準による違い
富
一方
確実性等価は
同じ賭けを富の水準を変えて評価すると、リスクプレミアムは次のように変わります。
| 富 |
確実性等価 | リスクプレミアム(厳密) | 近似 |
|---|---|---|---|
富が増えるほどリスクプレミアムは小さくなります。これは対数効用の絶対的リスク回避度が
近似の精度
THM-UT-3 の近似
賭けの大きさが富に比べて小さくなるほど、テイラー展開の高次項が無視できるため近似が正確になります。
サンクトペテルブルクの賭け
期待値は
| 期待値の部分和 | 期待効用の部分和 | |
|---|---|---|
期待値は際限なく増えますが、期待効用は早い段階で収束します。対数効用のもとでは、
この節のまとめ: 対数効用のもとでは、富が増えるほどリスクプレミアムが小さくなり、絶対的リスク回避度による近似は賭けが小さいほど正確です。サンクトペテルブルクの賭けでも確実性等価は
7. 次回へ ― 期待値と分散の2つに絞る
今回は「期待値だけでは選択を説明できない」ことを見ました。効用関数の凸性がリスク回避を生み、確実性等価とリスクプレミアムという定量的な道具を得ました。
しかし、効用関数の形は人によって違います。対数効用を使うか、べき乗効用を使うか、指数効用を使うかで数値が変わります。ポートフォリオの選択に効用関数をそのまま持ち込むと、人の数だけ分析が必要になります。
第35回では、期待値と分散の2つだけで投資先を選ぶ枠組みに絞ります。THM-UT-3 で見たように、小さな賭けのリスクプレミアムは分散と
次のマイルストーンまであと 8 本です。
よくある質問
効用関数は実在するのですか
観測できるものではありません。選び方を説明するための道具です。
なぜ富の関数なのですか
同じ1万円でも、持っている額によって意味が変わるからです。収益率だけでは表せません。
この話は価格の計算に使いますか
第4部では使いますが、第5部以降の価格付けでは使いません。無裁定だけで価格が決まるからです。
参考文献
- Luenberger D. G.、Investment Science、第2版、Oxford University Press、2013年
- Ingersoll J. E.、Theory of Financial Decision Making、Rowman and Littlefield、1987年
数値例は compute.py により検算済み。対数・指数の計算は float で行い、assert で精度を確認している。

