Rules-based signal detection across 40 DAX stocks. Momentum, volume anomalies, analyst revisions. LLM adds interpretation — not the signal itself.
Not a trading bot. A signal detector. Fires only when multiple independent factors align.
Rules → Signals · LLM → Insight · User → Strategy
The signal engine uses deterministic quant rules. The LLM layer adds narrative interpretation. This ensures reproducibility, backtestability, and no hallucinations in the signal layer.
Yahoo Finance API scans 40 DAX stocks. Extracts: price change, volume spike, 52-week position, analyst revisions, earnings surprises.
Deterministic rules detect confluences. Fires only when 2+ independent factors align: e.g. Momentum + Volume Spike + Analyst Upgrade.
LLM interprets the signal: "Why is this happening? Is it structural or one-time?" Adds narrative context — but never generates the signal itself.
sources:
- yahoo_finance # 40 DAX stocks
features:
- price_change_5d
- volume_spike
- analyst_revision
- earnings_surprise
- 52w_position
signal_engine:
min_confluence: 2 # fires at 2+ factors
signals:
- MOMENTUM_BREAKOUT
- VOLUME_ANOMALY
- ANALYST_UPGRADE
- EARNINGS_BEAT
llm_insight:
provider: groq
model: llama-3.3-70b
role: interpretation_only # NOT signal generation
delivery:
channel: telegram
time: "07:20"
Instead of "SAP: Analyst target +50%", you receive a confluence signal with interpretation. Context, not noise.
Delivered via Telegram · 07:20 AM
40 DAX stocks scanned daily
Each signal is generated by deterministic rules — not by an LLM. The LLM only adds the "why" after the signal fires.
Price breaks above a significant resistance level with above-average volume. Detected by comparing 5-day return against 52-week percentile position.
Trading volume significantly above 30-day average — often precedes institutional accumulation or distribution before public announcements.
Multiple analyst upgrades within a short window. Weighted by recency and magnitude of target price revision. More powerful in confluence with other signals.
EPS or revenue significantly above consensus estimates. The signal fires when the beat exceeds a threshold — not for every minor outperformance.
Yahoo Finance source included. Configure your DAX watchlist, set confluence thresholds, run on any server.
40/40 DAX stocks scan successfully. Signal detection working. LLM insight layer in development. Not financial advice.
$ git clone https://github.com/yourusername/radar-agents
$ cd radar-agents
$ python3 cli/run.py --radar stock --dry-run
Scanning 40 DAX stocks... done.
2 confluence signals detected.
Not financial advice. Use at your own risk.