Skip to main content

Crate frenchrs

Crate frenchrs 

Source
Expand description

§Frenchrs - Rust Library for Asset Pricing

Frenchrs is a high-performance library for asset pricing and financial analysis, built in Rust and leveraging the robust econametric infrastructure of Greeners.

§Implemented Models

  • CAPM (Capital Asset Pricing Model): Asset pricing model based on systematic risk
  • Fama-French 3 Factor: CAPM + size (SMB) and value (HML) factors
  • Carhart 4 Factor: Fama-French 3 Factor + momentum factor (MOM)
  • Fama-French 5 Factor: FF3 + profitability (RMW) and investment (CMA) factors
  • Fama-French 6 Factor: FF5 + momentum factor (UMD)
  • APT (Arbitrage Pricing Theory): Generic multi-factor model with N factors

§Roadmap

  • Value-at-Risk (VaR)
  • Conditional VaR (CVaR)
  • Portfolio Optimization
  • Black-Litterman Model

§Basic Example

use frenchrs::CAPM;
use greeners::CovarianceType;
use ndarray::array;

// Daily returns
let asset_returns = array![0.01, 0.02, -0.01, 0.03];
let market_returns = array![0.008, 0.015, -0.005, 0.025];
let risk_free_rate = 0.0001; // daily rate (~2.5% per year)

// Estimate CAPM with robust standard errors (HC3)
let result = CAPM::fit(
    &asset_returns,
    &market_returns,
    risk_free_rate,
    CovarianceType::HC3,
).unwrap();

println!("{}", result);
println!("Beta: {:.4}", result.beta);
println!("Alpha: {:.4}", result.alpha);

Re-exports§

pub use apt::APTResult;
pub use apt::APT;
pub use capm::CAPMResult;
pub use capm::CAPM;
pub use carhart::Carhart4Factor;
pub use carhart::Carhart4FactorResult;
pub use fama_french_3f::FamaFrench3Factor;
pub use fama_french_3f::FamaFrench3FactorResult;
pub use fama_french_5f::FamaFrench5Factor;
pub use fama_french_5f::FamaFrench5FactorResult;
pub use fama_french_6f::FamaFrench6Factor;
pub use fama_french_6f::FamaFrench6FactorResult;
pub use fama_macbeth::FamaMacBeth;
pub use fama_macbeth::FamaMacBethResult;
pub use grs_test::GRSTest;
pub use hj_distance::HJDistance;
pub use ivol_tracking_multi::IVOLTrackingAsset;
pub use ivol_tracking_multi::IVOLTrackingMulti;
pub use ivol_tracking_multi::IVOLTrackingRow;
pub use oos_performance::OOSPerformance;
pub use oos_performance::OOSPerformanceAsset;
pub use oos_performance::OOSPerformanceRow;
pub use oos_performance::OOSSummaryStats;
pub use residual_correlation::ResidualCorrSummary;
pub use residual_correlation::ResidualCorrelation;
pub use residual_diagnostics::AssetDiagnostics;
pub use residual_diagnostics::ResidualDiagnostics;
pub use risk_metrics::IVOLAnalysis;
pub use risk_metrics::TrackingErrorAnalysis;
pub use rolling_betas_multi::BetaStability;
pub use rolling_betas_multi::RollingBetasAsset;
pub use rolling_betas_multi::RollingBetasMulti;
pub use rolling_betas_multi::RollingBetasRow;

Modules§

apt
capm
carhart
fama_french_3f
fama_french_5f
fama_french_6f
fama_macbeth
grs_test
GRS Test (Gibbons, Ross & Shanken, 1989)
hj_distance
Hansen-Jagannathan Distance
ivol_tracking_multi
oos_performance
residual_correlation
Residual Correlation Analysis
residual_diagnostics
Residual Diagnostics
risk_metrics
rolling_betas_multi

Structs§

DataFrame
A simple DataFrame-like structure for storing column-oriented data.
Formula
Represents a parsed formula in the form “y ~ x1 + x2 + … + xn”
OLS

Enums§

CovarianceType
GreenersError
Custom error types for the Greeners library.
InferenceType
Inference distribution type for hypothesis testing and confidence intervals