Changelog¶
0.1.0 (2026-09)¶
Initial release — Python port of the Oxford MFE Toolbox.
mfe.realized¶
realized_variance,realized_bipower_variation(skip-k),realized_med_variance,realized_min_variance,realized_preaveraged_variance,realized_semivariance,realized_quantile_variancerealized_kernel(Parzen/Bartlett/Tukey-Hanning/Cubic/Epanechnikov/FlatTop, auto-bandwidth)tsrv,msrv— Two-Scale and Multi-Scale Realized Variancerealized_covariance,realized_correlation,realized_hayashi_yoshida,realized_covariance_refresh_timerealized_multivariate_kernel— PSD-guaranteed (K,K) multivariate realized kernelrealized_range,realized_range_from_ticksbns_jump_test,estimate_noise_variance,realized_quarticity,realized_tripower_quarticityprice_filter,returns_from_prices,refresh_time- Cython extensions:
_autocovariance_sum,_bpv_sum,_medvar_triplets,_hy_sweep,_refresh_time_indices
mfe.multivariate¶
DCC(Engle 2002) with cDCC and DECO variantsCCC(Bollerslev 1990)BEKKscalar and diagonal (Engle & Kroner 1995)OGARCH(Alexander 2001)GOGARCHICA and moments rotation (van der Weide 2002)RCCsymmetric and Cholesky rotation (Noureldin, Shephard & Sheppard 2014)- Cython extensions:
_dcc_q_recursion,_dcc_corr_loglik,_bekk_scalar_recursion,_bekk_diagonal_recursion
mfe.univariate¶
har_rv— standard, MODIFIED spec, matrix intervalshar_rv_j— jump-augmented HARhar_forecast— multi-step forecastingHEAVY— joint model of returns + realized variance (Shephard & Sheppard 2010)
mfe.timeseries¶
vectorar— VAR(P) with 4 VCV options (homo/het × corr/uncorr)grangercause— Granger causality LR/LM/Wald with robust VCVimpulse_response— IRF with delta-method standard errorsbeveridge_nelson— AR and state-space methods, auto order selection
mfe.bootstrap¶
wild_bootstrap_rv,wild_bootstrap_test— Rademacher/Mammen/Normal multipliersspa_test— Hansen (2005) SPA: consistent, upper (Reality Check), lower p-valuesstep_m— Romano & Wolf (2005) stepdown FWER control
mfe.crosssection¶
ols,olsnw— OLS with White / Newey-West SEsfama_macbeth— Fama-MacBeth with Shanken correctionrolling_betas,pca
mfe.tests_stat¶
ljung_box— Ljung-Box Q statisticlm_test— HAC-robust LM serial correlation test (MFE lmtest1.m)arch_lm— Engle (1982) ARCH-LM test (LM form + F form)mincer_zarnowitz— MZ regression forecast evaluationdiebold_mariano— DM test (MSE/MAE/QLIKE loss)
mfe.distributions¶
skewt_logpdf,skewt_ppf,skewt_score— Hansen (1994) Skew-t with analytic gradientged_logpdf,ged_ppf,ged_score— Generalized Error Distributionmvnorm_loglik,mvnorm_loglik_t,mahalanobis,standardize_mvn
mfe.utils¶
lag_matrix,har_lag_matrixsandwich,newey_west- Type aliases:
FloatArray,IntArray, etc.
Bugs fixed vs. MATLAB source¶
gogarch.m: memory leak via closure overvolDatainsidefminconloop → eliminated- All univariate estimators:
MFEToolbox:Convergencesilently used bad params →ConvergenceWarning realized_kernel.m: parameter validation mixed into hot path → separatedrealized_bipower_variation.m: inconsistentskipdefault → standardised to 0dcc.m:Q_barrecomputed inside likelihood → pre-computed- No sandwich VCV in MATLAB multivariate → standard in all
mfeestimators realized_hayashi_yoshida.mTODO for K>2 → implemented for general K- HY Cython:
sort_key = time * 4 + typeloses bits for large timestamps →np.lexsort