(57)【特許請求の範囲】
【請求項１】
複数の金融商品全体の収益率の関数と収益に影響を及ぼすリスクの関数から構成される目的関数を最適にするように、複数の金融商品の中から各々の金融商品の購入量を決定する最適ポートフォリオ決定装置において、
個々の金融商品の収益率の期待値を格納する第１の記憶装置と、収益に影響を及ぼす金融商品独自の要因である個別変動因子を格納する第２の記憶装置と、金融商品全体の収益に影響する要因である共通変動因子を格納する第３の記憶装置と、金融商品全体の収益率の関数と収益に影響を及ぼすリスクの関数から構成される目的関数を最適にするに際して前提となる制約条件を構成する制約パラメータを格納する第４の記憶装置と、
前記目的関数が前記第１の記憶装置の前記収益率の期待値を入力とする収益率の関数と、前記第２の記憶装置の個別変動因子に関るスペシフィックリスク、前記第３の記憶装置の共通変動因子及び前記第４の記憶装置の制約パラメータに係るファクタエクスポージャを入力して算出するアクティブリスクの関数を含み、前記収益率と前記リスクが相反する関係となるように係数行列を含んで記述され、
最適ポートフォリオを求解するための前処理として、前記目的関数に現れる第１の係数行列を、前記個別変動因子に関連する第１の部分行列と前記共通変動因子に関連する第２の部分行列に分割し、前記第１の部分行列は選択し得る金融商品の数に対応して対角成分のみに非０要素を持つ対角行列、前記第２の部分行列は前記共通変動因子の数を次元として前記第１の部分行列に比べ次元数の小さな行列となし、前記第１の部分行列が対角成分の非０要素によるベクトル演算として、前記第２の部分行列が前記共通変動因子の数を次元とする行列演算として処理可能なようにそれぞれ前処理する前処理手段と、
前記前処理手段で分割された第１の部分行列及び第２の部分行列を含む目的関数の最大値を内点法により求解するに際し、前記第１の記憶装置乃至第４の記憶装置のデータを入力し、
初期点を設定し、現在得られている内点法による反復点の最適性を判断する相補性条件及び前記制約条件の違反量を計算し、前記違反量が許容誤差を超えた場合は現在の反復点の探索方向を逆行列演算を含み再計算して反復点の点列を更新し、前記違反量が許容誤差以内の場合は探索を終了し最適解のポートフォリオを得る処理手段と、を有する最適ポートフォリオ求解装置と、
該決定された最適ポートフォリオを出力する表示装置を備えることを特徴とする最適ポートフォリオ決定装置。
【請求項２】
請求項１において、
前記前処理手段は、前記制約パラメータから構成される行列を、前記第１の記憶装置から取り出した前記金融商品および前記第３の記憶装置から取り出した前記共通変動因子に関連する第３の部分行列と、前記共通変動因子に関連する第４の部分行列と、前記金融商品およびその購入量に関連する第５の部分行列に分割して処理するようにし、
且つ、前記制約パラメータから構成される行列と、前記目的関数に現れる前記第１の係数行列を含む第２の係数行列と、前記制約パラメータから構成される行列の転置行列との３者の積の項を含む行列に関するニュートン方程式を求解するに際し、
前記第２の係数行列を選択し得る金融商品の数に対応して対角成分にのみ非０要素を持つ対角行列である第６の部分行列と、前記第６の部分行列に比べ次元数の小さい前記共通変動因子の数を次元とする第７の部分行列に分解して、前記第６の部分行列が対角成分の非０要素によるベクトル演算、前記第７の部分行列が前記共通変動因子の数を次元とする行列演算として処理可能なように前処理し、
前記前処理手段で分割された第３乃至第７の部分行列を用いて表される制約条件の下で前記目的関数の最大値を内点法により求解し、最適解のポートフォリオを得ることを特徴とする最適ポートフォリオ決定装置。
【請求項３】
請求項１又は２において、
前記記憶装置の各々と前記最適ポートフォリオ求解装置と前記表示装置を備えるサーバ計算機と、前記サーバ計算機によって計算された最適ポートフォリオに関する情報を受信して表示する複数のクライアント計算機からなり、前記サーバ計算機と前記クライアント計算機はネットワークによって接続されている最適ポートフォリオ決定装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の金融商品の中から購入の対象とする金融商品および購入量を決定する最適ポートフォリオの決定方法、その装置、プログラム及び記憶媒体に関する。
【０００２】
【従来の技術】
最適ポートフォリオの決定の際に用いるモデルとして、購入の対象とする金融商品の集合（以下では購入の対象を株式の集合からなるユニバース（東京証券取引所一部全体、日経225採用銘柄等）とする）において、収益率を所定の値に固定するという前提の下で、収益率の変動率を表すリスクで表現された二次の目的関数を最小化する二次計画法などを用いる平均分散モデルあるいはマルチファクタモデルが文献「今野浩著、理財工学Ｉ、日科技連、P4−P19」などにおいて紹介されている。
【０００３】
また、最適ポートフォリオ決定方法としては、（１）市場価格を変数とする関数による制約条件、および（２）取り得る損益に関する制御を行うための制約条件のもとで、複数のシナリオおよび期間から構成されるスワップの期待収益率の和を最大化する線形計画法によるモデルが、特開２０００−２９３５６９号公報に開示されている。
【０００４】
二次計画法または線形計画法などの数理計画法としては、例えば文献「茨木俊秀、福島雅夫著、FORTRAN77最適化プログラミング、岩波書店、P87−113」等に紹介されている有効制約法等が代表的なものとして知られている。数理計画法においては、初期点から最適解に到るまで点列を更新する方法が一般的であるが、点列を更新する際に、点列を探索する方向を行列演算で求める部分が処理の大半を占めている。なお、二次計画問題に定式化する際に現れる行列において、要素の大部分は０であり、このような行列を処理するにあたっては、要素０の部分をプログラム上で判別しながら行列演算を実施するスパース法が知られている。
【０００５】
【発明が解決しようとする課題】
上記スパース法は、二次計画法における行列演算処理の方法としてはアプローチとして汎用的である。しかし、最適ポートフォリオ決定問題への適用という観点から考えた場合、数千の変数規模を持つ問題においては、要素０の部分をプログラム上で判別するため、スパース法においても、計算時間が膨大になる。最近の計算機は進歩してはいるが、実際のポートフォリオ決定の際には、目的関数あるいは制約係数を更新しながら二次計画法を何度も解く必要がある。このため、二次計画法の計算時間の更なる短縮が強く求められる。
【０００６】
また、上記の特開２０００−２９３５６９号にて開示されているシステムにおいては、数理計画法の詳細については開示されていないため、数理計画法を適用する際には、上記のスパース法による方式が採用されていると考えられ、同様の問題がある。
【０００７】
本発明の目的は、個別銘柄の収益率等に関する情報および収益率に影響を及ぼす因子に関する情報を元に、機関投資家あるいは一般投資家の効用を最適にする対象金融商品および購入量を高速に決定することを可能にする最適ポートフォリオ決定方法、およびそれを実現する装置を提供することにある。さらに、最適ポートフォリオ決定方法の処理手順を示すプログラム及びその記憶媒体を提供することにある。
【０００８】
【課題を解決するための手段】
上記の課題を解決する本発明は、複数の金融商品全体の収益率と収益に影響を及ぼすリスクから構成される目的関数を最適にするように、複数の金融商品の中から各々の金融商品の購入量を決定する最適ポートフォリオ決定方法において、個々の金融商品の収益率の期待値と、収益に影響を及ぼす金融商品独自の要因である個別変動因子と、金融商品全体の収益に影響する要因である共通変動因子と、金融商品全体の収益率と収益に影響を及ぼすリスクから構成される目的関数を最適にするための制約条件を構成する制約パラメータとを入力し、入力されたデータに基づいて前記目的関数を最大化するように購入の対象とする金融商品および該金融商品の購入量を決定することを特徴とする。
【０００９】
また、本発明は、最適ポートフォリオの求解による出力処理において、購入の対象とする金融商品および該金融商品の購入量を決定する際の前処理として、入力の項目の属性に応じて目的関数を分割するとともに、制約パラメータの属性に応じて制約係数の行列を分割することを特徴とする。
【００１０】
【発明の実施の形態】
本発明は、機関投資家または一般投資家が計算機を用いて、線形計画法または非線形計画法などに代表される数理計画法によって、収益を極大化し、収益を変動させる要因を表すリスクを極小化できるように、複数の金融商品の中から購入の対象とする金融商品および購入量を決定する最適ポートフォリオ決定する方式である。以下、図面を用いて本発明の実施形態を詳細に説明する。まず、最適ポートフォリオ決定のアルゴリズムを説明する。
【００１１】
購入の対象とする金融商品の集合を複数の株式（ここでは、東証一部上場全体とする）としたポートフォリオ選択問題において、目的関数は各株式の期待収益率と投資割合の積を乗じたものの総和で表わされる収益率と、株式全体の時価総額に対する個別銘柄の占める時価の割合を示すベンチマーク比率と個別銘柄の投資比率との乖離度で表わされるアクティブリスクにリスク回避度を乗じた値の和で構築された式（１）の効用関数で表される。
【００１２】
Ｕ＝αTｈp−λ（ｈp−ｈm）TＧ（ｈp−ｈm）         （１）
ここで、αは個別銘柄の期待収益率を要素とするベクトル、λは投資家が持っているリスク回避度（リスクの回避を優先する場合にはλを大きくし、ポートフォリオ全体の収益増大を優先する場合にはλを小さくする）、ｈpは個別銘柄の投資比率を要素とするベクトル、ｈmはベンチマーク比率を要素とするベクトル、Ｇは個別銘柄の収益率間の共分散を要素とする行列である。
【００１３】
式（１）の効用関数で、制約式として以下のものを考慮する場合を例として説明する。eはすべての要素が１のベクトルを意味する。
【００１４】
eTｈp＝１（全体の投資割合が１）           （２）
ｈp≧０（空売り禁止の制約）               （３）
このような効用関数の設定方法は、文献「R.C.グリノルド、R.N.カーン著、アクティブ・ポートフォリオ・マネジメント、東洋経済新報社、P81−P87」にも紹介されている。
【００１５】
平均分散モデルにおいては、式（１）の効用関数を目的関数として二次計画法を適用する。しかし、平均分散モデルでは、東証一部上場銘柄1500個を計算対象とした場合、個別銘柄の収益率間の共分散の値2250000個が目的関数に入り込んでくる。このような目的関数をもつ二次計画問題を解こうとした場合、膨大な時間がかかることが予想されるため、平均分散モデルによるポートフォリオ選択問題に対するアプローチは現実的ではない。
【００１６】
上記の平均分散モデルの問題点を解決するために、用いられているモデルがマルチファクタモデルである。マルチファクタモデルは個別銘柄の収益率を、銘柄全体の収益率に影響する共通因子と個別銘柄独自の要因で変動する個別因子により、式（４）のように表現する。
【００１７】
αj＝γj＋ΣβjkＦk＋εj             （４）
βjkは共通因子ｋの要因Ｆkが1単位変化したときに、個別銘柄ｊの収益率に及ぼす影響を表すパラメータで、ファクタエクスポージャと呼ばれている。例えば、共通因子ｋを円ドル為替レートとした場合、Ｆkは1ドル＝123円ならば123を割り当てる。また、1ドル123円が124円に変化した場合に、収益率が0．1%変化するのであれば、βjkは０．１を割り当てる。
【００１８】
詳細は、文献「今野浩著、理財工学Ｉ、日科技連、P18−P19」に記載されているので省略するが、βjkから構成される行列Ｂと、Ｆkの分散および共分散から構成される行列Ｆと、銘柄独自の変動要因を意味し、εjの分散で表わされるスペシフィックリスクを対角成分に持つ対角行列Δを用いて、個別銘柄の収益率の共分散行列Ｇは式（５）のように表わされる。
【００１９】
Ｇ＝ＢTＦＢ ＋ Δ              （５）
式（５）を式（１）に代入し、Ｂｈp＝ｙとおくと、式（６）が得られる。
【００２０】
Ｕ＝αTｈp−λ(ｈp−ｈm)TＧ(ｈp−ｈm)
＝αTｈp−λｈpTＧｈp＋２λｈpTＧｈm−λｈmTＧｈm
＝−λｈpTＧｈp＋(αT＋２λｈmTＧ)ｈp−λｈmTＧｈm
＝−λｈpT(ＢTＦＢ＋Δ)ｈp＋(αT＋２λｈmTＧ)ｈp−λｈmTＧｈm
＝−λｙTＦｙ−λｈpTΔｈp＋(αT＋２λｈmTＧ)ｈp−λｈmTＧｈm
（６）
マルチファクタモデルにおいては、式（６）で求めた効用関数を最大化すべき目的関数の対象とする。さらに、マルチファクタモデルでは、Ｂｈp＝ｙと置くことによって、新たな変数ｙが発生すると同時に、制約式（２）（３）のほか、式（７）も制約式として考慮する必要がある。
【００２１】
Ｂｈp−ｙ＝０              （７）
本発明においては、共分散行列Ｇが式（５）で示す形式以外の場合においても実施は可能である。以下、マルチファクタモデルにおける最適ポートフォリオ決定に関する実施の形態を示すものとする。
【００２２】
図１は、本発明による最適ポートフォリオ決定装置の概略の構成を示す。最適ポートフォリオ決定装置は、個別収益率入力手段（データベース）101と、個別因子入力手段（データベース）102と、共通因子入力手段（データベース）103と、制約パラメータ入力手段（データベース）104と、最適ポートフォリオ求解手段105と、最適ポートフォリオ表示手段106から構成される。なお、１０１〜１０４の入力手段はデータベースとして構成されている。
【００２３】
個別収益率入力手段101においては、個別銘柄の収益率の期待値に関する情報を入力する。図２に示すデータの一例は、個別銘柄1432個に関するものであり、現在の株価が割安かどうかを過去の実績等に基づいて推定した収益率の期待値に関する情報が入力されていることを示す。
【００２４】
個別因子入力手段102においては、個別銘柄の収益率の変動要因が銘柄独自の要因で説明できるスペシフィックリスク、時価の総額に対する個別銘柄の時価占有率を表すベンチマーク比率等に関する情報を入力する。図３に示すデータの一例は、個別銘柄1432個に関するものであり、スペシフィックリスク、ベンチマーク比率のほか、各個別銘柄が属する業種（電気機器業、輸送用機器、銀行業等）コードが入力されている。
【００２５】
共通因子入力手段103は、銘柄全体の収益率に影響を及ぼす共通の因子（以下、共通因子と称する）において、２つの共通因子間の共分散に関する情報を入力する。図４に示すデータの一例は、共通因子13個に関するものであり、13×13個のデータが入力されていることを示す。因子１と因子２の共分散はマイナスとなっているが、これは因子１の値が大きくなる事象が発生した場合に、因子２の値が小さくなる可能性が大きいことを示す。逆に、因子１と因子３の共分散などのようにプラスの値が入っている場合は、因子１の値が大きくなる事象が発生した場合には、因子２の値も大きくなる可能性が大きいことを示す。
【００２６】
制約パラメータ入力手段104は、図４において説明した銘柄全体の収益率に影響を及ぼす共通因子が変化したときに、各銘柄の収益率にどのように影響するかを表すファクタエクスポージャに関するデータと、各銘柄が属する業種群（複数の業種をグループ化したもの）への投資比率制約に関するデータを入力する。
【００２７】
図５に示すデータの一例は、共通因子13個および銘柄1432個に関するものであり、13×1432個のデータが入力される。特定の因子に着目した場合、例えば、因子１の値が大きくなった場合には、銘柄１〜３、銘柄５〜８、銘柄10、………、銘柄1432のようにファクタエクスポージャの値がマイナスとなっている銘柄においては、収益率は減少する方向に作用し、逆に、銘柄４、銘柄９、………のようにファクタエクスポージャの値がプラスとなっている銘柄においては、収益率は増大する方向に作用する。
【００２８】
一方、特定の銘柄に着目した場合、例えば、銘柄１においては、因子１、因子２、………等の値（マイナス）が大きくなった場合には、収益率を減少させる方向に作用し、因子３、………、因子13などの値（プラス）が大きくなった場合には、収益率を増大させる方向に作用する。
【００２９】
図６に示すデータの一例は、各銘柄を５つの業種群（少なくとも一つ以上の業種から構成される集合）に分類したときに、各々の業種群への投資比率に関する制約を示したものである。例えば業種群３に属する銘柄への投資比率は0．2（＝20%）とすることを意味する。このデータは業種群への投資比率の制約を考慮する場合にのみ、制約パラメータデータベース104に入力される。なお、投資比率の制約は0．15以上0．25以下という具合に不等式で入力することも可能である。
【００３０】
最適ポートフォリオ求解手段105においては、各入力手段101〜104から入力された情報に基づいて、購入対象とする株式および購入比率を決定する。最適ポートフォリオ求解手段105においては、最適なポートフォリオ割り当てを決定する方法に関して工夫を施しているが、これについては後述する。
【００３１】
最適ポートフォリオ出力手段106は、最適ポートフォリオ求解手段105で決定された購入対象の株式および購入比率等の投資家、あるいは顧客の資金を預かって資金を運用するファンドマネージャにとって有用な情報を出力する。
【００３２】
最適ポートフォリオ求解手段は、各データベース（入力手段）101〜104に入力された情報を元に、最適化問題を作成するステップと最適化問題を求解するステップから構成される。最適化問題の解法としては、大規模な問題においても点列の更新回数が少なく、優れた性能を発揮する内点法に準拠した場合の実施の形態を示すものとする。なお、線形計画問題における単体法あるいは二次計画問題における有効制約法に準拠した実施の形態も考えられる。
【００３３】
最適化問題は、通常、式（８）、（９）で表される二次計画問題の標準形に定式化される。
【００３４】
最小化：ｃTｘ＋ｘTＱｘ／2＋ｄ        （８）
制約式：Ａｘ＝ｂ、  ｘ≧0            （９）
ここで、ｃはＮ次元ベクトル、ＱはＮ次元正方行列、ＡはＭ×Ｎ次行列、ｂはＭ次元ベクトルである。
【００３５】
図７および図８は、式（８）の目的関数および式（９）の制約式において要素が入っている箇所の構造を示す。
【００３６】
図７の目的関数においては、目的関数の二次係数を示す行列Ｑにおいて、左上の対角部分行列Δおよび右下の部分行列Ｆのみに０以外の要素が入っており、他の部分はすべて０となっている。すなわち、銘柄数および共通因子数をそれぞれ1432個および13個とした場合、０を含む全ての要素約208万個の内、０以外の要素は1600個と全体の0．1%に満たない数である。この二次の係数行列の性質を考慮することにより、最適化計算を高速化することが可能である。なお、目的関数の一次係数を示すベクトルｃにおいては、大半が０以外の要素であるが、二次の係数行列と比較して要素数そのものが少ないために問題にはならない。
【００３７】
図８の制約式においては、制約式の左辺に現れる行列Ａにおいて、左半分および右上の対角部分のみに０以外の要素が入っている。最適化計算を高速化する際に、このような性質を考慮することが必要である。
【００３８】
次に、図７に示す最適化問題の目的関数において現れる変数hpおよびｙに着目した時、二次計画法として内点法を適用するためには、両者の変数は正でなければならない。しかしながら、共通因子を取り扱うために導入した変数ｙは、図８に示すように、二次計画問題の制約式（９）に現れる非負制約を満たさない。そのため、図７および図８に示した二次計画問題に対して代表的な解法の一つである内点法を、そのままの形式で適用することができない。内点法を適用できるようにするためには、変数ｙにおいて、式（１０）のように、十分に大きな正の数ｓを加えることによって、変数が正になるように変換する必要がある。なお、式（１０）におけるベクトルeは、すべての要素が１のベクトルを意味する。
【００３９】
Ｙ＝ｙ＋ｓ*e                  （１０）
このように変換した後、つまりｙ＝Ｙ−ｓ*eを代入して変形した後の二次計画問題の構造は、図９および図１０のようになる。図９および図１０と図７および図８との違いは、一次の係数ベクトルの右側が０要素から０以外の要素に変更になったこと（図７および図９を参照）と、制約式の右辺ベクトルの上側が０要素から０以外の要素に変更になったこと（図８および図１０を参照）など、ベクトル構造の相違にある。しかし、行列の基本構造に関しては特に違いがないために、計算量への影響は発生しない。
【００４０】
つぎに、最適ポートフォリオ求解手段について説明する。まず、最適化問題の解法である内点法の概要について図面を用いて説明する。
【００４１】
図１１は内点法の全体的な流れおよび概念図を示す。まず、ステップ1101において、初期点を設定する。次に、ステップ1102において、制約条件の違反量ができるだけ小さくなるように探索方向をニュートン法で計算し、点列を更新する。このステップ1102によって、制約領域内の点を探索する。最後に、ステップ1103において、実行可能領域の中で目的関数を最大化する点を探索する。
【００４２】
基本的には、主問題（元々の問題）と双対問題（主問題から派生してできた二次計画問題）の目的関数の差が小さくなるように、探索方向をニュートン法で計算し、点列を更新する。このように点列の更新を繰り返して、目的関数の差が０になったときに、最適解が得られる。
【００４３】
また、内点法は前述の二次計画問題の最適解をx*としたとき、等式制約および不等式制約（xの非負制約）に対応するｙ*およびｚ*を適切に選ぶと、（ｘ、ｙ、ｚ）＝（x*、ｙ*、z*）は、以下の非線形方程式を満たすことが知られている。なお、理論的背景に関しては、文献「茨木俊秀、福島雅夫著、FORTRAN77最適化プログラミング、岩波書店、P453−457」に記載されているので、ここでは詳細については省略する。原問題の制約条件を式（１１）、双方問題の制約条件を式（１２）、相補性条件を式（１３）で表す。
【００４４】
Ａｘ＝ｂ              （１１）
ＡTｙ−Ｑｘ＋ｚ＝ｃ      （１２）
ｘTｚ＝０、ｘ≧0、ｚ≧0     （１３）
二次計画問題を解くためには、上記の非線形方程式の解を求めればよい。内点法では非線形方程式を正の実数μを用いて、相補性条件を式（１４）のように変形して、ニュートン法を基本とした手法を用いる。
【００４５】
ｘTｚ＝μ、ｘ＞0、ｚ＞0       （１４）
具体的には、μをある程度の大きい正の数に設定し、非線形方程式を近似的に解き、μを逐次０に近づけながら点列（ｘk、ｙk、ｚk）（ｋ＝0，1，2，3，……）を更新することによって、二次計画問題の最適解を求める。
【００４６】
実際のプログラムにおいては、μをβ*ｘkTｚk／ｎに設定し、解が制約領域外ならばβを１に近い値、制約領域内ならばβを0に近い値として探索方向を制御し、式（１５）〜（１７）に示すニュートン方程式を解いている。
【００４７】
Ａｄｘ＝−（Ａｘk− ｂ）              （１５）
ＡTｄｙ−Ｑｄｘ＋ｄｚ＝−（ＡTｙk−Ｑｘk＋ｚk−ｃ）     （１６）
Ｚkｄｘ＋Ｘkｄｚ＝−（Ｘkｚk−μ*e）
＝−{Ｘkｚk−（β*ｘkTｚk／ｎ）*e }       （１７）
ニュートン方程式を解いて探索方向を求め、さらに上記制約条件および相補性条件の違反度を減少させ、ｘ＞0およびｚ＞0を満たすステップ幅を計算して点列を更新する。なお、式（１７）において、ＸkおよびＺkはそれぞれｋ番目の反復点のベクトルを対角要素とする対角行列、eは全ての要素が１のベクトルである。
【００４８】
以上のことを考慮して設計された二次計画法のアルゴリズムは、図１２のようにステップ1201からステップ1210によって構成される。ステップ1201においては、個別収益率データベース、個別因子データベース、共通因子データベースおよび制約パラメータデータベースから、二次計画問題のデータを入力する処理に相当する。ステップ1202からステップ1210の処理は最適ポートフォリオ求解手段において、最適ポートフォリオを求解する処理に相当する。以下、ステップ1201からステップ1210の処理の詳細について説明する。
【００４９】
＜ステップ1201：二次計画問題のデータを入力＞
ステップ1201においては、二次計画問題のデータを入力する。ここで入力されるデータとは、図２に示した個別銘柄の収益率の期待値に関するデータ図３に示した個別銘柄の属性に関するデータ、図４に示した銘柄全体の収益に影響を及ぼす共通因子間の分散および共分散に関するデータ、図５に示した各共通因子における個別銘柄への収益への影響度を意味するファクタエクスポージャに関するデータが該当する。なお、投資比率の制約を考慮する場合には、図６に示した業種群への投資比率制約に関するデータも二次計画問題のデータに該当するが、投資比率の制約を考慮しない場合には、図６のデータは二次計画問題のデータには該当しない。
【００５０】
＜ステップ1202：制約式および変数の数を設定＞
ステップ1202においては、二次計画問題の制約式の数および変数の数を設定する。ステップ1201において入力された共通因子、制約として考慮する業種群（制約として考慮しない場合は０）、および個別銘柄の数をそれぞれＫ、Ｓ、およびＮとすると、制約式および変数の数はそれぞれ（Ｋ＋１＋Ｓ）および（Ｋ＋Ｎ）となる。
【００５１】
＜ステップ1203：現在得られている点の相補性条件および制約条件の違反量を計算＞
ステップ1203においてはニュートン方程式（１５）（１６）の右辺ベクトルおよび制約条件の違反量を示す右辺ベクトルのノルム値、さらに相補性条件（１３）の左辺の値ｘTｚの値を計算する。
【００５２】
ニュートン方程式（１５）の右辺ベクトルは、図１３に示すようにブロック化して計算を実施する。図１３に示す計算においては、係数行列Ａの右半分の大半の要素が０であることを利用しているため、図１３の右辺のようになる。
【００５３】
また、ニュートン方程式（１６）の右辺ベクトルは、図１４に示すようにブロック化して計算を実施する。図１４に示す計算においては、係数行列ＡTの下半分の大半の要素が０であること、さらに係数行列Ｑの左上の対角部分および右下の部分のみに０以外の要素が現れることを利用している。この結果、図１４の右辺のようになることがわかる。なお、図１３および図１４は、業種群の投資比率制約を考慮する場合の行列のブロック図を示しているが、業種群の投資比率を考慮しない場合においては、Ａsに関連する部分が存在しなくなる。
【００５４】
＜ステップ1204：相補性条件および制約条件の違反量が所定値以下かどうかをチェック＞
ステップ1204においては、現在得られている反復点において、制約条件の違反量および相補性条件が許容誤差範囲内かどうかを判定する。具体的には、制約条件（１１）、（１２）および相補性条件（１３）を満たしているかどうかを判定する。実際の計算機上における演算においては、近似的に（１１）、（１２）、（１３）を満たしているかどうかを判定している。相補性条件（１３）について示すと、式（１３’）のようになる。
【００５５】
||ｘTｚ||  ＜ε           （１３’）
εに十分０に近い値（例えば10-10など）を持つ不等式を最適性の判別に用いる。
【００５６】
＜ステップ1205：μの値を計算＞
ステップ1205においては、ニュートン方程式（１４）に関連するμの値を計算する。具体的には式（１７）に示している（β*ｘk Tｚk／ｎ）をμの値に設定している。なお、現在の反復点が制約条件（１１）を満たしている場合には、制約条件（１１）を満たす反復点を探索するために、βの値を１に近い値（例えば0．99など）に設定し、制約条件（１１）を満たしている場合には、最適解を探索するために、βの値を０に近い値（例えば0．01など）に設定している。このようなβの設定方法は、図１１で示したステップ1102およびステップ1103の処理にそれぞれ対応している。
【００５７】
＜ステップ1206：ニュートン方程式（１７）の右辺ベクトルを計算＞
ステップ1206においては、ニュートン方程式（１７）の右辺のベクトルを計算する。
【００５８】
＜ステップ1207：連立方程式（１５）（１６）（１７）を求解＞
ステップ1207においては、ニュートン方程式（１５）、（１６）、（１７）を解いて現在の反復点の探索方向（dｘ、dｙ、dｚ）を求める。連立方程式を解く際には、以下の式（１８）〜（２０）に基づいて、（１８）、（１９）、（２０）の順にdy、dｘ、dｚの解を求める。ｇ(x)、ｇ(ｙ)、ｇ(ｚ)はそれぞれステップ1203およびステップ1206で求めた−(ｂ−Ａｘk)、−（ＡTｙk−Ｑｘk＋ｚk−ｃ）、−{Ｘkｚk−（βｘkTｚk／ｎ）*e}に相当する。
【００５９】
0004388248.tif 000002
式（１８）、（１９）、（２０）において、ＸおよびＺは、それぞれｘおよびｚを対角要素に持つ対角行列である。
【００６０】
式（１８）を解くには、行列をブロック化して処理を行うが、処理内容は複雑であるために、図１５から図１８の図面を用いて説明する。なお、図面においては、業種群の制約を考慮する場合について示している。業種群の制約を考慮しない場合については、Ａsに関連する部分行列が計算対象から除外され、それ以外は全く同一である。
【００６１】
式（１８）を解くにあたって、まず、Ｑ＋Ｘ-1Ｚの逆行列を求める必要がある。行列Ｑ＋Ｘ-1Ｚの次元数は、個別銘柄および共通因子の数をそれぞれＮおよびＫとしたとき、（Ｎ＋Ｋ）となる。従って、図２から図５の例においては、N＝1432、K＝13であるため、行列Ｑ＋Ｘ-1Ｚの次元数は1445である。
【００６２】
図１５に示すように、行列Ｑと要素が入っている構造は同一であり、左上の対角部分と右下の部分に０以外の要素が存在する。従って、Ｑ＋Ｘ-1Ｚの逆行列を求めるに際しては、このような行列構造を考慮して、最適ポートフォリオを求解するための前処理として、前記目的関数に現れる係数行列Ｑを、個別変動因子に関連する第１の部分行列と共通変動因子に関連する第２の部分行列に分割する。なお、第１の部分行列は選択し得る金融商品の数に対応して対角成分の部分に要素を持つ対角行列、第２の部分行列は共通変動因子と共通変動因子の積を次元とする行列となる。これに伴い、対角行列Ｘ-1Ｚも２つの部分に分割する。
【００６３】
図１５の左上部分に関しては単に逆数を計算するだけでよく、右下部分についてのみ三角分解法などの逆行列演算ルーチンを適用すればよい。従って、逆行列演算ルーチンを適用する行列の次元数はＫ（図２〜図５の例はK＝13）となる。一般に、逆行列の演算時間は行列の次元数の３乗に比例するので、K＝13の場合には、演算時間が(14／1446)*(14／1446)*(14／1446)より約百万分の一になることがわかる。また、０要素であるかどうかの判別をしなくて済むだけでも大幅に処理時間を短縮することができる。
【００６４】
上記のように（Ｑ＋Ｘ-1Ｚ）-1を求めた後には、行列Ａと（Ｑ＋Ｘ-1Ｚ）-1の積を求める。ニュートン方程式（１８）におけるそれぞれの行列の要素構造は、図１６のようになっている。図１６においても、図１３および図１４と同様に、係数行列ＡTの下半分の大半が０であること、係数行列Ｑの左上の対角部分および右下の部分のみに０以外の要素が入ることなどを考慮して計算を実施する。
【００６５】
すなわち、業種群の制約を考慮しない場合には、最適ポートフォリオを求解するための前処理として、制約パラメータから構成される行列Ａを金融商品及び共通変動因子に関連する部分行列と、共通変動因子に関連する部分行列と、金融商品及びその購入量に関連する部分行列に分割する。また、業種群の制約を考慮する場合は、最適ポートフォリオを求解するための前処理として、行列Ａを金融商品及び共通変動因子に関連する部分行列と、共通変動因子に関連する部分行列と、金融商品及びその購入量に関連する部分行列と、金融商品を複数の群に分割した場合における各群の購入量に関連する部分行列に分割する。
【００６６】
また、業種群の制約を考慮しない場合は、行列Ａの構造が、金融商品及び共通変動因子に関連する部分行列が金融商品と共通変動因子の積を次元とする行列であること、共通変動因子に関連する部分行列が共通変動因子の数に対応して対角成分の部分に要素をもつ対角行列であること、金融商品の購入量の制約に関連する部分行列が金融商品の数に対応して対角成分の部分に要素をもつ対角行列であることが特徴となっている。また、業種群の制約を考慮する場合は、行列Ａの構造が、考慮しない場合に対して、金融商品の属する群の購入量の制約に関連する部分行列が群の数と金融商品の積を次元とする行列として加わっていることが特徴となっている。
【００６７】
行列（Ｑ＋Ｘ-1Ｚ）は目的関数に現れる係数行列Qと同様の方法で、前処理として分割する。また、Ａ×（Ｑ＋Ｘ-1Ｚ）-1は図１６より左辺と右辺に現れているため、行列の積を求めた後の行列の要素構造は図１７のようになる。図１７は行列Ａ×（Ｑ＋Ｘ-1Ｚ）-1においては、右下部分が０になっていることを示している。
【００６８】
さらに、Ａ×（Ｑ＋Ｘ-1Ｚ）-1×ＡT等を計算した後の行列の要素構造は図１８のようになる。図１８においては、全ての要素が０以外の要素になっているものの、行列のサイズは13×13次元であり、計算に要する時間は小さい。図１８のように左辺および右辺における行列およびベクトルの演算処理を実施した後に、ガウスの消去法によって連立方程式を解き、得られた解をdyとする。この後は、dyを（１９）に代入して、同様の行列処理によってdxを、さらにdxを（２０）に代入してdzを求める。
【００６９】
図１６から図１８における一連の行列処理により、０要素の計算あるいは０要素であるかどうかの判別（非零要素のみの計算）といった不必要な手間が省かれている。また、その結果として、（Ｎ＋Ｋ）次の正方行列を直接取り扱わないですみ、さらに逆行列の演算およびガウスの消去法による適用時の行列のサイズが小さくてすむ。
【００７０】
＜ステップ1208：ステップ幅の計算＞
ステップ1208においては、現在の反復点における更新の度合を示すステップ幅を計算する。ステップ幅の計算方法は以下の通りである。
【００７１】
αp ＝min（−xk /dx）、dx＜０となるすべてのdxの要素が対象      （２１）
αd＝min（−zk /dz）、dz＜０となるすべてのdzの要素が対象       （２２）
式（２１）、（２２）に示すように、内点法の実行にあたっては、非負制約の対象となっている変数ｘkおよびｚkの値が正になるようにして点列を更新する。
【００７２】
＜ステップ1209：反復点の更新＞
ステップ1209においては、ステップ1207およびステップ1208において計算した探索方向（dx，dy，dz）およびステップ幅（αp,αd）に基づいて現在の反復点を更新する。更新は以下の式で行う。
【００７３】
ｘk+1＝ｘk＋αpdx                （２３）
ｙk+1＝ｙk＋αddy                （２４）
ｚk+1＝ｚk＋αddz                （２５）
＜ステップ1210：現在の反復点を最適解に設定＞
ステップ1210においては、更新後の反復点が最適性の条件（１１）、（１２）、（１３）を満たしていることが分かっているため、この反復点を最適解に設定する。これら反復点に関連する情報は、最適ポートフォリオ表示手段において表示される。
【００７４】
最適ポートフォリオ求解手段105において求解された最適資産に関する情報を、最適ポートフォリオ出力手段106において出力する実施例を説明する。図１９および図２０は、1432個の銘柄を計算の対象とした場合における出力例である。
【００７５】
図１９は各銘柄の投資比率が０を含むすべての個別銘柄に関して表示したものである。ここでは、業種コード、業種セクタ、投資比率、スペシフィックリスク、ベンチマーク比率、期待収益率に関するデータを表示している。図２０は投資対象の銘柄について表示したものであり、表示している項目は図１９と同一である。
【００７６】
なお、図１９および図２０においては、各銘柄の投資比率のほか、個別銘柄の期待収益率および収益率の変動率に関連するパラメータも出力しているが、図２１に示すように出力対象を業種コードおよび業種セクタのみに限定した出力の形式に設定することも可能である。一方、投資比率だけではなく、図５に示した個別銘柄の共通因子に関するパラメータを表示して、共通因子と投資比率との関連が分かるように設定することも可能である。
【００７７】
図２２は本発明による最適ポートフォリオ決定装置のシステム構成の一例を示している。最適ポートフォリオを計算して、各々の顧客に提示するための計算機装置はパソコンによって構成されている。最適ポートフォリオを求めるにあたっては、個別銘柄に関する情報および個別銘柄の収益に影響を及ぼすパラメータの情報などを記憶するデータベースが必要であり、これらのデータベースに基づいてシミュレーションを行い、各々の顧客にシミュレーション結果を表示するためのアプリケーションソフトが必要である。
【００７８】
図２２において、顧客の複数の計算機はコンピュータネットワークに接続されている。サーバには、上記のデータベースを構築するためのアプリケーションがインストールされており、サーバに接続されている４つのデータベースが記憶されている。ここで、４つのデータベースは、個々の金融商品の収益率の期待値、金融商品全体の収益に影響する要因である共通変動因子、金融商品全体の収益に影響する要因である共通変動因子、および金融商品全体の収益率と収益に影響を及ぼすリスクから構成される目的関数を最適にするための制約条件を構成する制約パラメータを、それぞれ格納している。
【００７９】
中央演算処理装置においては、最適化ポートフォリオの計算を行うためのアプリケーションソフトとユーザにシミュレーションの結果を表示するプログラムとがインストールされており、４つのデータベースから入力されたデータに基いて最適ポートフォリオを計算するシミュレーションを実施する。中央演算処理装置において計算された最適ポートフォリオに関するデータは、計算機ネットワークを介して、顧客側のクライアント計算機に転送される。
【００８０】
顧客側のクライアント計算機においては、サーバ側の計算機によって計算された最適ポートフォリオに関する情報を受信して、最適ポートフォリオを表示する。なお、クライアント計算機においては、最適ポートフォリオを表示するためのアプリケーションプログラムおよび顧客にとっての最適化指針に関するデータを入力するためのアプリケーションプログラムがインストールされていればよい。
【００８１】
かくして、本発明の最適ポートフォリオ決定装置のシステム構成を構築することにより、最適ポートフォリオの決定が可能になる。
【００８２】
【発明の効果】
本発明のポートフォリオ決定方法および装置によれば、顧客の資金を預かって株式等に投資するファンドマネージャ等が、リスクおよびリターンから構成される投資家の効用を最適化するように、購入の対象とする個別銘柄の株式等の金融商品および購入量を決定する際に、効率的に実施することが可能である。なお、購入対象の決定では、個別の投資対象の収益性等を示すパラメータを、回帰分析等の統計処理を複数回実施して推定し、二次計画問題などで定式化された数理計画問題を何度も解く必要があるため、本発明を用いることにより、最適ポートフォリオを計算する時間の短縮効果は絶大である。
【図面の簡単な説明】
【図１】本発明の最適ポートフォリオ決定装置の構成を示すブロック図。
【図２】個別収益率データベースに入力される第1のデータ形式の説明図。
【図３】個別因子データベースに入力される第２のデータ形式の説明図。
【図４】共通因子データベースに入力されるデータ形式の説明図。
【図５】制約パラメータデータベースに入力されるデータ形式の説明図。
【図６】制約パラメータのデータ形式の他の例を示す説明図。
【図７】定式化した二次計画問題の目的関数の形式の一例を示す説明図。
【図８】定式化した二次計画問題の制約式の形式の一例を示す説明図。
【図９】定式化後、所定形式に変換した二次計画問題の目的関数の形式の一例を示す説明図。
【図１０】定式化後、所定形式に変換した二次計画問題の制約式の形式の一例を示す説明図。
【図１１】対象としている二次計画問題の解法の概要を示すフローチャート。
【図１２】対象としている二次計画問題の解法の詳細を示すフローチャート。
【図１３】制約条件の違反量の計算方法を示す第１の説明図。
【図１４】制約条件の違反量の計算方法を示す第２の説明図。
【図１５】ニュートン方程式の解を算出する方法を示す第１の説明図。
【図１６】ニュートン方程式の解を算出する方法を示す第２の説明図。
【図１７】ニュートン方程式の解を算出する方法を示す第３の説明図。
【図１８】ニュートン方程式の解を算出する方法を示す第４の説明図。
【図１９】最適ポートフォリオの出力形式を示す第１の説明図。
【図２０】最適ポートフォリオの出力形式を示す第２の説明図。
【図２１】最適ポートフォリオの出力形式を示す第３の説明図。
【図２２】最適ポートフォリオ決定装置のシステムの一例を示す構成図。
【符号の説明】
１０１…個別収益率入力手段、１０２…個別因子入力手段、１０３…共通因子入力手段、１０４…制約パラメータ入力手段、１０５…最適ポートフォリオ求解手段、１０６…最適ポートフォリオ表示手段。
【図１】
0004388248.tif 000003
【図２】
0004388248.tif 000004
【図３】
0004388248.tif 000005
【図４】
0004388248.tif 000006
【図５】
0004388248.tif 000007
【図６】
0004388248.tif 000008
【図７】
0004388248.tif 000009
【図８】
0004388248.tif 000010
【図９】
0004388248.tif 000011
【図１０】
0004388248.tif 000012
【図１１】
0004388248.tif 000013
【図１２】
0004388248.tif 000014
【図１３】
0004388248.tif 000015
【図１４】
0004388248.tif 000016
【図１５】
0004388248.tif 000017
【図１６】
0004388248.tif 000018
【図１７】
0004388248.tif 000019
【図１８】
0004388248.tif 000020
【図１９】
0004388248.tif 000021
【図２０】
0004388248.tif 000022
【図２１】
0004388248.tif 000023
【図２２】
0004388248.tif 000024