当前位置:首页>python>做全球投资必备的三个 Python 工具:财报分析 + 组合优化 + AI 交易

做全球投资必备的三个 Python 工具:财报分析 + 组合优化 + AI 交易

  • 2026-09-06 20:44:50
做全球投资必备的三个 Python 工具:财报分析 + 组合优化 + AI 交易

做全球投资的三个 Python 利器,昨天推荐的 OpenBB 最佳搭档

昨天介绍了 OpenBB 这个"散户版彭博终端",反响不错,不少朋友问:数据拿到了,然后呢?怎么做分析、怎么做配置、怎么验证策略?

今天就接着聊,推荐三个可以和 OpenBB 无缝配合的 Python 工具——一个帮你做财报分析和估值,一个帮你做投资组合优化,还有一个用深度强化学习训练交易 AI。三个项目加起来超过 2 万颗星。


FinanceToolkit:一行代码算完 150 种财务指标

项目地址:https://github.com/JerBouma/FinanceToolkit

⭐ 4,500+ Stars | Python | MIT

你有没有算过一只股票的市盈率、市净率、ROE、自由现金流,然后发现不同网站给出的数字居然不一样?同花顺算的和雪球算的经常对不上,搞得你都不知道该信谁。

FinanceToolkit 就是来解决这个问题的——一个透明、可验证的财务分析库,内置 150+ 种标准化的财务指标。

from financetoolkit import Toolkit

# 初始化(支持多只股票同时分析)
companies = Toolkit(
    ["AAPL", "MSFT", "GOOGL"],
    api_key="你的API Key"  # FinancialModelingPrep
)

# 一行代码拿到所有盈利能力指标
profitability = companies.ratios.collect_profitability_ratios()
print(profitability)

这一行就能返回毛利率、净利率、ROE、ROA、ROIC 等十几个指标,而且三家公司的数据并排展示,对比分析超方便。

核心功能

模块
能做什么
指标数量
Ratios
盈利能力、偿债能力、估值等
50+
Models
DCF估值、DuPont分析、Altman Z-Score
10+
Technical
RSI、布林带、MACD 等技术指标
30+
Risk
VaR、夏普比率、最大回撤
20+
Performance
收益率、波动率、Beta
15+

最实用的是 DCF 估值模型:

# 自动计算苹果公司的内在价值
dcf = companies.models.get_intrinsic_valuation()
print(dcf)

它会自动拉取历史财务数据,估算未来现金流,算出 WACC,最终给你一个内在价值。不是黑箱——每一步的计算过程都可以查看和验证。

安装

pip install financetoolkit -U

需要一个 FinancialModelingPrep 的 API Key(免费版有每日限额),用来获取历史财务报表。也可以配合 Yahoo Finance 使用。

适合谁:做价值投资的人、需要写研报的分析师、学习财务分析的学生。如果你之前用 Excel 手动算财务指标算到头大,这个库能直接解放你。


PyPortfolioOpt:用马科维茨理论管理你的钱包

项目地址:https://github.com/robertmartin8/PyPortfolioOpt

⭐ 5,500+ Stars | Python | MIT | 发表过学术论文

上面分析完个股,接下来就是"每只买多少"的问题了。这跟买不买同样重要——市面上有句话叫"不要把鸡蛋放在一个篮子里",但很少有人告诉你"每个篮子该放几个"。

PyPortfolioOpt 就是用数学帮你做这件事。它实现了现代投资组合理论(MPT),核心就是马科维茨的有效前沿。

from pypfopt import EfficientFrontier, risk_models, expected_returns
import pandas as pd

# 假设你有三只美股的历史价格数据
prices = pd.read_csv("stock_prices.csv", index_col="Date", parse_dates=True)

# 计算预期收益和协方差矩阵
mu = expected_returns.mean_historical_return(prices)
S = risk_models.sample_cov(prices)

# 找到最大夏普比率的最优组合
ef = EfficientFrontier(mu, S)
weights = ef.max_sharpe()
cleaned = ef.clean_weights()

print(cleaned)
# {'AAPL': 0.35, 'MSFT': 0.45, 'GOOGL': 0.20}

几行代码就算出了每只股票应该买多少比例。

支持的优化方法

