UNPKG

@railpath/finance-toolkit

Version:

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

25 lines (24 loc) 785 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ReturnCalculationOptionsSchema = void 0; const zod_1 = require("zod"); exports.ReturnCalculationOptionsSchema = zod_1.z.object({ /** * Array of asset prices */ prices: zod_1.z.array(zod_1.z.number().positive()).min(2), /** * Return calculation method * - 'simple': (P_t - P_{t-1}) / P_{t-1} * - 'log': ln(P_t / P_{t-1}) */ method: zod_1.z.enum(['simple', 'log']).default('simple'), /** * Annualization factor (e.g., 252 for daily, 12 for monthly, 1 for annual) */ annualizationFactor: zod_1.z.number().positive().default(252), /** * Whether to annualize the returns */ annualize: zod_1.z.boolean().default(false), });