Skip to main content

Run a full calibration and prediction from the webapp with alphagen-3, using the bundled sample dataset (TTF futures + IFS weather forecast).

Your first calibration

This page walks you through the exact UI steps to calibrate an alphagen-3 model on a real example (TTF gas futures driven by German weather variables), then to run a prediction on top of it. No code, no notebook — everything happens in the webapp.

alphagen-3 is the model selected by default, and the one every plan can run. This guide covers the standard calibration path; the wizard's Advanced section (walkforward validation) is deliberately left untouched here and documented separately.

Team & seat prerequisites

The project you create and every calibration/prediction you launch live inside the team currently active in the top-right team switcher.

  • You need a builder or manager seat in that team to create projects, calibrations and predictions. The + New buttons appear disabled with a 403 seat message otherwise.
  • Every row you create records who launched it (Created by (email) column — hidden by default, toggle it from the column-visibility menu of any calibration/prediction table).
  • If you belong to several teams, switch to the right one before clicking + New project — a project name is unique per team, not globally.

Download the sample data

Two Excel files. Save them anywhere on your machine.

TTF futures prices — ttf.xlsxttf.xlsx

German IFS 1-day-ahead weather forecast — forecast_ifs_allemagne_step_24.xlsxforecast_ifs_allemagne_step_24.xlsx

FileColumns used
ttf.xlsxdate, nearby (price), px_delta (price change)
forecast_ifs_allemagne_step_24.xlsxDate, Temperature (Celcius), Wind speed (m/s), Precipitation rate (mm/h)

You'll load ttf.xlsx as the price, then pull three explanatory variables out of the IFS file: temperature, wind speed and precipitation rate.

1. Create a project

A project is a container for related calibrations and predictions (e.g. "EU power", "Brent crude", "TTF").

  1. Open My projects (/dashboard).
  2. Click + New project (top-right).
  3. Give it a name — for this walkthrough, use DEMO_PROJECT. Add a one-line description if you want.
  4. Click Create.

The new project appears in the table. Click its name to enter it.

Note — deleting a project is reserved to the manager seat. A builder can create projects and calibrate inside them, but the delete action is hidden and the endpoint answers 403. The deletion cascades to every calibration and prediction the project holds, for every member of the team — hence the narrower gate.

2. Launch the calibration wizard

On the project page, click + New calibration (top-right). The wizard opens with five steps. The progress bar at the top lets you jump back to any step you've already passed.

The Model card just above the progress bar lets you pick the algorithm. It already reads AlphaGen v3 — leave it there.

The picker only lists models your team is entitled to, so what you see depends on your plan and subscriptions:

ModelWho can run it
alphagen-3Every plan. The default, and the subject of this guide.
impromai-modelsTeams with the matching product subscription. Its wizard starts with a Product step instead of a price upload.
alphagen-2AlphaGen administrators only.
alphagen-1Retired — no plan carries it. Existing calibrations still open and display normally; new ones cannot be created.

Step 1 — Price data

  1. Drag-and-drop ttf.xlsx on the upload zone (or click to pick).
  2. The wizard previews the file and auto-fills the column mapping. If it doesn't, set them yourself:
    • Date → date
    • Value → nearby
    • Delta (optional) → px_delta
  3. You should see a green confirmation: ✓ N points recognized as a valid time series.

Tip — providing the Delta column is recommended whenever your file has it: the backtest uses it directly instead of recomputing returns, which avoids rounding artefacts on illiquid contracts.

Click Next →.

Step 2 — Explanatory variables

This is where the IFS weather file becomes three separate variables.

  1. Drag-and-drop forecast_ifs_allemagne_step_24.xlsx on the upload zone. The wizard creates one variable per file by default, so you start with a single entry.

  2. Configure that first entry:

    • Variable name → Temperature
    • Dataset → dataset_1
    • Technical key → temperature
    • Date column → Date
    • Value column → Temperature (Celcius)

    The card shows the Final identifier dataset_1.temperature — this is the handle the model uses internally.

  3. Drop the same file again on the upload zone twice more to create two additional entries, and map them as follows:

    Variable nameDatasetTechnical keyValue column
    Wind Speeddataset_2wind_speedWind speed (m/s)
    Precipitation Ratedataset_2precip_ratePrecipitation rate (mm/h)

    The Date column is Date for both.

You should end up with three variables grouped into two datasets:

dataset_1
  └─ dataset_1.temperature
dataset_2
  ├─ dataset_2.wind_speed
  └─ dataset_2.precip_rate

Note — the dataset field is just a label that groups variables sharing the same source. The model can mix variables from different datasets freely. Use it for clarity (e.g. weather, fundamentals, satellite) — it does not affect the math.

Click Next →.

Step 3 — Series editing

The wizard plots each series, highlights gaps and outliers, and lets you edit cells in place if you want to clean the data. For this walkthrough you can leave everything as-is and just click Next →.

If you do want to try the editor: open one of the variable cards, use the toolbar to fill missing values (forward-fill, linear interpolation), clip outliers, or edit individual rows in the inline table.

Step 4 — Parameters

