๐Ÿง  Market Pattern Recognition Suite

Complete trading intelligence platform - pattern detection, backtesting, SIL enrichment, and real-time signals

๐Ÿ“‘ Table of Contents

  1. ๐ŸŽฏ Overview - What this app does
  2. ๐Ÿš€ Quick Start (3 min)
  3. ๐Ÿ“Š Pattern Detection & VWAP
  4. ๐Ÿ“ˆ TrendPredictor VIX Strategy
  5. ๐Ÿญ Strategy Performance Dashboard (SPD)
  6. ๐Ÿ“‹ SPD CSV Viewer
  7. ๐Ÿง  Strategy Intelligence Layer (SIL)
  8. ๐Ÿ”ฌ Strategy Tester & CSV Export
  9. ๐Ÿ“ก Strategy Scanner
  10. ๐Ÿ”ง Strategy Builder
  11. ๐ŸŽ“ FAQ
  12. ๐Ÿ›  Troubleshooting

๐ŸŽฏ Overview - What This App Does

Market Pattern Recognition is one single app that covers your entire technical analysis workflow:

๐Ÿ“Š Pattern Detection & VWAP

8-component VWAP analysis, institutional activity monitor, A+ to F grade system. Detects breakout, reversal, volume, and momentum patterns in real time.

๐Ÿ“ˆ TrendPredictor VIX Strategy

Volatility term-structure analysis. Detects Risk-On / Risk-Off regime transitions with TQQQ overlay and signal-anchored VWAP.

๐Ÿญ Strategy Performance Dashboard

Batch backtest any strategy against your entire watchlist. Return/Bar metric, date controls, Active/Crash Warning detection, CSV export.

๐Ÿ“‹ SPD CSV Viewer

Load exported CSVs in-browser. Last Day Buy/Sell badges, filters, sort on any column including Entry Date. Auto-enriched with SIL columns.

๐Ÿง  Strategy Intelligence Layer (SIL)

Enriches backtest results with institutional data: Sector, Inst., QoQ, Fund., MCS, SIS. Helps you identify the best buy candidates from large watchlist backtests.

๐Ÿ”ฌ Strategy Tester & ๐Ÿ“ก Scanner

Single-symbol backtester with CSV export. Real-time scanner that scans watchlists for live strategy signals.

๐Ÿš€ Quick Start (3 min)

Step 1: Open the App

Navigate to Market Pattern Recognition from the main TradePro navigation. The app is a single page - all modules are sections you scroll to.

Step 2: Pick a Module

  • Analyse a single stock โ†’ use Pattern Detection (top of page) or Strategy Tester
  • Test a strategy on your whole watchlist โ†’ scroll to Strategy Performance Dashboard, pick strategy + timeframe, click Run on Watchlist
  • Enrich results with institutional data โ†’ load your SPD CSV export in SPD CSV Viewer (SIL columns appear automatically if SMU cache exists)
  • Find live signals now โ†’ use Strategy Scanner

Step 3: Act on SIS

Sort the CSV Viewer by SIS โ†“. The top rows combine strong backtest performance with institutional conviction - these are your best candidates.

๐Ÿ“Š Pattern Detection & VWAP

The Market Pattern Recognition system provides real-time detection of technical trading patterns, integrated with Swan Score and Fundamental Analysis components.

๐ŸŽฏ Pattern Detection

Automatically identifies classic technical patterns - triangles, flags, head & shoulders, and more - using advanced algorithms.

๐Ÿ“ˆ Confidence Scoring

Each pattern receives a confidence score based on volume, price action, and historical reliability.

๐ŸŽจ Visual Progress Bars

Component bars matching Swan Score design show overall confidence, volume confirmation, technical strength, and pattern diversity.

๐ŸŽ“ Grade System (A+ to F)

Comprehensive grading provides quick assessment of pattern recognition quality and reliability. A+ = โ‰ฅ90% confidence, F = <35%.

๐Ÿงฉ Pattern Categories

๐Ÿ“ˆ Breakout Patterns

Triangles, Flags, Pennants

๐Ÿ”„ Reversal Patterns

Head & Shoulders, Hammers, Dojis

๐Ÿ“Š Volume Patterns

Volume Spikes, Accumulation

โšก Momentum Patterns

RSI Divergence, MACD Signals

โš“ 8-Component VWAP Analysis

VWAP is available in four anchoring modes: Cumulative, 1D (Session), 1W, and 1M. Harmonized across Charts and Strategy Builder.

  • Signal-Anchored VWAP - recalculates from the moment the last regime flip occurred (TrendPredictor integration)
  • Price > VWAP confirms a strong trend; Price < VWAP suggests weakness
  • Visualization available as histogram in the bottom pane (Chart Settings โ†’ Indicators โ†’ TrendPredictor (%))

๐Ÿฆ Institutional Activity Analysis

๐Ÿ“Š Money Flow Multiplier

Calculates the relationship between Close price and the High/Low range, weighted by Volume. Reveals if volume is flowing IN (Buying) or OUT (Selling).

