Skip to main content

Equity Curve

GET /v1/account/equity
Returns hourly portfolio value snapshots for equity curve charting and performance analysis.

Query Parameters

ParameterTypeDefaultDescription
daysint7Days of history (1–90)

Request

# Last 7 days of hourly data (default)
curl -H "X-API-Key: $API_KEY" \
  "https://api.polysimulator.com/v1/account/equity"

# Last 30 days
curl -H "X-API-Key: $API_KEY" \
  "https://api.polysimulator.com/v1/account/equity?days=30"

Response

[
  {
    "timestamp": "2026-02-06T11:00:00Z",
    "cash_balance": "993.50",
    "position_value": "7.00",
    "total_value": "1000.50",
    "pnl": "0.50"
  },
  {
    "timestamp": "2026-02-06T10:00:00Z",
    "cash_balance": "993.50",
    "position_value": "6.30",
    "total_value": "999.80",
    "pnl": "-0.20"
  }
]
FieldDescription
cash_balanceCash balance at this timestamp
position_valueTotal market value of positions at this timestamp
total_valuecash_balance + position_value at this timestamp
pnlProfit & loss relative to starting balance

Charting Example

import matplotlib.pyplot as plt
from datetime import datetime

equity = requests.get(
    f"{BASE}/v1/account/equity",
    headers=headers,
    params={"days": 30},  # 30 days
).json()

times = [datetime.fromisoformat(e["timestamp"]) for e in equity]
values = [float(e["total_value"]) for e in equity]

plt.figure(figsize=(12, 6))
plt.plot(times, values)
plt.axhline(y=1000, color="gray", linestyle="--", label="Starting balance")
plt.title("Portfolio Equity Curve")
plt.ylabel("Portfolio Value ($)")
plt.legend()
plt.show()

Next Steps

  • Balance — Current balance snapshot
  • Portfolio — Complete portfolio overview