2.5 KiB
2.5 KiB
实施计划:财务数据获取与分析系统
目标描述
开发一个后端工具,用于获取中国、香港、美国及日本股市的10年财务报表,保存到本地,计算财务指标,并输出带有样式的 Markdown 报告。
用户需确认事项
- API Keys: 需要 Tushare 和 Alpha Vantage 的 API Key。
- 日本市场数据: Alpha Vantage 对日股财务数据的支持情况待验证。
- 财务指标: 需确认具体的计算指标列表。
拟定变更
1. 项目初始化
- 创建项目目录结构。
- 初始化依赖管理
requirements.txt(pandas, requests, tushare, alpha_vantage)。 - 创建
.env文件用于存放 API Keys。
2. 模块:数据获取器 (src/fetchers)
- 定义抽象基类
DataFetcher。 - TushareFetcher (CN & HK):
- 实现与 Tushare 的连接。
- 方法:获取利润表、资产负债表、现金流量表。
- 适配 A 股和港股代码后缀。
- AlphaVantageFetcher (US & JP):
- 实现与 Alpha Vantage 的连接。
- 方法:同上。
- 针对日本市场进行适配测试。
- 工厂模式:
get_fetcher(market, api_keys)根据市场返回对应的获取器实例。
3. 模块:数据存储 (src/storage)
- 实现将 DataFrame 保存为 CSV 的功能。
- 目录结构:
data/{market}/{stock_code}/{statement_type}.csv。
4. 模块:分析器 (src/analysis)
- 加载本地 CSV 数据。
- 计算指标 (初步规划):
- 盈利能力: ROE (净资产收益率), Net Profit Margin (净利率), Gross Margin (毛利率)。
- 偿债能力: Debt-to-Equity (产权比率/负债权益比), Current Ratio (流动比率)。
- 成长能力: Revenue Growth (营收增长率), Net Income Growth (净利增长率)。
- 返回汇总的 DataFrame。
5. 模块:报告生成器 (src/reporting)
- 类
MarkdownReporter. - 方法
generate_table(indicator_data). - 样式实现:
- 使用 HTML
<table>标签嵌入 Markdown,通过style="background-color: ..."实现背景色。
- 使用 HTML
验证计划
自动化测试
- 编写单元测试,Mock API 响应,测试数据解析逻辑。
- 测试指标计算公式的准确性。
人工验证
- 中国/香港股票: 获取茅台 (600519.SH) 和 腾讯 (00700.HK),检查文件是否生成,内容是否正确。
- 美国/日本股票: 获取 Apple (AAPL) 和 Sony (6758.T),检查数据获取情况。
- 报告检查: 打开生成的
report.md,确认颜色样式能否正确渲染。