๐ŸŸข Buying Pressure

Accumulation. High buying pressure often precedes a breakout.

๐Ÿ”ด Selling Pressure

Distribution. High selling pressure warns of a potential reversal.

๐Ÿ† Top Lists

Automatically ranks your watchlist: Top 3 Accumulation and Top 3 Distribution candidates.

๐ŸŽฎ Interactive Demo

Experience the pattern recognition system with realistic sample data:

๐Ÿ“ˆ TrendPredictor VIX Strategy

A sophisticated volatility term structure analysis tool designed for institutional-grade regime detection.

๐Ÿ“Š VIX Term Structure

Analyzes the relationship between short-term volatility (VIX) and medium-term volatility (VIX3M) to detect market stress.

๐Ÿšฆ Risk On/Off Signals

Green Zone (Risk On): Ratio > 1.0. Safe for leverage (TQQQ).
Red Zone (Risk Off): Ratio < 1.0. Cash protection mode.

๐Ÿ“‰ TQQQ Visualization

Directly overlays TQQQ price action with regime background stripes to visualize strategy performance.

๐Ÿ›ก๏ธ Dual Data Sources

Robust data fetching with automatic failover from Financial Modeling Prep (Primary) to Yahoo Finance (Backup).

โš“ Signal-Anchored VWAP

Institutional Average: Calculates VWAP starting from the exact moment the Risk Regime flips.
Trend Confirmation: Price > VWAP confirms a strong trend.

Indicator Definitions

๐Ÿ“‰ VIX

CBOE Volatility Index (30-Day). The "Fear Gauge". Spikes correlate with market drops.

๐Ÿ“… VIX3M

CBOE 3-Month Volatility Index. In a stable bull market, VIX3M is typically higher than VIX (Contango).

โž— Ratio (SMA10)

Smoothed Term Structure Ratio = 10-day SMA of (VIX3M / VIX).
> 1.0: Healthy (Risk On)   < 1.0: Dangerous (Risk Off)

๐Ÿ“ˆ Trend

Price vs. Anchored VWAP. If Price is above the orange VWAP line, the trend is bullish.

๐Ÿ’ผ Allocation

Risk On: 100% TQQQ.
Risk Off: 100% Cash/SHV.

๐ŸŽจ Visual Semiotics (Decoding the Chart)

๐ŸŸข Vibrant Green Background

Strong Risk On (Ratio > 1.10). Deep Contango. Full Allocation to TQQQ.

๐Ÿ”ต Teal/Cyan Background

Weak Risk On (Ratio 1.0-1.10). Hold, but do not add size.

โš ๏ธ Yellow Dots

"Yellow Flag" Warning. Sudden volatility spike (>5%) within an uptrend. Hedge (Covered Calls) or Tighten Stops.

๐Ÿ”ด Red / No Background

Risk Off (Ratio < 1.0). Backwardation. 100% Cash.

How to Interpret

๐Ÿ“ˆ TrendPredictor Integration in Strategy Builder

๐Ÿ“Š Chart Visualization

TrendPredictor (%) appears as a histogram in the bottom pane.
Green Bars: Positive Trend (Risk On)
Red Bars: Negative Trend (Risk Off)
Enable via Chart Settings โ†’ Indicators โ†’ TrendPredictor (%)

๐Ÿ› ๏ธ Strategy Builder Support

Use "TrendPredictor (%)" as a first-class indicator. Example condition: "TrendPredictor (%) > 0" combined with "RSI < 30".

๐Ÿ”„ Trend Reversal Indicators

TrendBuy (Bottom): Trend stops falling โ†’ turns up (Concave).
TrendSell (Top): Trend stops rising โ†’ turns down (Convex).
Use "TrendBuy > 5.0" to catch strong reversals only.

๐Ÿ“ Advanced Sloping Conditions

Sloping Up: Indicator rising over X periods.
Sloping Down: Indicator falling.
"SMA20 Sloping Up" confirms an uptrend better than "Price > SMA20".

๐Ÿญ Strategy Performance Dashboard (SPD)

Run any saved strategy against all symbols in your watchlist simultaneously and compare aggregate performance. Designed for both strategy development and real-world trade planning.

๐Ÿ“ Where to find it

Open Market Pattern Recognition โ†’ scroll down to Strategy Performance Dashboard. You'll see a strategy selector, timeframe picker, date controls, and a Run on Watchlist button.

Running a Backtest

1. Select Strategy

Choose a saved strategy from the dropdown. Build strategies in the Strategy Builder section above.

2. Select Timeframe

OptionDescription
3M DailyLast 3 months, daily candles - fast, good for short-term tactics
6M Daily6 months, daily candles - balanced
1Y Daily โญ1 year, daily candles - recommended for most strategies
2Y Daily2 years, daily - larger sample, slower
1Y Weekly1 year, weekly candles - for swing/position strategies
5Y Weekly5 years, weekly - long-term strategy validation

3. Date Controls

โœ… Latest data (default)

Leave Latest data checked to run the backtest right up to today. This is the normal mode.

