# Trading **Repository Path**: To-Mars/trading ## Basic Information - **Project Name**: Trading - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-10 - **Last Updated**: 2026-07-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 量化策略系统 一个基于 Python + Streamlit 的 A 股量化选股与回测平台,内置“六步筛选法”、经典技术指标策略、绩效分析、图表展示和 CSV 导出。 > 风险提示:本系统仅用于学习研究,不构成任何投资建议。市场有风险,投资需谨慎。 ## 功能概览 - 策略说明页:展示杨永兴六步筛选法规则。 - 选股页:支持参数调整、自动选股(并发验证,速度快)、结果导出;数据源降级时醒目警告并标注"数据未验证项"。 - 持仓监控页:输入持仓成本和买入日期,按纪律实时给出 卖出/警惕/持有 信号(止损、止盈、破MA5、时间止损、盘中破分时均价预警)。 - 组合回测页:每个历史交易日全股票池跑六步筛选,按买卖纪律模拟组合,统计真实胜率/盈亏比;已建模滑点、涨停买不进、跌停卖不出、盘中触发止损止盈。 - 个股详情页:支持独立输入股票代码,查看日 K、MA 均线、成交量和最近日线明细。 - 回测页(单股):支持股票代码、资金、手续费、时间区间和策略参数配置;止损止盈按盘中价触发。 - 策略库页:内置 MA、RSI、MACD、布林带、KDJ 等经典策略,并支持独立策略选股。 - 风险提示页:说明模型风险、数据风险、交易风险。 ## 尾盘定时选股 + 推送(买点自动化) ```bash # 手动测试(跳过交易日检查、只打印不推送) python tail_scan.py --force --dry-run # 注册 Windows 计划任务:每个交易日 14:35 自动扫描并推送 powershell -ExecutionPolicy Bypass -File tools\register_tail_scan_task.ps1 ``` 推送渠道配置:在项目根目录创建 `scan_config.json`(支持 Server酱 / 钉钉 / 企业微信,见 `tail_scan.py` 顶部注释)。 数据源降级时脚本会拒绝推送选股结果,只推送告警,防止按不可信数据下单。 ## 数据源说明 项目按 `a-stock-data` 的思路实现了多源数据适配: - 东方财富:主数据源,支持实时快照、历史 K 线、分时数据。 - 腾讯行情:指定股票报价、历史 K 线和分时备用源。 - 新浪行情:全市场快照、指定股票报价、股票目录和历史 K 线备用源;缺失量比、主力净流入、行业等字段时保留为空。 - 本地历史缓存(SQLite):成功取得的真实日线和股票池自动落库;在线源均不可用时才回退读取。 全市场实时扫描优先使用东方财富,故障时切换新浪真实全市场快照。历史缓存只用于图表、回测、历史选股和图形匹配,绝不替代实时快照、分时报价或交易信号;实时源不可用时,系统仍返回空结果并明确报错,不生成模拟行情、合成分时或伪股票池。 ## 同步历史缓存 ```bash # 默认同步今年全部 A 股日线;重复运行会跳过已完整缓存的代码。 python tools\sync_history_cache.py # 指定区间和并发数。 python tools\sync_history_cache.py --start 2026-01-01 --end 2026-07-24 --workers 6 ``` ## 安装依赖 ```bash python -m venv .venv .\.venv\Scripts\activate pip install -r requirements.txt ``` ## 启动系统 ```bash streamlit run app.py ``` 默认浏览器会打开本地地址。如果没有自动打开,请访问终端显示的 Local URL。 ## 使用 Docker 启动 ```bash docker compose up --build ``` 启动后访问: ```text http://localhost:8501 ``` 停止服务: ```bash docker compose down ``` ## 项目结构 ```text . ├── app.py ├── Dockerfile ├── docker-compose.yml ├── requirements.txt ├── README.md └── src ├── __init__.py ├── backtester.py ├── data_provider.py ├── indicators.py └── strategies.py ``` ## 后续扩展建议 - 将 `a-stock-data/SKILL.md` 中的涨停池、资金流、龙虎榜、题材归因端点接入 `src/data_provider.py`。 - 增加数据库缓存,减少实时接口请求压力。 - 增加多股票组合回测、滑点模型、停牌处理和涨跌停无法成交处理。