VEEMANDocs
DocumentationSupportOpen Dashboard

Getting started

  • Introduction
  • Quick start
  • Core concepts

Importing data

  • Supported formats
  • How import works
  • Splitting a file
  • Troubleshooting

Building your portfolio

  • Workspace & equity
  • Weights & capital
  • Weekday filter
  • Keyframes
  • Currencies & FX
  • Library
  • Strike guard
  • Variants & comparison
  • History (undo/redo)
  • Shared spaces

Analytics

  • Metrics reference
  • Charts (deep-dive)
  • Monthly P&L
  • Correlations
  • Comparison
  • Monte Carlo
  • Equity Control
  • Optimization
  • IBKR reconciliation
  • Veeman AI

Research

  • Research overview
  • Define
  • Composing a backtest
  • How the engine trades
  • Results & archive
  • Parameter study
  • Rewind
  • Tactics
  • Indicators

Reference

  • Keyboard & command palette
  • Exporting data
  • Settings

Technical

  • Architecture
  • API reference
  • Security
  • Your data & privacy
  • Risk disclosure
← PreviousParameter studyNext →Tactics

Rewind

The backtest is a drawing table: it works in space (strikes, distances, premiums) and gives you the sum of thousands of days. Rewind is the editing room: it works in time, on one day, and lets you watch it unfold minute by minute: the payoff profile sliding toward expiration, the index as candles, the P&L being written, the entries and the exits marked, and the exact reason each exit happened. You can trade the day by hand, mounting and closing structures when you choose (see Trading the day by hand).

Rewind uses the engine's own arithmetic: the P&L at each minute is what closing at that minute would book, with the legs at the same closing prices the backtest marks its stops and targets with (the fill model of the recipe), minus the exit slippage and the commissions. On a trade replayed from a backtest, the path at the exit minute equals the booked P&L to the cent (or the difference is explained, see Exit causes).

Opening Rewind

Rewind opens on a day: the latest session in the dataset, with the playhead at 9:30. The index candles are on the right, ready to play, and the payoff panel on the left is empty, waiting for a structure. This is how you study a session and try a discretionary trade on it: play the day, stop where you would enter, and mount a structure at that minute.

Session
The calendar enables only the sessions in the dataset; ‹ › step to the previous or next one. Another session starts again at 9:30. Next to it, the underlying and the index at the playhead, with its change since the open.
Mount a structure
The button in the empty payoff panel opens the structure ticket at the playhead minute (see Mounting a structure).
Open from backtest
The list of your saved backtests. Pick one and you get its trades, as when you open Rewind from the backtest's trade log (see Picking a trade).

On a day without a structure the tape engraves the index move since the open, in points, and its marks are the high and the low lived so far. Alerts and journal notes work on the index (spot, indicators, gamma levels) and stay when you mount a structure on that day. The drawer and Tactics appear once a structure is in play.

You also arrive here directly:

  • from the trade log of a backtest (the ▶ button on a row): a saved backtest opens through a permanent link (/research/rewind?bt=…&trade=…), an unsaved run hands the trade over with its fills and costs. Either way Rewind keeps the log as you were reading it (see Moving through the list);
  • from the Trades band of the Analysis workspace (the ▶ button on a row of a strategy born from a saved backtest): the same permanent link, with the portfolio's trade log as the list;
  • from the same band, the ▶ on a row of a strategy imported from a file: that trade, replayed from the legs and times its file records (see Imported trades);
  • from the same band, the calendar button: the whole day of the portfolio, with every strategy that traded it and can be replayed (see A portfolio day);
  • from the Backtest archive (Rewind on a card): the trade picker of that backtest;
  • from Define (Rewind): the structure on the same day and minute, ready to arm.

The entry is an event of the day

With a structure on the day, from a backtest trade, from Define or mounted by you, the run still covers the whole session from the open. The entry is an event at its minute, not the start of the run. A trade from a backtest opens at 9:30 with its entry ahead of you on the tape, so you can watch the market that led to it (the candles, the indicators, the gamma levels) before it happens.