๐Ÿ“… End date - historical simulation

Uncheck Latest data to reveal a date picker. Choose a past date to simulate how the strategy would have performed as of that date.

๐Ÿ“… Start date (Full range)

Uncheck Full range to reveal a start date picker. The strategy will only generate buy signals from that date onwards - but SMA/VWAP indicators are still calculated on the full warmup period, so signals are accurate from day one.

Example: You started using TradePro on 2025-10-15. Set start date = 2025-10-15 to see only trades you could have bought since you began.

๐Ÿ’ก Tip: Combine start date + end date to simulate a specific window, e.g. 2025-10-15 โ†’ 2026-01-01.

4. Run on Watchlist

Click Run on Watchlist. Each symbol is backtested independently. Results appear in the table below with aggregate metrics.

Results Table

๐Ÿ’ก Return/Bar - capital efficiency
Return/Bar = Avg Return % / Avg Duration (bars)
Measures how much return the strategy generates per bar capital is tied up in the market. Higher = more capital-efficient. Example: 0.88 %/bar is 2.4ร— better than 0.37 %/bar, regardless of which has higher Total Return.
ColumnMeaning
StrategyName + timeframe + date range badge
SymbolsNumber of symbols tested
Total TradesAll buy+sell cycles across all symbols
Win Rate %Percentage of trades that closed in profit
Avg Return %Average return per trade (all symbols)
Avg DurationAverage hold time in bars (days for daily timeframe)
Return/BarAvg Return % รท Avg Duration - capital efficiency metric

Click CSV on any result row to export full data. Click Details to expand Top 5 / Bottom 5 performers and Last Day Buys/Sells.

CSV Export

The exported CSV contains six sections:

SectionContents
--- SUMMARY ---Single-row aggregate metrics for the entire run
--- LAST DAY BUYS ---Symbols the strategy bought on the final day
--- LAST DAY SELLS ---Symbols the strategy sold on the final day
--- TOP PERFORMERS ---Top 5 symbols by total return
--- BOTTOM PERFORMERS ---Bottom 5 symbols by total return
--- ALL SYMBOLS ---Every symbol with full metrics

ALL SYMBOLS columns

ColumnDescription
SymbolTicker
Total Return %Cumulative return for this symbol over the test period
Win Rate %% of trades that closed profitably
TradesNumber of buy/sell cycles
Active1 = open position at end of backtest, 0 = closed
Entry DateISO date (YYYY-MM-DD) when the active position was entered. Empty if Active=0. See CSV Viewer for sorting details.
Entry PricePrice at strategy entry (Active=1 only) - visible in CSV, hidden in viewer to save space
Last PricePrice on the last candle (Active=1 only) - visible in CSV, hidden in viewer
Unrealized %Current unrealized gain/loss from entry to last price (Active=1 only)
Crash Warning1 if position has dropped >15% from entry despite trailing stop not triggering
๐Ÿ’ก Finding buy candidates: Filter by Active=1 + Crash Warning=0 + Unrealized % > 0. Open, healthy positions are strong candidates to consider if you agree with the setup.

Active / Crash Warning detection

Active=1 means the strategy had an open position at the end of the backtest period. Crash Warning=1 means that position has dropped more than 15% from entry - treat with caution and check fundamentals before acting.

๐Ÿ“‹ SPD CSV Viewer

Load any exported SPD CSV directly into the built-in viewer - no Excel needed. Filter, sort, and act on Last Day signals without leaving the app.

๐Ÿ“‚ How to use

  1. Scroll to the SPD CSV Viewer card (below Active Alerts Summary)
  2. Click Load CSV and select your exported file
  3. The summary row shows strategy name, symbol count, Return/Bar, and date
  4. The table loads all symbols sorted by Total Return (highest first)

Displayed Columns (14 total, including SIL)

The viewer shows these columns from the CSV: Symbol, Total Return %, Win Rate %, Trades, Active, Entry Date, Unrealized %, Crash Warning - plus the six SIL columns appended automatically: Sector, Inst., QoQ, MCS, Fund., SIS.

Entry Price and Last Price are intentionally hidden in the viewer to save horizontal space - they are always present in the downloaded CSV file and available for later analysis.

๐Ÿ“… Entry Date Column

What it shows

The date when the active position was entered, in ISO format (YYYY-MM-DD). Examples: 2026-04-17, 2026-03-02.

  • Active=1: Shows the entry date. Sorted newest-first by default when you click the column header.
  • Active=0: Empty - no open position.
  • Empty-last: When you sort by Entry Date (or any column), empty cells always sort to the bottom regardless of sort direction. Active positions with dates always rise to the top.
  • ISO sorting: ISO-8601 format sorts lexicographically = chronologically, so no special date parser is needed.
๐Ÿ’ก Why we hid Entry/Last Price: A 14-column table with long decimals would be hard to read on standard screens. The most actionable data is Entry Date + Unrealized % + SIS. Entry/Last Price remain in the CSV for anyone who needs precise numbers.

Last Day Buy / Sell Badges

