Your watchlist, positions, and settings are tied to your account — log in on any device and pick up where you left off.
⚠️ Crypto contagion — tech moat raised to 15%
🚨 Volatility circuit breaker
Net Δ —SPY
📡 Offline — showing cached signals
What's new in this build
Net Δ vs SPY—beta-weighted portfolio delta
Sector Exposure
no open positions
Open Positions0tracked in this account
Deck Plays0today's candidate plays
Open Positions
0
No open positions yet — tap “📊 Track Position” on a deck play to see it here.
The Deck
0
The deck is empty — run a scan to pull fresh plays.
Open
🛡️ Fortress scanning tickers…
Past Performance
0
No signals match your search
Loading live events…
Loading live notifications…
Swings
Daily-chart swing setups with 1–3 week holds. Analyst & AI-rated entries land here.
COMING SOON
Long-Dated Plays
📊 Sweeping PMCC parameter grid over real historical bars…
🧠 Building long-dated deck…
Poor Man's Covered Calls — buy a 250+ DTE deep-ITM anchor call, sell 30–45 DTE calls against it monthly, and grind the cost basis to zero.
📊 PMCC PARAMETER BACKTEST
No long-dated plays yet. Tap “↻ Pull New LEAPS” to scan for calm, deep-buffer setups.
Pre-Earnings IV Expansion
🧠 Scanning for earnings 14–21 days out…
Non-directional income: buy a long calendar / straddle 14–21 days before earnings while the chain is cheap, ride the IV expansion as hype builds, and sell 24h before the report — profit from IV inflation, never hold through the binary event. All numbers modeled (no OPRA feed).
No earnings in the 14–21 day window right now. Tap “↻ Scan IV Ramps” to refresh the scan.
Post-Earnings Drift
🧠 Scanning for post-earnings gap-ups…
Stocks that beat AND gapped up >4% on earnings day keep drifting as analysts revise targets. On day 2–3 (after the IV crush settles), sell a 14–21 DTE put credit spread directly below the post-earnings support level. Premiums are BS-modeled from realized vol — verify with broker quotes.
No post-earnings gap-up setups in the day 2–3 window right now. Tap “↻ Scan PEAD” to refresh.
Flow Alerts
Real-time unusual options flow — sweeps, block prints and opening rotations as they hit the tape.
COMING SOON
Macro Environment Trade Journal
0
Every opened trade is tagged with the macro snapshot at that exact moment — market vol regime, 200-day MA stance, RSI-14, sector, and IV rank. Over 100 trades this reveals which environments produce 85%+ win rates versus which cause drag.
CLOSED TRADES—
WIN RATE—
PROFIT FACTOR—
Loading journal…
Portfolio Stress Test (TIMS)
Vector shock testing of the open portfolio: market moves −12% to +12% in 2.4% steps × IV shifts +30% / −15%. If a candidate trade pushes the theoretical worst-case loss past 20% of account value, the order is blocked.
Loading stress test…
AI ENGINE
Checking connection…
CONNECT TO OLLAMA
Ollama must be running locally (default http://localhost:11434). The app re-probes automatically and falls back to heuristic scoring only while it's unreachable.
MARKET DATA
Checking Alpaca…
HISTORICAL VALIDATION
PRICE ALERTS
Checking…
MORNING AUTO-RESCAN
Checking…
Credentials stay on the Python server.
Configure APCA_API_KEY_ID and APCA_API_SECRET_KEY before starting Fortress. The first validation uses real Alpaca stock bars; historical option P/L requires historical option quotes and is not approximated as fills.
SETTINGS
Alpaca Market Data
Connect your Alpaca account for live stock quotes, options chains, Greeks, liquidity, news, and historical bars.
Not connected
API CREDENTIALS
Keys are sent only to this local Fortress server and saved in the ignored fortress_alpaca.json file. They are never returned to the browser after saving. Do not use this screen on a shared/public server.
System Parameters
Fortress engine strategy settings — risk allocation, deck size, and what gets monitored. Changes save to the server and apply on the next scan.
MAX RISK ALLOCATION
$
ACTIVE PLAYS
EST. WIN RATE—
SYSTEM ENGINEFortress Active
TARGET DTE
Days
ACTIVE NOW—
TAKE PROFIT %
% of max
IV RANK FLOOR %
min IVR
SECTOR CAP %
per sector
INSURANCE %
of profit → reserve
TRAIL ARM %
activate lock
TRAIL PEAK %
arm at peak
TRAIL FLOOR %
close at floor
TRIM AT %
scale out half
TRIM TAIL %
trail remainder to
CRYPTO DROP %
triggers moat 15%
KELLY FRACTION
× win-rate edge
RISK FLOOR $
min budget
RISK CEILING $
max budget
EM MULTIPLIER ×
× expected move
EM MOAT MIN %
floor band
EM MOAT MAX %
cap band
PANIC L1 VOL %
freeze entries
PANIC L2 VOL %
tighten exits
PANIC L3 VOL %
halt scans
ACCOUNT VALUE $
stress NLV
STRESS LOSS CAP %
of NLV blocks
PEAD GAP %
min earnings gap
🔒 Trailing-profit lock: once a spread banks the arm %, the static exit is replaced by a trailing stop — peak to the arm target, then auto-close on any pull-back to the floor, capturing extra premium without sliding back into a loss.
📐 Expected Move moat: the short strike sits at EM MULTIPLIER × the priced-in expected move (IV × √DTE/365), clamped to the band — wide moats on high-IV names, 8% on calm ETFs. 🚨 Panic breakers: SPY intraday vol crossing L1 freezes entries, L2 tightens exits to 25%, L3 halts scanning. 🧱 Stress cap: a new order is blocked when its worst-case shock loss exceeds the % of account value.
🗣️ Multi-agent debate: with Ollama online, every scan runs a Bull vs Bear committee and a Judge issues the final confidence score. ✂️ Trim Engine: with 2+ contracts, half is closed at TRIM AT % to lock the win; the rest trails to TRIM TAIL %. ⚠️ Crypto contagion: a BTC/ETH drop beyond the % raises tech moats to 15%. 🎯 Kelly sizing: the risk budget scales with your actual win rate × market vol.
🛡️ Dynamic risk filters: credit spreads are vetoed when IV Rank is below the floor (low IV = poor premium per risk — sit in cash or run LEAPS/PMCCs), and the scanner rotates away from any sector whose open positions already exceed the cap.
Monitored Spreads
Auto-monitor deck plays for 50% profit targets, expiry, and price-move alerts — not just saved watchlist entries.
Profit Target Notifications
Triggers a notification when the short put can be bought back at the Take Profit % of max profit — time to lock it in.
Multi-Agent Debate (Bull / Bear / Judge)
Run an adversarial committee on every scan — two opposite personas argue the live context and the Judge issues the final score.
Trim Engine (scale out)
Close half the position at the trim target to lock the win; let the remaining contracts trail to the tail target.
Crypto Contagion Watch
Watch BTC/ETH for a sudden weekend drawdown and raise tech moats from 10% to 15% until markets re-price.
Kelly Dynamic Sizing
Scale the risk budget by your actual closed-trade win rate × market volatility instead of a fixed $1,000.
VIX Velocity Panic Breakers
Monitor SPY intraday volatility velocity and freeze entries / tighten exits / halt scans at the three levels.
PEAD Drift Engine
Sell day-2/3 put spreads below support on stocks that gapped up after a big earnings beat.
Light Theme — Day Trading Palette
Switch to a bright, high-contrast palette for daylight trading. Applied instantly and remembered on this device.
Stored server-side in the ignored fortress_settings.json.
Push Notifications
Get native notifications from your browser even when Fortress is closed — scan results, AI vetoes, deck resets, and expirations.
Checking…
Checking…
Announce Pings
Ping this phone with a system notification when a new build ships. Works now by polling the server; upgrades to always-on when Firebase is wired.
Push works over localhost and needs notification permission in your browser. Subscriptions are stored on the Python server in the ignored fortress_push_subscriptions.json. Phone pushes use the app's Firebase token (stored in fortress_fcm_devices.json) once a Firebase server key is configured — the web app keeps working without it.
Catalyst Lockout — Earnings Dates
Fortress auto-discovers earnings dates from the market so plays within 36 hours of a report get flagged (IV crush risk) and the AI is warned during scans. Manually add or override any date below.
Loading…
Auto-detected from stockanalysis.com (refreshed daily) and stored server-side in the ignored fortress_earnings.json. Manual dates override auto ones.
Fortress Server (Android App)
The app reaches the backend at https://api.fortress-options.com by default. Override it here only for local/LAN testing, e.g. http://192.168.1.50:8001.
Using the public backend (https://api.fortress-options.com).
Card Glow Colors
Customize each ticker's ambient card glow. Picks override the automatic brand colors and save on this device.
Account
Signed in as …
Your watchlist, positions, and settings live on this server and follow your account across devices.
About Fortress
Fortress Engine v3.9 — AI Veto System active
Compares this build against the Fortress server's latest and prompts when a newer APK exists.
Auto-Update
When a newer build is announced, Fortress downloads it in the background and hands it to the system installer automatically — no banner tap needed. Stock Android still asks you to confirm the final “Install” once.
🏰 ABOUT FORTRESS
Fortress Engine v3.9
🛡️ AI Veto System active — every play is safety-checked by the AI oracle.
WHAT'S NEW — CHANGELOG
🛡️ ADMIN CONSOLE
INVITE USERS
Generate a one-time link. Anyone who opens it can create their own account with their email and a password they choose — no shared passwords, and signup is closed otherwise.
Loading invites…
MANAGE USERS
Every account and its private watchlist, positions, and settings. Delete a user to remove them and all their data; reset a password to lock out an old session and set a new one.
Loading users…
AUDIT LOG
Who did what, to whom, and when — every admin action and signup is recorded here.
Loading audit log…
⭐ MY WATCHLIST
Loading your watchlist…
QCOM
144C 8/7
QCOMLIVE08/07 3:59 PM
22.03+0.0%
QUALCOMM Incorporated
QCOM — 1D
PLAY P/L — PAYOFF PROFILE
Max profit$0
🎯 Take profit$0
Breakeven$0.00
Max loss-$0
Price now$0.00
Profit shaded green · loss shaded red · dot = current price · orange = breakeven