{"uid":"cap_TgzziBkK_KE1JuLs48VIM","slug":"finmath-sortino-ratio-calculator-c580cec6","name":"finmath Sortino Ratio Calculator","description":"Deterministic finance and crypto math for AI agents: TradFi (NPV, IRR, XIRR, Black-Scholes + Greeks, bonds, VaR, Sharpe) and DeFi (impermanent loss, perp liquidation, funding, Uniswap v3, health factor, cost basis). Exact, model-free arithmetic that LLMs get wrong — priced per call in USDC.","url":"https://finmath.qzqh5rrbkz.workers.dev/v1/sortino_ratio","method":"POST","headers":{},"bodySchema":{"type":"object","required":["returns"],"properties":{"target":{"type":"number","description":"target"},"returns":{"type":"array","description":"returns"},"periods_per_year":{"type":"number","description":"periods_per_year"}}},"responseSchema":{"type":"object","required":["result","meta"],"properties":{"meta":{"type":"object"},"result":{}}},"example":{"request":{"target":0.01,"returns":[0.02,0.015,-0.01,0.03,0.01,-0.005,0.025,0.012],"periods_per_year":252},"response":{"meta":{"tool":"sortino_ratio","disclaimer":"Deterministic calculation utility. Not financial, investment, or trading advice.","deterministic":true},"result":3.81649053450942}},"exampleRequest":{"target":0.01,"returns":[0.02,0.015,-0.01,0.03,0.01,-0.005,0.025,0.012],"periods_per_year":252},"tags":["x402"],"displayCostAmount":"0.002","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"settled","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_7ntciNBRWBvXJ6K8YFsXV","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Computes the Sortino ratio from a series of periodic returns, annualizing downside risk relative to a target return.","exampleAgentPrompt":"Calculate the Sortino ratio for these monthly portfolio returns [0.02, -0.01, 0.03, -0.005, 0.015, -0.02, 0.04, 0.01, -0.03, 0.025, 0.01, -0.008] using a target return of 0.0 and 12 periods per year.","exampleUseCases":null,"resultDescription":"Returns a JSON object with a 'result' field containing the computed Sortino ratio (a number reflecting annualized excess return over target divided by downside deviation), plus a 'meta' object with calculation metadata such as inputs used and intermediate statistics.","failureModes":["Empty or too-short returns array causing division by zero or undefined ratio","Non-numeric values in the returns array causing a 400 validation error","Missing required 'returns' field returns a 422 or 400 error","Insufficient USDC payment returns a 402 Payment Required response","All returns above the target (zero downside deviation) may yield infinity or null result"],"whenToPreferThis":"Use this endpoint when you need a precise, deterministic Sortino ratio calculation without LLM rounding errors — especially for performance reporting, backtesting, or compliance contexts where accuracy matters. Prefer this over Sharpe ratio endpoints when you want to penalize only downside volatility, not total volatility.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T18:50:46.123Z","isFirstParty":false}