{"slug":"portfolio-stats-x402tookit-com-sharpe-sortino-22d46d","title":"Sharpe and Sortino ratios on a price or return series you supply, with your risk","host":"portfolio-stats.x402tookit.com","method":"GET","resource":"https://portfolio-stats.x402tookit.com/sharpe-sortino","category":"market","description":"Sharpe and Sortino ratios on a price or return series you supply, with your risk-free rate. Not advice.","price_listed":0.02,"price_asked":0.02,"state":"answering","state_label":"Answering","checks_7d":1,"answered_7d":1,"latency_ms_median":369,"reported_calls_30d":1,"reported_payers_30d":1,"networks":["eip155:137","eip155:42161","eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"method":"GET","queryParams":{"periodsPerYear":12,"returns":"[0.02,-0.01,0.03,0.01,-0.02,0.015]","riskFreeRatePct":2},"type":"http"},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"method":{"enum":["GET"],"type":"string"},"queryParams":{"properties":{"periodsPerYear":{"description":"Periods per year for annualising: 252 daily (default), 52 weekly, 12 monthly","type":"integer"},"prices":{"description":"Price series, oldest first, JSON like [100,101,99.5] or 100,101,99.5 (up to 1000). Give prices OR returns","type":"string"},"returns":{"description":"Period returns, oldest first, decimals by default (0.01 = 1%). Give returns OR prices","type":"string"},"riskFreeRatePct":{"description":"Annual risk-free rate in percent, e.g. 2 for 2% (default 0); you supply it, nothing is looked up","type":"number"},"unit":{"description":"decimal (default, 0.01 = 1%) or percent (1 = 1%); applies to returns only","type":"string"}},"required":[],"type":"object"},"type":{"const":"http","type":"string"}},"required":["type","method"],"type":"object"},"output":{"properties":{"example":{"properties":{"annualizedExcessReturnPct":{"type":["null","number"]},"asOf":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"disclaimer":{"type":["null","string"]},"downsideDeviationPerPeriod":{"type":["null","number"]},"educationalOnly":{"type":["null","string"]},"meanExcessReturnPerPeriod":{"type":["null","number"]},"notChecked":{"items":{"type":"string"},"type":["array","null"]},"observations":{"type":["null","number"]},"periodVolatility":{"type":["null","number"]},"periodsPerYear":{"type":["null","number"]},"reasons":{"items":{"type":"string"},"type":["array","null"]},"riskFreePerPeriod":{"type":["null","number"]},"riskFreeRatePct":{"type":["null","number"]},"sharpeRatio":{"type":["null","number"]},"sortinoRatio":{"type":["null","number"]},"source":{"type":["null","string"]},"summary":{"type":["null","string"]},"verdict":{"type":["null","string"]}},"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"},"history":[{"day":"2026-10-21","reachable":true,"status":402,"valid_402":true,"asked_usdc":0.02,"price_match":true,"latency_ms":369,"error":null}],"description_full":"Sharpe and Sortino ratios on a price or return series you supply, with your risk-free rate. Not advice.","last_updated":"2026-10-20T20:46:59.335Z","schemes":["exact"]}