SOAP2Docs ← Website
SOAP2 top banner

Model & Trade Import/Export

SOAP2 can export a recorded trade or a saved combo model to a portable JSON file, and import one back in — on the same machine, a different one, or shared with someone else. This page covers both, plus a related feature for saved models: rolling one onto a new expiry before it's automatically pruned.

Related:



Trades: Export / Import

In the Trade List window (Alt+T), select a recorded trade and use the toolstrip's Export / Import buttons.

Because the account is assigned at import time rather than carried in the file, the same exported trade can be imported into as many different accounts as you like, each as its own independent trade.


Models: Export / Import

Saved models (combo-leg templates, not recorded trades) live in the per-symbol Models browser, opened with Ctrl+M from an Options Analysis window. Right-click a saved model in the list:

Since a JSON-imported model's contract IDs may be foreign to the current session, a leg that matches an expiry tab other than the one you're currently viewing may be recorded without live data until you switch to that tab.


Copy Model to New Expiry

Also in the Models browser's right-click menu: Copy to New Expiry opens a submenu listing the other expiry tabs currently open in that Options Analysis window. Pick one, and SOAP2:

  1. Matches each leg's strike and right against the destination expiry.
  2. Resolves each leg's contract ID against what's already known for that expiry, requesting it live from IB for anything not already cached.
  3. Writes the result as a new model file — the original is never modified or deleted.

Matching is exact strike only: if a leg's strike doesn't exist at the destination expiry, that leg is left out and reported by name (strike/right) in the status bar rather than silently moved to a different strike.

Note: the destination must currently be an open expiry tab in that Options Analysis window — you can't yet target an expiry that isn't already loaded as one of the (up to 4) tabs.


The "expiring soon" flag

Saved models are pruned automatically once their legs expire — silently, with no warning, at the next app startup or the next time the "Load Model" dropdown is opened after settlement. To give you a chance to act first, the Models browser now flags any model whose earliest leg settles within the next few days: it's shown in bold dark red with an "expires ..." label, and stays visible in the list even if you're currently looking at a different expiry tab. Use Copy to New Expiry (above) on a flagged model before it disappears.


File locations


FAQ

Does exporting a trade expose which account it came from? No — account information is deliberately excluded from the exported file, including per-execution account data.

What happens if I import a model whose legs don't match any open expiry tab? The existing "Load Model" validation applies: if none of the model's expiries match a currently open tab, the load is cancelled with a "wrong chain" message. Open the relevant expiry tab first.

Can Copy to New Expiry target an expiry I haven't opened yet in this session? Not yet — only expiries already open as a tab in the same Options Analysis window.

Does Copy to New Expiry ever change or delete the original model file? No — it always writes a new file with a fresh timestamp.


Related


Go back to the main help page: SOAP2 Help Guide

⬅ Back