Skip to main content

Download datasets for various multifactor asset pricing models.

Project description

getfactormodels

Python PyPI - Version PyPI - Status GitHub License

A command-line tool to retrieve data for multi-factor asset pricing models.

Models

  • The 3-factor, 5-factor, and 6-factor models of Fama & French [1] [3] [4]
  • Mark Carhart's 4-factor model [2]
  • Pastor and Stambaugh's liquidity factors [5]
  • Mispricing factors of Stambaugh and Yuan[6]
  • The $q$-factor model of Hou, Mo, Xue and Zhang[7]
  • The augmented $q^5$-factor model of Hou, Mo, Xue and Zhang[8]
  • Intermediary Capital Ratio (ICR) of He, Kelly & Manela[9]
  • The DHS behavioural factors of Daniel, Hirshleifer & Sun[10]
  • The HML $^{DEVIL}$ factor of Asness & Frazzini[11]
  • The 6-factor model of Barillas and Shanken[12]

Thanks to: Kenneth French, Robert Stambaugh, Lin Sun, Zhiguo He, AQR Capital Management (AQR.com) and Hou, Xue and Zhang (global-q.org), for their research and for the datasets they provide.

Installation

[!IMPORTANT] getfactormodels is pre-alpha (until version 0.1.0), don't rely on it for anything.

PyPI - Status

But a huge thanks to anyone who has tried it!

Requires:

  • Python >=3.10

The easiest way to install getfactormodels is with pip:

pip install getfactormodels

Quick start

CLI

# Fama-French 3-Factor (monthly) starting Jan 2020
getfactormodels -m ff3 -f m -s 2020-01-01 -o my_factors.csv

# ICR factors (daily) data saved to Parquet
getfactormodels -m icr -f d -s 2015-01-01 -o data.parquet

# Fama-French 6-Factor (Europe) with factor dropping
getfactormodels -m ff6 -f m --region europe --drop "RF" -o europe_factors.csv

Python

get_factors

from getfactormodels import DHSFactors

model = DHSFactors(
    frequency='m',
    start_date='2000-01-01',
    end_date='2024-12-31',
    output_file='data.csv',
    cache_ttl=86400
)
df = model.data
model.to_file("factors.md")

Model classes

from getfactormodels import FamaFrenchFactors, DHSFactors, BarillasShankenFactors, QFactors

# Fama-French 3-Factor
ff3 = FamaFrenchFactors(model='3', frequency='m', region='developed', start_date='2020-01-01')

ff3.end_date = '2020'
ff3.frequency = 'd'

df_ff3 = ff3.data

# Q Factors have a "classic" boolean, when true, returns the classic 4 factor model.
q = QFactors(classic=True, frequency='w').data

misp = gfm.MispricingFactors(frequency='m')
df = misp.data

A list of model classes available:

  • FamaFrenchFactors
  • CarhartFactors
  • QFactors
  • ICRFactors
  • DHSFactors
  • LiquidityFactors
  • MispricingFactors
  • HMLDevilFactors
  • BarillasShankenFactors

(back to top)

Data Availability

This table shows each model's start date, available frequencies, and the latest datapoint if not current. The id column contains the shortest identifier for each model. These should all work in python and the CLI.

id Factor Model Start D W M Q Y End
3 Fama-French 3 1926-07-01 -
4 Carhart 4 1926-11-03 -
5 Fama-French 5 1963-07-01 -
6 Fama-French 6 1963-07-01 -
hmld HML $^{DEVIL}$ 1990-07-02 -
dhs DHS 1972-07-03 2023-12-29
icr ICR 1970-01-31
Daily: 1999-05-03
2025-06-27
mis Mispricing 1963-01-02 2016-12-30
liq Liquidity 1962-08-31 2024-12-31
q
q4
$q^5$-factors
$q$-factors
1967-01-03 $\checkmark$ 2022-12-30
bs Barillas-Shanken 1967-01-03 2024-12-31

References