Before the entry:

  • the payoff panel is empty and says when the structure enters and how many minutes are left, with Jump to the entry. For a backtest trade it also says what triggers the entry (see Entry causes) and lists what the backtest is waiting for;
  • the candles show no strikes yet (the price scale already frames the whole session, strikes included, so it doesn't jump at the entry);
  • the tape stays on zero, and the progress counts down to the entry (T−);
  • alerts on the market (index, indicators, gamma levels) work as usual. Alerts on the structure (P&L, legs, greeks) and Tactics wait for it, and at the entry minute itself nothing about the structure fires: the structure is born there, it doesn't cross a threshold.

At the entry minute the payoff, the strikes and the ▲ marker appear, the entry joins the events feed and its mark on the tape pulses as you cross it. E, the Jump to the entry button in the transport bar, or a click on the entry mark go straight there.

Picking a trade

The picker lists the backtest's trades, in the register's order by default, with filters All / Winners / Losers, a search by date and Sort by Date or P/L in either direction (the direction button reads Newest first / Oldest first, Best first / Worst first). When the recipe uses a stop loss (on the structure or per leg) or a profit target, Stop loss and Take profit join them: they keep the trades closed that way, the same as the trade log's Outcome filter. A recipe without them doesn't show them, since they would always be empty. Change backtest opens the list of saved backtests to switch to another one. Back to the day returns to what was on screen under the list, as you left it (arriving from the archive, Back to the charts opens the latest session).

Moving through the list

A day opened from a list, the backtest's trade log, the picker above or the portfolio's trade log in Analysis, keeps the list at hand (not yet for a single trade imported from a file: see Imported trades). A bar above the replay holds:

Trade log · Trades · Portfolio trades
Back to the list you came from. From the trade log you return to the Backtest results with the Trade log tab open, on the page of the trade you were viewing, the row marked and scrolled into view. From the picker the list reopens over the day with its filters, and Back to the day resumes it as you left it. From Analysis (Portfolio trades) you return to the workspace with the Trades band open on the page of that trade, the row marked.
‹ 3 of 245 ›
The previous and next trade in the list's order: the trade log's sort and Outcome filter, the picker's sort and filters or, from Analysis, that strategy's rows in the portfolio's trade log, in its order and within the chart's window. There is one stop per position, so the pieces of a position (partial exits, leg groups) and its Tactics adjustments, which replay together, count once. P and N do the same from the keyboard.
Trade list
Clicking the counter opens the list over the day, to jump straight to another one. Rows are the same stops in the same order (the number on the left is the counter's), each with its day, entry and exit times, close reason and the P&L of the whole position. Sort reorders it by Date or by the position's P/L, in either direction, and the arrows, P · N and the counter follow the new order (the day on screen stays, only its place in the list changes; the Backtest's trade log keeps its own sort). It opens on the order you came with: a premium or P/L % sort from the trade log shows as a third choice and can be reversed. All / Winners / Losers (plus Stop loss and Take profit when the recipe uses them, as in the picker) and the date search narrow what you see without changing the order the arrows follow. A position counts as Stop loss or Take profit when any of its pieces closed that way (a stop on half the position is still a stop taken). The filter choice is kept the next time you open the list. With a keyboard the search field has focus: ↑ / ↓ move, Enter opens, Esc closes.

Going back to the list loses nothing: the day stays as you left it, and the Rewind link in the sidebar brings it back. Opening another trade starts a new replay, so with journal entries, alerts or adjustments on the current day Rewind asks first, as New replay does.

A portfolio day

The calendar button on a row of the portfolio's trade log in Analysis opens that whole day: the positions of every strategy of the portfolio that traded it, together, so you can see how they fit on the chain, minute by minute. Its Veeman backtests and the strategies imported from a file sit side by side.

  • They are the positions the portfolio uses. When the portfolio applies the strike guard, the day is re-run with the same rules, so a shifted entry shows its shifted strikes, and an entry the strike guard skipped is told in the events feed at its minute. Without it, they are the archived backtests' and the files' own trades.
  • Each position is at the portfolio's size, the one its trade log gives that trade: the backtest's position times the trade's multiplier there. The weight, the keyframes and the group scale count, and so do the contracts dynamic sizing gave the trade. A strategy at ×3 on a one-contract backtest shows 3 contracts, and every amount follows: the P&L path, the payoff, the exits and their causes. At the end of the day the realized total matches those strategies' rows in the trade log. A weight can make a size fractional (×1.5): Rewind shows it as the portfolio counts it.
  • An entry the portfolio doesn't take is told in the events feed at its minute, with no position: one dynamic sizing left at 0 contracts, or the entries of a strategy the portfolio switches off that day (a keyframe). When dynamic sizing gives the parts of one position different sizes (its leg groups or partial exits are sized trade by trade), Rewind shows each part as its own position and says so.
  • The position that entered first is the main one: the run starts at the open and its entry is the first event. Every other position joins the positions bar at its own entry, named after its strategy, read-only, with its recorded exits and P&L. The payoff shows all of them, the totals add them up.
  • Each strategy keeps the color it has in Analysis: its dot in the positions bar and its strikes on the candles (short strikes stronger, long ones fainter). Its entries and exits in the events feed carry its name and, when the strike guard moved it, which strikes moved where and who held them; a whole-structure shift also says how many points and which way the structure moved.
  • The bar above the replay holds ‹ Day n of N ›, the portfolio's trading days in the trade log's order (within the chart's window), and Portfolio trades, back to the workspace with the band open on that day, its rows marked.
  • Strategies (in the tools band; on a phone, under Tools) lists every strategy of the portfolio in the rail's order, each with what it does that day: its entry times, the entries it skips, or no trade this day. Untick some and Replay the day: the day is rebuilt without them and, when the portfolio applies the strike guard, the guard is redone among the strategies left, so a position that had to shift for one you switched off keeps its own strikes. It's a what-if, since the portfolio traded them all: the header says how many are off, and the notes under the replay name them and recall that the total is no longer the trade log's. The playhead stays on its minute; if none of the strategies left trades that day, the nearest day where one does opens instead. The choice holds as you step through the days, and ‹ Day n of N › skips the days where none of them trades. All on brings the real day back. With journal entries, alerts or added structures on the day, Rewind asks first, as New replay does.

Two things stay each strategy's own: why each position entered (a backtest's trigger, filters and strikes; an imported trade's facts from its file) and its costs (the recipe's, or the file's). Manual commissions or slippage added in the portfolio aren't part of Rewind's numbers, and amounts are in dollars whatever the portfolio's currency. A trade Rewind can't replay isn't shown: the day lists it with the reason, and says how much of the day's P&L in the trade log stays out of Rewind. You can still mount structures by hand, set alerts and keep a journal; a saved journal reopens the whole portfolio day, at the sizes it had, with its list of the trades not shown and the strategies you had switched off.

Imported trades

A strategy imported from a trade log that lists each trade's legs (quantity, expiration, strike, put or call, bought or sold, price) with its entry and exit times can be replayed too. The ▶ on its rows in the workspace trade log opens one trade; the calendar puts its trades of the day next to the Veeman strategies. Which files carry that detail is in Import formats.

An imported trade is a fact, not a recipe: Rewind replays it exactly as the file records it.

  • Legs, minutes and P&L come from the file. The position goes on at the file's entry minute, at the file's entry prices, and its realized P&L is the file's. The ▶ replays the file's own position; a portfolio day scales it to the trade's size in the trade log.
  • The path in between is Veeman's market. Every minute the legs are marked on Veeman's data with the file's own costs: its commissions, and the position slippage its prices imply (the gap between the legs' prices and the premium the file books).
  • At the exit the two numbers meet. The events feed says what the file books and what Veeman's data gives at that minute. On most trades they match to the cent. A stop or a target can differ: the file books the exit at its level, while within the minute the market can already be past it. At expiration the file's P&L is compared with the legs' settlement on Veeman's data (their intrinsic value at the close): when the two are more than $1 per contract apart, Rewind warns that the legs or prices in the file may not describe the trade. Any other gap is told in the events feed, without a warning.
  • The clock is checked. The SPX price the file gives at entry is compared with Veeman's at that minute. When they differ by more than 2 points, Rewind warns that the file's times may be in another time zone.
  • Nothing of its strategy is re-run. No Tactics of its own (you can still arm Tactics on the day, as a what-if), and no "why it entered" beyond the file's facts: SPX, VIX and the premium at entry, told when the entry happens (before it, Rewind only says the minute). In a portfolio day the position is the file's position times the trade's multiplier in the trade log.
  • The portfolio's strike guard applies. A portfolio day re-runs it from the files, like the Veeman backtests: a trade shifted off a taken strike shows the moved structure, tagged file ≈, its P&L Veeman's estimate (with nothing in the file to reconcile it with), and a trade the guard skips is told at its minute.

A trade can't be replayed when:

  • its legs sit on different expirations (calendar, diagonal) or expire on a later day: for now Rewind replays same-day (0DTE) SPX options;
  • its underlying isn't SPX, or the strategy isn't in US dollars;
  • a leg can't be read, it has more than 8 legs, or it buys and sells the same contract;
  • it closes on a later day than it opens, or the file gives no entry time (or no exit time, for a trade that didn't expire);
  • its day isn't in Veeman's market data.

On those rows the ▶ is dimmed: hover it, or tap it on a phone, for the reason. A portfolio day lists them among the trades not shown, and says how much of the day's P&L they carry. A strike with no quote at the entry minute, or an entry outside the session, shows only when Rewind tries: the trade opens on that message, and a portfolio day marks it not replayed in the events feed at its minute and counts it, with its P&L, among the trades not shown.

When two strategies hold the same contract at the same time and one of them is imported, and the portfolio hasn't applied its strike guard, the day says so: in one account the broker would net them. A trade imported from a file opens on its own: there's no ‹ n of N › or Portfolio trades bar for it yet, and the browser's back returns to the trade log with its row marked. A journal saved on an imported trade reopens it exactly, even after the portfolio is closed.

Mounting a structure

Mount a structure opens a ticket over the day at the playhead minute. The day and the entry minute are the replay's: the ticket shows them at the top, with the index price. To enter at another minute, close the ticket (Esc or ✕) and move the playhead. At 9:30 the chain is the opening print, not a market, so a structure mounted there enters at 9:31. Add legs with Add leg, a template from Structure (resolved on the minute's real chain), or prices picked from the chain (click the bid to sell, the ask to buy).

Each leg row has Sell/Buy and Call/Put switches, the quantity and a strike criterion, the same as the backtest plus a fixed strike:

K · Fixed strike
An absolute strike. It stays where it is when you change day or minute.
Δ · Delta
The quoted strike with the nearest delta (in points).
% · OTM
The quoted strike nearest to spot ± %.
$ · Premium
The quoted strike with the nearest mid; on a tie, the one nearest the money, as in the backtest.
± · Offset
Points from spot or from another (non-offset) leg.

Unlike the backtest composer, here the chain of the entry minute is real, so every criterion is resolved immediately and the row shows the strike it resolves to: that is the strike that will be armed. The ticket remembers the structure you composed: open it again at another minute or on another day and the criterion legs re-resolve on that chain (a delta of 10 at 10:00 isn't the same strike at 11:00), while fixed strikes stay where they are. Legs that find no strike on the chain are flagged.

Each leg can also Browse chain: the chain of the entry minute opens full screen, centred on the leg's strike; a click moves the leg there (as a fixed strike) and closes it (Esc or a click outside also close it). The bar at the bottom shows a preview of the expiry payoff at mids with the credit, max profit/loss and breakevens, the contracts, the costs and Arm the structure: the replay carries on from that minute with the structure in play. The playhead stays where it was, the tape starts engraving the P&L, and the alerts and journal entries written on the day are kept. The morning stays on the tape too: go back before the mount and the structure isn't there yet (see The entry is an event of the day).

Costs & fills sets the commission per contract (default $2), the slippage as a fraction of the spread (default ½) and an optional fixed slippage in $ per leg. Slippage here is always per leg: a standalone replay matches a backtest of the same structure that uses the per-leg model with the same values, not one with the per-position slippage new backtests start with. A replay linked to a backtest always uses the recipe's costs, whatever its model.

The preview while composing uses chain mids; once armed, the path uses the engine's fills. A structure has up to 8 legs, on the day's expiration.

Once a structure is in play you can mount more, by hand, whenever you want: see Trading the day by hand.

Trading the day by hand

With a structure in play, Mount in the tool band (or M) opens the same ticket at the playhead minute, titled Add a structure. Mount it puts the new structure next to the ones already in play: no trigger, its own entry minute, contracts and costs. The costs start from the replay's own, so every structure is on the same footing; change them in the ticket if you want. Play on, stop where you want to act, mount again: there is no limit on how many structures you open in a day. On a backtest trade you can mount before its entry too: until the trade enters, the totals count only your structures.

The positions bar

Above the panels, Positions lists every structure in play at the playhead: the structure you mounted first, the ones you added, and any Tactics adjustments (tagged Tactic, or Backtest for those the engine opened in the backtest). A trade imported from a file is tagged file, or file ≈ when the portfolio's strike guard moved it. A trade whose strikes you changed is tagged what-if (what-if ≈ for an imported one, see Changing a strike). Each one shows its entry time, its name (recognised from the legs: Iron Condor, Bull Put Spread…), its contracts and its P&L at the playhead, unrealized while it's open and realized once closed. A structure mounted after the playhead doesn't appear yet: Rewind never shows the future.

Click a structure to open its card in the drawer, with its legs (see The drawer). The bar is always there for a structure you mounted, even alone, because that's where you close it. On a trade replayed from a backtest it appears once you add a structure. The main structure joins the bar at its entry minute.

Closing

Close closes a structure at the playhead minute, with the engine's marking: its P&L freezes at that minute's value and becomes realized, its greeks leave the totals and its strikes leave the candles. The day goes on: the replay keeps playing with the other structures, and you can mount new ones after.

  • The structure you mounted on the day closes like the others. A trade replayed from a backtest keeps its recorded exit: you can't close it by hand, only the structures you added.
  • Go back before a close and Close again to close earlier. In the drawer, Undo close keeps the structure in play.
  • The bin in the drawer removes a structure you added, as if you had never mounted it, together with its journal entries. To keep its P&L, close it instead.
  • At the closing bell, whatever is still open settles at expiration.

Totals

The readout's Total P&L, Realized and Unrealized, and the header's Net P&L and Net Δ, include every structure. Greeks are net, each structure weighted by its contracts (per combo of the main structure, the same scale as Tactics). With more than one structure the payoff draws the whole book: the open structures' curves added up, the closed ones as their realized amount, and max profit, max loss and breakeven become the whole book's at expiration (all structures).

Every mount and every close writes itself in the journal, with the time, the legs, the credit or debit, the index and the net P&L, and is marked on the tape.

Note

Alerts watch the main structure (the first one you mounted, or the backtest's trade). Tactics adjust the main structure too, but their net series (net P&L, net delta) count every structure, yours included.

The surface

The header names the replay (the backtest and the trade, or your structure) with entry time, credit (or debit, when the structure was paid for), contracts, the booked P&L of a real trade and, past the exit, ghost. Next to the date, Calendar lists the session's economic events with their release time (Retail sales 08:30 · FOMC 14:00, VIX expiration); hovering one shows the period it refers to. A scheduled release is shown from the first minute, since it was known that morning; an unscheduled one (an emergency rate cut) only once the playhead reaches it. With more than one structure it adds Net P&L and Net Δ, and the positions bar lists them one by one. New replay takes the structures (or the trade) off and goes back to the day, with the playhead at the entry minute, ready for another structure. Since the replay's work (journal entries, alerts, structures you added, opened adjustments) lives only in the page, you're asked to confirm and reminded to save the journal first; the same goes for changing session on a day with notes or alerts.

On a phone the tool band is a single row: Mount on the left (on a day without a structure, Open from backtest), then the display settings and Tools. Tools opens a sheet from the bottom with Structure & chain, Alerts, Tactics and Journal as tiles, with their counters. Open from backtest and New replay are listed below the tiles. A dot on Tools means alerts, Tactics or journal notes are waiting inside.

Below, two panels side by side, the payoff and the underlying, with a divider you can drag (or move with the arrow keys) to resize them. Each panel can be closed or shown full screen (Esc leaves full screen). Under them, the tape and the transport bar.

Everything you do survives moving to another page of the app and back (not a reload).

The payoff panel

At expiry
The expiration payoff of the position, coloured by sign.
Now
The value of the position across prices at the current minute (Black-Scholes on the current IVs, sticky strike). The dot sits on the authoritative value: the engine's marking (or the mid, see Settings).
At entry
Optionally, the "now" curve as it was at entry, as a fixed dashed reference.
Trail
The path of the dot over the last minutes, fading, and faint echoes of the curve a few minutes back: a sense of motion that vanishes behind you, never the future.
Max profit · Max loss · Breakeven
For the position, in dollars, net of the entry commission only (settlement pays no closing costs). With more than one structure (yours or Tactics adjustments), or once you close the main one, they are the whole book's (all structures): every structure still open held to expiration, plus what is already realized.

If a leg has no IV at the current minute, the "now" curve can't be drawn and the panel says so; the dot and the readout still use the engine's marking.

With a mouse the pointer is a crosshair here too. The vertical line is a price: it marks where the two curves cross it, and the corner shows what the position would be worth at that price, now and at expiry, and how far that price is from the index. The horizontal line is a P&L level. Each line is tagged on its axis, as on the candles.

The same curves can also be drawn on the candles, turned on their side: see Payoff in the underlying panel.

Two-finger scrolling over a chart scrolls the page and leaves the chart still. To zoom, pinch on the trackpad or hold Ctrl while scrolling (Shift = horizontal only, Alt = vertical only), drag to pan, drag an axis gutter to stretch that axis. The buttons zoom in and out, reset to the strikes, or fit all (the whole excursion of the index and of the P&L of the day).

The underlying panel

The index as candles at the chosen resolution (1, 5, 15, 30 or 60 minutes), with the structure's strikes as horizontal lines and the entry and exit marked. An economic release that comes out during the session (FOMC at 14:00, ISM at 10:00) is a dashed vertical line at its time, named at the bottom of the chart; releases before the open are only in the header's Calendar. Where the dataset has no native 1-minute candles, the 1-minute view is a line and larger resolutions are built from the minute samples (the panel says so). By default only the past is drawn; Show future candles reveals the rest of the day. On a day opened without a backtest trade, the price scale follows the same rule: it frames what you have already seen (and the strikes) and widens as the index makes new highs or lows, so its range never tells where the day is going. A trade opened from a backtest (or with Show future candles on) is framed on the whole session from the first minute: the day's high, low and the structure's strikes all fit on screen, so you never need to zoom to follow the moves.

Zooming on the candles works on time. Pinch (on a phone, two fingers on the chart; on a trackpad, pinch or Ctrl + scroll) and the + / − buttons narrow or widen the window of minutes, the buttons around the playhead. Zoomed in, drag sideways to move through the day. The price scale then fits the candles in the window by itself (the strikes no longer stretch it), so the candles always stay on screen. While the day plays, the window follows the playhead when it reaches the edge. Zoom out to the whole session, or press reset, to get the full-day framing back. With a mouse, dragging also moves the price, and dragging the price axis stretches it; on a phone, a vertical swipe scrolls the page.

With a mouse the pointer is a crosshair. The vertical line sits on the candle under the pointer and runs down through the RSI and MACD sub-panels, with the candle's time tagged on the time axis and its open/high/low/close above the chart. The open/high/low/close shows only once the candle is drawn: for a candle still to come you read its time, never its prices. The horizontal line follows the pointer, and its level is tagged on the price axis: the price over the candles, the RSI or MACD value over their sub-panels. Over the price axis only the horizontal line stays, over the time axis only the vertical one. On the axes the pointer becomes a resize arrow, since dragging there stretches the axis, and so it does on the left edge of the gamma strip, which dragging widens or narrows.

Indicators adds two daily SMAs, an intraday SMA, EMA, Bollinger Bands, Donchian Channel, RSI and MACD, in the units of the backtest filters:

  • Daily SMA and RSI are in days, computed exactly like the backtest filters: the official closes of the previous days plus the index price at that minute as today's close. A daily SMA 20 averages the last 19 daily closes and the current price; the RSI is Wilder's on daily closes. At the entry minute the lines read what the backtest's SMA and RSI filters read. Two daily SMAs can be shown together (defaults 5 and 20 days, up to 400; RSI from 2 to 50 days, default 14). A daily average often sits away from the day's prices: each SMA keeps its value tagged on the price axis, at the edge when it's off the scale.
  • The intraday SMA has its period in days but runs on 1-minute bars: N days are the last N × 390 one-minute closes (an intraday SMA 5 averages the last 1,950 minutes, today's and the previous sessions'), so it moves minute by minute instead of following the daily closes. From 1 to 20 days, default 5. On a half-day the window reaches a little further back, since it counts minutes, not sessions.
  • EMA, Bollinger, Donchian and MACD are in minutes, on 1-minute closes whatever the candle resolution (defaults: EMA and Donchian 20, Bollinger 20 × 2σ, MACD 12/26/9). As on a broker's chart they carry over from the previous sessions: the day comes with the five sessions before it, so at the open they are already settled, even at the longest periods. Until the day's first 1-minute bar closes, their value is yesterday's last one. At the start of the data there are fewer sessions before the day (none on the very first one): there they warm up during the session.

The SMAs, EMA, Bollinger and Donchian are drawn over the price; RSI and MACD get their own sub-panels under the candles, revealed with the playhead like the rest. The MACD scale follows the price scale's rule: on a day opened without a backtest trade it frames only what you have already seen, otherwise the whole session. Alerts can use indicators even when they're hidden.

At the bottom of the same menu, Strike lines turns the dashed strike lines off and on (they're on by default, and the choice is remembered). It covers every structure on the chart: the main one, the ones you mount and, on a portfolio day, every strategy. Turned off, the strikes also stop stretching the price scale, so the candles fill the panel; the ▲ and ▼ entry and exit marks stay.

Gamma adds the day's dealer positioning: the gamma flip and the call and put walls on the chart, bars per strike on the price axis, and the GEX profile. See Gamma exposure.

Payoff draws the payoff panel on the price chart, turned on its side: price runs up the chart's own scale and P&L runs across, gains to the right of a dotted zero line. It shows the same two curves as the payoff panel, at expiry (coloured by sign) and now, for the same structures, so the two views always agree. The dot sits at the current price, on the position's P&L (hollow past the exit, as in the panel). The profile lives in a band at the right edge of the chart, next to the price axis (left of the gamma strip when it's on), where the part of the day still to come usually is. It's drawn behind the candles, so late in the session the last candles stay readable on top of it. The band has its own P&L scale, fitted to the prices on screen and rounded to steps, so zooming or dragging the price axis reshapes the profile with the candles. Point at the band with the mouse to read the P&L at that price, now and at expiry. The button is hidden on a day without a structure, and nothing is drawn before the structure's entry. On a phone the button shows only its symbol. Rewind remembers whether it's on.

Drawing on the chart

Draw shows or hides the drawing tools, a column at the left edge of the chart. The chart moves over to make room, so the tools never cover the first candles of the day. The column is on by default on a computer and off on a phone, and Rewind remembers your choice. The shortcuts work even when it's hidden.

ToolKeyHow
Trend lineTTwo clicks, or press and drag. Hold Shift to keep it level
Horizontal lineHOne click on a price. Its price is tagged on the price axis
Vertical lineVOne click on a time. Selected, its time is tagged on the time axis
RectangleBTwo opposite corners, or drag. Useful to mark a range or a zone
Fib retracementFFrom the start of the swing to its end: 0 sits at the end, 1 at the start, with 0.236, 0.382, 0.5, 0.618 and 0.786 between them and each level's price
MeasureRDrag between two points: the change in points and in percent, the time and the number of candles at the current resolution. Shift + drag measures at any time, without picking the tool
NoteAClick where the note goes, type, press Enter

After one drawing the pointer goes back to the cursor. Double-click a tool to keep it for several drawings (a dot marks it), and press Esc or the same key again to put it down. Esc also cancels a drawing halfway and clears a measure. A measure isn't saved: it goes away at the next click.

Magnet (G, on by default) snaps each point to the open, high, low or close of the candle under the pointer when one of them is close, at the middle of the candle. Hold ⌘ (or Ctrl) to switch it the other way for one point. It only snaps to candles already drawn: a candle still to come can't lend its high.

Click a drawing to select it. Drag it to move it, or drag one of its round handles to move that point; a horizontal line moves only up and down, a vertical one only sideways. Alt + drag moves a copy. Over the selected drawing a small bar sets its colour, line style and thickness, extends trend lines, rectangles and retracements to the right or both ways, edits a note (double-clicking a note does the same), locks it so it can't be moved by mistake, or deletes it. Delete or Backspace deletes the selected drawing, ⌘Z / Ctrl+Z undoes and ⇧⌘Z / Ctrl+Y redoes. A new drawing takes the colour and style you picked last. At the bottom of the column, the eye hides or shows the drawings and the bin deletes all of the day's drawings (click it twice).

Drawings are tied to a price and a time, not to the screen, so zooming, scrolling or changing the resolution keeps them in place. They are saved per session day and underlying: a level drawn while replaying one trade is there for every other trade, portfolio day or bare day on the same date.

They are saved to your account, so they follow you to any computer, browser or phone you sign in from. They stay yours inside a shared space too: they aren't part of the space's library, and nobody else sees them. The browser also keeps a copy, so a day's drawings show at once and you can keep drawing without a connection: what you change offline is sent when the connection comes back (or the next time you open Rewind). If the same day is changed on two devices at once, the changes are merged drawing by drawing: what each device added stays, what one deleted stays deleted, and a drawing edited on one device and deleted on the other is kept, so nothing is lost. A session day holds up to 300 drawings.

The cloud at the bottom of the drawing column says where they are: saved to your account, saving, offline (saved on this device, synced later) or not saved, with the reason (too many drawings, say). Click it to send and reload right away. Drawings are your notes only: no alert, Tactic or backtest reads them.

The readout

Total P&L
Realized + unrealized at the current minute.
Realized
What is already closed at this minute, at its booked P&L: the structure's exits (stop, target, leg groups, partial closes), the structures you closed and closed adjustments.
Unrealized
The mark of what is still open.
Per structure · main
The P&L of one structure (the main position divided by its contracts, the same scale as the greeks), and of the main structure alone when other structures are in play.
If held
Past the exit, the ghost: what the structure would be worth now had it not exited. The total stays at the realized amount.
Greeks
Of one structure (legs at their ratio, one contract): delta, gamma, theta per day, vega per IV point. Multiply by the contracts for the position. Alerts and Tactics use this scale. IV and greeks use the real time to the close, 13:00 on half-days (see the dataset conventions), so theta grows quickly in the last hour.
Derived IV
Shown when, for some leg and minute, the provider has no IV (typically a deep in-the-money option): there IV, and the greeks that depend on it, are derived from the mid with Black-Scholes. Short gaps (up to 5 minutes) that remain in a leg's IV are interpolated in time.

Playing

On a phone the transport bar stays pinned to the bottom of the screen, so the payoff and the candles stay in view while time runs, and the top bar of the app slides away over the page as you scroll down (scroll up a little to bring it back): the page itself never moves when it does.

Play / Pause
At 1× about 5 minutes per second (a full session in about 75 seconds).
Speed · Resolution
One button each, showing the current value (1×, 5m) and opening a menu, as in a video player. Speeds 1×, 2×, 4×, 8×; candles of 1, 5, 15, 30 or 60 minutes.
Rewind · Fast forward
Time runs backwards or forwards; pressing again doubles the speed.
Step
One minute back or forward.
Back to the open · Jump to the entry · Jump to exit
The start of the run, then the two ends of the trade. On a day without a structure only Back to the open.
Watch it again
At the end of the run, restarts from the open.
Progress
T+ minutes since the entry (T− before it, the minutes still to go) · −minutes left to the end of the run. On a day without a structure: since the open and to the close.

Pausing at each entry

With Pause at each entry on (the default), playback stops on the minute a strategy enters, and a card tells what happened in the events feed's words: the structure with its credit or debit, why it entered (trigger, filters, strikes) and, on a portfolio day, what the strike guard did and the portfolio's size. On a portfolio day it also stops where an entry doesn't happen (skipped by the strike guard, sized at 0 contracts, outside the portfolio that day, or a file trade Rewind can't replay), with the reason. Entries in the same minute share one stop.

Continue, the play button or Space carry on; × stays on that minute; Don't stop at entries turns the option off and carries on. Only playing forward stops: stepping, jumps, scrubbing the tape and playing backwards never do, and a structure you mount by hand doesn't stop the run, since you decided it. On a phone the card sits just above the transport bar. The option is in Rewind's settings and in the app's Settings, the same switch, saved with your account.

The tape

The tape is the timeline: the P&L is engraved on it as you live it, like a recording.

  • up to the playhead: solid, the present and the past;
  • past the playhead but already lived: veiled (going back doesn't forget it);
  • beyond: nothing but the time ticks, no lookahead. On a day opened without a backtest trade, even the candles' price scale is computed only on what you have seen. With Show future candles, the rest appears dashed.

Marks on the tape: entry (faint until you reach it), exit, the peak and trough of the P&L lived so far, alerts fired, structures you mounted or closed, Tactics adjustments opened or closed, journal notes, and the ghost past the exit. Entry, exit, peak, trough and the other facts are clickable. Drag anywhere to scrub; on a trackpad a horizontal swipe moves one minute at a time. The ? button shows this legend and, on devices with a keyboard, the shortcuts.

On a phone

The transport works like a video player. A slim progress bar takes the place of the tape, with the current time on the left and the end of the run on the right. The bar fills up to the playhead, already-lived time shows lighter past it, the entry and the exit are ticks, the ghost past the exit is hatched, and facts (alerts, structures, Tactics, notes) are dots. Tap to jump (a tap close to a mark lands on it); drag sideways to scrub, with the time and the P&L shown above your thumb.

Under the bar sit the playback buttons (rewind, step, play, step, fast forward), then the speed and resolution buttons. The ⋮ menu holds Back to the open, Jump to the entry, Jump to exit and the legend.

Keyboard

KeyAction
SpacePlay / pause
← / →One minute back / forward
Shift + ← / →Ten minutes
J · K · LBack · pause · forward (J or L again to double the speed)
Home / EndThe open · end of the run (the close on a day without a structure)
EJump to the entry of the structure
P · NPrevious · next trade of the list (on a day opened from a list)
MMount a structure at the playhead (on the day, or next to the ones in play)
T · H · V · B · F · R · ADrawing tools: trend line, horizontal, vertical, rectangle, Fib retracement, measure, note
GDrawing magnet on / off
Delete · ⌘ZDelete the selected drawing · undo the last drawing change
EscPut down the drawing tool or deselect a drawing; otherwise leave full screen, close the drawer or the structure ticket

What fires alerts and Tactics

Alerts and Tactics are evaluated only when the playhead advances by exactly one minute: while playing forward (at any speed: each tick is one minute) or with →. Jumps, scrubbing on the tape, Shift + →, Home/End and playing backwards never fire anything, so moving around the day can't trigger an adjustment by accident. To see an alert fire, play through the minute. Before the structure's entry only alerts on the market can fire; Tactics start at the minute after the entry.

Ghost trace

With Ghost trace beyond the exit on (default), the run continues past the exit to the end of the session: what would have happened had you held. Off, the run stops at the exit minute.

Entry causes

Every entry of a backtest trade carries its cause too, recorded by the engine when it opened the position: what brought it to that minute, every active filter of the recipe with the value it read, and how each strike was chosen.

Trigger
A scheduled entry time (one of 3 entry times a day when the recipe has more); the first minute of the floating window where every filter passed, with how many minutes were held back and by which filter (after 61 min held back by intraday move); a re-entry, with the exit it follows, the delay, which re-entry of the day it is and any extra wait for an exit condition to clear or for an economic event pause to end; an entry signal; an indicator event, with the output, the indicator and the bar that fired (Break up of Opening range fired on the bar 10:10); an indicator condition, with the values read and the bar (RSI(2) pullback · RSI 8.4 ≤ 10 on the bar 10:25), the minute the signal started when the filters let it in later, or the exit it re-entered after while the signal still held. With an open-positions limit and close the oldest, the cause also says which position it closed to make room.
Filters
Only those the recipe uses, each with its value and its rule: day of week, VIX, overnight gap, overnight VIX, move since the open, VIX since the open, VIX9D/VIX, opening range, RSI, SMA, EMA, custom indicators (the value read and the bar it was read on: the last one closed at the entry minute), spreads, short/long premium, credit or debit per contract, margin sizing. For example Move since the open: +0.17%, 7,665.68 → 7,678.98 (up ≥ 0.15% · down ≥ 0.15%), or RSI(2) pullback · RSI: 8.4 (bar 14 Oct 2026) (≤ 10).
Strikes
The criterion of each leg and what it found: Sell Put 7,645 at delta 10.7 for a target of 10, Buy Put 7,620 offset from the Sell Put 7,645, a mid for a target premium, a distance from spot.

Before the entry Rewind never shows the values: they were read at the entry minute, and seeing them earlier would tell you where the day was going. The payoff panel shows the trigger and the conditions with their rules, plus the values already known at the playhead: the day's filters (decided at the open: day of week, gap, overnight VIX) with a ✓, the move since the open measured live, and the opening range once it has closed, with the spot live against it. A dot marks a condition not met at the playhead yet; read at the entry marks those the engine reads only at that minute (VIX, indicators, premium…).

At the entry the events feed tells the whole cause with the values the engine read, one line each for the trigger, the filters and the strikes. Backtests saved before entry causes existed say so: re-run them to see what triggered the entry.

Exit causes

Every exit of a backtest trade carries its exact cause, recorded by the engine at the moment it decided. At the exit minute Rewind tells it in words, for example:

  • P&L before costs $412 reached the target $400 (50% of the $800 premium, set by the recipe), 2nd minute in a row, as the recipe requires;
  • Trailing stop: the P&L peaked at $520 and gave back $160 (20% of the premium), down to $360 — armed once the profit reached 30% of the premium;
  • Short put tested: spot 5,612 (offset 5 pts);
  • Custom indicator: Opening range · Break down turns on (bar 10:25), the rule that held, with each condition's values and the bar they were read on;
  • Per-leg stop on the Sell Put 5,600: P&L before costs −$400 hit its stop −$400 (200% of its $200 premium); the whole position closed with it at −$250;
  • Held to expiration: settled at intrinsic value with the index at 5,640, no closing costs.

Then the booking: Booked $400 − $13 = $387, with the cap (Cap profits is on: booked at the threshold instead of the fill P&L), the position slippage and the commissions. If a level had been moved by a profit or timed action, the cause says which action moved it and when. A rule with a cooldown says so, and whether it was already true when the cooldown ended: Already true when its 1-min cooldown ended: it closed at the first check, at that minute's price. Leg groups and partial closes have their own titles (Group A · stop, 2 of 4 contracts · profit action).

Backtests saved before exact causes existed show the booked P&L and the mark at that minute, with a note to re-run them.

The events feed

Events lists what has happened up to the current minute: entries with their cause, exits with rule, threshold and booking, structures you mounted or closed, Tactics adjustments, alerts and notes. Collapsed, it shows the latest event in full, lighting up briefly when the playhead crosses a new one; expanded (All events), the whole list, newest first. It grows as the playhead moves forward and never shows the future. Click an event to jump to its minute.

The drawer

Structure & chain opens a side drawer with four tabs (full screen on a phone).

Structure · Positions
One card per structure in play (the tab reads Positions when there is more than one): its P&L with the engine's fill model, entry and close times, contracts and credit or debit, Close, Undo close and, for the structures you added, the bin. Under it one row per leg: side (S/B), fill, mid, P&L at mid and IV, at the playhead (at the close, for a closed structure). A pencil next to each strike changes it (see Changing a strike).
Chain
The chain at the current minute. For a historical trade it is read-only. For a structure you built, click a bid to sell or an ask to buy (click again to remove the leg), then Re-arm the structure to restart the replay with the new legs.
Tactics
Arm Tactics for this run, and see the adjustments opened.
Journal
Your notes for this replay (see Journal).

Real day versus what-if

A trade replayed from a backtest is a photograph of what the engine did: if the recipe ran a Tactic, its adjustments come in at their booked times and P&L (switch Include the backtest's adjustments, on by default), so the P&L is the day's real one. Tactics you arm in Rewind and the structures you mount by hand add on top as a what-if: the trade itself keeps its recorded exit. Turn the switch off to start the what-if from the main structure alone. See Tactics in Rewind. On a portfolio day, switching strategies off is a what-if too (see A portfolio day), and so is a trade whose strikes you changed (see Changing a strike).

Changing a strike

Every leg in the drawer's Structure tab has a pencil next to its strike. Click it to change that strike: step through the strikes quoted at the structure's entry minute with ‹ ›, or Browse chain to open the chain of that minute, centred on the leg, and click a strike. The leg keeps its side and type, and the strikes the other legs hold are skipped. Beside the stepper you read the strike's bid and ask at that minute; a strike the market wouldn't fill is flagged (a leg to sell needs a bid) and can't be applied. Change one leg or several, then apply them together; Cancel drops the changes.

What applying does depends on the structure:

A backtest trade
Replay with these strikes re-runs that day with the backtest's own recipe: the same entry decision, at the same minute, with the same contracts, and your strikes in place of the ones the recipe picked. From there the recipe's rules (targets, stops, time exits, Tactics) manage the new structure, so the exit can change too: it's how the trade would have gone with those strikes. The legs you moved are filled with the recipe's fill model on the entry minute's chain, the others keep their fills. It works on saved backtests and on runs you haven't saved, opened from the console's trade log (see Entry rules for the filters).
An imported trade
The file has no recipe to re-run: the new structure enters and exits at the file's minutes (or settles at expiration), with the file's costs, priced on Veeman's data. Its P&L is an estimate, and the card says what-if ≈.
The structure you mounted on the day
Re-arm with these strikes mounts it again at its entry minute, like re-arming from the chain: the run starts over from the entry.
A structure you added
Mount again with these strikes mounts it again at its own minute, with the same contracts and costs. A close you decided stays at its minute, with the new P&L, and its journal entries tell the new legs.

The adjustments the engine opened, the other positions of a portfolio day and the Tactics adjustments have no pencil: they are facts of the day, or they follow their rule. A portfolio day has no pencil on its first position either: switch strategies off instead (see A portfolio day).

Entry rules

The backtest decided to enter on the trade's own strikes. Some of its entry filters depend on the structure, so Rewind checks them again on the strikes you chose, with the engine's own rules and fills:

  • the premium filter (credit or debit per contract, and its side);
  • the short / long premium ratio;
  • wide spreads, when the recipe skips them;
  • margin sizing: how many contracts the margin rule would size on the new structure.

If they all pass, the what-if plays straight away. If one doesn't, Rewind doesn't replay on its own: a dialog lists each rule with the value your strikes give and what the recipe wants (for sizing, how many contracts it would size), and Replay anyway goes on. The what-if keeps the trade's contracts even when the margin rule would size them differently. The rules you override stay written on the what-if: the header counts them (1 rule overridden), the entry in the events feed and the note under the replay list them, and a journal saved on it reopens it without asking again.

The filters that don't depend on the strikes (time, day, VIX, moves, indicators) passed at the trade's entry and still do. An imported trade has no recipe, so there is nothing to check.

The what-if on screen

A trade with changed strikes is a what-if, never the trade, and Rewind says so:

  • the header reads what-if with how many strikes you moved, and Back to the trade. Next to booked (the what-if's P&L, as the engine books it), trade keeps the P&L the backtest booked (file for an imported trade). A maximized panel keeps the what-if tag;
  • in the drawer the strikes you moved are in the accent colour, with the trade's strike struck through beside them, and the card is tagged what-if;
  • the entry in the events feed says which legs you moved, and the entry cause says those strikes were chosen by hand (the filters it lists are the ones that decided the entry, on the trade's strikes);
  • a note under the replay recalls what stays the trade's and what changes.

The playhead stays on its minute, so the what-if and the trade compare at the same moment. To try other strikes, use the pencil again: a what-if always starts from the trade, and putting every leg back on the trade's strike is the same as Back to the trade. Like re-arming, going from the trade to a what-if and back starts the run's work over (journal, alerts, the structures you added): Rewind asks first when there is any. A journal saved on a what-if reopens it.

Note

If the dataset changed since the backtest ran and the engine no longer enters at that minute with those strikes, the what-if can't be built and Rewind says so: run the backtest again and open the trade from the new run.

Gamma exposure

Gamma (next to Indicators on the underlying panel) reads the dealers' position from the day's open interest: how much they would have to buy or sell to stay hedged as the index moves. Everything follows the playhead: each minute uses that minute's chain and nothing later.

GEX
Gamma × open interest × the contract multiplier (100) × spot² × 1%, per contract: the dollars of index dealers would trade to re-hedge a 1% move. Calls count as positive and puts as negative: the usual assumption that investors sell calls and buy puts, so dealers are long call gamma and short put gamma. Net GEX is the sum over every strike.
DEX
Delta × open interest × the contract multiplier × spot, per contract: the dollars of delta the open interest carries, with the delta's own sign (calls positive, puts negative), seen from the option holders. Dealers on the other side hold the opposite.
Gamma flip
The index level where net GEX changes sign. Every option's gamma is repriced at nearby prices with Black-Scholes, keeping its IV and its time to expiry, and the zero of that curve closest to the price, within ±3%, is the flip. If the whole ±3% window has the same sign there is no flip at that minute and the line breaks.
Call wall · Put wall
The strike with the largest call GEX and the strike with the most negative put GEX at that minute. They move during the day as gamma concentrates near the price, not only when open interest changes.

Values are in dollars (thousands, millions, billions). The greeks are the dataset's; where a contract has no gamma or delta in a minute they come from its IV with Black-Scholes, and a contract that stops quoting keeps its last values for up to 5 minutes. An in-the-money option takes the IV of the out-of-the-money option at the same strike, and its gamma and delta come from Black-Scholes with it. Same strike and same expiration means the same volatility, and an in-the-money option's own IV is unreliable: its price is almost all intrinsic value, so a cent of bid/ask moves it a lot (its gamma often comes out several times too large late in the day), and it is often missing altogether. This is how volatility surfaces are usually built, and it keeps each strike's net GEX from leaning on the noisier side.

Dealer positioning

Gamma exposure needs to know who holds each option, and public data doesn't say. The Dealer positioning switch in the Gamma menu picks how it's estimated. GEX, DEX, the flip, the walls and the profile all follow it, and so do alerts and Tactics on gamma levels.

Open interest
The classic assumption above: dealers hold all the open interest, long the calls and short the puts. On 0DTE it holds poorly. The opening open interest is a small part of the day's trading (about 5% of the volume near the price, 2022–2026), and customers' buying and selling nearly balance, so the assumed sign is often wrong.
Trade flow
The dealers' position estimated from the day's trades. Each trade is matched with the bid and ask at that instant: at or above the ask, or above the mid, the customer bought; at or below the bid, or below the mid, the customer sold; exactly at the mid, unknown. Dealers hold the opposite. From the open to the playhead, every contract adds up what customers bought minus what they sold. A call customers bought makes dealers short gamma, so it counts negative. DEX is the delta customers bought during the day.

What the trade-flow model leaves out:

  • multi-leg spreads traded as one order (30–45% of 0DTE volume): a leg's price doesn't say whether that leg was bought or sold. Legs that execute against the single-option quotes are included;
  • crosses arranged in advance, late or out-of-sequence prints, and cancelled trades;
  • positions from previous days: the opening open interest, whose side is unknown, counts as zero;
  • trades outside the regular session.

The menu shows the share of the day's volume that was signed. A day without signed flow in the archive can't use this model: Rewind says so, and Open interest still works.

On the chart

Gamma levels
The flip (amber), the call wall (green, dashed) and the put wall (red, dashed) as lines through the day, revealed with the playhead. Their values at the playhead are tagged on the price axis: FL, CW, PW. When the flip jumps more than four strikes in a minute (the profile has several zeros, as happens early in the day with Trade flow), the line breaks instead of joining the two.
Strike bars
A strip between the chart and the price axis, on the same price scale: a call bar (green) and a put bar (red) per strike, pointing right when positive and left when negative. Choose what they measure. OI is open interest in contracts, fixed for the day, with puts drawn to the left. Flow is customers' net contracts from the signed trades up to the playhead: right = bought, left = sold. GEX is dealer gamma at the playhead (right = dealers long gamma). Net is net GEX per strike: calls plus puts in a single bar, green and to the right where dealers are long gamma at that strike, red and to the left where they are short. DEX is delta at the playhead. In the other modes, with Open interest positioning calls always point right and puts left; with Trade flow both can point the same way, and the row then splits in two. The label under the strip gives the largest bar, which fills half the strip (on a narrow strip, only what the bars measure). Hover a bar to read its strike's values.
GEX profile
In the same strip, the net GEX the market would have if the index were at each price, right of the center line when positive. It crosses the center line at the gamma flip.
Strip width
The strip is 92 pixels wide by default, 56 on a phone. Drag its left edge with the mouse to widen or narrow it (over the edge the pointer becomes a resize arrow and the edge lights up), or use Strip width in the Gamma menu, which also works on a touch screen. Double-click the edge, or press ↺ in the menu, to go back to the default. The width goes from 48 to 400 pixels. Widening stops where the candles would get less room than the strip, so in a narrow panel the strip can stay narrower than you set it, and it widens again in full screen. Rewind remembers the width.
Readout
Under the symbol: net GEX, net DEX, the flip and the regime. Positive gamma when the index is above the flip (dealers' hedging leans against the move), negative gamma below it (their hedging follows the move). With no flip, the sign of net GEX decides.

In alerts and Tactics

Alerts can watch Gamma flip, Call wall, Put wall, Net GEX and Net DEX, and compare them with another series: Underlying crosses above Gamma flip pauses the replay the minute the index crosses into positive gamma. Tactics use the distance from a level instead, in points (see Gamma level distance). The gamma series are loaded whenever an alert or an armed Tactic uses them, even with the display switched off.

Heads up

Two limits of the data. Only the 0DTE chain is in the dataset, so this is the same-day options' gamma, not the whole SPX book (the readout says 0DTE and the positioning: OI or Flow). Open interest is the day's report, which counts the positions at the previous close: it has no lookahead, but the contracts opened and closed during the day, most of 0DTE volume, aren't in it. The Trade flow positioning covers them, with the gaps listed above.

Alerts

Alerts (the bell in the tool band, with a badge counting the active alerts) pause the replay when something you care about happens. An alert has:

Conditions
Up to three, all required (AND). Each compares a series (the underlying, the open P&L, a leg's premium in $, the position delta, gamma, theta per day, vega per IV point, an indicator line, or a gamma level) with a value or another series ("spot crosses above the SMA", "MACD crosses its signal", "spot crosses above the gamma flip").
Operator
Crossing ⇄, crosses above ↑, crosses below ↓, greater or equal, less or equal.
Trigger
Only once or every time.
Expiration
A time after which it stops (empty = until the close).
Message
Text shown when it fires.

Alerts are edge-triggered: they fire at the minute the conditions become true, not on every minute they stay true. A threshold is true by the sign of the difference; a cross is a change of sign between one minute and the next. Evaluation is a pure function of the minute, so scrubbing or jumping never confuses it.

When an alert fires, the replay pauses and a banner shows the message and the time: Resume, Disable & resume, or Close (stay paused). The firing is written to the journal with the time and values, and marked on the tape.

Journal

The journal records what happened and what you thought:

  • fired alerts log themselves with the time and the values;
  • every structure you mount or close logs itself too: the time, the structure and its legs, the credit or debit, the index and the net P&L of all the structures at that minute (a close you undo or redo replaces its entry);
  • Note at minute adds your own note at the current minute, snapshotting the variables you choose (spot, P&L, greeks, leg premiums: the same vocabulary as the alerts);
  • each entry can be deleted, and clicking it jumps to its minute.

Save stores the journal with its context (the replay it belongs to, including the structures you added and the ones you closed), under a name you can change. The Saved list reopens it; a journal saved on another replay, or on a different set of structures, offers Reopen that replay, which rebuilds the structures and their closes. A journal saved on the what-if of a saved backtest's trade or of an imported trade reopens the same what-if; if it can't be rebuilt any more, the trade opens as it happened and Rewind says why.

Settings

Readout greeks
Which greeks the readout shows: delta, gamma, theta per day, vega per IV point (delta, theta and vega by default).
P&L basis
Engine (default): what closing at that minute would book, with the legs at the closing prices the backtest uses for stops, plus the exit slippage and the commissions. Mid: a mid-spread reading, without slippage.
Ghost trace beyond the exit
On by default.
Show future candles
Off by default.
Entry curve
The at-entry curve as a fixed reference on the payoff (off by default).
Time trail on the payoff
On by default.
Pause at each entry
On by default: playback stops at each entry and tells what happened (see Pausing at each entry). It's the same switch as in the app's Settings, saved with your account.

Honesty notes

Rewind tells you when the picture isn't exact:

  • if the current dataset is not the version the backtest ran on, the path may differ from the recorded numbers;
  • if a trade's booked P&L differs from the mark at its exit minute and the recorded cause doesn't explain it (for example rounding in an old save), a warning gives both figures;
  • on a trade imported from a file the gap between the file's P&L and Veeman's mark at the exit is told in the events feed, not warned: the file was booked by another engine. Two things are warned: the file's SPX at entry more than 2 points off Veeman's at that minute (its times may be in another time zone), and a settlement more than $1 per contract off the file's P&L.