Strategy Builder

Build quantitative strategies, backtest them with real data and transaction costs, promote winning strategies to production, and generate actionable trade lists.

Creating a Strategy

Navigate to Strategy Builder → Build New Strategy. Fill in the strategy identity fields at the top:

FieldDescriptionExample
Fund NameDisplay name for your strategyMomentum Alpha Fund
Scheme NameStrategy classification or categoryLong Only Equity
Iteration NameLabel for this version of the strategy — useful when running multiple variants of the same ideav1, Tight Constraints, High Beta

Configuration Bar

Below the identity fields, a configuration bar lets you set the top-level strategy parameters:

ControlDescriptionOptions / Example
UniverseThe pool of stocks the optimizer can allocate toNIFTY, SENSEX, BSE 500, NIFTY 500, NIFTY 100, NIFTY 200, NIFTY MIDCAP 150, NIFTY SMALLCAP 250, NIFTY LARGEMIDCAP 250, NIFTY MICROCAP 250, NIFTY NEXT 50, FNO, Custom Screener
BenchmarkIndex used for excess-return and tracking-error calculationsNifty, BSE 500, Nifty 100, Nifty 500, Nifty Next 50, and more
DateReference date (used for data anchoring in some analyses)Any valid trading date
Include FuturesCheckbox — when enabled, FNO (futures & options) eligible stocks are included in the universeEnabled / Disabled

Click Add in the Constraints card to add one or more constraints. The optimizer enforces all active constraints at every rebalance date. You can upload/download constraint sets as files or delete individual constraints.

ConstraintParametersWhat It Controls
Maximum Capitalmax_capitalUpper bound on total capital deployed (e.g. 1.0 = fully invested)
Maximum Number of Positionsmax_positionsHard cap on how many stocks the optimizer can hold
Position Size Boundmin_weight, max_weightMin and max weight per stock (e.g. 0.01–0.10 for 1%–10%)
Minimum Position Size Constraintmin_position_sizeEnsures each held position is at least this large — avoids tiny, unactionable allocations
Portfolio Risk Budget Constraintrisk_budgetCaps total portfolio variance/risk at a target level
Beta Exposure Constraintmin_beta, max_betaKeeps portfolio beta within a band (e.g. 0.8–1.2 for near market-neutral)
Factor Exposure Constraintfactor_name, lower_bound, upper_boundConstrains the portfolio's exposure to a specific factor (e.g. MOMENTUM between 0.2 and 1.5)
Sub Portfolio Capital Constraintsub_capitalLimits capital allocated to a sub-group of stocks within the universe
Single Name Idiosyncratic Contributionmax_contributionCaps how much idiosyncratic (stock-specific) risk any single stock can contribute to the portfolio
Portfolio Turnover Constraintmax_turnoverLimits how much of the portfolio can change at each rebalance (e.g. 0.3 = max 30% traded)
Category Selection Constraintcategory, min_count, max_countEnforces min/max number of stocks from a specific category (e.g. at least 3, at most 8 from IT)

Objectives

Click Add in the Objectives card to define what the optimizer should aim for. Only one objective is used at a time (the first active one).

ObjectiveParametersWhat It Does
Risk Minimization Objectiverisk_type, weightFinds the lowest-variance portfolio. Best for capital preservation
Return Maximization ObjectiveweightMaximizes expected return. Tends to concentrate — pair with position size constraints
Risk-Adjusted Return ObjectiveweightMaximizes Sharpe ratio — balances return and risk. Most practical general-purpose objective
Tracking Error Minimizationbenchmark, weightKeeps the portfolio close to a benchmark. Good for enhanced index strategies

Configure & Run Backtest

Click Configure Backtest to open the backtest configuration dialog.

Date Range

FieldDescription
Start DateFirst date of the simulation. Choose a date with at least 6–12 months of data before it for warm-up
End DateLast date. Auto-filled with the latest available trading date

Rebalance Schedule

Two modes:

ModeHowOptions
Regular IntervalOptimizer re-runs at a fixed cadenceWeekly, Monthly, Quarterly
Specified DatesOptimizer re-runs only on the exact dates you provideComma-separated dates in YYYY-MM-DD format (e.g. 2025-07-01, 2025-08-01)

Weight Method

