UNPKG

quantitivecalc

Version:

A TypeScript library providing advanced quantitative finance functions for risk analysis, performance metrics, and technical indicators. (Currently in development)

46 lines (45 loc) 1.96 kB
/** * Portfolio Analysis Utilities * * Functions: * - calculateCorrelationMatrix: Calculates asset correlation analysis between multiple assets * - calculatePortfolioReturns: Calculates weighted returns for multiple assets in a portfolio * - calculateRebalancing: Calculates portfolio weight adjustments over time * - calculateRiskContribution: Calculates each asset's contribution to total portfolio risk * * The functions work with portfolio data containing multiple assets and their weights/returns. */ export interface AssetReturn { date: string; [assetName: string]: number | string; } export interface PortfolioWeight { [assetName: string]: number; } export interface CorrelationMatrix { [asset1: string]: { [asset2: string]: number; }; } export interface RebalancingResult { date: string; currentWeights: PortfolioWeight; targetWeights: PortfolioWeight; driftFromTarget: PortfolioWeight; rebalanceRequired: boolean; trades: { [assetName: string]: number; }; } export interface RiskContribution { [assetName: string]: { volatility: number; marginalRisk: number; componentRisk: number; contributionPercent: number; }; } export declare function calculateCorrelationMatrix(data: AssetReturn[], assetColumns: string[], windowSize?: number): CorrelationMatrix[]; export declare function calculatePortfolioReturns(data: AssetReturn[], weights: PortfolioWeight, returnColumns: string[], portfolioReturnColumn?: string): Array<Record<string, any>>; export declare function calculateRebalancing(data: Array<Record<string, any>>, priceColumns: string[], targetWeights: PortfolioWeight, rebalanceThreshold?: number, portfolioValue?: number, dateColumn?: string): RebalancingResult[]; export declare function calculateRiskContribution(returns: AssetReturn[], weights: PortfolioWeight, returnColumns: string[], windowSize?: number): RiskContribution;