Each CSV export contains a Last Day Buys and Last Day Sells section.

BadgeMeaning
BSymbol had a buy signal on the last trading day
SSymbol had a sell signal on the last trading day

Badges appear next to the symbol name. Only symbols with signals get a badge.

Filters

FilterEffect
All symbolsShow everything
Active onlyShow symbols with an open position (Active=1)
Inactive onlyShow closed positions only
๐Ÿ“ˆ Last Day BuysShow only symbols with a buy signal on the last trading day
๐Ÿ“‰ Last Day SellsShow only symbols with a sell signal on the last trading day
๐Ÿ”” All Last Day SignalsShow all symbols with either a buy or sell signal
โš  Crash Warning toggleShow only symbols with Crash Warning = 1
Search boxLive filter by symbol name

Sorting

Click any column header to sort. Click again to reverse. Current sort column shows โ–ฒ or โ–ผ. Empty cells always sort last (applies to Entry Date, Fund., Unrealized %, Inst., etc.).

Color Coding

ColorMeaning
GreenPositive return or unrealized gain
RedNegative return or unrealized loss
โ— (dot)Active open position (Active=1)
โš  (orange row)Crash Warning - position down >15% from entry

๐Ÿง  Strategy Intelligence Layer (SIL)

SIL automatically enriches your SPD CSV results with institutional, fundamental, and market-regime data - helping you identify the best stocks to act on from a large backtest.

๐Ÿš€ Quick Start (3 steps)

  1. Open Institutional Intelligence - wait for the Smart Money Universe (SMU) to load. This saves institutional data to your browser's localStorage cache.
  2. Run your strategy in Market Pattern Recognition and export the CSV.
  3. Load the CSV in SPD CSV Viewer - six new columns appear automatically: Sector, Inst., QoQ, MCS, Fund., SIS.

Sort by SIS โ†“ to see the symbols where backtest edge and institutional conviction align.

The SIL Columns

ColumnRangeWhat it means
SectorTextIndustry sector from sector cache (Technology, Healthcare, Financials, etc.)
Inst.0-5How many of the 5 tracked institutions (BlackRock, Vanguard, State Street, Berkshire, Fidelity) own this stock
QoQ%Quarter-over-quarter change in institutional position size. NEW โ–ฒ = fresh position. EXIT โ–ผ = fully closed (warning signal)
MCS0-100Munksvan Confidence Score - Technical (20) + Smart Money (0-30) + VIX Sentiment (0-30)
Fund.0-25Fundamentals Score - gradient-scored from static FMP data (P/E, ROE, Revenue Growth, Debt/Equity). Updated manually when a new stock analysis export is imported. See below.
SIS0-100Strategy Intelligence Score - combines backtest performance with institutional strength and fundamentals

Fund. - Fundamentals Score

The Fund. column (0-25 pts) is a gradient-scored fundamentals score sourced from static FMP export data. Unlike a binary pass/fail, it uses partial credit across four metrics:

  • P/E Ratio - lower is better: min(1.5, 25 / pe) ร— 6
  • ROE - higher is better: min(1.5, roe / 15) ร— 6
  • Revenue Growth - min(1.5, (rev + 20) / 20) ร— 4
  • Debt/Equity - lower is better: min(1.0, 1 / max(0.1, de)) ร— 4

The score is normalized to 0-25. A company that scores well on all four criteria outranks one that passes a single metric perfectly while weak on everything else.

Data source: FMP stock analysis export (stock_analysis_YYYY-MM-DD.xlsx) โ†’ final/data/sil-sector-cache.json. Updated manually - no live API calls required. Refresh quarterly or when the symbol list changes significantly.

Color gradient: ๐ŸŸข โ‰ฅ18 ยท ๐ŸŸ  10-17 ยท ๐Ÿ”ด <10 ยท โšช no data.

How SIS is Calculated

ComponentWeightBased on
Backtest Scoreup to 40 ptsReturn/Bar ร— confidence weight (penalizes <20 trades) + Win Rate bonus
Fundamentals Scoreup to 25 ptsGradient P/E, ROE, Revenue Growth, Debt/Equity scoring from FMP export data
Smart Money Score0-30 ptsInstitution count (5 inst = 18p) + SMU rank (top-5 = 12p bonus)
QoQ Bonus/Malusยฑ10 ptsNEW = +10, โ–ฒ>10% = +5, EXIT = -10
๐Ÿ’ก Confidence weight: Strategies with few trades get lower SIS to prevent statistical noise. โ‰ฅ50 trades = full weight, 20 trades = 0.8ร—, 10 trades = 0.6ร—, <5 trades = 0.3ร—.

Cache Behavior

โš ๏ธ SIL cache is session-based

SMU data (Inst., QoQ, MCS) is stored in your browser's localStorage (24-hour TTL). If you're on a different device or have cleared your browser data, open Institutional Intelligence again before loading a CSV - otherwise those columns will show "-".

Fund. and Sector are served from the static file data/sil-sector-cache.json - no localStorage required. They are always available as long as the page can load its assets.

