@railpath/finance-toolkit
Version:
Production-ready finance library for portfolio construction, risk analytics, quantitative metrics, and ML-based regime detection
23 lines (22 loc) • 840 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SemideviationOptionsSchema = void 0;
const zod_1 = require("zod");
exports.SemideviationOptionsSchema = zod_1.z.object({
/**
* Array of returns to calculate semideviation for
*/
returns: zod_1.z.array(zod_1.z.number()).min(2, 'At least 2 returns are required'),
/**
* Threshold for downside returns (default: 0 for zero threshold)
*/
threshold: zod_1.z.number().optional().default(0),
/**
* Annualization factor for converting to annualized values (default: 252 for daily data)
*/
annualizationFactor: zod_1.z.number().positive().optional().default(252),
/**
* Whether to return annualized semideviation (default: true)
*/
annualized: zod_1.z.boolean().optional().default(true),
});