NAGお客様事例

ハートフォードシャー大学様

お客様事例
業種 大学
ソリューション オメガ関数の最適化
使用された製品 NAG Fortran ライブラリ
使用された関数 E05JBF
[2013年2月掲載]

オメガ関数の最適化


S.J. Kane and M.C. Bartholomew-Biggs
School of Physics Astronomy and Mathematics, University of Hertfordshire
Hafield AL10 9AB, United Kingdom
M. Cross and M. Dewar
Numerical Algorithms Group, Oxford

要約

この資料では金融資産を比較するためのパフォーマンス評価の手段としてCascon, Keating と Shadwick が提示したオメガ関数についてとりあげています。 ここではオメガ関数がポートフォリオ選択の基準として使用される際に生じる最適化問題を論じています。オメガ関数を最大化するための投資比率を選択する問題には多くの局所解があり、NAG ライブラリの大域的最適化の技術を用いて予備計算した実績を記述しています。

1  概要

オメガ関数は金融資産のパフォーマンスを比較する際に使用される基準として[1]導入されました。以下に簡単に説明します。m 日以上の資産利益率の推移があると仮定します。rminとrmaxがそれぞれ観察された利益率の最も低い値と最も高い値とします。これらの利益率の累積分布は図1で示されているような単調非減少曲線です 横軸は観察された利益率 r (rmin≤r≤rmax) を表し、縦軸は利益率が r 以下の観測値の比率 f((r)) を表しています。

figure1

図1で、点 A は限界利益率 rtを表しています。rAに関連するオメガ関数は以下のように定義されます。

formula1

幾何学的にこれは以下の比率を表します。

formula2

もし rtが rminに近い場合、領域 BCU は領域 LAB よりかなり大きくなり、そのためΩは大きくなります。反対に rt → rmaxにつれてΩ → 0 となります。そのため、もし rtが望ましい利益率を表している場合、 Ωを資産のこれまでのパフォーマンスがどの程度目標に達したかを示す尺度と解釈することができます。従って大きな値の Ω(rt) を与える資産を Ω(rt) が小さな資産よりも良い投資と見なします。
図2はΩが図1の累積分布をもつ資産の限界利益率rtによってどのように変化するかを示しています。

figure2

特定のレベルの限界利益率においては、オメガ関数は2つ以上の資産を比較するのに使用することができます。図3は3つの資産の利益の累積分布を表しており、図4は0.4% から 0.8%までの範囲の利益率についてプロットされたオメガ関数を表しています。

figure3

図4は Ω値が利益率の全ての値において高いため資産 A が常に資産 Bよりも好まれることを示しています。もし限界利益率が0.6%よりも低い場合、資産 A はまた資産 C よりも好まれます。しかし限界利益率が増加することによってこの状況は変わり、目標の利益率が0.6% と 0.8%の間の場合資産 C が最もすぐれた投資になります。

figure4

このレポートでは、Ωを個々の資産を比較する基準と見なすだけではなく、ポートフォリオ選択の基準と見なしています。これについては Favre-Bulle とPache [2]も論じています。どのようにポートフォリオ選択が行われるかを説明するため、y1、 y2及び y3が投資比率を表す3つの資産を含むポートフォリオを考えてみてください。どの y1、 y2、 y3の値に対しても m 日に渡ってどのようにポートフォリオが機能したかを決定するための過去のデータを使用することができます。このことから図1のようにポートフォリオの累積収益率分布を構築することができます。限界利益率 rtに関して、Ω(rt)を計算することができます。このように得られる Ω(rt)の値はy1、y2、y3に明らかに依存しています。従ってポートフォリオを最適化することのできる方法はΩ(rt)を最小化するy1、y2、y3を選ぶことです。この方法はよく知られたMarkowitz の手法とはかなり異なる戦略を表しています。Markowitz の手法では資産利益率の分散共分散行列に基づくある一定のポートトフォリオリスクを最小化するための投資比率の選択を行います。

2  Ωを使用したポートフォリオ最適化−簡単な例

図5-7は50日の利益率の推移を示しています。図5は小規模の損益のあった資産に関係しています。図6,7は頻繁ではありませんが大きな損益を挙げる資産に対応しています。資産1,2、3に対する累積収益率分布は図8-11で示されています。

figure567

これらの資産から最大のΩポートフォリオを得るために、y1+y2+y3=1を使用し、以下のようにy1とy2のみの関数として日次利益率を計算します。

formula3