Publications:

  1. E. F. Fama and K. R. French, ‘Common risk factors in the returns on stocks and bonds’, Journal of Financial Economics, vol. 33, no. 1, pp. 3–56, 1993. PDF
  2. M. Carhart, ‘On Persistence in Mutual Fund Performance’, Journal of Finance, vol. 52, no. 1, pp. 57–82, 1997. PDF
  3. E. F. Fama and K. R. French, ‘A five-factor asset pricing model’, Journal of Financial Economics, vol. 116, no. 1, pp. 1–22, 2015. PDF
  4. E. F. Fama and K. R. French, ‘Choosing factors’, Journal of Financial Economics, vol. 128, no. 2, pp. 234–252, 2018. PDF
  5. L. Pastor and R. Stambaugh, ‘Liquidity Risk and Expected Stock Returns’, Journal of Political Economy, vol. 111, no. 3, pp. 642–685, 2003. PDF
  6. R. F. Stambaugh and Y. Yuan, ‘Mispricing Factors’, The Review of Financial Studies, vol. 30, no. 4, pp. 1270–1315, 12 2016. PDF
  7. K. Hou, H. Mo, C. Xue, and L. Zhang, ‘Which Factors?’, National Bureau of Economic Research, Inc, 2014. PDF
  8. K. Hou, H. Mo, C. Xue, and L. Zhang, ‘An Augmented q-Factor Model with Expected Growth*’, Review of Finance, vol. 25, no. 1, pp. 1–41, 02 2020. PDF
  9. Z. He, B. Kelly, and A. Manela, ‘Intermediary asset pricing: New evidence from many asset classes’, Journal of Financial Economics, vol. 126, no. 1, pp. 1–35, 2017. PDF
  10. K. Daniel, D. Hirshleifer, and L. Sun, ‘Short- and Long-Horizon Behavioral Factors’, Review of Financial Studies, vol. 33, no. 4, pp. 1673–1736, 2020. PDF
  11. C. Asness and A. Frazzini, ‘The Devil in HML’s Details’, The Journal of Portfolio Management, vol. 39, pp. 49–68, 2013. PDF
  12. F. Barillas and J. Shanken, ‘Comparing Asset Pricing Models’, Journal of Finance, vol. 73, no. 2, pp. 715–754, 2018. PDF

Data sources:

  • K. French, "Data Library," Tuck School of Business at Dartmouth. Link
  • R. Stambaugh, "Liquidity" and "Mispricing" factor datasets, Wharton School, University of Pennsylvania. Link
  • Z. He, "Intermediary Capital Ratio and Risk Factor" dataset, zhiguohe.net. Link
  • K. Hou, G. Xue, R. Zhang, "The Hou-Xue-Zhang q-factors data library," at global-q.org. Link
  • AQR Capital Management's Data Sets.
  • Lin Sun, DHS Behavioural factors Link

(back to top)

License

GitHub License

Known issues

  • HML Devil: initial download is slow, particulary for daily data.
Todo
  • Documentation
  • Example notebook
  • better error handling
  • HML Devil: progress bar on download, smarter caching.
  • this README
  • metadata on model (copyright, construction, factors)
  • Drop pandas
  • Refactor of FF models

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

getfactormodels-0.0.11.tar.gz (43.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

getfactormodels-0.0.11-py3-none-any.whl (58.8 kB view details)

Uploaded Python 3

File details

Details for the file getfactormodels-0.0.11.tar.gz.

File metadata

  • Download URL: getfactormodels-0.0.11.tar.gz
  • Upload date:
  • Size: 43.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.13.5 Linux/6.6.87.2-microsoft-standard-WSL2

File hashes

Hashes for getfactormodels-0.0.11.tar.gz
Algorithm Hash digest
SHA256 a1feea3541741e7f44d7a78838cf154690eac63752dffd3f3f3bcf8d2db6bfc4
MD5 5b4dd4f3b2cef7793bdffe1cac92b54e
BLAKE2b-256 2a81ab5760eec1756b80ac8752897bc0a6e7e8e5dd8f19f18f820404b5eb4cfc

See more details on using hashes here.

File details

Details for the file getfactormodels-0.0.11-py3-none-any.whl.

File metadata

  • Download URL: getfactormodels-0.0.11-py3-none-any.whl
  • Upload date:
  • Size: 58.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.13.5 Linux/6.6.87.2-microsoft-standard-WSL2

File hashes

Hashes for getfactormodels-0.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 130d1006ae95d1f333ac922944dc56f69252e5ec06b369aad8559d82634f0cea
MD5 62b6b0210ad132639571d7db498e1dda
BLAKE2b-256 8a2d3fb116389c1a43493c40758026a45a1132412d19f7bb6b484bd458080da9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page