fit module
- btQuant.fit.aic(logLikelihood, nParams)[source]
Akaike Information Criterion.
- Parameters:
logLikelihood – log-likelihood value
nParams – number of parameters
- Returns:
AIC value
- btQuant.fit.bic(logLikelihood, nParams, nObs)[source]
Bayesian Information Criterion.
- Parameters:
logLikelihood – log-likelihood value
nParams – number of parameters
nObs – number of observations
- Returns:
BIC value
- btQuant.fit.fitAr1(series)[source]
Fit AR(1) model.
- Parameters:
series – time series array
- Returns:
dict with phi (AR coefficient), intercept, sigma2 (error variance)
- btQuant.fit.fitArma(series, p=1, q=1, maxIter=100)[source]
Fit ARMA(p,q) model using approximate method.
- Parameters:
series – time series
p – AR order
q – MA order
maxIter – maximum iterations
- Returns:
dict with arCoefs, maCoefs, sigma2
- btQuant.fit.fitCir(rates, dt=0.003968253968253968)[source]
Fit Cox-Ingersoll-Ross model to interest rate data.
- Parameters:
rates – interest rate series
dt – time step
- Returns:
dict with kappa, theta, sigma
- btQuant.fit.fitCopula(data1, data2, copulaType='gaussian')[source]
Fit copula to bivariate data.
- Parameters:
data1 – first variable
data2 – second variable
copulaType – ‘gaussian’ (only type supported)
- Returns:
dict with rho (correlation parameter)
- btQuant.fit.fitDistributions(data, distributions=None)[source]
Fit multiple distributions and rank by AIC.
- Parameters:
data – array of observations
distributions – list of distribution names (None = all common)
- Returns:
list of (distName, params, aic) sorted by AIC
- btQuant.fit.fitGarch(series, p=1, q=1, maxIter=50)[source]
Fit GARCH(p,q) model.
- Parameters:
series – returns series
p – ARCH order
q – GARCH order
maxIter – maximum iterations
- Returns:
dict with omega, alphas, betas, aic, bic
- btQuant.fit.fitGbm(prices, dt=0.003968253968253968)[source]
Fit Geometric Brownian Motion to price data.
- Parameters:
prices – array of prices
dt – time step (default 1/252 for daily)
- Returns:
dict with mu (drift), sigma (volatility)
- btQuant.fit.fitHeston(prices, dt=0.003968253968253968)[source]
Fit Heston stochastic volatility model.
- Parameters:
prices – price series
dt – time step
- Returns:
dict with mu, kappa, theta, sigmaV, rho, v0
- btQuant.fit.fitJumpDiffusion(prices, dt=0.003968253968253968, threshold=3.0)[source]
Fit jump-diffusion model by separating jumps from diffusion.
- Parameters:
prices – price series
dt – time step
threshold – jump detection threshold (std devs)
- Returns:
dict with mu, sigma, jumpLambda, jumpMu, jumpSigma
- btQuant.fit.fitLevyOu(spread, jumpDetectionThreshold=0.4, dt=0.003968253968253968)[source]
Fit Lévy OU (jump-diffusion OU) model to spread data.
- Parameters:
spread – array of spread/price data
jumpDetectionThreshold – Bayesian jump detection threshold
dt – time step
- Returns:
dict with theta, mu, sigma, halfLife, jumpLambda, jumpMu, jumpSigma