/**
 * returns.ts — Return calculations and covariance matrix construction.
 * Pure functions operating on number arrays. Zero external dependencies.
 */
/**
 * Compute log (continuously compounded) returns from a price series.
 * logReturn[i] = ln(prices[i+1] / prices[i])
 *
 * @param prices - Array of prices in chronological order (oldest first).
 *                 Must have at least 2 elements.
 * @returns Array of log returns with length = prices.length - 1
 */
export declare function calculateLogReturns(prices: number[]): number[];
/**
 * Compute simple (arithmetic) returns from a price series.
 * simpleReturn[i] = (prices[i+1] - prices[i]) / prices[i]
 *
 * @param prices - Array of prices in chronological order (oldest first).
 *                 Must have at least 2 elements.
 * @returns Array of simple returns with length = prices.length - 1
 */
export declare function calculateSimpleReturns(prices: number[]): number[];
/**
 * Build a covariance matrix from multiple return series.
 * Returns a 2D array where matrix[i][j] = Cov(returns_i, returns_j).
 *
 * @param returnSeries - Array of return arrays. Each inner array is one asset's
 *                       return series. All must have the same length.
 * @returns A square covariance matrix (n x n) where n = returnSeries.length
 */
export declare function calculateCovarianceMatrix(returnSeries: number[][]): number[][];
/**
 * Calculate portfolio returns over time given asset weights and their return series.
 * portfolioReturn[t] = sum(weights[i] * returnSeries[i][t]) for all assets i.
 *
 * @param weights - Array of portfolio weights for each asset.
 *                  Should sum to 1.0 (not enforced, but expected).
 * @param returnSeries - Array of return arrays, one per asset.
 *                        All must have the same length.
 *                        weights.length must equal returnSeries.length.
 * @returns Array of portfolio returns with the same length as each return series
 */
export declare function calculatePortfolioReturns(weights: number[], returnSeries: number[][]): number[];
//# sourceMappingURL=returns.d.ts.map