How sngyai/sequoia-x works
Sequoia-X is an A-share stock-selection system. Its daily workflow loads configuration, synchronizes market data into local SQLite, runs seven strategies, and sends nonempty selections to Feishu. Backfill is a separate entry-point mode that obtains the market symbol list and fills historical bars. The README documents the strategy set; sampled strategy source confirms several implementations, while the remaining strategy details and some engine internals are represented only at their documented module paths.
Main entry points: main.py Mode runner · engine.py Data engine · turtle_trade.py TurtleTrade · feishu.py Feishu notifier
Components 18
Runtime orchestration
- Mode runner
main.py
Market data
- Data engine
sequoia_x/data/engine.py - Market database
Selection strategies
- TurtleTrade
sequoia_x/strategy/turtle_trade.py - MaVolume
sequoia_x/strategy/ma_volume.py - HighTightFlag
sequoia_x/strategy/high_tight_flag.py - LimitUpShakeout
sequoia_x/strategy/limit_up_shakeout.py - UptrendLimitDown
sequoia_x/strategy/uptrend_limit_down.py - RPS Breakout
sequoia_x/strategy/rps_breakout.py - PrivatePlacement
sequoia_x/strategy/private_placement.py - Strategy base
sequoia_x/strategy/base.py
Configuration and delivery
- Settings
sequoia_x/core/config.py - Logging
sequoia_x/core/logger.py - Feishu notifier
sequoia_x/notify/feishu.py
Other components
- Operator
- Baostock
- Akshare
- Feishu webhook
Connections 32
- Operator → Mode runner: starts mode
- Mode runner → Settings: loads settings
- Mode runner → Data engine: creates engine
- Mode runner → Data engine: backfills or syncs
- Data engine → Baostock: fetches bars and symbols
- Data engine → Market database: reads and writes
- Mode runner → MaVolume: runs strategy
- Mode runner → TurtleTrade: runs strategy
- Mode runner → HighTightFlag: runs strategy
- Mode runner → LimitUpShakeout: runs strategy
- Mode runner → UptrendLimitDown: runs strategy
- Mode runner → RPS Breakout: runs strategy
- Mode runner → PrivatePlacement: runs strategy
- MaVolume → Data engine: reads bars
- TurtleTrade → Data engine: reads bars and symbols
- HighTightFlag → Data engine: reads bars and symbols
- LimitUpShakeout → Data engine: reads bars and symbols
- UptrendLimitDown → Data engine: reads bars and symbols
- RPS Breakout → Data engine: reads market data
- PrivatePlacement → Akshare: fetches announcements
- TurtleTrade → Baostock: queries market caps
- MaVolume → Mode runner: returns selections
- TurtleTrade → Mode runner: returns selections
- HighTightFlag → Mode runner: returns selections
- LimitUpShakeout → Mode runner: returns selections
- UptrendLimitDown → Mode runner: returns selections
- RPS Breakout → Mode runner: returns selections
- PrivatePlacement → Mode runner: returns selections
- Mode runner → Feishu notifier: sends selections
- Feishu notifier → Settings: resolves webhook
- Feishu notifier → Baostock: looks up names
- Feishu notifier → Feishu webhook: posts card