Two layers of parameters. Sensible defaults are pre-filled — for this walkthrough the only thing worth tuning is the Expected impact direction on each variable.

Backtest parameters (shared by all variables)

These parameters drive the simulator that turns the model's signal into a NAV curve. Defaults are tuned for daily commodity-futures backtests on a single instrument — you can change them, but the values below work out of the box for the demo data.

FieldDefaultWhat it controls
Backtest start date2023-01-01The signal is still fitted on the whole price history (everything before this date acts as the training window). PnL accounting and the statistics in the dashboard only start counting from this date onwards.
Initial capital10,000,000Starting NAV of the simulated portfolio, in the same currency unit as the price series.
Contract size1Futures-contract multiplier (USD/€ per point). The position size in the backtest is number_of_contracts × contract_size × price. Set to your instrument's official contract size (e.g. 1000 for a TTF lot).
Max Value-at-Risk10,000Daily VaR budget (in NAV currency, 95% confidence, computed from a 75-day EWMA of log-returns). The Target VaR allocator sizes each day's position so the resulting one-day VaR is bounded by this number — it caps potential daily loss, not the cumulative drawdown.
Signal activation modelSignThe model first centres the intensity (0–100) into a signal in [-1, +1], then applies one of three activation functions: Sign → snaps to {-1, 0, +1} (binary full-short / flat / full-long); Linear → identity, signal stays proportional; Tanh → soft saturation near ±1, less binary than sign but bounded.
Activation slope1.0Only read when the activation is Tanh — it is ignored for Sign and Linear. Steepness of the S-curve, using the normalised form tanh(k·x) / tanh(k) so the endpoints always land exactly on ±1. k → 0 behaves like Linear, k = 1 is a soft curve, large k approaches Sign.
Allocation schemeTarget VaRHow position size is set day-by-day. Four schemes are exposed (a small (i) next to the label opens a recap inside the wizard): Target VaR (volatility targeting — sizes positions so the daily VaR matches the cap above), Fully invested (NAV-proportional sizing, compounds gains and losses), Fixed notional (constant number of contracts, never adjusted). Kelly fractional is reserved and disabled in the picker. Keep Target VaR for this demo — it gives the most readable backtest.
Return typeAbsolute deltaHow returns are expressed when computing PnL. Keep Absolute delta (px_delta): it uses the price change column directly and is the most numerically stable choice for futures. See the warning below before touching this field.
PnL from returnONWhen ON (default), the backtester consumes the delta column built by the wizard from your price file. When OFF, it ignores your delta and recomputes a percentage-change return internally from the price column. Keep ON.

Warning — the backtester implements exactly two return types, px_delta and pct_change. The Log return and Simple return entries in the picker match neither: selecting one leaves the NAV column unwritten and the run produces no usable backtest. Leave Absolute delta selected.

For TTF gas with the demo data, leave every backtest parameter at its default.

Per-variable parameters

Each variable card has its own toggles. For our three weather variables, use:

VariableSeasonalityTrendPositive onlyNDVIImpact
temperatureONOFFOFFOFFNegative
wind_speedONOFFONOFFNegative
precip_rateONOFFONOFFNegative

A quick reminder of what each toggle actually does:

ToggleWhat it does
Monthly analysisWhen ON, the variable is fit once per calendar month (twelve independent sub-models) instead of a single annual fit. Use it when the variable's relationship to price changes from month to month (e.g. heating-degree-days). For daily weather over a single regime, leave OFF.
Include weekendsWhen OFF, weekends are dropped from the variable's series before analysis. When ON (default), Saturdays and Sundays are kept. For weather data — which has values every day — keep ON.
SeasonalityWhen ON, a monthly seasonal pattern is extracted from the variable and removed before the analysis, so the model studies the residual (de-seasonalised) component. ON for any variable with an obvious yearly cycle — temperature, wind, precipitation all qualify.
TrendWhen ON, an expanding linear trend is fitted on the variable's full raw history and subtracted before the analysis, so the model studies the detrended residual. The fit is expanding — at each date it only uses data up to that date, never the future. Useful for variables that drift over years (e.g. climate anomalies, stock levels). For short windows of raw weather data, leave OFF.
Positive values onlyDeclares whether the variable can take negative values. wind_speed and precip_rate are physically non-negative → ON. temperature (in Celsius) can dip below zero → OFF. This is a hint about the variable's nature, not a constraint on the model's output.
NDVISpecial handling reserved for satellite vegetation indexes (Normalized Difference Vegetation Index). OFF for any other variable.
Expected impactDirection of the relationship between the variable and the price. Positive → when the variable rises, the price rises. Negative → when the variable rises, the price falls. For TTF, mild / windy / rainy weather depresses gas demand → price down, so Negative for all three.

Advanced — not used here

Below the per-variable cards, alphagen-3 exposes a collapsed Advanced section holding the walkforward mode: instead of one fit over the whole history, the model is refitted on a rolling window and reports out-of-sample metrics per step.

It changes what the results mean and adds its own widgets, so this guide leaves it collapsed. Everything below assumes the standard single-fit path.

