2014/02/20

ポートフォリオのリスク配分(資金管理/レバレッジスペースモデル)



以前のブログで、ラルフ・ビンスの資金管理大全という書籍を読み始めた話しを書きました。  今回は、無事読み終わった(笑)ので、その中で紹介されていた、ポートフォリオのピークパフォーマンスを得られる、リスク配分・リスク量の求め方について、書いてみたいと思います。

今回、ポートフォリオ単位の「オプティマルf(※)」を求める事で、「自分がとってるリスク量がオプティマルfと比べてどの位置にいるのか」を把握しつつ、実際に取るリスク量を決める為の、指針・基準を把握できるのだと思います。 

※ 「オプティマルf」 : 複利運用でピークパフォーマンスを得られる初期リスク量。 複利運用の場合、リスク量を増やしていくと、あるポイントまではリターンも増加していくが、それ以降はリターンが減少していく。



1.「現代ポートフォリオ理論」との関係



ラルフ・ビンスの資金管理大全には、教科書に出てきそうな現代ポートフォリオ理論」(MPT)も出てきます。 しかし、それでは欠陥があるとし、より良い方法を考えた、というスタンスです。 (MPTと複利・オプティマルfとの統合についても詳細に書かれていますが)


2.「現代ポートフォリオ理論」のデメリット


現代ポートフォリオ理論(MPT)のデメリットとしては、相関係数に依存しているが、実際の市場は、肝心なときに、市場間の相関係数が高くなる傾向がある (つまり、肝心なときに相関係数がアテにならない)という点を上げています。

そこでラルフ・ビンスの資金管理大全」が提唱している「新しい枠組み(レバレッジスペースモデル)」では、「相関係数」の代わりに、「2つのシナリオビン分割された実際の分布。 トレード結果の様なイメージ)が同時に発生する確率」を使う、というアイデアです。
# 正直、一瞬「相関係数と何が違うんだ」と思いました(笑)


「新しい枠組み(レバレッジスペースモデル)」のもう一つのメリットとしては、「いかなる分布にも対応できる」という点も挙げられていました。

3.新しい枠組み(レバレッジスペースモデル)


さて、その「新しい枠組み」での、ポートフォリオのリスク配分を求める方法について見ていきたいと思います。 複利運用が前提でピークパフォーマンスが得られる、リスク配分・リスク量が求まります。 

大雑把に言うと、資産(≒幾何平均リターン)を最大にする、銘柄単位のf値(初期リスク)の組み合わせを、最適化して選ぶ、という事になります。

たとえば、2銘柄の場合、以下のグラフでZ軸が一番大きくなる(高くなる)、コイン1のf値と、コイン2のf値をの組み合わせを探します。




4.最大化する目的関数


じゃぁ、任意のf値(初期リスク)の組み合わせを決めたとして、「何を最大化」するのか、という目的関数の計算式をイメージしたのが、以下の図です。  




最大化するのは「リターンの幾何平均」です。 実際の計算式は汎用的に考えられていて、とても難しい(笑)ので割愛します。  上の図は、その計算式を当てはめる、一つのアプローチだと思ってください。

この図は、3銘柄から構成されるポートフォリオを、任意のf値(初期リスク)の組み合わせで、3日間運用した場合の計算例です。  最終損益を計算するには、日単位に各銘柄の損益を足し算し、求まった日単位収益を(複利運用なので)掛け算して求めます。 計算結果の112.32%は、当初資金が3日後に1.1232倍になった、という意味です。

日単位で一旦足し算するゆえんは、同時に複数銘柄をトレードする場合、発注時にロット数が決まるので、銘柄の収益を全て掛け算した収益にならない、というイメージです。 

計算例


上図では、3銘柄の合計を日単位で求めると、1日目はゼロ%、2日目は4%、3日目は8%で、それぞれに100%を足してから、全てを掛け算する事で、112.32%という結果が求まります。

