November 4, 2016
1. はじめに
インデックス・トラッキングは、パッシブ運用の一形態です。インデックス・トラッキング問題は、インデックス内の資産のポートフォリオを使用して、株式市場インデックスのパフォーマンスを再現することを含みます。このアプローチは、ファンドが特定のインデックスを構成するすべての株式を購入するフル・レプリケーションとは異なります。インデックスのリターンを再現することを目的とするパッシブ運用ファンドは、インデックス・ファンドまたはトラッカー・ファンドと呼ばれます。
古典的なインデックス・トラッキング・アプローチは、過去のデータサンプルから計算された誤差を用いた最小二乗法のフレームワークで問題を表現します。[1]で説明されている新しいアプローチは、古典的なリスク尺度であるポートフォリオ分散を、確率的インデックスリターンと選択されたポートフォリオのリターンとの間のトラッキングエラーの分散に置き換えています。
このレポートでは、インデックス・トラッキング・ポートフォリオ最適化モデルを定式化し、このモデルと古典的なマーコビッツの平均分散ポートフォリオ最適化モデルを比較する例を示します。
2. インデックス・トラッキング最適化モデル
市場インデックス\(M\)と\(n\)個の資産を持つポートフォリオ\(P\)を考えます。\(P\)がインデックスのパフォーマンスを再現するのは、\(P\)のリターン(\(r_P\)で表記)が時間とともにインデックスのリターン(\(r_M\)で表記)に密接に追随する場合です。目標は\(r_P\)と\(r_M\)の差の分散を最小化することです。
資産\(i\)のリターンを\(r_i\)、その平均を\(\mu_i\)(\(i = 1, 2, \dots, n\))とします。資産リターンの分散共分散行列を\(V\)とし、\(\sigma_{ij}\)は2つの資産リターン間の共分散、\(\sigma_{ii}\)は\(r_i\)の分散を表します。資産リターンと市場インデックスリターンの共分散は\(\sigma_{iM} = \text{Cov}(r_i, r_M)\)で与えられます。\(M\)に対する資産\(i\)のベータは次のように与えられます:
\[ \beta_i = \frac{\sigma_{iM}}{\sigma_M^2} \]
ここで、\(\sigma_M^2\)は市場インデックスリターンの分散です。
インデックス・トラッキング・モデルは、インデックス・トラッキング・ポートフォリオの適合度の尺度である\(\text{Var}(r_P - r_M) = \sigma_P^2 + \sigma_M^2 - 2\sigma_M^2 \beta_P\)を最小化することを目的としています。最適化問題は以下のように定式化されます:
\[ \min_x \frac{1}{2}x^T V x - \sigma_M^2 \beta^T x \]
制約条件:
\[ \sum_{i=1}^{n} \mu_i x_i = m \] \[ \sum_{i=1}^{n} x_i = 1 \] \[ -1 \leq x_i \leq 1, \quad i \in \{1, \dots, n\} \]
これは制約付き凸二次計画問題(QP)を形成します。\(V\)が対称正半定値かつ密行列であるため、ソルバーe04ncc
が選択されます。最適ポートフォリオの特性を決定する以下の尺度があります:
- ポートフォリオ分散: \(\sigma_P^2 = x^T V x\)
- ポートフォリオベータ: \(\beta_P = \sum_{i=1}^{n} \beta_i x_i\)
- 適合度の尺度: \(\text{Var}(r_P - r_M) = \sigma_P^2 + \sigma_M^2 - 2\sigma_M^2 \beta_P\)
トラッキング効率(TE)ポートフォリオは、目的関数から線形項\(-\sigma_M^2 \beta^T x\)を除去した場合、マーコビッツの平均分散(MV)ポートフォリオと等価になります。
マーコビッツのポートフォリオ最適化理論の基本的なレビューは[2]で見つけることができます。
3. 例
S&P 500インデックスをトラックする7つのテクノロジー株を用いた簡単な例を紹介します。この例のデータはYahoo Finance [3]からPythonスクリプトを使用してダウンロードしました。2009年1月から2016年1月までの月次価格を使用しました。
株価データ

