import { PositionLogData } from '@tradejs/types'; declare const diffRel: (a: number, b: number) => number; declare const round: (value: number, precision?: number) => number; /** Сумма чисел массива. */ declare const sum: (xs: number[]) => number; /** Арифметическое среднее. Для пустого массива возвращает 0. */ declare const mean: (xs: number[]) => number; /** * Абсолютные ретёрны на сделку в тех же единицах, что и amount (например, $). * r_i^abs = close.amount - open.amount */ declare const absReturns: (data: PositionLogData) => number[]; /** * Относительные ретёрны на сделку (доли). * r_i^rel = (close - open) / open * Пример: +0.02 = +2% */ declare const relReturns: (data: PositionLogData) => number[]; /** * Уплощённая временная линия equity: берём точки (open, close) каждой позиции * и сортируем по времени. Это «суррогат» equity-кривой. * ВАЖНО: если между позициями ничего не меняется, текущий подход «переносит» * последний известный amount вплоть до следующей точки. */ declare const equityPoints: (data: PositionLogData) => { ts: number; amount: number; }[]; declare const formatNumber: (n?: number | null, digits?: number) => string | null; declare const asPositiveInt: (value: unknown, fallback: number) => number; declare const asPositiveNumber: (value: unknown, fallback: number) => number; export { absReturns, asPositiveInt, asPositiveNumber, diffRel, equityPoints, formatNumber, mean, relReturns, round, sum };