๐Ÿ’ก Inst./QoQ/MCS showing "-"? Open Institutional Intelligence, wait for the SMU table to populate, then reload your CSV. Cache TTL = 24 hours.
๐Ÿ’ก Fund./Sector showing "-"? The sector cache file may be missing or outdated. Run generate-sector-cache.js --deploy with a fresh FMP export.

๐Ÿ”ฌ Strategy Tester

Single-symbol backtesting. Define entry and exit rules using the visual builder (no coding required). Runs against historical data to verify win rates and profitability for a chosen symbol.

โ™Ÿ๏ธ Strategy Tester Features

  • Visual Rule Builder (AND/OR Logic)
  • Multi-Condition Support (RSI, SMA, VWAP, Volume)
  • Smart Metrics: Excludes open positions from Win Rate/Return to prevent data skewing
  • Visual Feedback: See "OPEN" trades on the chart and in the log

๐Ÿ”„ ST โ†” SPD Parity

The Strategy Tester and Strategy Performance Dashboard use identical backtesting logic - same VWAP calculation, same position sizing, same settings from backtestSettings. Results for the same symbol and strategy match to two decimal places.

๐Ÿ“ฅ CSV Export

Run a single-symbol backtest and export the result to CSV - great for sharing or comparing across symbols.

How to export

  1. Select a symbol and strategy in the Strategy Tester card
  2. Click Run to execute the backtest
  3. A CSV button appears in the card header after the run completes
  4. Click it - file downloads as ST_SYMBOL_StrategyName_YYYYMMDD.csv

What's in the file

SectionContents
SUMMARYSymbol, strategy, range, Total Return %, Win Rate %, Trades, Max Drawdown %, Sharpe ratio
STRATEGY RULESEntry and exit conditions from the loaded strategy
TRADESFull trade-by-trade list - entry/exit date, price, exit reason, PnL %

๐Ÿ“ก Strategy Scanner

Find Opportunities Instantly. Apply your custom strategies to the entire market. The scanner filters stocks to find only those matching your exact criteria in real-time.

๐Ÿ“ก Scanner Features

  • Scan Universes: Watchlists, Custom Lists, or entire market
  • Real-time "Match" Detection
  • Signal Type: BUY (Entry) or SELL (Exit)
  • One-Click Action: Add matches directly to your watchlist

๐Ÿ”” Active Alerts Summary

Centralized dashboard for all active market monitors. Stateful - tracks if you are "In a Trade" or "Waiting for Entry". Live Status Monitoring, One-Click Enable/Disable, Visual "Triggered" History.

๐Ÿ”” Smart Strategy Alerts

How to Use Smart Alerts

  1. Build & Test: Create your strategy and run a backtest on your chosen symbol.
  2. Set Alert: Click the "๐Ÿ”” Set Alert" button in the Strategy Tester results panel.
  3. Monitor: The system runs your strategy in real-time.
    • Backtest ended Flat: alert starts as "Waiting for Entry"
    • Backtest ended In Position: alert starts as "Waiting for Exit" (Active Trade)
  4. Review: Check "Active Alerts Summary" for all running strategies.

๐Ÿ”ง Strategy Builder

Create complex trading strategies with multiple conditions using AND/OR logic. Backtest your strategies against historical data. No coding required.

๐Ÿ› ๏ธ Visual Strategy Construction

  • AND/OR logic between conditions
  • Indicators: RSI, SMA, VWAP, Volume, TrendPredictor (%)
  • Entry and exit rule sets
  • Save and reuse strategies

๐Ÿ“ Advanced Sloping Conditions

Sloping Up / Down checks if an indicator is rising or falling over X periods. "SMA20 Sloping Up" confirms a trend better than "Price > SMA20".

โš™๏ธ Consistent Settings

Strategy Builder settings (Position Size, Stop Loss, etc.) are respected by both the Strategy Tester and Strategy Performance Dashboard, ensuring batch results match individual backtests.

๐Ÿงช Smart Backtesting

Open Positions at the end of data are visualized on the chart but excluded from performance metrics to ensure accuracy.

๐ŸŽ“ FAQ

Why is Return/Bar a better strategy metric than Total Return?

Total Return grows automatically the more symbols you test - 30 symbols each returning 30% = 900%, which says nothing about the strategy itself. Return/Bar measures how much the strategy earns per bar capital is in the market, making it comparable across different watchlist sizes and timeframes.

Active=1 means buy now?

Not necessarily. Active=1 means the strategy opened a position before the end of the backtest that wasn't closed. Always check Unrealized % and Entry Date. A position that's down significantly or entered months ago is risky to enter fresh. Use Crash Warning=0 and Unrealized % > 0 as a minimum filter.

The strategy shows 0 trades with a start date set

This happens when the start date is set after the end date, or when the selected range is shorter than the gap. Make sure start date is earlier than end date and within the selected timeframe range.

What's the difference between Avg Return % and Return/Bar?

