金融Alpha因子计算服务

一个基于TypeScript构建的Model Context Protocol (MCP)服务器,用于计算WorldQuant 101 Alpha因子,集成Tushare API获取实时中国股票市场数据,适用于量化交易分析和研究。

  • by guangxiangdebizi
  • TypeScript
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 guangxiangdebizi/FinanceMCP-Alpha

使用说明

📊 FinanceMCP-Alpha(金融MCP-阿尔法)

一个强大的 模型上下文协议(MCP) 用于计算的服务器 WorldQuant 101 Alpha因子 使用Tushare提供的实时中国股市数据。采用TypeScript构建,专为量化交易分析和研究设计。

✨ 特点/功能

  • 🎯 目标 7个阿尔法因子Alpha3,Alpha13,Alpha15,Alpha16,Alpha44,Alpha50,Alpha55
  • 📈 代表上升的箭头或图表趋势,常用于表示数据增长、价格上涨等。 实时数据集成了Tushare API以获取A股市场数据
  • 🔒(锁形符号,常用于表示安全、保密或锁定状态) 安全通过HTTP头部进行基于令牌的身份验证
  • 🚀 表示火箭或快速上升/前进的符号。 可流式传输的HTTP支持现代MCP协议
  • 📊(表格) 综合分析详细的因子统计和交易信号
  • 🎨(美术、绘画相关的表情符号,无具体文字对应,可理解为“美术”或“绘画”等意象) 精美的报告带有视觉指示器的Markdown格式分析

🏗️ 建筑学

src/
├── index.ts              # MCP server entry point
├── tools/
│   └── calculate_alpha.ts # Alpha calculation tool
├── alphas/
│   └── index.ts          # Alpha factor implementations
└── utils/
    ├── tushare.ts        # Tushare API client
    └── operators.ts      # Mathematical operators

📦 安装

选项1:作为npm包使用

npm install finance-mcp-alpha

选项2:在本地克隆并构建

git clone https://github.com/guangxiangdebizi/FinanceMCP-Alpha.git
cd FinanceMCP-Alpha
npm install
npm run build

🚀 快速入门

1. 启动服务器

npm start

服务器将在 http://localhost:3000 默认情况下。

🚀 FinanceMCP-Alpha Server Started
=====================================
Transport: Streamable HTTP
MCP Endpoint: http://localhost:3000/mcp
Health Check: http://localhost:3000/health
=====================================

2. 配置MCP客户端

添加到您的MCP客户端配置中(例如。, mcp.json (或Claude Desktop配置):

{
  "mcpServers": {
    "finance-alpha": {
      "type": "streamableHttp",
      "url": "http://localhost:3000/mcp",
      "headers": {
        "X-Tushare-Token": "YOUR_TUSHARE_TOKEN_HERE"
      },
      "timeout": 600
    }
  }
}

⚠️ 重要获取您的免费Tushare令牌,请访问 https://tushare.pro/register 翻译为中文是:“https://tushare.pro/注册”。不过,通常在中文语境下,网址本身不会被翻译,而是直接保留原样,同时在说明中加入中文解释。所以,更自然的表达可能是:“网址:https://tushare.pro/register(用于注册)”

3. 使用该工具

一旦连接成功,您就可以使用 calculate_alpha 工具:

Calculate Alpha factors for stock 000001.SZ from 20240101 to 20241011 
with factors Alpha3, Alpha13, Alpha50

📖 Alpha因子

这个包实现了以下WorldQuant 101阿尔法因子:

Alpha#3(阿尔法三)

公式: (-1 * correlation(rank(open), rank(volume), 10))
用例开盘价排名与成交量排名之间呈负相关关系。高值表明价格与成交量呈现反向变动。

Alpha#13

公式: (-1 * rank(covariance(rank(close), rank(volume), 5)))
用例捕捉收盘价与成交量之间的相关性排名。识别价格-成交量异常。

Alpha#15(阿尔法15号)

公式: (-1 * sum(rank(correlation(rank(high), rank(volume), 3)), 3))
用例高价与成交量之间排名相关性的总和。用于检测短期动量变化。

Alpha#16

公式: (-1 * rank(covariance(rank(high), rank(volume), 5)))
用例类似于Alpha13,但侧重于利用高价数据来分析日内波动模式。

Alpha#44

公式: (-1 * correlation(high, rank(volume), 5))
用例高价与成交量排名呈负相关。识别出成交量与价格高点的背离情况。

Alpha#50

公式: (-1 * ts_max(rank(correlation(rank(volume), rank(vwap), 5)), 5))
用例成交量与成交量加权平均价(VWAP)之间的最大排名相关性。衡量成交量-价格效率。

Alpha#55

公式: (-1 * correlation(rank((close - ts_min(low, 12)) / (ts_max(high, 12) - ts_min(low, 12))), rank(volume), 6))
用例标准化价格位置与成交量之间的相关性。捕捉动量与成交量之间的关系。

🔧 工具参数

calculate_alpha

参数 类型 必填 描述
中文翻译 英文 日文 韩文
) start_date YYYYMMDD 字符串
) end_date YYYYMMDD 字符串
) factors ["Alpha3", "Alpha13", "Alpha15", "Alpha16", "Alpha44", "Alpha50", "Alpha55"] 数组