この式では、rjiは i 日目の資産 j からの観察された利益率を示しています。 R1,…,R50から累積分布を生成することができます。従って特定の利益率 rtについて対応するΩ(rt)を計算することができます。Ω(rt) はまた投資利益率の関数で、それを最大化する y1とy2を選びます。

figure8910

空売りを含む解を除外し、以下のようなペナルティ関数に対し最小化アルゴリズムを適用することができます。

formula4

ここでρは正の重み付けパラメータです。
まず第一に、選択した最適化の手法は MATLAB プロシージャ fminsearch で実装されているNelder-Mead シンプレックスアルゴリズム[3] です。
この直接探索の技術は目的関数 F が変数 y1とy2については微分不可能なため、適切な手法です。 初めに限界利益率 rt=0.01 とし、(2) で ρ=2 を使用します。図11は (2) の等高線を示しています。(これらの等高線の波状の性質は、図8-10 の累積分布関数が滑らかでなく、そのためΩの計算に含まれる数値積分が投資比率の変化のように滑らかには変化しないということを表しています。)

figure11

シンプレックス法の結果は F≈-2.89 のときにy1≈0.45、y2≈0.72で最適解が見つかっているのでこの図と一致しています。しかし、これは唯一の局所最適解ではありません。図11は(0.8, 0.5) と (0.95, 0.4) の領域に他の最適解がある可能性を示唆しています。 これらの目に見える最適解は等高線のプロットの作業により得られたものではありません:y1≈0.77、y2≈0.51 (F≈-2.78)とy1≈0.95、y2≈0.4 (F≈-2.67) に本物の最小値があります。この観察値によって即座に問題がより困難なものになります。 シンプレックス法は局所最適化プロシージャにすぎません。従って F の大域的最適解を求めるために、ランダムに分布した多くの開始推測値からfminsearch の実行を基本的に伴うマルチスタートプロセスを試すことができます。もちろん、大域的最適化問題への他の手法もありますので後半の章でそのうちの一つを取り上げます。オメガを最大化する多重局所解の問題が存在しうることを示すとともに、上記の例はペナルティパラメータに対して ρ=2 を選択することは不適切であることも示しています。なぜなら、3つめの投資比率 y3=1-y1-y2≈-0.17に対して相当な負の値を可能にしているためです。ほぼ許容できる解を得るために、ρ=100 を使用します。そしてマルチスタートでシンプレックス法を使用して効率的に y3をゼロに設定する以下の3つの解を得ます。
y1≈0.5, y2≈0.5, F≈-2.49
y1≈0.4, y2≈0.6, F≈-2.52
y1≈0.45, y2≈0.55, F≈-2.54
図12はこれらの局所解の範囲内にある(2)の等高線のプロットを示しており、結果の妥当性を裏付けています。

figure12

解が y3をゼロに設定するということは、図10の3つ目の資産の累積分布の形を見れば簡単に説明されます。この資産のΩ(0.01) の値が資産1と資産2の対応する値と比較して極めて小さいことは明白であり、従って資産3はΩの最大値を生み出すポートフォリオに貢献する可能性は低いです。

3  マルチレベルアルゴリズムを使用した大規模問題の解

m 日のパフォーマンス推移に基づくn 個の資産ポートフォリオを含む大規模問題を考えたいとします。前述のように、関係 Σjyj=1 を使用し、以下のような投資比率の観点から日次ポートフォリオを表します。

formula5

これらの Riに対して累積分布関数を計算することができ、特定の限界利益率 rtに対するΩ(rt)を計算することができます。以下のペナルティ関数を最小化するy1,...,y9を見つけることによりMax-Ωポートフォリオを計算します。

formula6

関数Ωが非平滑であることが既にわかっているので非平滑ペナルティ項を使用するという事はあまり重要ではありません。 関数(3)の大域的最適解を見つけるために、次の章で簡単に述べられている Huyer と Neumaier [5] の MCS アルゴリズムを使用します。このアルゴリズムは NAG ライブラリルーチン E05JBF [4]で実装されています。MCS 法を用いた数値テストが NAG の提供した E05JBF とのインターフェースを用いて MATLAB で実行されました。

3.1  MCS アルゴリズムとE05JBF の実装

