# Saylor Innovations Risk Metrics Calculator

> Saylor Innovations Risk Metrics Calculator is a paid API for AI agents from saylorinnovations.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-30).

Computes a comprehensive suite of financial risk statistics—Sharpe, Sortino, Calmar ratios, max drawdown, VaR, CVaR, volatility, and win rate—from a price or return series.

## Facts

- Endpoint: GET https://saylorinnovations.com/api/finance/risk-metrics?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-30
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/saylor-innovations-risk-metrics-calculator-ba21505c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_V0Ahli6IPsbl9AJyHWCOk

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability saylor-innovations-risk-metrics-calculator-ba21505c
```

Example prompt: Can you calculate the Sharpe ratio, max drawdown, CVaR, and other risk stats for this price series: 100,102,101,105,103,108,107,110,109,115 — using 252 periods per year (daily stock data)?

## When to prefer this

Choose this endpoint when you need a full suite of quantitative risk statistics from a raw price or return series without building your own analytics pipeline. It is ideal for evaluating trading strategies, comparing portfolio risk, or performing due diligence on historical asset performance. Prefer it over general financial data APIs when you already have the price series and need computed risk metrics rather than raw market data retrieval.

## Known failure modes

- Fewer than 2 prices provided — insufficient data for return calculation
- Non-numeric or malformed values in the comma-separated prices string
- All returns are identical or zero — Sharpe/Sortino may return null due to zero volatility
- No drawdown exists in the series — Calmar ratio returns null
- Invalid periods_per_year value causing incorrect annualization
- Request timeout if price series is very large (approaching 2000 entries)

## How this service works

Risk statistics for a price or return series: Sharpe, Sortino, Calmar, max drawdown, historical and parametric value at risk, CVaR, volatility and win rate.

## Output

A JSON object containing annualized Sharpe ratio, Sortino ratio, Calmar ratio, max drawdown percentage, historical and parametric value at risk, CVaR (expected shortfall at 95%), annualized volatility, win rate percentage, total return percentage, best single-period return, number of periods analyzed, periods per year used, data source attribution, and a plain-language note interpreting the results.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "prices"
     ],
     "properties": {
      "prices": {
       "type": "string",
       "description": "comma-separated prices in time order (2-2000), or"
      },
      "periods_per_year": {
       "type": "string",
       "description": "optional, 365 for daily crypto, 252 for stocks, 12 monthly"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "json"
    },
    "example": {
     "type": "object",
     "required": [
      "sharpe_ratio",
      "max_drawdown_percent"
     ],
     "properties": {
      "note": {
       "type": "string",
       "description": "Plain-language caveat about how to read and use the result"
      },
      "source": {
       "type": "string",
       "description": "Where the data or formula comes from"
      },
      "periods": {
       "type": "number",
       "description": "Number of period returns analysed"
      },
      "calmar_ratio": {
       "type": [
        "number",
        "null"
       ],
       "description": "Annualised return divided by the maximum drawdown, null if there was no drawdown"
      },
      "sharpe_ratio": {
       "type": [
        "number",
        "null"
       ],
       "description": "Annualised excess return per unit of volatility, null if volatility is zero"
      },
      "sortino_ratio": {
       "type": [
        "number",
        "null"
       ],
       "description": "Annualised excess return per unit of downside deviation, null if there is no downside"
      },
      "cvar_95_percent": {
       "type": "number",
       "description": "Average loss in the worst 5% of periods (expected shortfall)"
      },
      "periods_per_year": {
       "type": "number",
       "description": "Periods per year used for annualising"
      },
      "win_rate_percent": {
       "type": "number",
       "description": "Share of periods with a positive return"
      },
      "best_period_percent": {
       "type": "number
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/saylor-innovations-risk-metrics-calculator-ba21505c/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from saylorinnovations.com](https://www.zero.xyz/host/saylorinnovations.com/llms.txt)
