Research dashboard / stock strategies

Out-of-Sample Strategy Trade Charts

A visual review of 250 trades sampled across the return distribution, including negative-return examples. Charts use research-database OHLCV data, resampled to 1-hour candles, with the original backtest entry and exit timestamps preserved exactly. Each chart helps validate whether the model's selected trades correspond to recognizable market structure rather than only statistical noise.

Loading trades 1h OHLCV Waiting for cache
Detailed reports Portfolio equity, drawdown, monthly returns, exposures, turnover, sleeve correlations, and edge map.
Return filter --
Ticker --
Side --
Policy return --
Fallback close return --

Policy performance

Overall strategy metrics

Waiting for metrics
Net Profit --
Scaled Return --
Portfolio-Scaled DD --
Weighted Return Sum --
Win rate --
Profit factor --
Trade Sharpe --
Trades --
Scope Trades Net Profit Scaled Return Portfolio-Scaled DD Weighted Return Sum PF Win
Loading metrics

How Portfolio-Scaled Drawdown Works

Raw trade return is not the same as portfolio return. Each selected action receives a portfolio weight from predicted utility and risk, then its contribution becomes trade return times portfolio weight. Daily weights are normalized and capped by ticker, strategy family, and total gross exposure, so a -5% trade at 5% weight contributes about -0.25% to the portfolio.

Portfolio-Scaled DD is calculated from the daily sum of weighted returns for the selected scope, compounded into an equity curve, then measured against its running high. The older unweighted trade-sequence drawdown is kept only as a diagnostic and is not shown as normal portfolio drawdown.

Candles / entry / exit

Loading chart

--

Trade examples

Grouped by strategy

Chart data

What the chart shows.

These charts show selected out-of-sample trades generated by the strategy pipeline. Each example comes from the frozen equity policy run and uses the exact entry and exit timestamps recorded by the backtest, without recalculating or adjusting them for display.

The price data is pulled from the research database using minute-level OHLCV bars, then resampled into 1-hour candles to make the trade structure easier to inspect. Entry markers show where the policy opened the position, and exit markers show where the recorded trade lifecycle ended. The charts are grouped by strategy family so we can visually compare how different sleeves behave across market regimes.

The policy return comes directly from the exported backtest file. When the policy return reflects an ATR stop, the chart marks that stop separately from the later scheduled fallback exit. The dashed horizontal levels are displayed 1-hour OHLCV reference closes, while the stop timestamp is scanned from the raw bars, so these are visual inspection marks rather than authoritative execution prices.

250 OOS trades sampled across returns Minute OHLCV sourced from research database Displayed as 1-hour candlestick charts Entry and exit timestamps taken directly from trade export Policy return separated from fallback close-to-close return ATR stop marker shown when the policy exit occurs before fallback exit Grouped by strategy type Used for visual validation of signal quality

Optimization objective

What each strategy type tries to maximize.

The system is built as a two-stage optimization problem. Strategy families first search for indicator conditions that produce favorable forward net returns. A policy model then scores the candidate trades that fire at each decision time and selects the highest-utility candidates subject to portfolio risk constraints.

Stage 1 / signal search
S* = argmax_S E[R_net(t,h) | S_t = 1]

S_t is the active signal condition, h is the holding horizon, and R_net is forward return after transaction costs.

Composite signal score
Score(S) =
  z(mu_net)
  - z(PF)
  - z(HR)
  - z(Stability)
  - z(DD)
  - z(Concentration)

The rank balances mean net return, profit factor, hit rate, stability, drawdown, and concentration risk.

Stage 2 / policy utility
U_hat(i,t) = f_theta(X_i,t, Z_t)

X contains candidate features, signal context, side, exits, and strategy family. Z contains regime context such as volatility, trend, ATR, and relative strength.

Realized utility target
U(i,t) =
  R_net(i,t)
  - alpha * MFE(i,t)
  - beta  * |MAE(i,t)|
  - gamma * StopPenalty(i,t)

The target rewards realized net return while penalizing path risk, adverse excursion, and stop behavior.

Portfolio selection

max_w sum_i w_i * U_hat(i,t)

subject to:
  sum_i |w_i| <= GrossExposure
  sum_{i in ticker_j}   |w_i| <= TickerCap_j
  sum_{i in strategy_k} |w_i| <= StrategyCap_k
  w_i = 0 if U_hat(i,t) < q_tau(U_hat_t)

In words, the model selects trades with the highest predicted risk-adjusted utility, while controlling exposure by ticker, strategy family, and total portfolio risk.