MCS アルゴリズムは l≤x≤u によって定義される hyperbox(厳密に n 次元の hyperbox を意味する場合は単に box を使用)の n-変数関数 F(x) の大域的最小値を求めます。 探索空間を不均一な方法で分けるためにMCS は再帰的分岐を用いて大域的最小値を探索します。基のbox[l,u]をより小さな sub-box に分けます。あるいは分割します。それぞれの sub-box には目的関数がサンプリングされたベースポイントが含まれます。分割プロシージャは低い関数値が予想される sub-box を選択して探索する傾向があります。アルゴリズムの大域的探索部分は探索されていない大きな領域を含んでいる sub-box を探索します。一方局所的探索部分は適した関数値をもつ sub-box を分割します。
あらゆる sub-box がレベルs ∈ {0,1,…Smax} に割り当てられる場合にこの手法の大域的探索部分と局所的探索部分とのバランスがマルチレベルの手法を用いて保たれます。Smaxの値はユーザが指定することができます。レベル 0 の sub-box は既に分割されています。レベル Smaxの sub-box はそれ以上は分割されません。中間レベル 0<s<Smaxの sub-box が分割される場合は常に、派生されたものにはレベル s+1 もしくは min(s+2,Smax) が付与されます。 良い関数値をもつ子 box には分割区間の大部分が与えられます。なぜならより速く再分割しやすいからです。 初期化プロシージャはユーザによって入力されたポイントあるいはデフォルトの生成プロシージャを用いて得られるポイントを用いて予備の sub-box を生成します。
この手法はそれぞれの座標を目的関数の推定変動に基づいてランク付けします。それは初期化で使用されたポイントによる二次補間の生成によって計算されています。次にアルゴリズムはレベルによる sweep を始めます。
各 sweep は最も低いレベルの sub-box から開始します。このプロセスはアルゴリズムの大域的探索部分です。各レベルで最善の関数値をもつ sub-box が分割用に選択されます。これはアルゴリズムの局所的探索部分です。Box はランク(十分ハイレベルに到達する場合のランク;特に Smax→∞ につれて各座標が確実に頻繁に分割されます)によって分割されるか、もしくは期待利益(関数値の最大利益が期待され、フィッティング二次方程式で計算される場合の座標に沿った期待利益)によって 分割されます。
分割プロシージャは全般的に標準の座標探索法の変形です:MCS は適応的に選択されたポイントで一つの座標に沿って一度に分割します。多くの場合、sub-box を2つあるいは3つの子 box に分割するには、一つの新しい関数の計算が必要とされます。各子ボックスには多くとも一つの座標の親ボックスのベースポイントと異なるよう選択されたベースポイントが与えられます。そして分割の対称性の度合いを保証するために予防手段が存在します。もしオプションパラメータ Local Searches が’OFF’ に設定される場合、 MCS はベースポイントと最大レベル Smaxの sub-box の関数値を最小値の候補の ‘shopping basket’ に入れます。Local Searches を‘ON’(デフォルト設定)に変更することにより ‘shopping basket’に入る前に局所的探索がこれらのベースポイントから開始するのが可能になります。
ベースポイントが事前に見つかった局所最小値の引き込み領域(basin of attraction)にある可能性が低いという前提で局所的探索は進みます。探索自体は線形制約の条件付きの二次モデルの最小化によって決まる方向に沿った直線探索を使用します。特にベクトルの三重項は直線探索に基づく座標探索を用いて計算されます。これらの三重項は、trust-region-type アプローチを用いて最小化される目的関数の局所二次モデルの構築をするために triple search プロシージャで使用されます。二次モデルは正定値である必要はありませんので、一般非線形最適化を用いて最小化されます。

3.2  E05JBFを用いた数値実験

ここで 100日の推移に基づく10個の資産のポートフォリオを考えてみます。平均利益率を示しΩ関数のプロットを表示することで、10個の資産の特性を要約することができます。平均利益率は以下で表されます。

formula7

明確にするために、4つのグループのΩプロットを示します。図13 は4つの最も高いΩ曲線を示しています。資産1は範囲0≤rt≤0.1 で一貫して限界利益率の最良のΩ値を与えます。資産6と4の曲線は rt=0.04% に近く、資産6と9の曲線は rt=0.03% に近いですが、資産9、6と4はΩに関して次に最良な実績の資産で、この順で一貫してランク付けされています。

figure13

図14 は資産4、7、3と8のΩプロットを示しています。これらの資産の間のランクには rtが増加するにつれていくらか変化があります。例えば、資産8は rtがゼロに近いときに最も悪い実績でしたが、rtが 0.1% に達するにつれてこのグループの最良の実績である資産7にほとんど等しくなっています。

figure14

最後に、図15 は資産2、10と5は資産8よりはるかに下回っていることを示しています。資産2と10 は rtの範囲を通じて一度あるいは2度入れ替わっていますが、資産5は一様に一番悪いです。