Avg Return % = average profit per trade. Return/Bar = Avg Return % รท Avg Duration - penalizes strategies that tie up capital for a long time. 5% over 50 bars (0.10 %/bar) is less capital-efficient than 3% over 5 bars (0.60 %/bar).

SIL columns show "-" everywhere

The SMU cache hasn't been loaded in this browser session. Open Institutional Intelligence, wait for the table to load, then reload your CSV in SPD Viewer. Cache TTL = 24 hours.

Entry Price and Last Price are missing from the viewer

They are intentionally hidden in the viewer to keep the table readable. Both columns are always present in the downloaded CSV file.

๐Ÿ› ๏ธ Troubleshooting

Common Issues

  • Pattern Recognition not showing: Ensure you have recent stock analysis data. Try running a fresh analysis.
  • Low confidence scores: Normal for uncertain market conditions. Look for multiple pattern confirmations.
  • Missing pattern data: Check that the Live Market Pattern Recognition system is properly configured.
  • TrendPredictor not loading: Check API keys (FMP primary, Yahoo Finance backup). Both sources have automatic failover.
  • SPD returns 0 trades: Verify start/end dates and that the selected strategy has valid rules.
  • SIL Fund. column all empty: The sector cache file (data/sil-sector-cache.json) may be missing or outdated. Run node scripts/generate-sector-cache.js <xlsx> --deploy to regenerate it from a fresh FMP export.

Best Practices

  • Use pattern recognition in combination with fundamental analysis for best results
  • Pay attention to volume confirmation - patterns with high volume are more reliable
  • Consider the overall grade, not just individual pattern confidence
  • Use pattern diversity as an indicator - multiple patterns increase reliability
  • For SIL: open Institutional Intelligence before loading SPD CSVs to ensure SMU cache is fresh
  • Sort by SIS โ†“ then filter Inst. โ‰ฅ 3 + Crash Warning=0 to find your best candidates

๐Ÿงฑ Multi-Strategy Confirmation Dashboard

The Multi-Strategy Confirmation Dashboard answers one question: which symbols do multiple strategies agree on? When two or more independent strategies all flag the same symbol as active, the probability of a false signal drops significantly. Backtests showed that symbols confirmed by all three source strategies delivered +16.5% higher average return and +3.1% higher win rate compared to single-strategy signals.

๐Ÿ”ฅ Conviction Score

Each symbol receives a Conviction Score - the fraction of loaded strategies that are currently active on that symbol. A score of 3/3 (100%) means all strategies agree. A score of 1/4 (25%) is a weak, unconfirmed signal.

  • ▮▮▮▮ 100% - All strategies confirm: highest conviction
  • ▮▮▮▯ 75% - Strong, one strategy abstains
  • ▮▮▯▯ 50% - Moderate, use additional filters
  • ▮▯▯▯ 25% - Weak signal, proceed with caution

๐Ÿ“‹ Why More Strategies = Better

Each strategy is an independent hypothesis. When N independent strategies all point to the same symbol, the probability of a false signal decreases exponentially:

  • 1 strategy with 40% win rate: 60% false-signal risk
  • 2 strategies: 36% false-signal risk
  • 3 strategies: 22% false-signal risk
  • 4 strategies: 13% false-signal risk
  • 5 strategies: ~8% false-signal risk

You don't need to use specific strategies - load your own exports.

โšก New: One-Click Transfer from SPD

You no longer need to export and re-import CSV files. After running a strategy in the Strategy Performance Dashboard, a blue โ†’ MSCD button appears next to each result row. Click it and the strategy is sent directly to the Multi-Strategy Confirmation card - enriched automatically with SIS, Inst., Fund. and sector data. No files, no steps in between.

  1. Run a strategy in SPD - results appear in the history table below.
  2. Click โ†’ MSCD on the row you want to send.
  3. Repeat for each strategy. The card accumulates them.
  4. The Conviction table updates automatically after each transfer.

You can still load raw SPD CSV files by clicking Add Strategy or dragging files onto the card - they are enriched automatically on load.

