Daily Surveillance
Upload files then run surveillance ·
Preparing…
0%
1. Resolve tickers
2. Fetch news
3. Run algorithms
Risk Distribution
HIGH
MEDIUM
LOW
Upload history
Every file is preserved locally for audit.
Algorithm PDFs
Surveillance parameters extracted from PDF documents
All extracted parameters
Every parameter from every PDF is preserved here — even if not currently bound to an active rule.
Active surveillance rules
Alerts
Item-of-Interest review queue
Risk Distribution
HIGH
MEDIUM
LOW
News
Market & company news. Cached locally with TTL to avoid rate limits.
Audit Log
Append-only system audit trail
| Timestamp | Actor | Action | Target | Detail |
|---|
Settings
News provider, folder paths, backup, algorithm parameters
Organisation
Market news provider
EODHD All-In One plan (~$80/mo) gives one key for news + EOD prices + 1-min intraday bars + fundamentals across global markets. The cheaper All-World plan (~$20/mo) gives EOD prices only. If you only want statistics (no news), use All-World. If you want everything in one provider, use All-In. Without an EODHD key, Catalyst/Earnings algorithms degrade to temporal-proximity + build-up only.
Window used by Front of Earnings / Catalyst Event / Front of M&A. Larger = more sensitive but more false positives. ASIC typically uses 30 days.
Embedded proxy:
Status: unknown
Desktop version manages the proxy itself — no separate Node.js install or batch files needed. Toggle auto-start above and the proxy will launch silently every time you open the app.
Benzinga blocks direct browser requests via CORS — when proxy is on, Benzinga calls route through it.
Finnhub supports CORS directly and always bypasses the proxy. Only Benzinga needs it. Leave on Direct if you only use Finnhub.
Finnhub supports CORS directly and always bypasses the proxy. Only Benzinga needs it. Leave on Direct if you only use Finnhub.
Security note: API keys are stored in browser IndexedDB and in every backup file as base64, which is trivially reversible. Anyone with access to this machine or a backup file can recover them. Use read-only, narrowly-scoped API keys where possible, and treat backup files as sensitive. For encrypted key storage, use the documented Electron upgrade path.
Local data folder (disk persistence)
When set, every change is auto-saved to
data.json in this folder. A dated backup (backup-YYYY-MM-DD.json) is written once per day. The folder file is the canonical store — IT can back it up with the rest of the project folder. Chrome/Edge required for direct folder access.
Backup & Data
"Clear all news" removes stored news items (e.g. after re-resolving tickers). Re-fetch news from the dashboard after clearing.
Loss Avoidance
Flags trades that liquidated a significant position shortly before an adverse price move, verified by a statistical / beta-adjusted return test.
Position
Default 2. Buys must precede sells by at least this many weekdays.
Default 80%. Position reductions ≥ this trigger the alert. Position reversals count as 100%.
Default 15. Sells must aggregate within this rolling window.
⚠ Not active in v1.0.0 — requires accumulated positions history to compute. Any value you save here is recorded but does not currently filter alerts. (Audit finding H-1.)
Price Movement — uses EODHD if configured, else end_price proxy
Default 3. Months of price history for the Z-score baseline.
Default 0.5%. Below this adverse move, no alert.
Default 10%. High-absolute-return path: any adverse move ≥ this qualifies even if Z-score is small.
Default 5. Weekdays after the last sell over which return is measured. Typical values: 5 or 10.
Default 1.5. Abnormal return must exceed this × beta-adjusted expected return.
Default 1.645 (one-tailed 95%). Min standard deviations vs. historical return distribution.
General
Default True. When True, the same security across multiple portfolios produces separate alerts.
Default 0% (disabled). If the pre-period return was already disadvantageous and ≥ this proportion of the abnormal return, exclude the alert (sell was reasonable).
Default True. If a news event exists within the return window before the liquidation, the Further Loss filter is skipped (trader might be front-running the news).
Front of Earnings
Flags opening trades (BUY/SHORT) that built up a position before an earnings announcement, then verified by an adverse / statistically-significant price move.
Position
Default 15. Look-back window for build-up trades.
Default 50%. Min % of ending position attributable to trades within the window.
⚠ Not active in v1.0.0 — requires accumulated positions history to compute. Any value you save here is recorded but does not currently filter alerts. (Audit finding H-1.)
Default Start of Day.
General
Default True. When True, the same security across multiple accounts produces separate alerts.
Price Movement — skipped if no EODHD key
Default 3. Months of price history used to compute mean/std for the Z-score baseline.
Default 0.5%. Below this, no alert regardless of other checks.
Default 15%. High-absolute-return path: any return ≥ this qualifies even if Z-score is small.
Default 5. Weekdays after the event over which return is measured. Typical values: 5 or 10.
Default 1.5. Abnormal return must exceed this × beta-adjusted expected return.
Default 1.645 (one-tailed 95%). Min standard deviations vs. historical return distribution.
Additional Filters
Default 0 (no minimum). Trades smaller than this are ignored before the build-up calc.
Default Yes.
Catalyst Event
Flags opening trades (BUY/SHORT) ahead of regulatory / drug-trial / ratings / profit-warning catalysts, with build-up and price-movement statistical tests.
Position
Default 15. Look-back window for build-up trades.
Default 50%. Min % of ending position attributable to trades within the window.
⚠ Not active in v1.0.0 — requires accumulated positions history to compute. Any value you save here is recorded but does not currently filter alerts. (Audit finding H-1.)
Default Start of Day.
General
Default True. When True, the same security across multiple accounts produces separate alerts.
Price Movement — skipped if no EODHD key
Default 3. Months of price history for the Z-score baseline.
Default 0.5%. Below this, no alert regardless of other checks.
Default 10%. High-absolute-return path.
Default 5. Weekdays after the event over which return is measured. Typical values: 5 or 10.
Default 1.5. Abnormal return must exceed this × beta-adjusted expected return.
Default 1.645 (one-tailed 95%).
Additional Filters
Default 0 (no minimum).
Default Yes.
Front of M&A
Flags opening trades (BUY/SHORT) ahead of M&A announcements, with build-up and price-movement statistical tests. Window is longer than other algorithms because M&A signals typically leak 2-6 weeks before announcement.
Position
Default 30 — longer than Earnings/Catalyst because M&A leaks earlier.
Default 50%. Min % of ending position attributable to trades within the window.
⚠ Not active in v1.0.0 — requires accumulated positions history to compute. Any value you save here is recorded but does not currently filter alerts. (Audit finding H-1.)
Default Start of Day.
General
Default True. When True, the same security across multiple accounts produces separate alerts.
Price Movement — skipped if no EODHD key
Default 3. Months of price history for the Z-score baseline.
Default 0.5%. Below this, no alert regardless of other checks.
Default 10%. High-absolute-return path.
Default 5. Weekdays after the event over which return is measured. Typical values: 5 or 10.
Default 1.5. Abnormal return must exceed this × beta-adjusted expected return.
Default 1.645 (one-tailed 95%).
Additional Filters
Default 0 (no minimum).
Default Yes.
Changes take effect on the next Run Full Surveillance. Existing alerts are unaffected until you re-run. Each parameter set is stored as an active rule and audited.