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, and stochastic volatility modeling. 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. This ecosystem is my working answer: open-source, production-grade implementations of frameworks designed to survive regime change, 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. They are used by practitioners and researchers in quantitative finance.

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:

  • Portfolio optimization algorithms
  • Risk budgeting implementation
  • Backtesting frameworks
  • Performance attribution

factorlasso (factorlasso)

Sparse factor model estimation with sign-constrained LASSO, prior-centered regularisation, and hierarchical group LASSO (HCGL) 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
  • Prior-centered regularisation (shrink toward β₀, not zero)
  • Hierarchical Clustering Group LASSO (HCGL) 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:

  • Performance reporting: risk-adjusted performance tables with returns, volatilities, Sharpe ratios, and benchmark regressions
  • Factsheet generation: multi-asset, strategy, strategy vs benchmark, and multi-strategy factsheets
  • Visualisation layer for financial time series built on matplotlib/seaborn
  • Portfolio analytics and performance attribution

BloombergFetch (bbg-fetch)

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

pip install bbg-fetch

Features:

  • Bloomberg data fetching wrapper
  • Price data retrieval
  • Implied volatility data
  • Fundamental data access
  • Direct blpapi integration (no xbbg dependency)

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
  • Three complete system implementations: European, American, and Time Series Momentum (TSMOM)
  • Monte Carlo verification of analytical results
  • 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)
  • Exact buy-and-hold moments via matrix exponential
  • Investment opportunity set construction with endogenous de-risking glide paths
  • Monte Carlo simulator for validation

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).

pip install stochvolmodels

Features:

  • Karasinski-Sepp log-normal beta SV model
  • Heston model
  • Monte Carlo simulations
  • Analytical valuation of European call and put options

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 option pricing
  • Bachelier normal option pricing
  • Vectorised implied volatility fitters
  • Numba-accelerated implementation

Download Statistics

Package 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 225 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 586 64

  3. OptimalPortfolios OptimalPortfolios Public

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

    Python 78 31

  4. factorlasso factorlasso Public

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

    Python 18 2