# quantitative **Repository Path**: moregain/quantitative ## Basic Information - **Project Name**: quantitative - **Description**: A股选股工具,量化交易 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-19 - **Last Updated**: 2025-06-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # A股市场股票查询分析器 这是一个功能强大的A股市场股票查询和分析工具,提供多种筛选条件来帮助您找到符合条件的股票。 ## 功能特性 1. **基础股票查询** - 查找A股市场中的所有股票 2. **概念股查询** - 可以指定相关概念股进行查询 3. **上市年份筛选** - 可以指定查询某上市年份之后的股票 4. **股价范围筛选** - 可以指定股价范围进行筛选 5. **市值范围筛选** - 可以指定市值范围进行筛选 6. **技术分析筛选** - 查询市盈率为正,并且最近一个月走势整体趋势向上的股票 ## 快速开始 ### 方法一:使用 Makefile(推荐) ```bash # 初始化项目环境 make setup # 运行主程序 make run # 运行快速启动 make quick # 运行测试 make test # 查看所有可用命令 make help ``` ### 方法二:手动安装 1. **安装依赖**: ```bash pip install -r requirements.txt ``` 2. **运行程序**: ```bash # 运行主程序 python stock_analyzer.py # 或运行快速启动 python quick_start.py ``` ## 项目配置 ### 环境变量配置 复制 `env.example` 为 `.env` 文件并根据需要修改: ```bash cp env.example .env ``` 可配置项包括: - `DEBUG`: 调试模式 - `LOG_LEVEL`: 日志级别 - `REQUEST_DELAY`: 请求延迟时间 - `CACHE_EXPIRE_TIME`: 缓存过期时间 ### 项目配置文件 `config.py` 文件包含所有可配置的参数: - 数据源配置 - 筛选条件配置 - 显示配置 - 性能配置 程序将显示交互式菜单,您可以根据需要选择不同的查询功能: ``` 请选择查询功能: 1. 查看所有A股股票 2. 按概念股查询 3. 按股价范围查询 4. 按市值范围查询 5. 查询市盈率为正且最近一月走势向上的股票 6. 综合条件查询 7. 查看可用概念股列表 0. 退出 ``` ## 功能详细说明 ### 1. 概念股查询 输入概念股名称(如"新能源汽车"、"人工智能"等),程序会返回该概念下的所有相关股票。 ### 2. 股价范围查询 设置最低价和最高价,筛选出股价在该范围内的股票。 ### 3. 市值范围查询 设置最小市值和最大市值(单位:亿元),筛选出市值在该范围内的股票。 ### 4. 技术分析查询 这个功能会: - 筛选市盈率为正的股票(排除亏损股票) - 分析最近一个月的价格走势 - 使用线性回归计算趋势斜率 - 返回走势向上的股票 ### 5. 综合查询 您可以同时设置多个筛选条件,程序会返回同时满足所有条件的股票。 ## 数据来源 本程序使用 `akshare` 库获取A股市场数据,数据来源包括: - 东方财富网 - 新浪财经 - 腾讯财经 ## 注意事项 1. **数据延迟**: 股票数据可能有几分钟的延迟 2. **请求频率**: 为避免对数据源造成压力,程序会在请求间加入适当延迟 3. **网络连接**: 需要稳定的网络连接来获取实时数据 4. **运行时间**: 技术分析查询可能需要较长时间,请耐心等待 ## 示例用法 ### 查找新能源汽车概念股 ``` 选择功能 2 输入概念股名称: 新能源汽车 ``` ### 查找10-50元价格区间的股票 ``` 选择功能 3 输入最低股价: 10 输入最高股价: 50 ``` ### 综合查询示例 ``` 选择功能 6 概念股名称: 人工智能 股价范围: 20,100 市值范围: 50,1000 是否筛选市盈率为正且走势向上: y ``` ## 技术实现 - **编程语言**: Python 3.7+ - **主要依赖**: akshare, pandas, numpy - **数据处理**: 使用pandas进行数据清洗和筛选 - **趋势分析**: 使用numpy进行线性回归分析 ## 项目结构 ``` quantitative/ ├── stock_analyzer.py # 主程序文件 ├── quick_start.py # 快速启动程序 ├── example_usage.py # 使用示例 ├── config.py # 配置文件 ├── test_stock_analyzer.py # 测试文件 ├── setup.py # 安装脚本 ├── requirements.txt # 依赖列表 ├── pyproject.toml # 现代Python项目配置 ├── Makefile # 项目管理命令 ├── env.example # 环境变量模板 ├── .gitignore # Git忽略文件 ├── LICENSE # 许可证 ├── README.md # 项目说明 ├── data/ # 数据目录 ├── logs/ # 日志目录 └── cache/ # 缓存目录 ``` ## 开发指南 ### 开发环境设置 ```bash # 创建虚拟环境 make venv source venv/bin/activate # Linux/Mac # 或 venv\Scripts\activate # Windows # 安装开发依赖 make dev-install # 运行代码质量检查 make check # 格式化代码 make format # 运行覆盖率测试 make coverage ``` ### 测试 ```bash # 运行所有测试 make test # 运行特定测试 python -m pytest test_stock_analyzer.py::TestStockAnalyzer::test_import_modules # 运行覆盖率测试 make coverage ``` ## 免责声明 本工具仅供学习和研究使用,不构成投资建议。投资有风险,入市需谨慎。请在专业人士指导下进行投资决策。