UNPKG

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