|

  • 股票代码格式深圳证券交易所 XXXXXX.SZ : 000001.SZ (例如。,
  • - 平安银行上海证券交易所 XXXXXX.SH : 600000.SH (例如。,

- 社民党银行 (SPD Bank)

📊 输出格式

  • 该工具返回一份包含以下内容的综合Markdown报告: **📈 这个符号在中文里通常被用来表示“📈上升趋势”或者“📈图表上升”,它是一个表示上升或增长趋势的箭头图标。在没有具体上下文的情况下,我们通常将其翻译为“📈上升趋势”或类似的表达,以传达其基本含义。**因子汇总表
  • 当前值、百分位数和信号 **🔍 翻译成中文是:🔍(这个符号本身没有直接的中文翻译,但在中文语境中,它通常被用来表示“放大镜”或“搜索”的意思,类似于英文中的“🔍”所代表的含义,即用于搜索或查找信息。)不过,如果仅就这个符号本身而言,它在中文里并没有特定的翻译,更多是根据上下文来理解其含义。**详细分析
  • 每个因素的统计指标 **💡(这个符号通常表示“灯泡”,在中文里可以翻译为“💡”或者用文字描述为“灯泡图标”)**交易信号
  • 基于百分位数分析的买入/卖出/持有建议 **🎯 目标(或“瞄准”)**总体建议

来自所有因素的综合信号

信号解释

百分位数 信号 表情符号 动作
≥ 80% 强烈买入 🟢 强烈买入机会
60%-80% 买入 🟢 中等买入机会
40-60% 持有 🟡 中立,等待更明确的信号
20-40% 出售 🔴 中等的抛售压力

| < 20% | 强烈卖出 | 🔴 | 强烈的卖出压力 |

  • 🔐 安全注意事项 永远不要承诺
  • 将你的Tushare令牌纳入版本控制
  • 在您的MCP客户端配置中安全地存储令牌
  • 使用环境变量进行服务器配置

令牌通过HTTP头传递,不存储在服务器上

# Install dependencies
npm install

# Build TypeScript
npm run build

# Run in development mode
npm run dev

# Start production server
npm start

🛠️ 开发

📝 环境变量 .env 创建一个

PORT=3000

文件(可选):

🧪 测试

curl http://localhost:3000/health

测试健康检查端点:

{
  "status": "healthy",
  "transport": "streamable-http",
  "activeSessions": 0,
  "serverInfo": {
    "name": "FinanceMCP-Alpha",
    "version": "1.0.0"
  }
}

预期响应:

  • 📚 使用场景量化交易
  • 将阿尔法因子融入您的交易策略中研究
  • 分析不同股票和时间段下的因子有效性投资组合管理
  • 使用因子信号来确定头寸规模并进行再平衡市场分析
  • 理解价格-成交量关系和市场微观结构人工智能辅助交易

利用大型语言模型(LLMs)进行实时因子计算

🤝 贡献

欢迎贡献!请随时提交拉取请求。

📄 许可证 这个项目采用Apache License 2.0许可协议 - 请参阅 许可证

文件中有详细信息。

⚠️ 免责声明 此软件仅供教育和研究用途。

阿尔法因子是统计指标,不应作为投资决策的唯一依据。过去的表现并不能保证未来的收益。在做出投资决策前,请务必进行充分研究,并咨询财务专业人士。

👤 作者

📧 电子邮件:guangxiangdebizi@gmail.com

  • 🙏 致谢WorldQuant(世通量化)
  • 对于Alpha101因子公式Tushare(通达信数据接口,或特指该金融数据平台)
  • 为提供全面的中国股市数据模型上下文协议

对于令人惊叹的MCP框架


模型上下文协议规范

⭐ 如果你觉得这个项目有帮助,请在GitHub上给它点个星吧!