A股一周强势股捕捉与回测工具。
第一版使用 AkShare + pandas + 自写 5 日回测,目标是验证一周内冲击 10% 的强势股策略。
- 计算均线、涨幅、量能比、20 日高点等基础指标。
- 按强势规则给最新交易日评分。
- 生成固定风控交易计划:买入区间、10% 目标价、5% 止损价。
- 使用 AkShare 免费数据生成指定日期的推荐 CSV。
- 按实际买入日后的时间顺序做 5 日回测。
python -m bigatrade recommend --date 2026-06-05 --top 30 --scan-limit 100 --output outputs/recommend_2026-06-05.csv
python -m bigatrade backtest --start 2025-01-01 --end 2026-06-05按价格分层筛选示例:
python -m bigatrade recommend --date 2026-06-05 --scan-limit 2000 --top 2000 --price-buckets "0-10:2,10-20:2,20-50:1" --output outputs/recommend_2026-06-05_bucket.csv全市场快照预筛示例:
python -m bigatrade recommend --date 2026-06-05 --scan-limit all --top 2000 --price-buckets "0-10:2,10-20:2,20-50:1" --prefilter-per-bucket "0-10:120,10-20:120,20-50:80" --output outputs/recommend_2026-06-05_all_prefilter.csv这个命令会先用 AkShare 全市场快照过滤价格桶,再按成交额和涨跌幅从每个价格桶挑候选,只对候选池拉日线。默认会把日线缓存到 data/cache/,后续重复跑同一日期范围会减少 AkShare 请求。
带市场热点版本加分的周度推荐示例:
$env:BIGATRADE_DB_HOST="<db-host>"
$env:BIGATRADE_DB_PORT="<db-port>"
$env:BIGATRADE_DB_USER="<db-user>"
$env:BIGATRADE_DB_PASSWORD="<db-password>"
python -m bigatrade recommend --date 2026-06-05 --scan-limit all --top 2000 --price-buckets "0-10:2,10-20:2,20-50:1" --prefilter-per-bucket "0-10:120,10-20:120,20-50:80" --hotspot-db-host $env:BIGATRADE_DB_HOST --hotspot-db-port $env:BIGATRADE_DB_PORT --hotspot-db-user $env:BIGATRADE_DB_USER --hotspot-db-password $env:BIGATRADE_DB_PASSWORD --hotspot-top-industry 20 --hotspot-top-concept 20 --output outputs/recommend_2026-06-05_hotspot.csv该命令会在推荐前先生成一版市场热点,写入 market_hotspot_versions 和 market_hotspot_boards,再把命中行业热点的股票加入强势评分。命中热点时,推荐原因会出现“热点板块加分”。
收盘后自动流水线示例:
python -m bigatrade daily-run --date today --scan-limit all --top 30 --price-buckets "0-10:2,10-20:2,20-50:1" --prefilter-per-bucket "0-10:120,10-20:120,20-50:80" --db-host $env:BIGATRADE_DB_HOST --db-port $env:BIGATRADE_DB_PORT --db-user $env:BIGATRADE_DB_USER --db-password $env:BIGATRADE_DB_PASSWORD该命令会先跟踪旧推荐在当日的收盘表现,再刷新市场热点,生成当天推荐 CSV,并把推荐批次和推荐明细写入 MySQL。
每日结果结算和复盘示例:
python -m bigatrade settle-results --date today --db-host $env:BIGATRADE_DB_HOST --db-port $env:BIGATRADE_DB_PORT --db-user $env:BIGATRADE_DB_USER --db-password $env:BIGATRADE_DB_PASSWORD
python -m bigatrade five-day-summary --date today --db-host $env:BIGATRADE_DB_HOST --db-port $env:BIGATRADE_DB_PORT --db-user $env:BIGATRADE_DB_USER --db-password $env:BIGATRADE_DB_PASSWORD
python -m bigatrade review --date today --db-host $env:BIGATRADE_DB_HOST --db-port $env:BIGATRADE_DB_PORT --db-user $env:BIGATRADE_DB_USER --db-password $env:BIGATRADE_DB_PASSWORDsettle-results 会把满足目标、触发止损或观察满 5 个交易日的推荐写入 backtest_results。five-day-summary 输出已结算推荐的命中率和收益统计。review 基于 stock_recommendation_daily_quotes 生成公众号复盘初稿。
平台在现有选股和 5 日跟踪能力上增加:
- 周期模拟资金和 5 只股票资金上限。
- 竞价、午盘、收盘结构化 AI 决策协议。
- 行情新鲜度、证据引用、T+1、涨跌停、费用和滑点硬风控。
- 不可变资金流水、持仓批次、账户净值和事件驱动组合回测。
- FastAPI、SSE、React 驾驶舱、Agent 轨迹和日周报告中心。
先执行 MySQL 增量脚本:
Get-Content -Raw .\sql\mysql\006_create_agent_trading_platform.sql |
mysql -h $env:BIGATRADE_DB_HOST -u $env:BIGATRADE_DB_USER -p bigatrade
Get-Content -Raw .\sql\mysql\007_create_market_overview_daily.sql |
mysql -h $env:BIGATRADE_DB_HOST -u $env:BIGATRADE_DB_USER -p bigatrade
Get-Content -Raw .\sql\mysql\008_create_paper_intraday_snapshots.sql |
mysql -h $env:BIGATRADE_DB_HOST -u $env:BIGATRADE_DB_USER -p bigatrade市场全景每次实际刷新后都会写入 MySQL:同一交易日更新现有主记录并重建当天明细, 下一交易日新增一份日快照。指数、市场宽度、大盘资金、板块流向、热点股、游资与量化 席位均有独立日表,主表同时保留完整 JSON,便于历史回放和字段扩展。
今日驾驶舱在交易时段每 5 分钟刷新活动模拟账户持仓,同时保存账户和逐股盘中快照。 页面打开时也会立即刷新一次;同一五分钟时点重复触发只更新原快照。实时行情失败时使用 最近收盘价并明确标记为回退数据。
配置模型时,密钥只放环境变量:
$env:BIGATRADE_MODEL_BASE_URL="https://your-openai-compatible-host/v1"
$env:BIGATRADE_MODEL_NAME="your-model"
$env:BIGATRADE_MODEL_API_KEY="your-secret"构建前端并启动:
cd web
pnpm install
pnpm run build
cd ..
.\scripts\start-platform.ps1打开 http://127.0.0.1:8000。没有配置 MySQL 时平台进入内存配置模式,并明确显示“未配置 MySQL”;该模式重启后不保留数据。
调度时点固定使用 Asia/Shanghai:
- 09:25 决策,09:30 模拟撮合。
- 11:30 决策,13:00 模拟撮合。
- 15:00 决策,下一交易日 09:30 模拟撮合。
- 15:30 生成每日复盘草稿。
- 周六 10:00 周复盘,周日 18:00 下期选股。
本机关机错过任务时不补历史模拟成交。
竞价、午盘和收盘任务会读取唯一活动周期的五股配置,冻结双源行情证据并生成结构化
AI 决策。同周期、同交易日、同决策点使用固定幂等键;模型、格式或证据异常时写入
明确标记的 HOLD 降级决策。模拟撮合、日报、周报和周选股处理器尚未接通时,任务
仍会明确记录为 skipped,不会伪造成交或报告。
python -m pytest -q