/** * Compute the (annualized) Sharpe ratio for a returns series. * Uses NaN-aware mean and sample standard deviation (ddof=1). * Returns NaN for empty input, zero or NaN volatility, or invalid mean. * @param returns Array-like returns series * @param riskFree Annualized risk-free rate (default 0) * @param freq Periods per year (default 252) * @returns Sharpe ratio (annualized) or NaN */ export declare function sharpe(returns: ArrayLike, riskFree?: number, freq?: number): number; /** * Compute the (annualized) Sortino ratio for a returns series. * Uses downside deviation (sample corrected) computed over negative excess returns. * Requires at least two downside observations; returns NaN otherwise. * @param returns Array-like returns series * @param requiredReturn Target return to define downside (default 0) * @param freq Periods per year (default 252) * @param minPeriod Minimum valid periods (unused for scalar Sortino) * @returns Sortino ratio (annualized) or NaN */ export declare function sortino(returns: ArrayLike, requiredReturn?: number, freq?: number, minPeriod?: number): number; /** * Rolling Sharpe ratio computed over a trailing window. * Output is a Float64Array aligned with `returns`; positions before enough data are NaN. * @param returns Array-like returns series * @param window Rolling window length * @param riskFree Annualized risk-free rate (default 0) * @param freq Periods per year (default 252) * @param minPeriod Minimum number of valid samples required per window (default 1) * @returns Float64Array of rolling Sharpe ratios */ export declare function rollsharpe(returns: ArrayLike, window: number, riskFree?: number, freq?: number, minPeriod?: number): Float64Array; /** * Rolling Sortino ratio computed over a trailing window using downside deviations. * Outputs NaN where insufficient downside or invalid data exists. * @param returns Array-like returns series * @param window Rolling window length * @param requiredReturn Target return to define downside (default 0) * @param freq Periods per year (default 252) * @param minPeriod Minimum number of valid samples required per window (default 1) * @returns Float64Array of rolling Sortino ratios */ export declare function rollsortino(returns: ArrayLike, window: number, requiredReturn?: number, freq?: number, minPeriod?: number): Float64Array; /** * Annualized volatility (sample standard deviation) of returns. * Uses NaN-aware `stats.stdev` with ddof=1. Returns NaN for empty input or zero/NaN sigma. * @param returns Array-like returns series * @param freq Periods per year (default 252) * @returns Annualized volatility or NaN */ export declare function vol(returns: ArrayLike, freq?: number): number; /** * Rolling annualized volatility (sample stddev) over a trailing window. * Outputs NaN for windows with insufficient valid samples or zero/NaN sigma. * @param returns Array-like returns series * @param window Rolling window length * @param freq Periods per year (default 252) * @param minPeriod Minimum number of valid samples required per window (default 1) * @returns Float64Array of rolling volatilities */ export declare function rollvol(returns: ArrayLike, window: number, freq?: number, minPeriod?: number): Float64Array;