253 lines
9.7 KiB
Markdown
253 lines
9.7 KiB
Markdown
# 股票数据分析工具
|
||
|
||
这是一个用于采集和分析股票数据的Python工具。主要功能包括:
|
||
|
||
1. 从雪球网获取股票数据并存储到数据库
|
||
2. 分析涨幅超过1.5%的个股
|
||
3. 按板块统计上涨股票的分布情况
|
||
4. 识别在多个热门板块中出现的股票
|
||
5. 对个股进行AI驱动的基本面分析并建立企业画像
|
||
|
||
## 环境要求
|
||
|
||
- Python 3.8+
|
||
- MySQL数据库
|
||
|
||
## 安装依赖
|
||
|
||
```bash
|
||
pip install -r requirements.txt
|
||
```
|
||
|
||
## 配置数据库
|
||
|
||
在运行脚本之前,请确保:
|
||
|
||
1. MySQL数据库已经启动
|
||
2. 创建了名为 `db_gp_cj` 的数据库
|
||
3. 数据库中存在 `stock_changes` 和 `gp_gnbk` 表
|
||
|
||
## 使用方法
|
||
|
||
1. 修改数据库连接信息:
|
||
在 `src/scripts/stock_analysis.py` 中修改 `db_url` 变量为你的数据库连接信息
|
||
|
||
2. 运行脚本:
|
||
```bash
|
||
python src/scripts/stock_analysis.py
|
||
```
|
||
|
||
## 主要功能
|
||
|
||
1. `fetch_and_store_stock_data`: 从雪球网获取股票数据并存储到数据库
|
||
2. `get_high_performance_stocks`: 分析涨幅超过1.5%的股票及其板块分布
|
||
3. `get_top_industries_and_stocks`: 分析在多个热门板块中出现的股票
|
||
|
||
## 基本面分析与企业画像
|
||
|
||
系统通过AI驱动的分析,对个股进行多维度基本面分析,构建全面的企业画像。每个维度分析结果都以文本形式保存,并提取关键指标形成量化评估,存储在数据库的`extra_info`字段中。
|
||
|
||
### 实控人和管理层持股 (management_ownership)
|
||
|
||
#### 持股稳定性 (shareholding)
|
||
- `1`: 减持比例低 - 近三年减持比例低于2%,减持次数少于5次,减持后持股比例仍高于5%
|
||
- `0`: 减持适中 - 减持比例在2%-5%之间,减持次数不超过10次,减持后持股比例仍高于5%
|
||
- `-1`: 减持比例高 - 减持次数较多或比例较高,大股东持股比例已减持到5%以下
|
||
|
||
#### 管理层能力 (ability)
|
||
- `1`: 领军人物 - 实控人或高管中存在行业领军人物
|
||
- `0`: 一般水平 - 没有明显的行业领军人物
|
||
- `-1`: 存在风险 - 实控人或高管存在被证监会处罚情况或司法犯罪可能性
|
||
|
||
### 财务报表分析 (financial_report)
|
||
|
||
#### 财务报表质量 (financial_report_level)
|
||
- `2`: 优秀 - 边际向好,最新财报没有任何风险
|
||
- `1`: 良好 - 边际变化波动不高较为稳定,风险很小
|
||
- `0`: 一般 - 波动不高较为稳定,但存在一定财报隐患
|
||
- `-1`: 较差 - 财报波动较大,且存在一定财报隐患
|
||
- `-2`: 风险高 - 财报波动较大,且存在较大财报隐患
|
||
|
||
### 行业竞争格局 (industry_competition)
|
||
|
||
#### 行业发展空间 (industry_space)
|
||
- `2`: 高增长 - 市场环境、阶段和竞争格局符合未来企业高速增长
|
||
- `1`: 稳定增长 - 市场环境、阶段和竞争格局符合未来企业稳定经营
|
||
- `0`: 不确定性 - 市场环境、阶段和竞争格局存在较大不确定性
|
||
- `-1`: 不利环境 - 市场环境、阶段和竞争格局不利于企业正常经营
|
||
|
||
### 重大订单和项目进展 (recent_projects)
|
||
|
||
#### 项目进展质量 (major_events)
|
||
- `1`: 超预期 - 项目进展顺利,且订单交付/建厂等超预期
|
||
- `0`: 符合预期 - 进展顺利,但没有超预期
|
||
- `-1`: 低于预期 - 进展不顺利,或按照进度进行但仍在验证中
|
||
|
||
### 股吧讨论分析 (stock_discussion)
|
||
|
||
#### 市场情绪 (emotion)
|
||
- `1`: 乐观 - 股吧讨论情绪偏乐观
|
||
- `0`: 中性 - 股吧讨论情绪偏中性
|
||
- `-1`: 悲观 - 股吧讨论情绪偏悲观
|
||
|
||
### 产业链合作动态 (industry_cooperation)
|
||
|
||
#### 合作动态质量 (collaboration_dynamics)
|
||
- `2`: 高质量 - 近期有较多且质量高的新合作动态,具备新业务拓展能力,可体现在近一年财报中
|
||
- `1`: 一般 - 半年内合作动态频率低或质量一般,在原有业务上合作关系的衍生,对财报影响一般
|
||
- `0`: 低质量 - 没有合作动态或质量低
|
||
- `-1`: 负面 - 有负面合作关系,如解除合作或业务被其他厂商瓜分
|
||
|
||
### 券商研究与目标价 (target_price)
|
||
|
||
#### 券商评级 (securities_rating)
|
||
- `2`: 买入 - 券商评级以"买入"居多
|
||
- `1`: 增持 - 券商评级以"增持"居多
|
||
- `0`: 中性 - 券商评级以"中性"居多或无评级
|
||
- `-1`: 减持 - 券商评级以"减持"居多
|
||
- `-2`: 卖出 - 券商评级以"卖出"居多
|
||
|
||
#### 上涨/下跌空间 (odds)
|
||
- `1`: 上涨空间大 - 上涨空间大于下跌空间
|
||
- `0`: 平衡 - 上涨空间和下跌空间差不多
|
||
- `-1`: 下跌空间大 - 下跌空间大于上涨空间
|
||
|
||
### 投资建议 (investment_advice)
|
||
|
||
#### 投资建议类型 (investment_advice_type)
|
||
- `短期`: 近期(1-3个月内)有明确利好因素、催化事件或阶段性业绩改善
|
||
- `中期`: 无明确短期利好,但中期(3-12个月)业绩面临向上拐点或行业处于上升周期
|
||
- `长期`: 公司具备长期稳定的盈利能力、行业地位稳固、长期成长性好
|
||
- `不建议`: 存在风险因素、基本面恶化、估值过高或行业前景不佳
|
||
|
||
## 企业画像应用
|
||
|
||
基于上述多维度的量化指标,系统可以综合评估企业基本面状况,用于:
|
||
|
||
1. 筛选优质投资标的
|
||
2. 评估投资风险
|
||
3. 识别行业中的领先企业
|
||
4. 预判企业未来发展趋势
|
||
5. 辅助投资决策
|
||
|
||
企业基本面画像可以通过PDF报告形式输出,便于投资者快速了解企业综合情况。
|
||
|
||
## 企业筛选方法
|
||
|
||
基于基本面画像的量化指标,系统支持以下类型企业的筛选:
|
||
|
||
### 1. 高成长潜力企业
|
||
- 行业发展空间 (industry_space) = 2
|
||
- 财务报表质量 (financial_report_level) ≥ 1
|
||
- 项目进展质量 (major_events) = 1
|
||
- 合作动态质量 (collaboration_dynamics) ≥ 1
|
||
- 券商评级 (securities_rating) ≥ 1
|
||
- 上涨/下跌空间 (odds) = 1
|
||
|
||
筛选逻辑:选择处于高增长行业、财务状况良好、项目进展超预期、有高质量合作动态、券商看好且上涨空间大的企业。
|
||
|
||
### 2. 稳定型龙头企业
|
||
- 管理层能力 (ability) = 1
|
||
- 持股稳定性 (shareholding) ≥ 0
|
||
- 财务报表质量 (financial_report_level) ≥ 1
|
||
- 行业发展空间 (industry_space) ≥ 1
|
||
- 合作动态质量 (collaboration_dynamics) ≥ 1
|
||
- 券商评级 (securities_rating) ≥ 0
|
||
|
||
筛选逻辑:选择管理层能力强、持股稳定、财务状况良好、行业地位稳固、有稳定合作关系的企业。
|
||
|
||
### 3. 短期投资机会
|
||
- 项目进展质量 (major_events) = 1
|
||
- 市场情绪 (emotion) = 1
|
||
- 券商评级 (securities_rating) ≥ 1
|
||
- 上涨/下跌空间 (odds) = 1
|
||
- 财务报表质量 (financial_report_level) ≥ 0
|
||
|
||
筛选逻辑:选择近期有超预期项目进展、市场情绪乐观、券商看好且上涨空间大的企业。
|
||
|
||
### 4. 价值型投资标的
|
||
- 财务报表质量 (financial_report_level) = 2
|
||
- 持股稳定性 (shareholding) = 1
|
||
- 行业发展空间 (industry_space) ≥ 0
|
||
- 合作动态质量 (collaboration_dynamics) ≥ 0
|
||
- 券商评级 (securities_rating) ≥ 0
|
||
|
||
筛选逻辑:选择财务状况优秀、持股稳定、行业环境稳定、合作关系正常的企业。
|
||
|
||
### 5. 困境反转机会
|
||
- 财务报表质量 (financial_report_level) = -1
|
||
- 项目进展质量 (major_events) = 1
|
||
- 行业发展空间 (industry_space) = 1
|
||
- 市场情绪 (emotion) = 0
|
||
- 券商评级 (securities_rating) = 0
|
||
|
||
筛选逻辑:选择当前财务状况较差但项目进展超预期、行业环境改善、市场情绪企稳的企业。
|
||
|
||
### 6. 风险规避标的
|
||
- 管理层能力 (ability) = 1
|
||
- 持股稳定性 (shareholding) = 1
|
||
- 财务报表质量 (financial_report_level) ≥ 1
|
||
- 行业发展空间 (industry_space) ≥ 0
|
||
- 合作动态质量 (collaboration_dynamics) ≥ 0
|
||
- 券商评级 (securities_rating) ≥ 0
|
||
|
||
筛选逻辑:选择管理层能力强、持股稳定、财务状况良好、行业环境稳定、合作关系正常的企业。
|
||
|
||
### 7. 创新驱动型企业
|
||
- 行业发展空间 (industry_space) = 2
|
||
- 合作动态质量 (collaboration_dynamics) = 2
|
||
- 项目进展质量 (major_events) = 1
|
||
- 财务报表质量 (financial_report_level) ≥ 0
|
||
- 券商评级 (securities_rating) ≥ 1
|
||
|
||
筛选逻辑:选择处于高增长行业、有高质量新业务合作、项目进展超预期、财务状况稳定、券商看好的企业。
|
||
|
||
### 8. 行业整合机会
|
||
- 行业发展空间 (industry_space) = 1
|
||
- 合作动态质量 (collaboration_dynamics) = 2
|
||
- 财务报表质量 (financial_report_level) ≥ 1
|
||
- 券商评级 (securities_rating) ≥ 1
|
||
- 上涨/下跌空间 (odds) = 1
|
||
|
||
筛选逻辑:选择行业环境稳定、有高质量新业务合作、财务状况良好、券商看好且上涨空间大的企业。
|
||
|
||
## 数据库查询示例
|
||
|
||
以下SQL查询示例展示了如何从数据库中筛选特定类型的企业:
|
||
|
||
```sql
|
||
-- 筛选高成长潜力企业
|
||
SELECT stock_code, stock_name, dimension, ai_response, extra_info
|
||
FROM analysis_results
|
||
WHERE dimension = 'industry_competition'
|
||
AND JSON_EXTRACT(extra_info, '$.industry_space') = 2
|
||
AND stock_code IN (
|
||
SELECT stock_code
|
||
FROM analysis_results
|
||
WHERE dimension = 'financial_report'
|
||
AND JSON_EXTRACT(extra_info, '$.financial_report_level') >= 1
|
||
)
|
||
AND stock_code IN (
|
||
SELECT stock_code
|
||
FROM analysis_results
|
||
WHERE dimension = 'recent_projects'
|
||
AND JSON_EXTRACT(extra_info, '$.major_events') = 1
|
||
)
|
||
-- ... 其他条件
|
||
|
||
-- 筛选稳定型龙头企业
|
||
SELECT stock_code, stock_name, dimension, ai_response, extra_info
|
||
FROM analysis_results
|
||
WHERE dimension = 'management_ownership'
|
||
AND JSON_EXTRACT(extra_info, '$.ability') = 1
|
||
AND JSON_EXTRACT(extra_info, '$.shareholding') >= 0
|
||
AND stock_code IN (
|
||
SELECT stock_code
|
||
FROM analysis_results
|
||
WHERE dimension = 'financial_report'
|
||
AND JSON_EXTRACT(extra_info, '$.financial_report_level') >= 1
|
||
)
|
||
-- ... 其他条件
|
||
```
|
||
|
||
注意:实际查询时可能需要根据数据库表结构调整SQL语句。建议根据具体需求组合使用不同的筛选条件。 |