Skip to content

Added Fama-French 3-factor and 5-factor expected return models#733

Open
WilliamTDavies wants to merge 1 commit into
PyPortfolio:mainfrom
WilliamTDavies:ff-expected-returns
Open

Added Fama-French 3-factor and 5-factor expected return models#733
WilliamTDavies wants to merge 1 commit into
PyPortfolio:mainfrom
WilliamTDavies:ff-expected-returns

Conversation

@WilliamTDavies

Copy link
Copy Markdown

Closes #595
Closes #634

Summary

Adds support for Fama-French factor-based expected return estimation.

New functionality

  • Added Fama-French 3-factor expected return model.
  • Added Fama-French 5-factor expected return model.
  • Added support through return_model() via:
    • ff3_return
    • ff5_return

Documentation

  • Added API documentation for Fama-French expected return estimation.
  • Updated expected returns documentation.
  • Updated README expected returns section.

Tests

Added tests covering:

  • FF3 and FF5 expected return estimation.
  • return_model() dispatch.
  • Invalid model selection.
  • Missing required factor columns.
  • Non-overlapping asset and factor data.
  • Fully missing aligned factor data.
  • returns_data=True support.
  • Compounding and non-compounding annualisation.
  • Validation against synthetic data with known factor exposures.
  • Handling of additional unused factor columns.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant