Paper — every trading figure here (positions, orders, P&L, equity, returns) is simulated on an Alpaca paper account. No real capital is at risk, and no order is ever placed with your money. Running costs shown under ops, such as LLM spend, are real.

Configuration & operations

Admin

Configuration reference

One place for every scheduled activity, cache, and threshold that shapes how SentinelHub runs — and what each one means.

SentinelHub has two moving parts. A trading engine is the only component that ever places, modifies, or cancels an order. An intelligence layer reads everything, reasons about it, and refreshes the feeds you see — but it is strictly read-only and can never trade. That boundary is why most of the schedules below are marked read-only.

Why this page exists

Schedules, caches, and thresholds live in code. This page surfaces the real values so you do not have to read the source — and it shares one data source with the live Schedule & Config panel on the Monitoring page, so the two always agree.

Scheduled activities

Everything that runs on a clock. "Executing" jobs belong to the trading engine and can place protected orders during market hours; every other job is read-only intelligence — research briefs, feed refreshes, evaluations, and heartbeat alarms.

ActivityWhat it doesWhen it runsMode
RSI-2 scanScans the ETF universe for mean-reversion entries and places protected (bracket) orders for qualifying signals.09:45 ET open scan, then every 30 min :00/:30, 10:00–15:30 ET, Mon–Fri (13 scans/day; the raw 09:30 open stays dropped per ENH-002, 09:45 supersedes it)Executing
Position monitorChecks open positions between scans — trailing stops and exit management.Every 30 min, :15 and :45, 10:00–15:45 ET, Mon–FriExecuting
Trend strategy scanTrend-following / breakout scan (paper / shadow — no live orders).Every 30 min, :05 and :35, 10:00–15:35 ET, Mon–FriRead-only
Squeeze strategy scanVolatility-squeeze breakout scan (paper / shadow — no live orders).Every 30 min, :10 and :40, 10:00–15:40 ET, Mon–FriRead-only
Momentum monthly rebalanceDual-momentum (GEM) rebalance on the last trading day of the month.3:35 PM ET, last trading day of month (guarded inside the job)Executing
Macro rotation rebalanceMacro-regime rotation rebalance on the last trading day of the month (paper — no live orders).3:40 PM ET, last trading day of monthRead-only
Pre-market research briefReads the regime, breadth and dislocation candidates and posts a brief. Observational only — never trades.9:00 AM ET, Mon–FriRead-only
Daily positioning scanDislocation Researcher — authors Recovery Theses (WATCH) from live sector dislocations into the corpus. Never trades.9:15 AM ET, Mon–FriRead-only
Thesis cycleComposes SentinelHub's own market thesis, ages out invalidated views, and weighs any submitted outside opinions against our own evidence (the Adversarial Gate). Advisory — never trades.~4:30 PM ET (post-close), Mon–FriRead-only
Alpaca asset-listing refreshRefreshes the cached tradable-asset universe from the broker; prunes snapshots older than 90 days.8:30 AM ET, Mon–FriRead-only
Decision-freshness heartbeatAlarm that pages if no decision has been logged recently during market hours — catches 'daemon alive, scans dead'.Every hour at :55, 11:55–15:55 ET, Mon–Fri (90-min staleness threshold)Read-only
SQLite decision syncMirrors the immutable JSON decision logs into a SQLite analytics store for calibration and divergence queries.4:05 PM ET, Mon–Fri (post-close)Read-only
End-of-day Slack summaryPosts the closing-bell digest — day entries/exits/P&L, month-to-date, equity/peak/drawdown.4:10 PM ET, Mon–FriRead-only
End-of-day reflectionAggregates the day's decisions, trades and outcomes into a structured reflection digest.4:30 PM ET, Mon–FriRead-only
LLM-as-judge evaluatorScores the last 24h of decisions with an LLM judge; writes scores back to the database and traces.4:45 PM ET, Mon–FriRead-only
Nightly health checkRuns diagnostics, refreshes the equity/performance snapshot and updates status reports.10:00 PM ET, dailyRead-only
News-ticker refreshRefreshes the rolling news ticker from the latest geopolitical and market news. Runs 24/7 (news happens off-session).Every 20 min (operator-configurable: 5/10/15/20/30/60 min), UTCRead-only
Sentiment briefing refreshSynthesises the 'Market Conditions' sentiment briefing (both the 30-minute and today windows in one call).Every 30 min, :00 and :30, 10:00–16:00 ET, Mon–FriRead-only
G8 news-digest refreshRefreshes the grounded per-country news digest across the G8 economies so off-session surprises reach the briefing.Every 30 min, :00 and :30, 06:00–23:00, UTCRead-only
Macro dislocation checkRead-only check for sudden regime shifts, VIX spikes and FOMC-window proximity.Every 15 min, 09:00–16:00 ET, Mon–FriRead-only
Discretionary review refreshRe-runs the discretionary exit advisor for every held PAPER position so the panel reads a warm cache. Advisory only — the engine owns exits.Every 30 min, :00 and :30, 10:00–16:00 ET, Mon–FriRead-only
Position-insights cache warmPre-generates the position-insights panel context for every held PAPER position so an expand hits a warm cache instead of a fresh grounded call.Every 30 min, :00 and :30, 10:00–16:00 ET, Mon–FriRead-only

