# Saylor Innovations Portfolio Risk Metrics

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

Computes annualised return, volatility, Sharpe, Sortino, Calmar, max drawdown, VaR, expected shortfall, and skewness from a price or return series

## Facts

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

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-portfolio-risk-metrics-2e340bf5
```

Example prompt: Can you run full risk metrics — Sharpe, Sortino, Calmar, max drawdown, 95% VaR, and skewness — on this daily price series: 100,102,101,105,103,108,107,110,109,115? Treat it as daily data so use 252 periods per year.

## When to prefer this

Choose this endpoint when you need a comprehensive suite of standard portfolio risk metrics computed from a raw price or return series in one call, without needing to build your own analytics pipeline. It is ideal for rapid risk profiling of any asset class (equities, crypto, funds) at daily, weekly, or monthly granularity. Prefer it over general-purpose code execution tools when you want reliable, pre-validated financial statistics without writing custom Python or R.

## Known failure modes

- Fewer than 5 price values provided — insufficient data for meaningful statistics
- Non-numeric or malformed values in the comma-separated price list
- All prices identical — zero variance causes division errors in ratio calculations
- Too few observations for reliable VaR/ES estimation — results flagged with null fields
- Invalid periods_per_year value — unexpected annualisation results

## How this service works

Risk metrics from a price or return series - annualised return and volatility, Sharpe, Sortino, Calmar, max drawdown, 95 percent VaR, expected shortfall and skew

## Output

Returns a JSON object containing: number of observations, total return percent, annualised return and volatility, Sharpe ratio, Sortino ratio, Calmar ratio, max drawdown (percent and peak/trough indices), 95% Value at Risk, expected shortfall, skewness, excess kurtosis, best and worst single period returns, periods per year used, input type, data source, and an optional explanatory note.

## 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 (5-1000 values)"
      },
      "periods_per_year": {
       "type": "string",
       "description": "optional, default 252 (daily); 12 monthly, 52 weekly"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "json"
    },
    "example": {
     "type": "object",
     "required": [
      "observations",
      "sharpe_ratio",
      "max_drawdown_percent"
     ],
     "properties": {
      "note": {
       "type": "string",
       "description": "Caveat or context for reading the result"
      },
      "source": {
       "type": "string",
       "description": "Data source the values come from"
      },
      "skewness": {
       "type": [
        "number",
        "null"
       ],
       "description": "Skewness of returns; negative means a longer left tail"
      },
      "input_type": {
       "type": "string",
       "description": "Input type"
      },
      "calmar_ratio": {
       "type": [
        "number",
        "null"
       ],
       "description": "Calmar ratio"
      },
      "observations": {
       "type": "number",
       "description": "Observations in time order"
      },
      "sharpe_ratio": {
       "type": [
        "number",
        "null"
       ],
       "description": "Sharpe ratio"
      },
      "sortino_ratio": {
       "type": [
        "number",
        "null"
       ],
       "description": "Sortino ratio"
      },
      "excess_kurtosis": {
       "type": [
        "number",
        "null"
       ],
       "description": "Excess kurtosis"
      },
      "periods_per_year": {
       "type": [
        "number",
        "null"
       ],
       "description": "Periods per year"
      },
      "best_period_percent": {
       "type": [
        "number",
        "null"
       ],
       "description": "Best period, as a percen
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/saylor-innovations-portfolio-risk-metrics-2e340bf5/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)
