股票投资组合分析工具

一个基于Python的股票投资组合分析工具,提供MCP服务器功能,用于通过Polygon.io API获取股票数据并进行投资组合分析。

  • by IshayBalash
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 IshayBalash/stocks-mcp-project

使用说明

用户股票项目

使用Python构建的综合股票投资组合分析工具,为使用Polygon.io API进行股票数据检索和投资组合分析提供MCP(模型上下文协议)服务器功能。

概述

该项目提供了一个功能强大的MCP服务器,可以实现:

  • 从Polygon.io实时检索股票数据
  • 基于用户交易历史的投资组合分析
  • 股价跟踪和历史数据分析
  • 自动化的投资组合绩效报告

特性

🔧 MCP工具可用

  1. get_stock_value -检索指定日期范围内任何交易品种的每日库存数据
  2. read_user_exchanges_data -读取并分析您当地的股票交易CSV文件
  3. get_last_closing_stock_price -获取任何股票的最新收盘价
  4. get_user_genral_view_on_portfolio -生成全面的投资组合分析提示

📊 投资组合分析

系统会自动分析您的交易历史,以提供:

  • 每个股票的业绩摘要
  • 买入与卖出分析
  • 损益计算
  • 交易策略见解
  • 风险评估

项目结构

user_stocks_project/
├── src/
│   └── mcpserver/
│       ├── __init__.py
│       ├── __main__.py
│       └── server.py          # Main MCP server implementation
├── clients/
│   └── polygon_io.py          # Polygon.io API client
├── general/
│   ├── constans.py           # Configuration constants
│   └── utils/
│       ├── argument_clases/
│       │   └── stocls_clases.py  # Pydantic models
│       └── fake_user_dat_func.py
├── my_stock_trades.csv       # Example trading history file
├── .env                      # Environment variables (required)
├── pyproject.toml           # Project configuration
└── README.md

需求

先决条件

  • Python 3.11或更高版本
  • 有效的Polygon.io API密钥
  • 所需CSV格式的股票交易历史记录

依赖项

--某物

该项目使用以下主要依赖项:

  • mcp[cli]>=1.18.0 -模型上下文协议框架
  • polygon-api-client>=1.15.4 -Polygon.io API客户端
  • pandas>=2.3.3 -数据操纵
  • numpy>=2.3.4 -数值计算
  • python-dotenv>=0.9.9 -环境变量管理

配置要求

1.Polygon.io API密钥

你 必须 在您的 .env 文件:

POLYGON_API_KEY=your_polygon_api_key_here

要获取Polygon.io API密钥,请执行以下操作:

  1. 访问 多边形
  2. 注册一个账户
  3. 导航到您的仪表板
  4. 复制API密钥

2.股票交易CSV文件

你 必须 有一个CSV文件,其中包含您的股票交易历史。文件路径在中配置 general/constans.py:

STOCK_TRADES_CSV_FILE_PATH = "/path/to/your/stock_trades.csv"

所需CSV格式:

  • ticker name:公司全称
  • ticker symbol:股票代码(例如AAPL、MSFT)
  • action:“买入”或“卖出”
  • date:交易日期,格式为DD/MM/YYYY
  • stock_amount:交易的股票数量
  • price_per_stock_at_transection_time:交易时的每股价格

重要:更新 STOCK_TRADES_CSV_FILE_PATH 在 general/constans.py 指向您的实际CSV文件位置。

日志记录

所有操作都记录了时间戳和详细信息:

  • API调用和响应
  • 文件操作
  • 错误条件