2026-06-03
- Fix
sim_params.tick_interval = "hour"which was previously ticking every possible tick.
2026-05-23
- Make live option marking atomic per trade. Previously when data was missing for a single tick, some legs could get updated
while others were kept at previous good tick. This creates spurious price swings. Now, the entire trade is updated together. (As before if there are consecutive ticks with missing data, the trade is closed at the last tick with full data). This happens less due to data pre-processing.
- Webserver updated to allow multiple backtests to execute in parallel (still limited to 1 per user). Should reduce wait times when server is busy.
2026-05-12
trade:adjust()now acceptsStrikeselector (was onlyDeltaandTradeDelta)UPI: Ulcer Performance Index is now shown in chart title and available in grid searchportfolio:find_leg()added. Takes same arguments astrade:add_legexceptqtyand does not actually open, just searches. NOTE that this is provisional and likely to change.- User Counts UI: add scroll for large number of User Counts
2026-05-04
- Fix trade:export() for
sim_params.archvie = "SPX-30"and others. trade:risk_graph()make colors more distinct in the chart.
2026-05-02
- Fix short dated DTE calculations (use seconds instead of integer hours for expiration and DTE)
- Improve handling of missing data for expired options
- Add Markdown docs download on https://option-forge.com/docs for use by local LLM or agent of choice.
- Risk graphs can be sorted by name. Use
trade:risk_graph(trade.id .. "my trade")to allow sorting/grouping by name - Allow up to 250 risk\_graphs to be shown
- Allow user to write a
forge_end()function that is called when the backtest is done. Has access toOandportfolio
2026-04-21
- Added the changelog page.
- Lua: add
trade:legs()which returns an iterator of Legs - UI: add 'Download NAV' button to
Run Outputwhich downloads datetime,NAV as CSV. - Remove the "Share this script:" box since it's simple to share the lua code. The "Share" functionality which shares the result of the backtests remains.
2026-04-19
- Updated backtester handling of missing data.
- Add 30-minute tick data. Available with
sim_params.archive = "SPX-30". From there, it's possible to dosim_params.tick_time = "14:00"and if you want to tick every 30 minutes:sim_params.tick_interval = "30-minute". If you do so. Be sure to add a guard so you don't enter a trade every 30 minutes.