Pymc Markets

Bayesian inference for financial markets using PyMC. Stochastic volatility models, regime-switching, Bayesian portfolio optimization, factor models, and Markov chain Monte Carlo for risk estimation.

mkurman 9a5eb61 1.2 KB Updated

File contents

Overview

PyMC provides Bayesian inference for financial modeling: stochastic volatility, regime-switching, Bayesian portfolio optimization, factor models, and MCMC risk estimation using the NUTS sampler. ArviZ provides diagnostics and visualization.

Installation

uv pip install pymc arviz

Stochastic Volatility Model

import pymc as pm
import numpy as np
import arviz as az

# Simulated daily returns
returns = np.random.randn(500) * 0.02

with pm.Model() as sv_model:
    sigma = pm.InverseGamma("sigma", alpha=2, beta=1)
    log_vol = pm.GaussianRandomWalk("log_vol", sigma=sigma, shape=len(returns))
    obs = pm.Normal("returns", mu=0, sigma=pm.math.exp(log_vol / 2), observed=returns)
    trace = pm.sample(1000, tune=1000, chains=4)

print(az.summary(trace, var_names=["sigma"]))
az.plot_trace(trace)

References

mkurman/zorai/tree/main/skills/scientific-skills/pymc-markets commit 9a5eb6143d

Frequently asked questions

npx skillmds@latest add mkurman/pymc-markets