/**
 * ratios.ts — Performance and risk-adjusted return ratios.
 * All functions are pure and operate on return arrays.
 * Zero external dependencies beyond the engine's statistics module.
 */
/**
 * Sharpe Ratio — excess return per unit of total risk.
 * Sharpe = (annualized portfolio return - risk-free rate) / annualized std dev
 *
 * @param returns - Array of periodic (e.g. daily) portfolio returns
 * @param riskFreeRate - Annualized risk-free rate (e.g. 0.05 for 5%)
 * @param periodsPerYear - Number of return periods per year. Default 252 (daily).
 * @returns The annualized Sharpe ratio
 */
export declare function sharpeRatio(returns: number[], riskFreeRate?: number, periodsPerYear?: number): number;
/**
 * Sortino Ratio — excess return per unit of downside risk.
 * Uses downside deviation (std dev of negative returns only) instead of total std dev.
 * More appropriate when return distributions are asymmetric.
 *
 * @param returns - Array of periodic portfolio returns
 * @param riskFreeRate - Annualized risk-free rate. Default 0.05.
 * @param periodsPerYear - Periods per year. Default 252.
 * @param mar - Minimum acceptable return per period. Default 0 (zero threshold).
 * @returns The annualized Sortino ratio
 */
export declare function sortinoRatio(returns: number[], riskFreeRate?: number, periodsPerYear?: number, mar?: number): number;
/**
 * Treynor Ratio — excess return per unit of systematic (beta) risk.
 * Treynor = (annualized portfolio return - risk-free rate) / beta
 *
 * @param portfolioReturns - Array of periodic portfolio returns
 * @param benchmarkReturns - Array of periodic benchmark returns (same length)
 * @param riskFreeRate - Annualized risk-free rate. Default 0.05.
 * @param periodsPerYear - Periods per year. Default 252.
 * @returns The annualized Treynor ratio
 */
export declare function treynorRatio(portfolioReturns: number[], benchmarkReturns: number[], riskFreeRate?: number, periodsPerYear?: number): number;
/**
 * Calmar Ratio — annualized return divided by maximum drawdown.
 * Measures return per unit of drawdown risk. Higher is better.
 *
 * @param returns - Array of periodic portfolio returns
 * @param periodsPerYear - Periods per year. Default 252.
 * @returns The Calmar ratio. Returns 0 if max drawdown is 0.
 */
export declare function calmarRatio(returns: number[], periodsPerYear?: number): number;
/**
 * Information Ratio — active return per unit of tracking error.
 * Measures a portfolio manager's ability to generate excess returns relative
 * to a benchmark, adjusted for the consistency of those excess returns.
 *
 * @param portfolioReturns - Array of periodic portfolio returns
 * @param benchmarkReturns - Array of periodic benchmark returns (same length)
 * @param periodsPerYear - Periods per year. Default 252.
 * @returns The annualized Information ratio
 */
export declare function informationRatio(portfolioReturns: number[], benchmarkReturns: number[], periodsPerYear?: number): number;
/**
 * Tracking Error — annualized standard deviation of the difference between
 * portfolio returns and benchmark returns (active returns).
 *
 * @param portfolioReturns - Array of periodic portfolio returns
 * @param benchmarkReturns - Array of periodic benchmark returns (same length)
 * @param periodsPerYear - Periods per year. Default 252.
 * @returns The annualized tracking error
 */
export declare function trackingError(portfolioReturns: number[], benchmarkReturns: number[], periodsPerYear?: number): number;
//# sourceMappingURL=ratios.d.ts.map