How to Use It - Step by Step

  1. Run multiple strategies in SPD - each strategy produces a separate backtest result. The more different the strategies are (different entry logic, different timeframes), the more meaningful the conviction score.
  2. Send each result to MSCD with one click - click the blue โ†’ MSCD button in the SPD results row. The page scrolls to the Multi-Strategy Confirmation card automatically. Alternatively, export the CSV from SPD and drag it onto the card - both raw and enriched files are accepted.
  3. Read the Conviction table - symbols are sorted by conviction score. Each row shows:
    • Colored bar + X/N score showing how many strategies are active
    • Colored dots next to the symbol name - one dot per active strategy
    • Sector, Inst. (institutional support), SIS, Fund score
    • Avg Win%, Avg Ret% across active strategies
    • Best Unrealized% - the most promising open position
    • Kelly% - mathematically optimal position size based on win rate and avg win/loss ratio (see below)
  4. Click any symbol to expand a detail card showing the per-strategy breakdown: win rate, total return, current unrealized P&L, entry date, and Kelly sizing for each active strategy. Fundamental data (PE, ROE, Revenue Growth) is shown where available.
  5. Use the filters to narrow the list:
    • Conviction ≥ 75% - only symbols confirmed by 3 out of 4 strategies or better
    • Inst ≥ 1 - only symbols with institutional backing (historically Kelly +14-26%)
    • Active only - only symbols currently in an open position in at least one strategy
    • Sector filter - focus on Technology, Communication Services, Basic Materials, Energy (historically best-performing sectors)
  6. Check the Sector Heat tab to see which sectors currently have the highest average conviction across all your strategies. This tells you which sectors the market is most aligned on right now.
  7. Check the Overlap tab to see how similar your strategies are. High overlap (>75%) means the strategies behave alike - consider adding a more different strategy for better signal diversity. Low overlap means high conviction is genuinely meaningful.
  8. Export the conviction list with the green Export button. The CSV includes Symbol, Conviction%, Sector, Inst, SIS, Fund, Avg Win%, Avg Ret%, Best Unrealized%, Avg Kelly%, Half Kelly%, and per-strategy columns with Active, Entry Date, Exit Date, Win% and Ret% — ready for further analysis or AI review. If a confluence filter was active, the header row records which filter and window was used.

๐Ÿ“ Kelly Optimal Sizing

The Kelly column shows the mathematically optimal fraction of capital to allocate to each symbol, calculated from each strategy's historical win rate and average win/loss ratio:

Kelly% = (b ร— p - q) / b

where:
  p = win rate
  q = 1 - p
  b = Avg Win% / Avg Loss%  (reward/risk ratio)

The table shows Avg Kelly% - averaged across all active strategies for that symbol. The detail card breaks it down per strategy with the individual b-ratio.

โš  Always use Half-Kelly in practice

Full Kelly is mathematically optimal but leads to high volatility and large drawdowns in real trading. The detail card shows Half-Kelly as the recommended starting point - it captures ~75% of the theoretical growth rate at roughly half the risk. A Kelly of 30% means consider sizing at 15% of available capital.

Kelly% is blank (-)? The strategy's CSV was exported before the Avg Win/Loss columns were added. Re-run the strategy in SPD and send it again via โ†’ MSCD - the updated export includes the data needed for Kelly.

⚡ Signal Confluence — When Did Strategies Agree?

Conviction Score tells you how many strategies are active on a symbol right now. Signal Confluence adds a time dimension: how recently did those strategies trigger? A symbol where 5 strategies all entered within the last 3 days is a fundamentally different — and stronger — signal than one where 5 strategies entered over the past 6 months.

Enable confluence via the ⚡ Confluence dropdown in the filter row. Choose mode and window:

⚡ Buy Confluence

Filters symbols where N or more strategies triggered a buy signal (active position opened) within the configured window.

  • Buy: 1+ agree — at least one strategy entered recently. Good for discovery.
  • Buy: 2+ agree — two independent strategies saw the same setup. Meaningful confirmation.
  • Buy: 3+ agree — strong convergence. High-quality signal.
  • Buy: All agree — every loaded strategy entered within the window. Rare and powerful.

🔻 Sell Confluence

Filters symbols where N or more strategies closed a position within the window. Useful for spotting coordinated exits.

  • Uses the Exit Date per strategy — requires SPD files exported after 2026-05-05.
  • When sell mode is active, Active Only and the Conviction% filter are automatically disabled — closed positions would otherwise be filtered away before the sell logic runs.
  • A symbol showing Sell 3+ agree within 7 days is a potential exit signal worth reviewing.

Configuring the Time Window

The window input (default: 7 days, range: 1–365) controls how far back the filter looks for signals. Useful presets:

  • 1 day — “What triggered today?” Extremely tight, only the freshest signals. Ideal for daily screening.
  • 3–5 days — Best balance. Different strategies measure momentum differently and may not trigger on the exact same day. This window catches near-simultaneous agreement without noise.
  • 7 days — Default. Covers a full trading week. Good starting point.
  • 14–30 days — Broader context. Useful for swing trades or when you want to see everything that’s been picked up recently.

The ⚡ Confl. Column

When confluence is active, a new ⚡ Confl. column appears in the table showing the count for each symbol (e.g. ⚡ 5/8 = 5 of 8 strategies triggered within the window). The column is sortable — click the header to rank by confluence strength. Color codes: green = all or most agree, orange = partial, red = sell mode.

Recommended Buy Workflow

  1. Load 4–8 strategies via ⚡ MSCD or Add Strategy.
  2. Set Conviction ≥ 75% + Active Only as baseline.
  3. Enable ⚡ Buy: 3+ agree with a 5-day window.
  4. Sort by ⚡ Confl. descending to see the tightest time-clusters at the top.
  5. Cross-reference with SIS, Inst., Fund. and Avg Ret% before acting.
  6. Export the filtered list — the CSV includes Entry Date, Exit Date and the confluence description in the header.

⚠️ High Conviction ≠ High Quality

