# StockSelect **Repository Path**: showmsg/stock-select ## Basic Information - **Project Name**: StockSelect - **Description**: 中国A股形态选股策略 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-22 - **Last Updated**: 2025-09-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 选股系统 (SQLAlchemy版本) 基于SQLAlchemy的股票选股系统,支持多种技术分析策略。 ## 功能特性 - 🚀 **SQLAlchemy ORM**: 使用SQLAlchemy进行数据库操作,提供类型安全和更好的性能 - 📊 **多种选股策略**: 支持27种技术分析策略 - 🌐 **Web API**: 提供RESTful API接口 - 💾 **数据持久化**: 自动保存选股结果到数据库 - 🔄 **缓存机制**: 智能缓存策略执行结果 - 📈 **性能分析**: 支持选股结果的后续表现分析 - 📰 **年报新闻爬取**: 支持东方财富年报预期相关新闻爬取和分析 ## 快速开始 ### 1. 安装依赖 ```bash pip install -r requirements.txt ``` ### 2. 数据库初始化 (首次使用) ```bash python init_db.py ``` ### 3. 运行选股 ```bash # 命令行模式 python main.py # 或者直接运行选股器 python Select.py ``` ### 4. 启动Web服务 ```bash python Start.py # 或者 python WebAPI.py ``` 访问 http://localhost:5000 使用Web界面 ### 5. 年报新闻数据爬取 ```bash # 命令行模式爬取东方财富年报新闻 python CrawlNews.py --tags "年报预期,业绩预告,A股" --max-pages 2 # 保存为JSON文件 python CrawlNews.py --save-json "data/annual_news.json" # Web界面爬取 # 访问 http://localhost:5000/news ``` ## 项目结构 ``` tools/stockSelect/ ├── model/ # SQLAlchemy模型和DAO目录 ├── main.py # 主程序入口 ├── Select.py # 选股器 ├── WebAPI.py # Web API服务器 ├── Start.py # Web服务启动脚本 ├── init_db.py # 数据库初始化 ├── Strategy.py # 选股策略 ├── NewsCrawler.py # 东方财富年报新闻爬取模块 ├── CrawlNews.py # 年报新闻爬取脚本 ├── BatchImport.py # 批量导入 └── static/ # Web界面文件 ├── advanced.html # 高级选股页面 ├── news.html # 新闻中心页面 ├── performance.html # 性能分析页面 ├── admin/imps.html # 数据导入页面 └── *.css # 样式文件 ``` ## 支持的策略 - 平台突破策略 - 停机坪策略 - 放量跌停策略 - 旗形突破策略 - 双底(W底)突破策略 - 头肩底突破策略 - 圆弧底突破策略 - 早晨之星策略 - V形底策略 - 潜伏底策略 - 上升旗形策略 - 旭日东升策略 - 杯柄形态策略 - 三角形突破策略 - 放量突破策略 - 矩形整理突破策略 - 低位突破策略 - 高位突破策略 - 缩量拉涨策略 - 均线金叉策略 - 涨停后收阴策略 - 回调策略系列 - 超跌反弹策略 - 涨停回调再启动策略 ## API接口 ### 选股相关 - `GET /api/strategies` - 获取策略列表 - `POST /api/execute-strategies` - 执行选股策略 - `GET /api/selection-results` - 获取选股结果 - `GET /api/stock-kline/{security_id}` - 获取K线数据 - `POST /api/performance-analysis` - 收益分析 - `GET /api/available-data` - 获取可用数据 - `GET /api/health` - 健康检查 ### 新闻相关 - `POST /api/news/crawl` - 爬取新闻数据 - `GET /api/news/list` - 获取新闻列表 - `GET /api/news/search` - 搜索新闻 - `GET /api/news/detail/{news_id}` - 获取新闻详情 - `POST /api/news/cleanup` - 清理旧新闻数据 ## 测试 运行快速测试验证功能: ```bash python test_init.py ``` ## 技术栈 - **Python 3.8+** - **SQLAlchemy 2.0+** - ORM框架 - **Flask** - Web框架 - **Pandas** - 数据处理 - **NumPy** - 数值计算 - **Loguru** - 日志管理 ## 许可证 MIT License ## 联系我们 如果您有任何问题或建议,欢迎通过以下方式联系我们: ### 企业微信联系方式 ![企业微信二维码](code.png) 扫描上方二维码添加企业微信,我们将为您提供专业的技术支持和咨询服务。