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