quantitivecalc
Version:
A TypeScript library providing advanced quantitative finance functions for risk analysis, performance metrics, and technical indicators. (Currently in development)
20 lines • 1.4 kB
TypeScript
import { AssetReturn, PortfolioWeight, RiskContribution } from './types';
/**
* Calculates the risk contribution of each asset in a portfolio based on historical returns, asset weights, and a specified window size.
*
* The function computes asset volatilities, the correlation matrix, portfolio volatility, and then derives
* the marginal risk, component risk, and percentage contribution for each asset.
* If insufficient data is provided, returns zeroed results for each asset.
*
* @param returns - Array of asset return objects, each representing a time period.
* @param weights - Object mapping asset names to their portfolio weights.
* @param returnColumns - Array of asset names to include in the calculation.
* @param windowSize - Number of periods to use for calculations (default: 252).
* @returns An object mapping each asset name to its risk contribution metrics:
* - volatility: Standard deviation of asset returns.
* - marginalRisk: Marginal risk contribution of the asset to the portfolio.
* - componentRisk: Component risk contribution (weight × marginal risk).
* - contributionPercent: Percentage contribution to total portfolio risk.
*/
export declare function calculateRiskContribution(returns: AssetReturn[], weights: PortfolioWeight, returnColumns: string[], windowSize?: number): RiskContribution;
//# sourceMappingURL=calculateRiskContribution.d.ts.map