書籍の計算式では、「幾何平均リターン」を最大化する事になっていて、同時確率という考え方なので、厳密には、日単位で1/3日乗してから、掛け算するのがが正しい(結果的に104%^(1/3日)と同じ)のですが、最適化する上では一緒だと思うので、割愛しました。

ちなみに今回、「日単位」で説明しましたが、実際は、日単位である必要はなく、統一されていれば、任意の期間でOKです。


5.銘柄単位・日単位の収益を計算


先に全体イメージを説明したかったので、飛ばしてきましたが、上図中の銘柄・日単位の収益の計算方法です(銘柄A1日目の「3%」の計算方法)。



<計算式>

銘柄・日単位収益 = f値 × (ある1トレードの)損益額 ÷ ある銘柄の全テスト(※)結果で最大の1トレードでの損失額(絶対値)

※ 単利でのトレード結果損益額の一覧。 パーセントベースであれば、複利計算のテスト結果でもOKと思います。


任意のf値を決めた場合、単利での全テスト結果うち、最大の損失となったトレードの損失額(これをBLと呼ぶ)を求めます。

全テスト結果の各トレードの損益を、前述のBLの絶対値で割り算し、その結果にf値を掛けます。
つまり、1トレードの最大損失が、資産に占める割合がf値(初期リスク)になる様、正規化するイメージです。


書籍では、トレード結果を使うのは一つの例として紹介されていますが、それは、この「新しい枠組み(レバレッジスペースモデル)」の使い方の一例に過ぎません。  新しい枠組みでは、もっと同一期間内に起きる、もっと抽象的な事象を定義し、それぞれの事象の同時発生確率を決めて計算する様な当てはめ方もできます。


6.適切な配分の最適化


さて、任意のf値の組み合わせの元で、最大化したい「最終資産」(厳密には幾何平均リターン)の計算方法まで説明したので、次はどうやってf値の組み合わせを探すのか、という話しです。

書籍で紹介されている方法は、「遺伝的アルゴリズム」を使って、全ての組み合わせから、ピークパフォーマンス(つまり、資産が最大≒幾何平均リターン最大)になる、f値の組み合わせを探す方法です(笑)

f値は、ゼロ~1の任意の値なので、借りに0.1%刻みにした場合は、1000通りあります。
これを銘柄数乗した数の組み合わせがあるので、借りに4銘柄であっても、1000^4通りの組み合わせから見つける必要があります。
# 私の場合、今の所28銘柄からの選択なので、1000^28通りになるので、全部精査するのは無理です・・・orz


要は、全精査するのは現実的じゃないので、「遺伝的アルゴリズム」で、効率的に最適化をするのがいいんじゃない?って事です(笑)


7.実際にやってみると


実際に12年分データを述べ28銘柄でやってみると、「遺伝的アルゴリズム」を使っても、収束するのに数時間かかります。 以下は、最適化結果をパフォーマンス分析した結果です。





最適化結果を見てみると、年率+101%の収益ですが、最大ドローダウンが95%という(笑)

実際に運用するには、リスク量が大きすぎると思うので、ラルフ・ビンスの資金管理大全」では、リスク量を低減させる方法(希薄化)について書かれているのだと思います。 実は、この「希薄化」の部分も面白く、大切だと感じました。 

ちなみに、この「オプティマルf」よりリスク量を減らしても、リターンが増える事はありません。  一見、あたりまえの様ですが、実は結構重要なポイントだと思います。

つまり、「オプティマルf」よりもリスク量を減らす事は、自分が定義したリスクを許容できる様にするためであって、リターンを増やすためではない、という事なのだと思います。 


数学は得意ではないのに、難解な計算式多数掲載の書籍を四苦八苦しながら読み解いた結果なので、勘違いがあるとは思います。 ご指摘いただければ幸いです♪



ではでは~


(2014/2/25追記)
この最適化・集計をする、「無料ソフトウェア・ダウンロード」を始めました → 「Test Analyzer




0 件のコメント:

コメントを投稿