- Trading skills (OKX, dividend, lottery, quantitative) - Creative skills (ASCII art, diagrams, video) - Development skills (GitHub, debugging, TDD) - Research skills (arXiv, blog monitoring) - Productivity skills (email, documents, notes) - MCP integration skills - Custom user skills
2.0 KiB
2.0 KiB
DCA Scanner & Monitoring Architecture
Overview
Pattern for automated high-dividend stock scanning across multiple markets (HK/US/CN), with DCA ladder buy-signal monitoring.
Architecture
Two script types:
- Scanner (
dca_scanner.py) — Scans a candidate pool for high-yield stocks, pushes TOP5 with ladder prices - Monitor (
dca_monitor.py) — Watches existing positions for buy-signal triggers against ladder levels
Market separation:
- Each script accepts
--market=hk|us|cnto filter positions/candidates - Cron jobs are split per market to avoid API collisions and match trading hours
- Scanner candidate pools are hardcoded per market (24 HK / 15 US / 14 CN)
Cron schedule pattern (EDT, staggered ≥15min):
A股扫描: 19:30 (= 北京 7:30AM, A股开盘前)
港股扫描: 20:00 (= 北京 8:00AM, 港股开盘前)
美股扫描: 21:30 (= 北京 9:30AM, 美股开盘前)
美股监控1: 22:30 (美股盘中)
美股监控2: 02:00 (美股盘中)
Rate limiting prevention:
- No two LongPort jobs share the same minute
- Scanner and Monitor never run simultaneously
- RGTI price monitoring (if needed) at 30min intervals, NOT 10/15min
Key design decisions:
- User wants push-based scanning — "你要扫描高股息的发通知给我,不是我选" — system scans and pushes candidates, user doesn't manually pick from lists
- 30min polling is enough for price monitoring — user explicitly said "半小时吧,不需要太频繁"
- Merge overlapping tasks — price alert + auto order were merged into one (RGTI)
- Pause mislabeled tasks — "港股监控" that only had US stocks was paused
- Add dividend frequency to all output —
[季度]/[月度]/[半年]suffix
Data files:
~/.hermes/scripts/dca_positions.json— Current positions with ladder prices, yields, div_freq~/.hermes/scripts/dca_scanner.py— Market scanner with candidate pools~/.hermes/scripts/dca_monitor.py— Ladder monitor with market filter support