@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
JavaScript
;
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),
});