# POST /api/mcp/data/portfolio-greeks

> What is my net delta, theta and vega across these positions?

Sums delta, theta and vega across positions, returns exposure as a share of value, daily decay, a risk label and a per-ticker breakdown.

- **Family:** Portfolio risk (https://apexvol.com/developers/risk-api)
- **Plan:** Pro and above. Every call needs `Authorization: Bearer avmcp_<token>`; tokens are issued to paid and trial accounts under Account, then API Access.
- **Units:** total_delta in share-equivalents; total_theta in dollars per day; total_vega in dollars per vol point; percentages in percent.
- **Basis:** Per-share Greeks come from the positions you pass (take them from /chain); stock positions count delta 1 per share.
- **MCP tools:** `calculate_portfolio_greeks`
- **Background:** https://apexvol.com/learn/options-portfolio-hedging

## Parameters

| Name | In | Default | Range | Meaning |
|---|---|---|---|---|
| `positions` (required) | body |  | array of {ticker, position_type STOCK|CALL|PUT, quantity, strike, expiration, entry_price, current_price, delta, gamma, theta, vega, iv} | The book. |

## Request

```bash
curl -X POST "https://apexvol.com/api/mcp/data/portfolio-greeks" \
     -H "Authorization: Bearer avmcp_YOUR_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"positions": [{"ticker": "SPY", "position_type": "STOCK", "quantity": 100, "current_price": 770.25}, {"ticker": "SPY", "position_type": "PUT", "quantity": -1, "strike": 755.0, "expiration": "2026-10-09", "current_price": 6.359999999999999, "delta": -0.3014, "theta": -0.1785, "vega": 0.8379, "iv": 0.1365}]}'
```

## Response (captured 2026-09-08)

Real response, lists cut to the rows nearest the money. The envelope is `{"success": true, "data": ...}`.

```json
{
  "success": true,
  "data": {
    "portfolio_summary": {
      "daily_decay_pct": 0.0234,
      "delta_exposure_pct": 130.6218,
      "risk_level": "LOW",
      "total_cost_basis": 0,
      "total_delta": 130.14,
      "total_pnl": 76389.0,
      "total_pnl_pct": 0,
      "total_positions": 2,
      "total_theta": 17.85,
      "total_value": 76389.0,
      "total_vega": -83.79,
      "vega_risk_pct": 0.1097
    },
    "positions_by_ticker": {
      "SPY": {
        "delta": 130.14,
        "positions": [
          {
            "charm": 0,
            "current_price": 6.36,
            "delta": -0.3014,
            "entry_price": 0,
            "expiration": "2026-10-09",
            "gamma": 0,
            "iv": 0.1365,
            "position_type": "PUT",
            "quantity": -1,
            "rho": 0,
            "stock_price": 0,
            "strike": 755.0,
            "theta": -0.1785,
            "ticker": "SPY",
            "vanna": 0,
            "vega": 0.8379,
            "vomma": 0
          }
        ],
        "theta": 17.85,
        "value": 76389.0,
        "vega": -83.79
      }
    },
    "success": true,
    "timestamp": "2026-09-08T08:07:44.450169"
  }
}
```

## Fields

- `portfolio_summary.total_delta, total_theta, total_vega`: The net Greeks.
- `portfolio_summary.risk_level, delta_exposure_pct, daily_decay_pct`: The read.
- `positions_by_ticker.<ticker>`: Per-ticker delta, theta, vega and value.

## Errors

- `401`: no or revoked token
- `429`: Retry-After seconds
- `403`: Pro plan required
- `400`: missing or malformed body
- Full list: https://apexvol.com/developers/errors

## Ask it in an MCP client

- What are my portfolio Greeks: 100 SPY shares and short one 30-delta put?
- Is my book net long or short vega?
- Roll up delta and theta across these positions.

Conventions for units, bases and timestamps: https://apexvol.com/developers/conventions
