UNPKG

@railpath/finance-toolkit

Version:

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

32 lines (31 loc) 1.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PortfolioMetricsOptionsSchema = void 0; const zod_1 = require("zod"); exports.PortfolioMetricsOptionsSchema = zod_1.z.object({ /** * Portfolio values over time (e.g., [100000, 105000, 108000, 102000]) */ portfolioValues: zod_1.z.array(zod_1.z.number().positive()).min(2), /** * Optional: Dates corresponding to each portfolio value */ dates: zod_1.z.array(zod_1.z.date()).optional(), /** * Optional: Cash flows (contributions/withdrawals) at each period * Positive for contributions, negative for withdrawals */ cashFlows: zod_1.z.array(zod_1.z.number()).optional(), /** * Risk-free rate for risk-adjusted metrics */ riskFreeRate: zod_1.z.number().default(0.02), /** * Annualization factor (e.g., 252 for daily, 12 for monthly, 1 for annual) */ annualizationFactor: zod_1.z.number().positive().default(252), /** * Confidence level for Value at Risk calculations (e.g., 0.05 for 5%) */ confidenceLevel: zod_1.z.number().min(0).max(1).default(0.05), });