📈 实时金融数据监控器
一个构建于(某技术或框架)之上的高级金融分析平台 MCP(模型上下文协议) 该系统提供实时股票分析、投资组合风险评估以及市场洞察。
______________________________________________________________________
特点/特性
核心能力
- 实时股票分析 – 技术指标、价格趋势和交易信号
- 投资组合分析 – 风险指标、绩效跟踪和多元化分析
- 市场洞察 – 多只股票的比较分析
- 异常检测 – 利用人工智能检测异常价格波动
- 交互式仪表板 – 精美的Streamlit界面,支持实时可视化
技术指标
- RSI(相对强弱指数) 一种动量振荡器,用于衡量价格变动的速度和变化,以识别超买或超卖状况。
- 移动平均线(简单移动平均线,指数移动平均线) 用于平滑价格数据以识别趋势的指标;简单移动平均线(SMA)对所有数据点赋予相等的权重,而指数移动平均线(EMA)则对近期价格赋予更大的权重。
- MACD(移动平均收敛发散指标) 一个追踪趋势的指标,通过显示两条移动平均线之间的关系来识别动量变化。
- 布林带 一种波动率指标,通过使用移动平均线和两条标准差带来突出价格的高点、低点以及潜在的突破区域。
- 使用孤立森林进行异常检测 一种机器学习算法,用于隔离异常数据点(如价格飙升或下跌),以检测市场异常活动。
风险指标
- 波动率分析 衡量资产价格随时间变化的波动程度,反映回报的风险或不确定性。
- 夏普比率 通过将投资组合的表现与无风险基准进行比较,并根据波动性进行标准化处理,来评估风险调整后的回报。
- 最大回撤 表示投资组合从峰值到复苏前最低点的最大跌幅,体现了下行风险。
- 风险价值(Value at Risk,简称VaR) 在给定置信水平下,估算特定时期内的最大潜在损失,有助于量化投资组合的风险敞口。
技术栈
| 组件 | 技术 |
|---|---|
| 协议 | MCP(模型上下文协议) |
| 后端 | Python 3.11+,异步Python |
| 前端 | Streamlit, Plotly |
数据来源:雅虎财经API,阿尔法优势API | 分析 | Pandas, NumPy, Scikit-learn | | 部署 | Docker, Docker Compose | | 测试 | Pytest, Pytest-asyncio |
项目结构
financial-monitor/
├── mcp_server/
│ ├── server.py # Main MCP server implementation
│ ├── data_sources.py # Financial data connectors
│ ├── analytics.py # Technical analysis & risk metrics
│ └── models.py # Pydantic data models
├── frontend/
│ ├── app.py # Streamlit dashboard
├── tests/
│ ├── test_server.py # Server unit tests
│ └── test_analytics.py # Analytics unit tests
├── docker-compose.yml
├── Dockerfile
├── requirements.txt
└── README.md快速入门
先决条件
- Python 3.11或更高版本
- Docker(可选,用于容器化部署)
本地开发
克隆并设置
git clone https://github.com/codebywiam/financial-monitor.git
cd financial-monitor
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate安装依赖项
pip install -r requirements.txt运行应用程序
streamlit run frontend/app.py______________________________________________________________________
Docker 部署
docker-compose up --build使用示例
个股分析
# Get comprehensive analysis for Apple
analysis = await server.get_stock_analysis("AAPL", "1mo")投资组合风险评估
# Analyze a diversified portfolio
portfolio_result = await server.analyze_portfolio(
symbols=["AAPL", "GOOGL", "MSFT", "TSLA"],
weights=[0.3, 0.3, 0.2, 0.2],
investment=10000
)异常检测
# Detect unusual price movements
anomalies = await server.detect_anomalies("TSLA", "3mo")API 参考文档
MCP 工具
get_stock_analysis(symbol: str, period: str = "1mo")
单只股票的全面技术分析。
参数:
symbol股票代码(例如。,"AAPL","TSLA")period分析期("1d","1mo","3mo","1y")
______________________________________________________________________
analyze_portfolio(symbols: List[str], weights: List[float], investment: float)
投资组合的风险与回报分析。
参数:
symbols股票代码列表weights投资组合分配权重investment初始投资额
______________________________________________________________________
get_market_insights(symbols: List[str])
多只股票的比较分析。
detect_anomalies(symbol: str, period: str)
基于人工智能的价格数据异常检测。
免责声明
这个项目是关于 仅供教育和演示之用。\ 这不是财务建议,不应作为做出投资决策的依据。\ 在做出投资决策前,务必咨询合格的财务顾问。
做出贡献
- 为仓库创建分支(或“克隆仓库”)
- 创建一个特性分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add amazing feature') - 推送到分支(
git push origin feature/amazing-feature) - 提交一个拉取请求
许可证
此项目采用MIT许可证授权。详见LICENSE文件。
