Pythonで試すコイントスによるエルゴード性入門

Pythonで試すコイントスによるエルゴード性入門

まずは生き残れ!儲けるのはそれからだ!

            – ジョージ・ソロス (投機家)

 どうも、こんにちは。最近、不確実性やリスクについて勉強している、機械学習エンジニアのしゅんです。

今回はPythonを使ったシミュレーションで、エルゴード性について入門してみましょう。

今回は、一言で言うとリスクを低く見積もってしまう話です。

早速ですが、エルゴード性を理解するために、コイントスを使った賭けをしてみましょう。

あなたの資産が賭けの対象になったとします。- コインが表の場合、あなたの資産は50%増加し、裏の場合、あなたの資産は40%減少します。さて、あなたならこの賭けに参加しますか?

さらに、この賭けを週に1回、1年間プレイしたとします。下のグラフは、そのシナリオの1回分のシミュレーションです。(52週分)

終盤に向かって、あなたの資産は増加したように見えますが、最後の52週目には、最初の金額より1%増えているだけです。ボラティリティが高いですが、報酬はあまりありません。初期資産の5倍のピークになった時にやめるべきでしたね。。

資産を再計算するcoinTossFunctionを定義し、資産の変化を確認するために52回繰り返します。 MatPlotLibとNumpyを使用してチャートをグラフ化できます。

1回の反復では、賭けに参加する価値があるかどうかは何もわかりません。もう一度試してみましょう。

ここでの最終的な資産は当初の6%であるため、この賭けに参加することはあまり得策とは言えません。しかし、本当にそうでしょうか?もっと厳密に考えてみましょう。

このゲームは、

A:並行して何度もプレイするのか。

(1000人が1回プレイする。)

B:非常に長く1回プレイするのか。

(1人が1000回プレイする。)

どちらが有益かを考えることができます。しかし、驚くべきことに、どちらも正反対の結果になります。

上のグラフでは、52週間の賭けを1000回並列を実行しました。次に、毎週の平均資産を取得して、チャートを作成します。ここで、資産の最終値は初期値の18倍であることに注意してください。賭けに参加した方が、得に見えますね。

これはアンサンブル平均というのを計算しました。

更新されたコードは次のとおりです。

ただし、極端な外れ値によって資産の平均値が「引き上げられる」ことに注意してください。1000人のうち一人が非常に幸運に恵まれ、最初の値の1000倍の資産になってしまうと、全体の平均が引き上げられます。おそらく、代わりに中央値だけを見るほうがよいでしょう。

しかし、この変え方は間違っています。現実に1000人のあなたが同時ゲームをプレイできることはありません。プレイできるのは、あなた一人だけです。さらに、たとえあったとしても、1人のあなたがめちゃくちゃ金持ちになり、残りがお金を失うゲームを本当にプレイしたいですか?

一方で現実的な考え方は、非常に長い時間、ゲームを1回だけプレイすることです。以下は、このゲームを1000週間、1人だけプレイしたチャートです。これは、52週間にわたって1000回並行してプレイする上記のチャートとは対照的です。

ご覧のとおり、長くプレイすればするほど、資産が0に近づくことはほぼ確実です。したがって、この賭けに参加するのは得策ではありません。可能性として、ごく少数だけが大量の富を手に入れ、残りの人は無一文になります。長くプレイすればするほど、すべての資産を失う可能性が高くなります。

ここで学べる教訓は2つあります。 1つ目は、平均と中央値の明らかなな違いです。平均は高いが、中央値の低いゲームをプレイすることは、賢明ではありません。例えば、宝くじとか。

2つ目は、損得の観点から見ると、影響するのは時間(動的な視点)です。通常、経済学者は静的な視点から物事を考えます。これがアンサンブル平均の考え方です。

一方で、非常に長い間参加する、つまりゲームを動的に考えると、このゲームは間違いなく「割りに合わない」ことがわかります。これが時間平均の考え方です。

アンサンブル平均:ある時点の値に対しての平均

時間平均:変化するある値の時間での平均

時間平均とアンサンブル平均が同じである時、エルゴード性を有すと言います。

今回はエルゴード性がないと言えますね。

平均が出てきた場合、どちらに当てはまるのか、注意しなければいけません。

特に賭けや投資のような行為は動的な行動です。アンサンブル平均で考えるとリスク低く見積もってしまいます。

また金融商品のリターンを、アンサンブル平均で勧めてきたら要注意です。現実の世界は時間平均です

要するに繰り返しリスクに身をさらすことが余命を縮めます。

参考

http://physics.thick.jp/Spectrum_Analysis/Section2/2-1.html

エンジョイワークスでは、バックエンドエンジニアを募集しております。空き家問題を、自分のスキルで解決したいエンジニアは、是非ご応募ください!

リクルート情報はこちら!
https://enjoyworks.jp/recruit

一覧へ戻る