FF3 アナライザー(Fama‑French 3因子モデル解析ツール)

Data

概要

Fama‑French 3因子モデル(市場、SMB、HML)を利用して、11銘柄から構成される米国株ポートフォリオの月次リターン(2020–2024)を解析するリポジトリです。データ前処理、超過リターンの計算、statsmodelsによるOLS回帰で因子ベータ(エクスポージャー)を推定し、回帰結果の統計量や因子感応度の可視化を行います。さらに、解析結果を閲覧・操作できるStreamlitダッシュボードが付属しており、モデルの理解やポートフォリオ評価の教材としても活用できます。

GitHub

リポジトリの統計情報

  • スター数: 4
  • フォーク数: 0
  • ウォッチャー数: 4
  • コミット数: 7
  • ファイル数: 8
  • メインの言語: Python

主な特徴

  • Fama‑French 3因子モデルを用いたOLS回帰で因子エクスポージャーを算出
  • 因子感応度や累積リターン等の可視化グラフを生成
  • Streamlitによるインタラクティブなダッシュボードで解析結果を探索可能
  • 開発用コンテナ設定(.devcontainer)等、再現性を意識した構成

技術的なポイント

本プロジェクトはPythonエコシステム(pandas, numpy, statsmodels, matplotlib/plotly, Streamlitなど)を活用している点が特徴です。解析フローは典型的なファクターモデルの実装に沿っており、まず月次株価からリターンを計算し、リスクフリーレートを差し引いて超過リターンを作成します。次に、Kenneth French等が提供する因子(MKT‑RF, SMB, HML)を説明変数としたOLS回帰を行い、係数(ベータ)、標準誤差、t値、決定係数などの統計量を取得します。可視化は単一期間の因子エクスポージャー図、ポートフォリオ別の累積超過リターン、回帰残差の分布などを通じてモデル適合や異常値を点検します。Streamlitダッシュボード(dashboard.py)がフロントエンドの役割を果たし、パラメータ選択や銘柄の絞り込み、グラフの切り替えをリアルタイムに行えます。データフォルダにCSV等の入力データを置くことで再現可能性が高く、.devcontainerにより開発環境の統一も図られています。拡張点としては因子の拡張(Carhartのモメンタム追加)、ローリング回帰による時間変化の解析、ブートストラップでの推定の安定性評価などが想定できます。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .devcontainer: dir — 開発コンテナ設定(VS Code Remote‑Containers 等)で環境再現性を向上
  • README.md: file — プロジェクト概要、使い方、理論背景の要約
  • dashboard.py: file — Streamlitアプリケーションのエントリポイント。データ読み込み、UI、可視化をまとめて提供
  • data: dir — 月次リターンやFama‑French因子のCSV等、解析に使う入力データを格納
  • frontend: dir — ダッシュボードで使う静的アセットやフロント周りの補助ファイル(CSSや画像等)
  • その他のスクリプト(データ処理、回帰実行、可視化ユーティリティなど)が含まれます …他 3 ファイル

まとめ

学習用途に最適な、実践的な3因子モデル解析ツール。

リポジトリ情報:

READMEの抜粋:

ff3-analyzer

A quantitative finance project that applies the Fama-French 3-Factor Model to a portfolio of 11 US equities using monthly return data from 2020–2024. Includes OLS regression analysis, factor exposure visualizations, and an interactive Streamlit dashboard.


What is the Fama-French Model?

The Fama-French 3-Factor Model extends CAPM by explaining stock returns through three systematic risk factors:

  • Market (MKT-RF) — excess return of the market over the risk…