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.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PortfolioOptimizationOptionsSchema = void 0; const zod_1 = require("zod"); exports.PortfolioOptimizationOptionsSchema = zod_1.z.object({ /** * Array of expected returns for each asset */ expectedReturns: zod_1.z.array(zod_1.z.number()).min(2), /** * Covariance matrix (n x n) for the assets */ covarianceMatrix: zod_1.z.array(zod_1.z.array(zod_1.z.number())).min(1), /** * Risk-free rate (optional, required for Sharpe ratio optimization) */ riskFreeRate: zod_1.z.number().optional(), /** * Target return (optional, required for target return optimization) */ targetReturn: zod_1.z.number().optional(), /** * Minimum weight per asset (optional, defaults to 0) */ minWeight: zod_1.z.number().min(0).default(0), /** * Maximum weight per asset (optional, defaults to 1) */ maxWeight: zod_1.z.number().max(1).default(1), /** * Whether weights should sum to 1 (portfolio constraint) */ sumTo1: zod_1.z.boolean().default(true), });