Skip to main content
Glama
Ademscodeisnotsobad

Quant Companion MCP

computeRiskMetrics.ts2.03 kB
/** * MCP Tool: compute_risk_metrics * * Compute risk metrics given an equity curve. */ import { z } from "zod"; import { computeRiskMetrics as coreComputeRiskMetrics, RiskMetrics } from "@quant-companion/core"; export const computeRiskMetricsSchema = z.object({ equityCurve: z .array(z.number().positive()) .min(2) .describe("Array of portfolio values over time (daily)"), riskFreeRate: z .number() .optional() .default(0.02) .describe("Annual risk-free rate (default 0.02 for 2%)"), }); export type ComputeRiskMetricsInput = z.infer<typeof computeRiskMetricsSchema>; export interface ComputeRiskMetricsOutput extends RiskMetrics { totalReturnPercent: number; annualizedReturnPercent: number; annualizedVolPercent: number; maxDrawdownPercent: number; } export function computeRiskMetrics( input: ComputeRiskMetricsInput ): ComputeRiskMetricsOutput { const result = coreComputeRiskMetrics(input.equityCurve, input.riskFreeRate); return { ...result, totalReturnPercent: result.totalReturn * 100, annualizedReturnPercent: result.annualizedReturn * 100, annualizedVolPercent: result.annualizedVol * 100, maxDrawdownPercent: result.maxDrawdown * 100, }; } export const computeRiskMetricsDefinition = { name: "compute_risk_metrics", description: "Compute comprehensive risk metrics from an equity curve including Sharpe ratio, Sortino ratio, max drawdown, and annualized returns. Use this to analyze the risk-adjusted performance of a portfolio or strategy.", inputSchema: { type: "object", properties: { equityCurve: { type: "array", items: { type: "number" }, description: "Array of portfolio values over time (daily). E.g., [10000, 10100, 9800, 10500, ...]", }, riskFreeRate: { type: "number", description: "Annual risk-free rate for Sharpe/Sortino calculations (default 0.02 for 2%)", }, }, required: ["equityCurve"], }, };

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Ademscodeisnotsobad/Quant-Companion-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server