Click Next →.

Step 5 — Review and launch

The review screen recaps the full configuration. Two fields at the bottom are worth filling in:

  • Tag → short identifier shown in the calibrations table and breadcrumbs. Example: ttf_weather_baseline_v1.
  • Description → free text. Useful for "why this run differs from the previous one".

Click Start calibration. The wizard closes and you land on the calibration's page. A banner shows Running… at the top.

3. Wait for completion

Calibrations run in the background. On this dataset expect well under a minute. While it's running:

  • The same page polls the backend and refreshes automatically — no need to reload. A progress indicator reports the phase the worker is in (preparing, fitting each variable, aggregating, writing results).
  • The Jobs entry in the left sidebar shows every active calibration and prediction across all your projects, with their elapsed time.
  • An email is sent to your account address when the job finishes (or fails).

When it's done the page swaps the Running… banner for the results dashboard. A red Failed badge appears instead if the backend rejected the run — open the linked job page for the error message.

4. View the calibration results

The results page is a fully customizable dashboard: a grid of widgets you can resize, move, add, or remove. Two charts are shown by default:

  • Intensity signal (aggregation) — the 0–100 signal over time, combining all three weather variables.
  • NAV vs Benchmark (aggregation) — your simulated portfolio against a buy-and-hold of the price.

Customize the dashboard

  • Edit mode — click the Edit button (top-right). Widgets get drag handles and resize grips. Save when done.

  • + Add widget — opens a catalogue of every widget the model exposes (36 for alphagen-3). They're grouped by category:

    CategoryWhat's inside
    MetricsThe "latest signal" card (Bullish / Neutral / Bearish), the per-variable signal card, and 9 KPI tiles (Sharpe, Hit Ratio, Max Drawdown, Annualized Return, Final NAV, Profit Factor, Volatility, Ulcer Index, Abs. Exposure Rate).
    ChartsAggregated intensity, NAV vs Benchmark, Drawdown, High Water Mark, Monthly heatmap (with a metric picker, customizable gradient, and yearly average column), Yearly heatmap (variables × years), intensity histogram, yearly Sharpe / PnL / Return-on-VaR bars, per-variable weights — plus per-variable versions of NAV / Drawdown / HWM / intensity / histogram / yearly Sharpe.
    DataSortable / filterable tables: full statistics, yearly statistics, the complete backtest, raw intensity points — at the aggregated level and per variable.
    NotesA card recapping the per-variable parameters that produced this run.

    Two extra widgets (in-sample vs out-of-sample PnL and the walkforward steps table) belong to the walkforward mode. They stay in the catalogue on a standard run and render a "no walkforward data" placeholder — that is expected, not a failure.

  • Templates — once you've arranged a dashboard you like, save it as a template. Subsequent calibrations open with the same layout.

Export

The Export button (top-right) downloads the entire results (all tables: backtest, intensities, statistics, yearly stats) as a multi-sheet .xlsx.

Read the headline numbers

The two default widgets answer the two questions you'll have first:

  • Did the signal capture anything? Look at the intensity chart: it should swing between ~0 and ~100 with visible regimes, not stay flat around 50.
  • Did it make money on the backtest? Look at NAV vs Benchmark: the calibration NAV (blue) above the benchmark (gray) means the strategy beat buy-and-hold over the backtest window. Add the Sharpe Ratio and Max Drawdown KPI tiles for a one-glance assessment.

5. Run a prediction from this calibration

Once the calibration is done, the calibration page shows a + New prediction button. Click it.

The prediction wizard is shorter (four steps, no Parameters step): the model and its per-variable parameters are inherited from the parent calibration. You only provide fresh data.

  1. Price data — load ttf.xlsx again (same column mapping as before). In practice you'd load a more recent file here.
  2. Variables — the wizard pre-creates one slot per variable with the correct dataset and technical key locked in (you cannot rename them — the backend matches on these exact identifiers). For each slot, upload forecast_ifs_allemagne_step_24.xlsx and re-map the columns:
    • temperature slot → date Date, value Temperature (Celcius)
    • wind_speed slot → date Date, value Wind speed (m/s)
    • precip_rate slot → date Date, value Precipitation rate (mm/h)
  3. Series editing — leave as-is.
  4. Review — pick a Tag (e.g. ttf_weather_pred_2026q1), then Start prediction.

Predictions are faster than calibrations — the model is not refitted, only scored on the new data.

6. View the prediction results

The prediction page has the same dashboard structure as the calibration page, with widgets pre-set to show the prediction's signals and intensity charts. Two ways to find it again later:

  • From the calibration page, the Linked predictions table at the bottom lists every prediction made from that calibration. Click a row to open it.
  • From the project page, the Calibrations table → click the calibration → its predictions appear in the side panel.

The same Export button downloads the prediction's tables as .xlsx.

Where to go next

  • The API quickstart reproduces this exact flow with Python, using the bundled tutorial notebook — same model, same dataset, same parameters.
  • The Jobs page in the left sidebar lists every running calibration and prediction across all your projects — handy when you have several runs going at once.