A symbol can have 8/8 conviction and still be a poor trade if Avg Ret% is negative across all strategies — the strategies are unanimous, unanimously losing. Always check Avg Ret%, SIS and Win Rate before acting. Filter out any symbol with Avg Ret% < 0 regardless of how many strategies agree.

Sell confluence shows no results

This happens when loaded SPD files were exported before Exit Date was added (before 2026-05-05). Re-run your strategies in Strategy Performance Lab and export fresh files. A warning banner appears automatically in the filter row when Exit Date data is missing.

📋 Portfolio Batch Scan — Check Your Holdings at Once

Instead of searching for symbols one by one, the Portfolio Batch Scan lets you paste an entire list of ticker symbols and instantly filter the Conviction table to show only those holdings. This is the fastest way to answer: “Which of my current positions have active sell signals?” — or any other conviction question about a specific set of symbols.

How to Open It

Click the 📋 Portfolio button in the filter row (to the left of the search field). A scan panel opens above the filters. Click the button again to close it and return to normal mode.

How to Use It

  1. Paste or type your ticker symbols into the textarea. Any separator works — comma, semicolon, space, or one per line (paste directly from Excel or Google Sheets).
  2. Press Enter or click Scan. The table immediately filters to show only your symbols.
  3. A status line below the textarea shows: N symbols • X in strategies • Y missing. Hover the missing count to see which symbols were not found in any loaded strategy export.
  4. Press Clear or Escape to exit portfolio mode and return to the full conviction table.

✅ Symbol found with active signal

Shown as a normal conviction row with colored bar, strategy dots and all metrics. Sort by Conviction% descending to see your most-confirmed holdings at the top.

⚪ Symbol found, no active signal

Shown as a normal row with an empty conviction bar (0/N). The symbol exists in the strategy data but has no currently active position — no signal right now.

— Symbol not in data

Shown as a dimmed italic row at the bottom of the table. The symbol was not found in any loaded strategy export — it was never backtested by the loaded strategies, or the ticker format doesn’t match (e.g. SEB-A.ST vs SEBA).

Supported Input Formats

The parser handles all common separator styles automatically:

  • Comma-separated: AAPL, NVDA, MSFT, AMD
  • One per line (paste from Excel or Google Sheets — just select a column and paste):
    AAPL
    NVDA
    MSFT
  • Mixed separators: AAPL NVDA, MSFT; AMD
  • Swedish/European suffixes: SEB-A.ST, ERIC-B.ST, ASML.AS
  • Shift+Enter adds a new line in the textarea without triggering the scan.

Tip: Works with All Filters

All standard filters — Conviction threshold, Sector, Inst., Active Only, and Signal Confluence — remain active in portfolio mode. Use this to quickly check: “Which of my holdings have a sell confluence signal in the last 7 days?” Set Confluence to 🔻 Sell: 1+ agree, paste your portfolio, hit Scan.

Search field is disabled in portfolio mode

The symbol search field is automatically disabled while portfolio scan is active — the two modes are mutually exclusive. It re-enables automatically when you press Clear, Escape, or close the panel.

Supported File Formats

The card accepts any SPD CSV export - both standard and enriched formats. Raw files are enriched automatically on load:

  • Raw SPD CSV (from the SPD download button) - auto-enriched with SIS, Inst., Fund., MCS and sector data on load. This is now the recommended workflow: export from SPD, load directly into MSCD, or use the โ†’ MSCD button to skip files entirely.
  • SPD Enriched CSV (from the SPD CSV Viewer Export button) - also accepted. Already contains enriched columns, loaded as-is.

You can mix files from different export types in the same session - the card handles both automatically.

The Optimal Portfolio Filter

Based on backtesting across hundreds of symbols and multiple strategies, the following filter combination has consistently delivered the strongest results:

High-Conviction Portfolio Rule

  1. Conviction 100% - all loaded strategies active on the symbol
  2. Inst ≥ 1 - at least one institutional holder detected (historically: Kelly +14.7% to +26.5%)
  3. Sector: Technology ยท Communication Services ยท Basic Materials ยท Energy
  4. Max 10 positions, sorted by SIS descending

In backtests, this combination produced Kelly +12.3%, W/L 1.88x, average return +35.4% across the filtered symbol set.

The card shows no data after loading files

Make sure the files are SPD exports (from the Strategy Performance Dashboard). The parser looks for a Symbol column header and Active column. If loading standard (non-enriched) CSVs, the section structure (--- ALL SYMBOLS ---) must be present.

Conviction is high but win rates look low

Win rate in the table is an average across active strategies. A symbol can have high conviction (all strategies active) but moderate individual win rates. Look at the trend: if all strategies show improving win rates over time, that's a stronger signal than one with a single high-win strategy.

The Overlap Matrix shows 90%+ between two strategies

That means your strategies are nearly identical in what symbols they pick - adding more of the same type doesn't improve conviction quality. Try adding a strategy with a fundamentally different entry logic (e.g. a volume-only strategy alongside a trend-following one) to make conviction scores more meaningful.

๐Ÿ“š Related Resources

โ† Back to Help Center