figure15

表1は10個の資産の標本からのデータを用いて形成され、関数(3)に E05JBF を適用して得られた、限界利益率 rtが様々な値をもつMAX-Ωポートフォリオを示しています。 0≤yi≤1 (i=1,…,9) で定義されるサーチボックスで(3)の大域最小値を求めます。投資比率のカラムにはゼロでない値だけを表示させています。

table1

rtの小さな値に関しては、解は一般に図13-15 のグラフのΩ曲線の相対位置と一致している資産1、4、6と9を好みます。rt=0.075% と rt=0.1% の場合は、ポートフォリオは資産1が優位にたっています。
表2はポートフォリオの期待利益率 Rpとリスク V に関するMAX-Ωの解についてのより詳しい情報を表しています。

table2

表2のMAX-Ωの解によって得られた利益率と同じポートフォリオ期待利益率 Rpに対応するMin-V ポートフォリオを計算する場合、MAX-Ωポートフォリオとより従来型の最小リスクポートフォリオ(Min-V で示される)とを比較することができます。その結果が表3に示されています。投資比率 yiは明らかに表1のそれとは大きく異なっています。Min-V の解はより多くの資産からゼロでない投資を使用する傾向があります。類似性に関する唯一重要な点は、Rpが増加するにつれて資産1の優位性を高めることです。Vmin と表2の V の値とを比較するとポートフォリオ利益率の任意のレベルに関しては、1.4 と 1.7 の間の以下に示す比率でMAX-ΩはMin-V よりも危険性がかなり高いことがわかります。

(MAX-Ωのポートフォリオのリスク)
(Min-V のポートフォリオのリスク)
table3

MAX-ΩとMin-V ポートフォリオの利益率の累積分布比較することは興味深いです。図16 は Rp=0.0038% の場合の2つの曲線を示しています。(Rpの他の値の図は一般にこの図と類似しています。)両方の曲線は中心部分でかなり似ていますが、Min-V ポートフォリオの点線の曲線は観測された利益率の範囲の上部末端に向かって短い尾部があります。

figure16

MAX-Ωの解の実線の曲線の長い尾部は、比率Ωを最大化するために(1)で定義された曲線の上の領域と下の領域を調整しようとしていることを反映しています。 Min-V ポートフォリオは予想ポートフォリオ利益率 Rpを上回る値と下回る値の偏差を最小化するために計算されます。 Max-Ωの解は一方でポートフォリオが限界利益率rt以上を得る可能性を高めることに関係しています。従って Max-Ωポートフォリオはダウンサイドリスク(値下がりリスク)を最小化するよう設計されたポートフォリオと共通点が多いことが予想されます。ダウンサイドリスクとは目標の利益より少ない利益しか得られないリスクです。表4は表2と3の Rpに対する ダウンサイドリスクDV を最小化することによって得られたポートフォリオを示しています。 表4は対応する Max-Ω解のダウンサイドリスクの値 DVΩを引用しています。

table4

Min-DV ポートフォリオの投資比率分布は Max-Omegaの解の投資比率分布よりもMin-V ポートフォリオの投資比率分布と類似点があります。しかしながら、注目すべき点は Rpのより大きな値に関してMax-ΩポートフォリオがDV-minよりそれほど劣っていないダウンサイドリスクをもつということです。

3.3  E05JBFのパフォーマンスについて

