UNPKG

@railpath/finance-toolkit

Version:

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

35 lines (34 loc) 1.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MACDOptionsSchema = void 0; const zod_1 = require("zod"); /** * Schema for MACD (Moving Average Convergence Divergence) calculation options */ exports.MACDOptionsSchema = zod_1.z.object({ /** * Array of price values (typically closing prices) */ prices: zod_1.z.array(zod_1.z.number()).min(1, 'Prices array must contain at least one value'), /** * Fast EMA period (typically 12) */ fastPeriod: zod_1.z.number() .int('Fast period must be an integer') .positive('Fast period must be positive') .default(12), /** * Slow EMA period (typically 26) */ slowPeriod: zod_1.z.number() .int('Slow period must be an integer') .positive('Slow period must be positive') .default(26), /** * Signal line EMA period (typically 9) */ signalPeriod: zod_1.z.number() .int('Signal period must be an integer') .positive('Signal period must be positive') .default(9) });