UNPKG

@railpath/finance-toolkit

Version:

Production-ready finance library for portfolio construction, risk analytics, quantitative metrics, and ML-based regime detection

51 lines (50 loc) 1.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ReturnCalculationResultSchema = void 0; const zod_1 = require("zod"); exports.ReturnCalculationResultSchema = zod_1.z.object({ /** * Array of calculated returns */ returns: zod_1.z.array(zod_1.z.number()), /** * Return calculation method used */ method: zod_1.z.enum(['simple', 'log']), /** * Number of returns calculated */ periods: zod_1.z.number(), /** * Annualization factor used */ annualizationFactor: zod_1.z.number(), /** * Whether returns are annualized */ annualized: zod_1.z.boolean(), /** * Mean return (period) */ meanReturn: zod_1.z.number(), /** * Mean return (annualized, if applicable) */ meanReturnAnnualized: zod_1.z.number().optional(), /** * Standard deviation of returns (period) */ standardDeviation: zod_1.z.number(), /** * Standard deviation of returns (annualized, if applicable) */ standardDeviationAnnualized: zod_1.z.number().optional(), /** * Total cumulative return (simple method only) */ totalReturn: zod_1.z.number().optional(), /** * Total cumulative return (log method only) */ totalLogReturn: zod_1.z.number().optional(), });