将 OpenBB 金融数据平台的所有功能可视化到 Streamlit 界面,点击即可使用。
| 模块 | 功能 | 数据源 |
|---|---|---|
| 📈 股票 (Equity) | 历史价格、筛选器、公司信息、基本面、空头数据 | yfinance (免费), FMP, Polygon |
| 🎯 衍生品 (Derivatives) | 期权链、Greeks、IV曲面、异常活动 | yfinance (免费), CBOE |
| 💰 ETF | 持仓分析、行业分布、业绩对比 | yfinance (免费), FMP |
| 📊 指数 (Index) | 成分股、历史数据 | yfinance (免费) |
| 🌍 经济数据 (Economy) | CPI、GDP、就业、利率 | FRED, OECD |
| 💵 外汇 (Currency) | 实时汇率、历史走势 | yfinance (免费) |
| 🔧 技术分析 (Technical) | MA、RSI、MACD、布林带、ATR | 内置计算 |
| 📐 量化分析 (Quantitative) | 夏普比率、VaR、回撤、相关性 | 内置计算 |
| 💎 加密货币 (Crypto) | 价格、搜索 | yfinance (免费) |
| 📰 新闻 (News) | 全球新闻、公司新闻 | Benzinga, Polygon |
| 🛢️ 大宗商品 (Commodity) | 原油、黄金、农产品 | yfinance (免费) |
| 🏛️ 固定收益 (Fixed Income) | 国债、收益率曲线 | FRED |
| 📋 监管数据 (Regulators) | SEC文件 | SEC |
# 创建虚拟环境 (推荐)
python -m venv openbb_env
source openbb_env/bin/activate # Linux/Mac
# openbb_env\Scripts\activate # Windows
# 安装依赖
pip install -r requirements.txt
# 或者安装完整版OpenBB (包含所有数据源)
pip install "openbb[all]"某些数据源需要API密钥。在Python中配置:
from openbb import obb
# 设置API密钥
obb.user.credentials.fmp_api_key = "YOUR_FMP_KEY"
obb.user.credentials.polygon_api_key = "YOUR_POLYGON_KEY"
obb.user.credentials.fred_api_key = "YOUR_FRED_KEY"
# 或者通过环境变量
# export OPENBB_FMP_API_KEY=your_key免费API密钥获取:
- FMP - 免费tier可用
- Polygon - 免费tier可用
- FRED - 免费
- Alpha Vantage - 免费
streamlit run app.py应用将在 http://localhost:8501 启动
使用 yfinance 数据源,以下功能开箱即用:
- 股票历史价格和K线图
- 期权链查询
- ETF信息和持仓
- 外汇汇率
- 加密货币价格
- 大宗商品价格
- 技术分析指标
- 量化风险分析
- 详细公司基本面数据 (FMP)
- 实时新闻 (Benzinga)
- 完整经济数据 (FRED)
- 高级期权数据 (CBOE)
本平台特别优化了期权交易分析功能:
- 实时查看 QQQ/SPY 期权链
- Call/Put 持仓量可视化
- 按到期日筛选
如果需要更专业的GEX分析,可以:
- 集成SpotGamma数据API
- 使用本平台导出的期权数据进行自定义计算
# 在app.py中添加新模块
elif main_module == "🆕 新模块":
st.header("新功能模块")
# 使用OpenBB获取数据
data = obb.your_module.your_function()
# 可视化
st.plotly_chart(fig)# 安装新的provider
pip install openbb-newprovider
# 在代码中使用
data = obb.equity.price.historical("AAPL", provider="newprovider")openbb_streamlit/
├── app.py # 主应用文件
├── requirements.txt # 依赖列表
├── README.md # 说明文档
└── pages/ # (可选) 多页面应用
├── 1_equity.py
├── 2_options.py
└── ...
应用使用 @st.cache_data 缓存数据请求,避免重复API调用:
@st.cache_data(ttl=300) # 缓存5分钟
def get_data(symbol):
return obb.equity.price.historical(symbol).to_df()- 使用 Streamlit Cloud 免费部署
- 或使用 Docker 容器化部署
- 配置环境变量存储API密钥
本工具仅供学习和研究使用。金融市场有风险,投资需谨慎。本工具提供的数据和分析不构成投资建议。
MIT License