stock_fundamentals/src/valuation_analysis
liao c4c4e8622f commit; 2025-08-08 16:56:02 +08:00
..
README.md commit; 2025-05-14 08:54:56 +08:00
__init__.py commit; 2025-05-14 08:54:56 +08:00
cli.py commit; 2025-05-19 17:02:52 +08:00
config.py commit; 2025-06-17 15:52:59 +08:00
eastmoney_rzrq_collector.py commit; 2025-06-05 10:42:14 +08:00
example.py commit; 2025-05-14 08:54:56 +08:00
fear_greed_index.py commit; 2025-05-19 17:02:52 +08:00
financial_analysis.py commit; 2025-06-17 15:52:59 +08:00
hsgt_monitor.py commit; 2025-05-19 17:02:52 +08:00
index_analyzer.py commit; 2025-05-19 17:02:52 +08:00
industry_analysis.py commit; 2025-08-08 16:56:02 +08:00
notice_service.py commit; 2025-08-08 16:56:02 +08:00
pe_pb_analysis.py commit; 2025-07-28 10:30:35 +08:00
portfolio_analyzer.py commit; 2025-08-08 16:56:02 +08:00
rzrq_collector.py commit; 2025-05-19 17:02:52 +08:00
rzrq_collector的下个阶段可能性.txt commit; 2025-05-19 17:02:52 +08:00
stock_price_collector.py commit; 2025-05-21 14:01:54 +08:00
valuation_chat_bot.py commit; 2025-08-07 14:24:19 +08:00
valuation_indicator_analyzer.py commit; 2025-08-07 14:24:19 +08:00

README.md

股票估值分析模块

这个模块用于分析单一股票的历史PE、PB分位数生成分析结果和可视化图表。

功能特点

  • 获取单一股票的历史PE、PB数据
  • 计算PE、PB的历史分位数
  • 生成包含六根线的估值分析图:
    • 股票PE/PB线
    • 历史最大值线
    • 历史最小值线
    • 均值线
    • 第一四分位线
    • 第三四分位线
  • 计算当前估值的百分位数
  • 支持输出结果为图表和文本/JSON报告

使用方法

命令行方式

# 基本用法分析股票代码为601138的PE和PB
python -m src.valuation_analysis.cli --stock 601138

# 设置起始日期
python -m src.valuation_analysis.cli --stock 601138 --start-date 2020-01-01

# 仅分析PE
python -m src.valuation_analysis.cli --stock 601138 --metrics pe

# 保存为JSON格式
python -m src.valuation_analysis.cli --stock 601138 --format json

# 指定输出路径
python -m src.valuation_analysis.cli --stock 601138 --output my_analysis.json --format json

代码调用方式

from src.valuation_analysis.pe_pb_analysis import ValuationAnalyzer

# 创建分析器
analyzer = ValuationAnalyzer()

# 分析单只股票
result = analyzer.analyze_stock_valuation('601138')

# 打印结果
print(f"股票代码: {result['stock_code']}")
print(f"股票名称: {result['stock_name']}")
print(f"当前PE: {result['metrics']['pe']['current']:.2f}")
print(f"PE百分位: {result['metrics']['pe']['percentile']:.2f}%")
print(f"PE图表: {result['metrics']['pe']['chart_path']}")

输出结果

图表输出

  • PE分析图表保存在results/valuation_analysis/目录下
  • PB分析图表保存在results/valuation_analysis/目录下

文本/JSON输出

分析结果包含以下信息:

  • 股票基本信息(代码、名称)
  • PE指标分析结果
    • 当前PE值
    • PE百分位数
    • 历史最大/最小值
    • 历史均值/中位数
    • 第一/第三四分位数
    • 图表路径
  • PB指标分析结果
    • 当前PB值
    • PB百分位数
    • 历史最大/最小值
    • 历史均值/中位数
    • 第一/第三四分位数
    • 图表路径

后续开发计划

  • 支持添加同行业平均PE和PB比较
  • 支持批量分析多只股票
  • 支持更多估值指标如PS、PCF等
  • 添加定期运行和报告生成功能

Web界面使用

现在估值分析功能也可以通过Web界面访问提供了友好的用户交互界面和图表展示

  1. 启动Web服务器
python src/app.py
  1. 在浏览器中访问:
http://localhost:5000
  1. 在Web界面中

    • 输入股票代码如SH603986
    • 选择开始日期
    • 选择估值指标PE或PB
    • 可选择输入行业名称或概念板块名称进行对比
    • 点击"分析"按钮获取结果
  2. 结果展示:

    • 股票估值历史走势图基于ECharts
    • 估值分位数据表格
    • 行业/概念统计信息(如适用)

Web界面使用了Bootstrap和ECharts提供响应式设计支持在各种设备上使用。