Skip to content

Mirror-Heart/dcf-valuation-system

Repository files navigation

📈 DCF Valuation System | A股DCF估值分析系统

Python Streamlit SQLite License Tushare

巴菲特价值投资理念的 A 股 DCF 内在价值分析工具 | Built with Python + Streamlit
🧪 开箱即用 — 内置 29 只精选股票测试数据 | Ready to run without API token


⚡ Quick Start · 快速开始

git clone https://github.com/YOUR_USERNAME/dcf-valuation-system.git
cd dcf-valuation-system
pip install -r requirements.txt
streamlit run streamlit_app.py

打开 http://localhost:8501,无需任何配置即可体验全部功能。

📊 项目已包含测试数据库 finance_test.db(1 MB, 29只股票 + 近4个月行情)。生产使用请配置 Tushare Token 采集全量数据。


✨ Features · 功能

🧮 DCF 计算器 | Calculator

  • 输入股票代码自动获取财务数据 | Auto-fetch financial data by stock code
  • 可调节参数:增长率、折现率、安全边际 | Adjustable parameters
  • 实时股价 / 敏感性分析矩阵 | Real-time price + sensitivity matrix
  • FCF 取均一化值与最近一期中较小者(保守原则)| Conservative FCF estimation
  • 一键保存到跟踪列表 | One-click save to watchlist

📊 批量分析 | Batch Analysis

  • 一键分析全市场或自定义股票池 | Market-wide or custom pools
  • PE / PB / ROE / EPS 关键指标 | Key financial indicators
  • 按低估程度排序,发现投资机会 | Sorted by undervaluation level

⭐ 智能跟踪 | Smart Watchlist

  • 颜色标记分类 / 多列排序 / 名称展开计算详情 | Color markers + multi-column sort
  • 点击股票名查看完整 DCF 计算过程 | Click to expand DCF details

🤖 AI 分析 | AI Analysis(可选)

  • 多 LLM 提供商支持 | Multi-provider: 通义千问/智谱/MiniMax/Ollama
  • 测试连接 + 保存配置 | Test connection + save config

📸 Screenshots · 截图

DCF 计算器 批量分析
跟踪列表 AI 对话

🏗️ Architecture · 架构

flowchart TB
    TU["Tushare API 数据源"] --> COL["data_collector.py<br/>数据采集+增量更新"]
    COL --> DB[("SQLite<br/>finance_sqlite.db")]
    DB --> DCF["DCF_calculator.py<br/>估值引擎"]
    DB --> ANAL["DCF_analysis.py<br/>批量分析"]
    DCF --> APP["streamlit_app.py<br/>Web界面"]
    ANAL --> APP
    APP --> LLM["llm_chat.py<br/>AI对话"]
Loading

📂 项目结构 | Structure

dcf-valuation-system/
├── streamlit_app.py          # Web 主界面 | Main UI
├── data_collector.py         # 数据采集+增量更新 | Data collection
├── DCF_calculator.py         # DCF 核心估值引擎 | Core engine
├── DCF_analysis.py           # 批量分析 | Batch analysis
├── llm_chat.py               # LLM 对话集成 | AI chat
├── llm_config.py / .json     # LLM 配置 | Config
├── db_query.py               # 数据库查询工具 | DB tool
├── test_main.py              # 测试套件 | Test suite
├── finance_test.db           # 测试数据库 | Test DB (29 stocks, 1MB)
└── requirements.txt          # 依赖 | Dependencies

🗄️ 数据库 | Database

表 / Table 说明 关键字段
stock_basic 股票基本信息 ts_code, name, industry
income_statement 利润表 revenue, net_profit, eps, roe
balance_sheet 资产负债表 total_assets, total_liab, total_equity
cash_flow 现金流量表 经营/投资/筹资现金流
daily_basic 每日行情 close, pe, pb, total_share

🛠️ 技术栈 | Tech Stack

Layer 层级 Technology
语言 Python 3.9+
UI Streamlit
数据处理 Pandas, NumPy
可视化 Plotly
数据库 SQLite3
数据源 Tushare Pro API
AI/LLM OpenAI-compatible API

📝 版本历史 | Changelog

版本 日期 内容
v2.0 2026-05 项目结构精简、README 合并、测试数据库内置、FCF 保守取值
v1.5 2026-03 UI 优化、批量分析自定义股票池

📄 License

MIT — see LICENSE

⚠️ Disclaimer · 免责声明

本系统仅供学习和研究使用,不构成投资建议。投资有风险,入市需谨慎。

This system is for educational and research purposes only. Not financial advice.


🙏 致谢 | Acknowledgments

  • Tushare — A 股数据接口
  • Streamlit — Python Web 框架
  • 灵感来源:沃伦·巴菲特的价投哲学

About

Buffett-style DCF intrinsic value analysis for China A-share market | Python + Streamlit + Tushare

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages