0DTESPX.com

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.