Positions & transactions
Read computed positions with Greeks and the transaction log.
Positions and transactions are computed views of a simulation at its current clock time. Both require authentication.
Endpoints
| Method | Path | Purpose |
|---|---|---|
GET |
/simulations/{id}/positions |
Open positions with Greeks and P&L |
GET |
/simulations/{id}/transactions |
Trade and settlement log up to the current time |
Positions
curl -s https://api.0dtespx.com/simulations/$SIM/positions -H "Authorization: $TOKEN"
Each position is computed on the fly from your visible trades and the market data at the current simulation time:
[
{
"id": "33dffe55-…",
"instrument": "SPXW 250115C05950000",
"direction": "long",
"quantity": "1",
"cost_basis": "430",
"unrealized_profit_loss": "5",
"realized_profit_loss": "0",
"total_profit_loss": "3.28",
"price": "4.35",
"delta": "0.523"
}
]
Delta scaling
delta is signed by your direction — long calls have positive delta, short calls negative (and the reverse for puts). It recomputes on every clock change. (Only delta is surfaced; the other Greeks — gamma, theta, vega, theo_price, implied_volatility — are no longer recorded.)
The id is a stable synthetic UUID derived from simulation + instrument + direction, so positions keep the same id across requests even though they aren't stored.
Transactions
curl -s https://api.0dtespx.com/simulations/$SIM/transactions -H "Authorization: $TOKEN"
Returns every trade and settlement record with datetime ≤ the current simulation time. Each trade carries its instrument, type (one of the four leg actions or a settlement type), quantity, price, value, effect, and fees:
{
"instrument": "SPXW 250115C05950000",
"type": "buy to open",
"quantity": "1",
"price": "430",
"value": "430",
"effect": "debit",
"fees": "1.72"
}
price and value already include the ×100 contract multiplier.
Settlement transactions
Settlement records appear once the clock reaches the 4:00 PM ET close. They have no order_id — they belong to the simulation, not to any single order. Out-of-the-money options produce an expiration; in-the-money options produce an exercise (long) or assignment (short), cash-settled at (underlying − strike) × 100.
Because both endpoints filter by the current clock time, rewinding the simulation shrinks what they return — no data is deleted, only the time window changes.