A handful of terms appear throughout VEEMAN. Learn these once and the whole app reads clearly.
A strategy is a single daily profit/loss series — typically one uploaded file. Internally, whatever the source format, VEEMAN reduces it to one canonical shape: a value of P/L per day. Multiple trades on the same day are summed into that day's total.
A strategy carries a name (from the file or a Strategy column), a weight and a
visibility flag (you can hide a strategy without removing it).
A session is your live workspace: the set of strategies currently loaded, their weights, the initial capital, the analysis mode and any weekday filters. It is created on your first upload. The status bar leads with where the session comes from: a fresh upload reads Session · unsaved until you persist it, after which it shows the portfolio name (when loaded from the library) or the variant name (when restored, tagged restored). As soon as you change a loaded session — weights, visibility, order, capital, mode or weekday filters — an unsaved tag appears next to its name, and it clears again the moment you save (or revert the change). Whenever there are unsaved changes a save control appears and opens a save dialog. For a fresh session the dialog asks for a name and an optional description and stores it as a new portfolio. For a session you loaded from a portfolio the dialog offers two choices side by side: Update, which overwrites that same portfolio in place, and Save as new — which reveals the name + description form and stores the current changes as a fresh, separately named portfolio that leaves the original untouched. Restoring a variant and saving likewise creates a new portfolio. The same save control sits both in the status bar (next to the session name, across all analysis modules) and in the Workspace header.
You never have to save just to avoid losing work. Every change you make is mirrored, within a couple of seconds, into a draft of the current session held on your account — capital, mode, weights, visibility, sizing, costs, groups and their scale, weekday filters, and the P/L series themselves. "Every change" is meant literally: renaming a sleeve, collapsing it, recolouring it, or tuning a sizing or cost field while that regime is switched off are all captured too, even though none of them moves a number on screen.
The draft is a pre-saved state, not a save:
Drafts are kept for 7 days from the last change; beyond the 5 most recent, older ones are pruned — but work you still have open is never pruned. Starting a new session, deleting the session, or removing every strategy discards the draft — those are decisions, not accidents.
If the server can't reach your draft for a moment, it says so and retries instead of declaring the session gone: you may briefly see "your work is safe but the server can't retrieve it right now". That message means the draft is intact and a retry a few seconds later will pick it up. Only the three deliberate acts above actually discard one.
A draft is not a portfolio
Autosave protects your work in progress; it does not file it. A draft has no name, no description and no tags, it does not appear in the library, and it expires. To keep something permanently — and to reuse it later — save a portfolio or freeze a variant (below).
The live session itself is still ephemeral
The in-memory session has a 24 hour time-to-live and is swept periodically. What outlives it is the draft: after the session is swept, or the backend restarts, the next request rebuilds it from the draft under the same session id. What the draft does not carry is the History timeline (undo/redo steps) and any import still waiting for review — both restart empty.
The initial capital is the starting value of the portfolio's equity. The equity curve is built additively:
equity(t) = initial_capital + cumulative_sum( weighted daily P/L up to t )
So capital sets the baseline the P/L accumulates on — it shifts and scales percentage figures, but the dollar P/L itself comes from your trades.
A weight is a multiplier on a strategy's daily P/L — not an allocation percentage. A weight of
2.0 doubles that strategy's contribution to the portfolio; 0.5 halves it; 0 mutes it. Changing a
weight rescales that strategy's P/L before everything is summed, so the whole curve and every metric
update accordingly. Details in Weights & capital.
Analysis runs in one of two modes:
Your library holds two kinds of saved object:
These persist to your account. See Library.
A variant is a frozen snapshot of a session — its recipe (capital, mode, the strategies with their weights/visibility, weekday filters) plus the computed results (equity, drawdown, metrics). Unlike a saved portfolio, a variant is immutable: you freeze it to remember a specific configuration, pin several variants to overlay them on the Workspace charts, and restore one into a brand-new session when you want to continue from there. See Variants & comparison.
Rule of thumb
The live session is temporary, but its draft is not: work in progress survives on its own for a week. Everything you explicitly save (portfolios, strategies) or freeze (variants) is stored on your account until you delete it.
| Item | Where it lives | Survives a restart? | Kept for |
|---|---|---|---|
| Live session (in memory) | Server RAM | No — rebuilt from its draft | 24h idle |
| Session draft (autosave) | Your account | Yes | 7 days, last 5 |
| History timeline (undo/redo) | Server RAM | No | The session |
| Saved strategy | Your account | Yes | Until deleted |
| Saved portfolio | Your account | Yes | Until deleted |
| Variant (recipe + results) | Your account | Yes | Until deleted |
Next: import your data cleanly — Supported formats.