トップ > 解析事例 > マルチファクターモデル

マルチファクターモデル

背景

ローゼンバーグ型マルチファクターモデル(通称 BARRA モデル)は、 機関投資家の間に広く普及しているポートフォリオ最適化モデルです。 エクスポージャ行列からフィッティングを行ってファクターリターンを求めることを過去数十日分繰り返し、 蓄積したファクターリターンの分散と最新のエクスポージャおよびスペシフィックリスクを入力として、 最適化(二次計画法)によってポートフォリオを求めます。

マルチファクターモデルのイメージ

これだけでも十分複雑ですが、このスキームの有効性を確かめるためには、与えられた期間、 このスキームに従ってポートフォリオを作成しつづけた結果と TOPIX 等のベンチマークを比較する(バックテスト)という作業が必要です。 FIOPT は最適化のみならず、このバックテストを行うという一連の処理を含めた全体をフローとして表現することができます。

FIOPT による実行フロー

以下はローゼンバーグ型マルチファクターモデルを FIOPT によって表現したフローです。

マルチファクターモデルのフロー

統計解析パッケージ R のスクリプトによって、エクスポージャ行列に対してフィッティングを行い、 その結果として、対象期間の全ての日についてファクターリターンを求めています。 ファクターリターンは CSV ファイルとして蓄積され、その分散がオプティマイザの入力となり、 結果が CSV ファイルに出力されるようになっています。

ローゼンバーグ型マルチファクターモデル

機関投資家の方々が取り扱う規模の問題の場合、通常 3千銘柄程度のサイズの二次計画問題になりますが、 幸い FIOPT の組み込みのオプティマイザ Numerical Optimizer は 1 秒程度で最適解を導くことができます。

マルチファクターモデル

CSV ファイル入力

データとして入力されるエクスポージャはそれ自体、銘柄×ファクターのサイズを持つ行列で、 指定された期間内のエクスポージャ行列は複数個の行列として表現されます。 FIOPT は日付をファイル名として持つ複数のファイルがあるフォルダを、 全体として 3 次元のデータ(銘柄×ファクター×日)であるとみなして読み書きする機能を備えています。 このマルチファクターモデルではこの機能を積極的に活用しています。

エクスポージャー読み込み