portfolio module
- btQuant.portfolio.blackLitterman(covMatrix, pi, P, Q, tau=0.05)[source]
Black-Litterman model for portfolio optimization.
- Parameters:
covMatrix – covariance matrix of returns
pi – equilibrium (market-implied) returns
P – views matrix (rows=views, cols=assets)
Q – view returns vector
tau – prior uncertainty (default 0.05)
- Returns:
adjusted expected returns
- btQuant.portfolio.efficientFrontier(expectedReturns, covMatrix, nPoints=50)[source]
Compute efficient frontier.
- Parameters:
expectedReturns – expected returns
covMatrix – covariance matrix
nPoints – number of points on frontier
- Returns:
list of dicts with returns, volatility, weights
- btQuant.portfolio.equalWeight(nAssets)[source]
Equal weight portfolio.
- Parameters:
nAssets – number of assets
- Returns:
equal weight portfolio weights
- btQuant.portfolio.hierarchicalRiskParity(covMatrix, returns)[source]
Hierarchical risk parity portfolio allocation.
- Parameters:
covMatrix – covariance matrix
returns – historical returns (for correlation)
- Returns:
HRP portfolio weights
- btQuant.portfolio.maxDiversification(covMatrix)[source]
Maximum diversification portfolio.
- Parameters:
covMatrix – covariance matrix
- Returns:
maximum diversification portfolio weights
- btQuant.portfolio.maxReturn(expectedReturns)[source]
Maximum return portfolio (100% in highest expected return asset).
- Parameters:
expectedReturns – expected returns
- Returns:
maximum return portfolio weights
- btQuant.portfolio.maxSharpe(expectedReturns, covMatrix, riskFreeRate=0)[source]
Maximum Sharpe ratio portfolio (alias for tangency).
- Parameters:
expectedReturns – expected returns
covMatrix – covariance matrix
riskFreeRate – risk-free rate
- Returns:
maximum Sharpe portfolio weights
- btQuant.portfolio.meanVariance(expectedReturns, covMatrix, riskAversion=0.5)[source]
Mean-variance optimization.
- Parameters:
expectedReturns – expected returns for each asset
covMatrix – covariance matrix
riskAversion – risk aversion parameter (higher = more risk averse)
- Returns:
optimal portfolio weights
- btQuant.portfolio.minCvar(expectedReturns, returns, alpha=0.95)[source]
Minimum CVaR (Conditional Value at Risk) portfolio.
- Parameters:
expectedReturns – expected returns
returns – historical returns matrix (nSamples x nAssets)
alpha – confidence level
- Returns:
minimum CVaR portfolio weights
- btQuant.portfolio.minVariance(covMatrix)[source]
Minimum variance portfolio.
- Parameters:
covMatrix – covariance matrix
- Returns:
minimum variance portfolio weights