import { PortfolioRebalancingOptions } from '../schemas/PortfolioRebalancingOptionsSchema'; import { PortfolioRebalancingResult } from '../schemas/PortfolioRebalancingResultSchema'; /** * Calculate Portfolio Rebalancing * * Portfolio rebalancing is the process of bringing portfolio weights back to their * target allocations. This can be done through proportional scaling or fixed rebalancing. * * Methods: * - Proportional: Scale all weights proportionally while maintaining relative ratios * - Fixed: Rebalance to exact target weights * * @param options - Current weights, target weights, portfolio value, and rebalancing parameters * @returns Rebalancing result with trade amounts and costs * * @example * ```typescript * // Fixed rebalancing to target weights * const rebalancing = calculatePortfolioRebalancing({ * currentWeights: [0.6, 0.4], * targetWeights: [0.5, 0.5], * portfolioValue: 100000, * method: 'fixed' * }); * * // Proportional rebalancing with transaction costs * const proportionalRebalancing = calculatePortfolioRebalancing({ * currentWeights: [0.55, 0.45], * targetWeights: [0.5, 0.5], * portfolioValue: 100000, * method: 'proportional', * transactionCosts: 0.001, // 0.1% * includeTransactionCosts: true * }); * ``` */ export declare function calculatePortfolioRebalancing(options: PortfolioRebalancingOptions): PortfolioRebalancingResult;