BayesianFactorZoo.jl
BayesianFactorZoo.jl is a Julia port of the R package 'BayesianFactorZoo' (CRAN link) implementing the econometric methods from the paper:
Bryzgalova, S., Huang, J., & Julliard, C. (2023). Bayesian solutions for the factor zoo: We just ran two quadrillion models. Journal of Finance, 78(1), 487–557. DOI: 10.1111/jofi.13197
For a more detailed function documentations please see the documentation of the R package Link to PDF
Overview
BayesianFactorZoo.jl provides a comprehensive framework for analyzing linear asset pricing models that is:
- Simple and robust
- Applicable to high-dimensional problems
- Capable of handling both tradable and non-tradable factors
For a stand-alone model, the package delivers reliable price of risk estimates for tradable and non-tradable factors.
Installation
The package is registered in the General registry and so can be installed at the REPL with ] add BayesianFactorZoo or by running:
using Pkg
Pkg.add("BayesianFactorZoo")Alternatively you can install the latest dev version directly from this repository.
using Pkg
Pkg.add(url="http://github.com/eohne/BayesianFactorZoo.jl")Quick Start
using BayesianFactorZoo
# Example with simulated data
t, k, N = 600, 3, 25 # time periods, factors, assets
f = randn(t, k) # factor returns
R = randn(t, N) # asset returns
# Perform Bayesian Fama-MacBeth regression
results_fm = BayesianFM(f, R, 10_000)
# Estimate SDF with normal prior
results_sdf = BayesianSDF(f, R; prior="Normal")
# Model selection with continuous spike-and-slab
results_ss = continuous_ss_sdf(f, R, 10_000)Features
- Bayesian Fama-MacBeth regression (
BayesianFM) - Bayesian SDF estimation (
BayesianSDF) - Model selection via spike-and-slab priors (
continuous_ss_sdf,continuous_ss_sdf_v2) - Hypothesis testing (
dirac_ss_sdf_pvalue) - GMM estimation (
SDF_gmm) - Classical two-pass regression (
TwoPassRegression)
Citation
If you use this package, please cite:
@article{bryzgalova2023bayesian,
title={Bayesian solutions for the factor zoo: We just ran two quadrillion models},
author={Bryzgalova, Svetlana and Huang, Jiantao and Julliard, Christian},
journal={The Journal of Finance},
volume={78},
number={1},
pages={487--557},
year={2023}
}