@railpath/finance-toolkit
Version:
Production-ready finance library for portfolio construction, risk analytics, quantitative metrics, and ML-based regime detection
51 lines (50 loc) • 1.35 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ReturnCalculationResultSchema = void 0;
const zod_1 = require("zod");
exports.ReturnCalculationResultSchema = zod_1.z.object({
/**
* Array of calculated returns
*/
returns: zod_1.z.array(zod_1.z.number()),
/**
* Return calculation method used
*/
method: zod_1.z.enum(['simple', 'log']),
/**
* Number of returns calculated
*/
periods: zod_1.z.number(),
/**
* Annualization factor used
*/
annualizationFactor: zod_1.z.number(),
/**
* Whether returns are annualized
*/
annualized: zod_1.z.boolean(),
/**
* Mean return (period)
*/
meanReturn: zod_1.z.number(),
/**
* Mean return (annualized, if applicable)
*/
meanReturnAnnualized: zod_1.z.number().optional(),
/**
* Standard deviation of returns (period)
*/
standardDeviation: zod_1.z.number(),
/**
* Standard deviation of returns (annualized, if applicable)
*/
standardDeviationAnnualized: zod_1.z.number().optional(),
/**
* Total cumulative return (simple method only)
*/
totalReturn: zod_1.z.number().optional(),
/**
* Total cumulative return (log method only)
*/
totalLogReturn: zod_1.z.number().optional(),
});