/** * 组合归因(纯函数、零依赖)。 * * 核心问题:组合收益来自哪里? * - 资产贡献:每个资产对组合收益的贡献(权重 × 收益) * - 因子暴露贡献:组合在已知因子上的暴露带来的收益(回归) * - 残差:无法解释的部分(选股 alpha) */ /** 组合归因结果。 */ export interface AttributionResult { /** 组合总收益 % */ totalReturnPct: number; /** 各资产贡献(权重 × 收益),与输入资产顺序一致 */ assetContributionsPct: number[]; /** 资产贡献占比(归一化到 100%) */ assetContribShares: number[]; /** 因子暴露贡献(回归系数 × 组合暴露)% */ factorContributionsPct: number[]; /** 残差(alpha)% */ residualPct: number; /** 归因 R²(因子解释的比例) */ factorR2: number; notes: string[]; } /** * 组合归因。 * * 输入: * - returns:每期每资产收益矩阵 [time][asset] * - weights:资产权重(和为 1) * - factorExposures:可选,每期每资产的因子暴露 [time][asset][factor] * * 输出:资产贡献 + 因子暴露贡献(若提供 factorExposures)+ 残差 alpha。 */ export declare function attribution(returns: readonly number[][], weights: readonly number[], factorExposures?: readonly number[][][]): AttributionResult;