Caching

Some results are expensive to produce — they call an AI model to synthesise a briefing or a position review. Those results are cached for a fixed window and warmed on a schedule, so a panel reads an already-warm answer instead of regenerating it every time you open it. A scheduled refresh that lands inside the window simply reuses the cache, so the system never does the same work twice.

What is cachedStays warm forWhere & how
Sentiment briefing~25 minutesDatabase (sentiment_summaries). Warmed by the sentiment-briefing refresh; a manual refresh inside the window reuses the cached result.
Discretionary exit review30 minutesDatabase (per-position review cache). Warmed every 30 min by the discretionary review refresh.
Position insights30 minutesDatabase (position_insights_cache). Warmed every 30 min by the position-insights cache warmer; failed runs are never cached (self-heal).

Key thresholds

These are the risk and signal limits that govern day-to-day behaviour. They exist to enforce one principle: survival first. A signal that does not clear the confidence gate is skipped; exposure is capped several ways at once; and drawdowns automatically tighten or pause trading. None of these should ever be loosened to chase a single trade.

ThresholdValueWhat it controls
Research Lane canaryDisabled · $100 × max 21 ($2,100)Shadow-only evidence lane: at most three pre-registered sibling variants per parent signal, counted as one independent evidence unit. It never consumes broker-backed PAPER positions, heat, or notional.
Confidence gate≥ 40Minimum composite confidence score for a signal to qualify as an entry. Below this the signal is logged but skipped.
Max concurrent positions5 (paper baseline)The most aggregate broker-active positions held at once across all executing strategies. Paper/shadow observations consume no slots; tighter rails may admit fewer.
Broker entry ceilingmin($10,000, 10% equity)System ceiling applied to every broker-bound strategy request before confidence and drawdown reductions. RSI-2 still requests 20%, but cannot exceed this cap.
Risk per trade1% of equityMaximum capital put at risk on any single trade (the stop distance is sized to this).
Portfolio heat (RSI-2)2.2%Ceiling on total open risk across all RSI-2 positions at once.
Per-segment heat cap1.0%No single market segment may carry more than this share of open risk — forces a ≥3-segment spread.
Combined heat ceiling12%Master cap on combined open risk across every strategy.
Drawdown — reduce10%At 10% drawdown, position sizes are cut by 50%.
Drawdown — pause15%At 15% drawdown, trading pauses for 5 days.
Drawdown — halt20%At 20% drawdown, trading fully halts pending manual review.
Consecutive-loss reduce / pause5 / 75 consecutive losses cut sizing; 7 consecutive losses pause trading.
Daily notional cap80% of peak equityMaximum total order value placed in a single day.
Weekly notional cap250% of peak equityMaximum total order value placed in a single week.
RSI-2 entry thresholdRSI(2) ≤ 20How oversold a ticker must be (2-period RSI) to be a mean-reversion entry candidate.
Discretionary full-review gate+1% default (portfolio-configurable)An exactly portfolio-attributed position may use that portfolio override; unmapped positions use the environment/default +1% threshold. Above the effective threshold, the advisor runs the full review.
Data-sanity halt threshold50% of tickers zero-valuedIf at least half the universe returns zero indicators at scan start, the scan halts rather than trading on bad data.
News-ticker cadence (configurable)20 min (one of 5/10/15/20/30/60)How often the news ticker refreshes. Operator-tunable via the NEWS_TICKER_REFRESH_MINUTES setting.

The doctrine

The drawdown ladder is the clearest expression of the doctrine: at 10% the system trades smaller, at 15% it pauses for five days, and at 20% it halts entirely for a manual review. Protecting capital always outranks any single opportunity.

Portfolio settings activation

The advanced portfolio-risk envelope is operator-only. A save appends a tenant/profile-bound APP-060 revision to Atlas. The local daemon validates and stages that exact version/hash, then acknowledges it. This is durable transport evidence, not activation: compiled ADR-040 limits remain authoritative until #263 separately adds freshness and approved runtime binding.

Strategy time exits

The RSI-2 strategy currently has its time-based exit switched off. Its protective stop, profit target, and recovery-signal exits remain active. The Strategies page temporarily shows the retired setting for each RSI-2 strategy and variant. It is not a web-form switch, cannot be enabled, and will be removed with the remaining compatibility plumbing tracked in #293.

Values are read from the trading engine and intelligence-layer configuration and last reconciled on 2026-07-14. Each row carries its source on hover.