MethodDescription
Equal WeightEach stock in the portfolio receives the same weight. Simple and transparent
MomentumWeights are proportional to each stock's recent momentum score — higher momentum gets a larger allocation

Stop Loss

An expandable section with two independent stop loss types. Both are optional and can be configured independently.

Total Stop Loss

Triggers on the total portfolio return (including factor exposure).

FieldDescriptionExample
Stop Loss (%)Maximum allowed loss before the stop fires10
% of PortfolioThe portion of the portfolio this stop applies to (100 = entire portfolio)100
Days to ExcludeNumber of trading days the position is held out after the stop fires before being eligible to re-enter5

Residual Stop Loss

Triggers on the residual (idiosyncratic, stock-specific) return — the portion not explained by factor moves.

FieldDescriptionExample
Stop Loss (%)Maximum allowed residual loss before the stop fires8
% of PortfolioFraction of portfolio this stop covers100
Days to ExcludeCooldown period in trading days after the stop fires5

Total vs Residual:Total stop loss fires on the stock's full price drop (including market and factor moves). Residual stop loss fires only on company-specific bad news, ignoring broad market selloffs — useful for avoiding false exits during market corrections.

Burn-in and Chunking

An expandable section that controls how the backtest periods are structured and how the model warms up.

FieldDescriptionDefault
Max ChunksSplits the backtest into this many out-of-sample evaluation windows. Each chunk trains on prior data and tests on the next period — similar to walk-forward testing5
Min Rebalance / ChunkMinimum number of rebalances each chunk must contain. Prevents chunks from being too short to be statistically meaningful5
Burn-in RebalancesNumber of initial rebalances discarded from performance reporting. Allows the model to settle before measurement begins — avoids distorting results with the cold-start period2

Running the Backtest

Click Run Full Backtest. The system:

  1. Saves your strategy, constraints, and objectives to the database
  2. At the start date, runs the optimizer to compute initial weights
  3. Simulates the portfolio daily using real historical prices
  4. At each rebalance date, re-runs the optimizer with updated data
  5. Applies transaction costs and stop loss rules
  6. Returns an equity curve, rebalance history, and summary metrics

Backtest Results

After completion you see:

  • Total Return %, CAGR, Sharpe, Max Drawdown, Total Trades, Final Value
  • Equity curve chart — portfolio value over time
  • Rebalance history table — date, portfolio value, positions, turnover, trades at each rebalance
  • Latest portfolio weights — current optimal allocations sorted by weight

Backtest Credits: Running a backtest costs credits (shown in the bottom bar as X / Y). Each account has a credit quota. Credits reset periodically.

Compute 1-Day Results

The Compute 1-Day Resultsbutton runs the optimizer once on today's data — no backtest, no simulation. This is useful for quickly seeing the current optimal portfolio without spending backtest credits.

Output:

  • Expected Return %, Expected Risk %, Sharpe, Positions
  • Optimal Portfolio Weights — full weight table sorted by allocation

Additional Analytics

Click Additional Analytics to attach factor signals to the backtest for enriched analysis. Two categories are available:

CategoryDescriptionExamples
User Created FactorsFactors you have built or uploaded in the Alpha MachineMomentum Score, Value Composite, Quality Rank, Growth Score
Screener FactorsStandard fundamental and technical screener metricsP/E Ratio, P/B Ratio, ROE, ROCE, EPS Growth, Beta, RSI, Operating Margin

Selected factors appear as badges below the constraints/objectives section and are included in the analytics output. Use the search box to find specific factors. Selected factors are shown with remove badges.

Promote & Demote

Once you are satisfied with a strategy's backtest results, you can promote it to production.

  • Click Promote on a backtested strategy — it moves to the Production tab
  • Production strategies can generate live rebalance trade lists
  • Click Demote to move it back to the Backtested tab

Live Rebalance

For production strategies, click Rebalanceto generate an actionable trade list using current market prices and the optimizer's latest target weights.

Trade Actions

ActionColorMeaning
NEW BUYGreenBuy a stock not currently held
INCREASEGreenBuy more of an existing holding
REDUCEAmberSell some shares of an existing holding
EXITRedSell all shares (completely exit position)
HOLDGrayNo change needed

The trade list shows Symbol, Action, Current %, Target %, Delta %, Qty, Value, and Price for each position. Download as CSV for manual execution through your broker.