Skip to content
View ArturSepp's full-sized avatar

Block or report ArturSepp

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
ArturSepp/README.md

Artur Sepp

Quantitative Researcher | Risk Magazine Quant of the Year 2024

Quantitative researcher focused on systematic strategies, portfolio optimization, stochastic volatility modeling, and robust statistical methods. Currently Global Head of Quantitative Analytics at LGT Private Banking. Co-originator of the Robust Optimisation of Strategic and Active Asset Allocation (ROSAA) framework and the Karasinski-Sepp log-normal beta stochastic volatility model.

For publications, speaking, and full background → artursepp.com

Website LinkedIn Twitter Google Scholar SSRN


Python Packages

Over 20 years of building quantitative models — across equity, credit and rates derivatives on the sell-side, a systematic CTA, market-neutral crypto/DeFi, and now multi-asset private banking — one pattern holds: volatility regimes migrate across asset classes, and models that feel robust fail at the worst moment. These eight open-source packages are my working answer, spanning the full quant workflow from market data to signal generation, factor modeling, and portfolio construction.

Each package is developed alongside my published research — the papers ship with code you can run, and the code carries the exact methodology of the papers. 966 stars and 166 forks across the 8 repositories.

The packages compose into a single research workflow — market data → analytics and reporting → factor models → portfolio construction — with standalone research libraries alongside:

flowchart LR
    bbg["bbg-fetch<br/>Bloomberg data"] --> qis["qis<br/>analytics & reporting"]
    fl["factorlasso<br/>factor models & covariances"] --> op["optimalportfolios<br/>portfolio construction & backtesting"]
    qis --> op
    qis --> tf["trendfollowing<br/>trend-following systems"]
Loading

Standalone research libraries: stochvolmodels, vanilla-option-pricers, goal-based-allocation.

Portfolio Construction & Factor Analytics

factorlasso estimates the sparse factor model and the factor covariance; optimalportfolios consumes them — together with the qis analytics engine — for portfolio construction and backtesting.

OptimalPortfolios (optimalportfolios)

Implementation of optimization analytics for constructing and backtesting optimal portfolios in Python. Companion code to Sepp (2023) and Sepp, Ossa & Kastenholz (2026).

pip install optimalportfolios

Features:

  • Risk budgeting, alpha-focused and benchmark-constrained optimisers
  • Backtesting frameworks for roll-forward analysis with handling of incomplete and missing data
  • Performance attribution

factorlasso (factorlasso)

Sparse factor model estimation with sign-constrained LASSO, prior-centered regularisation, hierarchical clustering group LASSO (HCGL) and factor-clustering group LASSO (FCGL), with integrated factor covariance assembly. Companion code to Sepp, Ossa & Kastenholz (2026) and Sepp, Hansen & Kastenholz (2026).

pip install factorlasso

Features:

  • Sign-constrained LASSO and Group LASSO via CVXPY, with prior-centered regularisation (shrink toward β₀, not zero)
  • Hierarchical Clustering Group LASSO (HCGL) and Factor-Clustering Group LASSO (FCGL) with auto-discovered groups
  • NaN-aware estimation for variables with different history lengths
  • Consistent factor covariance assembly (Σ_y = β Σ_x β' + D), scikit-learn compatible API (fit / predict / score)

Analytics & Data

Quantitative Investment Strategies (QIS) package implements Python analytics for visualisation of financial data, performance reporting, analysis of quantitative strategies. qis is the analytics and reporting engine behind optimalportfolios and trendfollowing.

pip install qis

Features:

  • Backtesting engine for externally computed weights with provided instrument price, carry and cost data
  • Performance reporting and factsheets: risk-adjusted tables, benchmark regressions and attribution, for multi-asset, strategy, strategy vs benchmark and multi-strategy
  • Visualisation layer for financial time series built on matplotlib/seaborn

BloombergFetch (bbg-fetch)

Python functionality for getting different data from Bloomberg: prices, implied vols, fundamentals.

pip install bbg-fetch

Features:

  • Prices, implied vols, option chains and fundamentals
  • Direct blpapi integration

Systematic Strategies & Goal-Based Allocation

TrendFollowingSystems (trendfollowing)

Replication package for The Science and Practice of Trend-Following Systems. Companion code to Sepp & Lucic (2026).

pip install trendfollowing

Features:

  • Closed-form expected return, Sharpe ratio, skewness, and turnover of trend-following systems under white noise, AR(1), and ARFIMA processes, verified by Monte Carlo
  • Three complete system implementations: European, American, and Time Series Momentum (TSMOM)
  • 84-contract futures dataset spanning 1959–2026

GoalBasedAllocation (goal-based-allocation)

Analytical Laplace-transform framework for dynamic mean-variance portfolio allocation under regime-switching jump-diffusions with absorbing wealth floors. Companion code to Sepp (2026).

pip install goal-based-allocation

Features:

  • Riccati ODE system for MV-optimal policy with regime-dependent coefficients
  • Terminal wealth density decomposition (survived + floor atom + overshoot), with exact buy-and-hold moments via matrix exponential
  • Investment opportunity set construction with endogenous de-risking glide paths, validated against a Monte Carlo simulator

Derivatives & Volatility

StochVolModels (stochvolmodels)

Python implementation of pricing analytics and Monte Carlo simulations for stochastic volatility models including the Karasinski-Sepp log-normal beta SV model and the Heston model. Companion code to Sepp & Rakhmonov (2023) and Sepp & Rakhmonov (2025).

pip install stochvolmodels

Features:

  • Karasinski-Sepp log-normal beta SV model, with the Heston model as benchmark
  • Factor Heath-Jarrow-Morton framework for rates with log-normal stochastic volatility
  • Analytical valuation of European call and put options, and Monte Carlo simulations

VanillaOptionPricers (vanilla-option-pricers)

Python implementation of vectorised pricers and implied volatility fitters for vanilla options under Black-Scholes-Merton and Bachelier models.

pip install vanilla-option-pricers

Features:

  • Black-Scholes-Merton log-normal and Bachelier normal option pricing
  • Vectorised implied volatility fitters
  • Numba-accelerated implementation

Download Statistics

Package Version Stars Forks Total Downloads Monthly
OptimalPortfolios
factorlasso
QuantInvestStrats
BloombergFetch
TrendFollowingSystems
GoalBasedAllocation
StochVolModels
VanillaOptionPricers

Pinned Loading

  1. StochVolModels StochVolModels Public

    Python implementation of pricing analytics and Monte Carlo simulations for stochastic volatility models including log-normal SV model, Heston

    Python 227 46

  2. QuantInvestStrats QuantInvestStrats Public

    Quantitative Investment Strategies (QIS) package implements Python analytics for visualisation of financial data, performance reporting, analysis of quantitative strategies.

    Python 592 65

  3. OptimalPortfolios OptimalPortfolios Public

    Implementation of optimisation analytics for constructing and backtesting optimal portfolios in Python

    Python 82 33

  4. factorlasso factorlasso Public

    Sparse factor models with sign-constrained, grouped and cooperative LASSO penalties (HCGL, FCGL, SGL) via CVXPY - scikit-learn compatible

    Python 21 2