方法
适合场景
最大夏普比率
追求风险调整后最优收益
最小波动率
保守型,追求稳定
有效前沿
可视化风险-收益边界
Black-Litterman
有主观判断想融入模型
层次风险平价(HRP)
不需要估计协方差矩阵,更稳健
CVaR 优化
关注极端损失风险

特别推荐 HRP(层次风险平价) 方法——它不依赖协方差矩阵的估计,对噪声数据更鲁棒,在实际投资中表现往往比经典的均值-方差优化更稳定。

安装

pip install PyPortfolioOpt

零依赖外的配置,装好就能用。

适合谁:做资产配置的投资者、管理多只股票组合的人、想用数学取代"拍脑袋决定仓位"的人。和前面的 FinanceToolkit 配合使用更佳——先用 FinanceToolkit 选股,再用 PyPortfolioOpt 定仓位。


FinRL:用深度强化学习训练你的交易 AI

项目地址:https://github.com/AI4Finance-Foundation/FinRL

⭐ 14,500+ Stars | Python | MIT | NeurIPS 论文

如果说前两个项目是"传统金融分析的数字化",FinRL 就是"用 AI 重新定义交易"。这是目前开源里最系统的金融强化学习框架,由 AI4Finance 基金会维护,发过 NeurIPS 论文。

之前 3 月 23 号写的 TensorTrade 也做 RL 交易,但 FinRL 的生态要完整得多:

项目
Stars
说明
FinRL(主库)
14.5K
核心框架
FinRL-Trading
2.8K
实盘交易基础设施
FinRL-Meta
1.8K
市场环境 + 基准复现
FinRL-Tutorials
1.2K
教程和 Notebook

五分钟跑通一条策略

from finrl import config
from finrl.main import check_and_make_directories
from finrl.agents.stablebaselines3 import DRLAgent

# 1. 准备数据(内置支持Yahoo Finance等)
# 2. 构建交易环境
# 3. 训练DRL Agent

agent = DRLAgent(env=env_train)
model = agent.get_model("ppo")  # 支持PPO, A2C, DDPG, TD3, SAC等
trained_model = agent.train_model(model, total_timesteps=50000)

支持的 RL 算法挺全的:PPO、A2C、DDPG、TD3、SAC、DQN——基本上主流的 model-free 算法都有。

覆盖的交易场景

  • 股票交易:单只/多只股票的买卖决策
  • 投资组合管理:动态调整资产配置
  • 算法交易:限价单、市价单的执行优化
  • 高频做市:做市商策略的训练
  • 加密货币:支持币圈市场

对比之前写的 TensorTrade

对比
FinRL
TensorTrade
Stars
14.5K
6K
维护状态
活跃
较慢
RL 算法数量
10+
基础
教程质量
⭐⭐⭐ 有完整 Notebook
⭐⭐ 有文档
实盘支持
✅ Alpaca
❌
学术背景
NeurIPS
无

安装

pip install finrl

坦白说,RL 交易目前还是一个"研究 > 实战"的领域。和 TensorTrade 那期说的一样——加上真实的手续费和滑点,很多策略都会跑不赢买入持有。FinRL 的价值在于它提供了最完整的实验平台,让你系统地去验证 RL 在金融领域的可能性。直接拿来跑实盘?建议先纸盘跑三个月再说。


三个项目怎么组合使用?

这三个项目和昨天的 OpenBB 形成了一个完整的全球投资工作流:

OpenBB(数据获取)
    ↓
FinanceToolkit(基本面分析 + 估值)
    ↓
PyPortfolioOpt(投资组合优化)
    ↓
FinRL(策略验证 + AI 交易)
环节
工具
解决的问题
拿数据
OpenBB
全球市场数据一站式获取
选标的
FinanceToolkit
150+ 指标筛选 + DCF 估值
定仓位
PyPortfolioOpt
数学优化
验策略
FinRL
用 RL 探索更多可能性

四个工具全部 pip install 就能用,总共 0 元。如果你之前觉得"专业投研离我太远",这套工具链应该能改变你的想法。


投资这件事,工具越来越好了,门槛越来越低了,但做判断的还是你自己。这些工具最大的价值不是替你决策,而是让你的决策有更多数据支撑、更少拍脑袋。

觉得有用就转发给同样在做全球投资的朋友,有问题评论区聊 👇


#投资 #量化交易 #开源工具 #GitHub #Python #投资组合 #财务分析 #强化学习 #全球投资 #OpenBB

最新文章

随机文章