資産 | 平均 (\(\mu\)%) | 標準偏差 (\(\sigma\)%) | ベータ (\(\beta\)) |
---|---|---|---|
^GSPC | 1.11 | 4.15 | - |
AAPL | 2.82 | 7.44 | 1.026 |
CSCO | 1.08 | 7.80 | 1.250 |
GOOG | 2.00 | 7.30 | 0.975 |
IBM | 0.72 | 4.57 | 0.595 |
MSFT | 1.79 | 6.78 | 0.994 |
ORCL | 1.21 | 6.96 | 1.199 |
YHOO | 1.49 | 8.47 | 0.941 |
共分散行列
AAPL | CSCO | GOOG | IBM | MSFT | ORCL | YHOO | |
---|---|---|---|---|---|---|---|
AAPL | 0.005528 | 0.002689 | 0.001983 | 0.001417 | 0.001996 | 0.002167 | 0.001418 |
CSCO | 0.002689 | 0.006082 | 0.002637 | 0.001873 | 0.002812 | 0.003305 | 0.002146 |
GOOG | 0.001983 | 0.002637 | 0.005324 | 0.001132 | 0.002193 | 0.001718 | 0.001765 |
IBM | 0.001417 | 0.001873 | 0.001132 | 0.002084 | 0.001021 | 0.001571 | 0.000677 |
MSFT | 0.001996 | 0.002812 | 0.002193 | 0.001021 | 0.004599 | 0.002502 | 0.001350 |
ORCL | 0.002167 | 0.003305 | 0.001718 | 0.001571 | 0.002502 | 0.004843 | 0.002146 |
YHOO | 0.001418 | 0.002146 | 0.001765 | 0.000677 | 0.001350 | 0.002146 | 0.007173 |
このデータを使用して、平均ベクトル、標準偏差ベクトル、共分散行列、およびベータベクトルを計算します。
望ましいポートフォリオ平均を\(m = \mu_M\)に設定します。ここで\(\mu_M\)はS&P 500インデックスの平均リターンを表します。インデックス・トラッキング・モデルは、マーコビッツ・ポートフォリオと比較してショートポジションを減少させます。マーコビッツ・ポートフォリオには2つのショートポジション(CSCOとORCL)がありますが、インデックス・トラッキング・ポートフォリオには1つのショートポジション(AAPL)しかありません。極端なポジションもインデックス・トラッキング・ポートフォリオでは減少しています。
銘柄 | MV | TE |
---|---|---|
AAPL | 0.019969 | -0.023608 |
CSCO | -0.123901 | 0.072067 |
GOOG | 0.076037 | 0.076785 |
IBM | 0.721647 | 0.449256 |
MSFT | 0.171989 | 0.115741 |
ORCL | -0.001755 | 0.193798 |
YHOO | 0.136014 | 0.115961 |
ポートフォリオ測定値
測定値 | MV | TE |
---|---|---|
ポートフォリオ分散 | 0.001620 | 0.001962 |
ポートフォリオベータ | 0.666135 | 0.864691 |
適合度の尺度 | 0.001049 | 0.000707 |
トラッキング効率(TE)ポートフォリオは、\(\text{Var}(r_P - r_M) = 0.000707\)で、マーコビッツ・ポートフォリオの\(\text{Var}(r_P - r_M) = 0.001049\)と比較して、S&P 500インデックスをより密接にトラックしています。
3.1 コンパイル
この問題はnAG Cライブラリを使用して解決されました。Linux用nAG
Cライブラリ(Mark
26、CLL6I26DDL)でgcc
を使用してコンパイルするには、以下のコマンドを使用します:
gcc -O3 index_tracking.c -I ../CL26/cll6i26ddl/include/ ../CL26/cll6i26ddl/lib/libnagc_nag.so -lpthread -lm -o index_tracking.exe
ダウンロードしたデータで例を実行するには、以下を使用します:
./index_tracking.exe < index_tracking.txt
データ例:
7 85
GSPC AAPL CSCO GOOG IBM MSFT ORCL YHOO
1.9E+03 9.8E+01 2.5E+01 7.3E+02 1.3E+02 5.2E+01 3.5E+01 3.1E+01
出力例:
Optimal portfolio selection:
----------------------------
GSPC: market index
AAPL: -2.36%
CSCO: 7.21%
GOOG: 7.68%
IBM: 44.93%
MSFT: 11.57%
ORCL: 19.38%
YHOO: 11.60%
Portfolio measures:
----------------------------
Portfolio variance: 0.001962
Portfolio beta: 0.864691
Measure of goodness: 0.000707
4. 結論
このレポートでは、[1]に基づいてインデックス・トラッキング最適化問題を解決するアプローチについて説明しました。結果として得られた二次計画問題は、nAG Cライブラリの第E04章のソルバーを使用して解決されました。結果の詳細な説明とマーコビッツの平均分散モデルとの比較が提示されました。
参考文献
[1] N. C. P. Edirisinghe, Index-tracking optimal portfolio selection. Quantitative Finance Letters, vol. 1, 16-20, (2013).
[2] nAG技術レポートnAGライブラリによる高度ポートフォリオ最適化:理論から実装まで
この論文のオリジナル版 PDF(英語)は こちら からご参照ください。