E05JBF で実装されている大域的最適化アルゴリズムはこれまで検討してきた問題でうまく実行します。最初に私たちが試した粗雑なマルチスタートの手法よりも大幅に有効です。その手法では fminsearch のシンプレックス法が 50-100のランダム開始点から適用されました。このプロシージャは前の章の3変数のサンプルのデモンストレーションに便利です。しかし10 変数に関しては大変時間がかかり、E05JBFと同様の大域解の推定はめったに得られません。 これらの肯定的な見解にもかかわらず、満足な結果を得るために私たちが試行錯誤のパラメータチューニングを行う必要があったことを注記する必要があります。E05JBF は以下に示す、ユーザによる多くの選択が必要となります。

  • 初期ポイントの選択。これらは元のボックスを分割する座標軸に沿ってポイントを選択するアルゴリズムによって使用される値です。これらのポイントはユーザ定義される可能性があります。しかし自動的にそれらを選択する多くのデフォルトオプションがあります。初期の分割ポイントが各座標軸に沿った局所的探索に基づいて選択されるデフォルトの手法で最大の成功を収めました。
  • 大域的探索と局所的探索とのバランス。ユーザは分割プロシージャによって大域解の候補として特定される各ポイントを絞り込むために局所最小化法の反復数を何回使用するかを指定することができます。これらの局所的探索は二次補間に基づくtrust-region 法を使用します。一般的にこれは適切な手法のようですが、目的関数(3)が非平滑なため私たちが利用するには最適でないかもしれません。その結果として推奨のデフォルトと比べて少ない局所的探索の反復数を使用することを選択しました。このために大域的探索の厳密さを増加させ、変数ごとに分割ポイントの数を推奨のデフォルト値の約2倍となるよう設定することによって補おうとしました。
  • 終了条件の設定。E05JBF が正常に終了したかどうかのテストは、事前に指定した目的関数値へ探索が到達することに基づいています。あるいは事前に指定した数の sweep(静止限界)に対する最良の関数値において減少がないことに基づいています。さらに、もし指定した数の関数評価あるいはボックス分割に達した場合 E05JBF は(例えばエラーフラグがたって)正常に終了しない可能性があります。静止限界(3n sweeps)の推奨値がたびたび小さすぎ、結果として大域最適解より短いポイントで手法が止まってしまうのがわかりました。一貫して好ましい解を得るためにこれを少なくとも 5n に増やす必要がありました。目的関数の値に到達した時点での終了を基準にすることは、確実に十分な停止ポイントに達する信頼性のある方法です:しかし大域的最小関数が何になりそうかを前もって知ることは可能ではありません。分割の最大数を 120 、関数の呼び出しの最大数を 15000 にすることによって異常終了を避けることができました。

上記の局所的探索を十分に使用していないため、E05JBF によって返される最良ポイントにより大域的最適値が高精度になるとは考えにくいです。MCS アルゴリズムで見つかった最良ポイントからNelder-Mead シンプレックス法(fminsearch)のMATLAB 実装を実行することによってこのことを確認しました。また通常関数値がわずかに減少することを観察しこのことを確認しました。これは表1で示されている大域的最適解の厳密な評価です。

4  考察

私たちはオメガ比率 [1] の使用についての調査に関して予備的な説明を行ってきました。オメガ比率は、(1) で定義されるようなオメガを最大化する投資比率を選択しようとするポートフォリオ選択に対する評価指標として使用されています。私たちは E05JBF を使用して生成される Max-Ωポートフォリオを検討し、よく知られた Markowitz 法を使用して生成されたポートフォリオと比較しました。小規模のサンプルの計算は、任意の資産について Max-Ωポートフォリオがリスクの最小化やダウンサイドリスクに基づくポートフォリオとは異なっていることを示唆しています。Max-Ωポートフォリオと最小リスクポートフォリオの実際の違いは、バックテストと実在の資産データを用いて調べる必要があります。
Ωの最大化は非凸関数と非平滑化関数を含むことがわかりました。NAG ルーチンE05JBFで実装されている Huyer & Neumaier [5]の MCS アルゴリズムを用いてこの問題にとりくみ対処しました。
Ω関数の非平滑性の見地から、MCSアルゴリズム(これは2次補間を使用しており平滑性を仮定しています)のパフォーマンスとJones 他 [6] により提示された DIRECT 法のパフォーマンスを比較する価値はあるかもしれません。DIRECT は二次モデルを使用しない box 分割法でもあり、非平滑問題にはより適しているかもしれません。 パフォーマンス推移が長い資産を処理する場合、Ωの非平滑性の問題は軽減されるかもしれません。そしてこれにより累積密度関数が波形で表示されなくなると考えられます。

参考文献

[1] A. Cascon, C. Keating andW. Shadwick, ”The Omega Function”, The Finance Development Centre, London, 2002.
[2] A. Favre-Bulle and S. Pache, ”The Omega Measure: Hedge Fund Portfolio Optimization”, MBF Master’s Thesis, University of Lausanne - Ecole des HEC, 2003.
[3] J.A. Nelder and R. Mead, ”A simplex method for function minimization”, Computer Journal, 7 (1965), 308-313.
[4] NAG Ltd - Private Communication
[5] W. Huyer and A. Neumaier, ”MCS: Global optimization by multilevel coordinate search”, J. Global Optimization 14 (1999), 331-355.
[6] D.R.Jones, C.D. POerttunen and B.E.Stuckman, ”Lipschitzian Optimization without the Lipschitz Constant”, J. Opt Theory Applics, 79 (1993) pp 157-181.

関連情報
MENU
Privacy Policy  /  Trademarks