交易助手

一个基于AI的交易助手,支持通过自然语言交互进行订单管理、投资组合查看和账户信息查询。

  • by mayankthole
  • Python
  • 本地部署
  • 8 星标
  • 更新于
在 GitHub 查看 mayankthole/dhan-mcp-trades

使用说明

DhanHQ交易助理

基于模型上下文协议(MCP)构建的DhanHQ经纪商的人工智能交易助手。该项目支持与DhanHQ交易平台的自然语言交互,允许您通过简单的对话命令下订单、检查投资组合和管理交易活动。

特性

订单管理

  • 定期订单(市价/限价) order_placement_tool.py
  • 通过以下方式进行目标和止损的超级订单 super-order.py
  • 售后订单通过 after_market_order_tool.py
  • 通过以下方式访问订单簿和交易历史 order_book_tool.py

投资组合管理

  • 通过查看持股和头寸 holdings_positions_tool.py
  • 转换头寸(例如,日内到交割)

账户信息

  • 通过以下方式检查资金余额 fund_balance_tool.py
  • 通过以下方式计算保证金要求 margin_calculator_tool.py

设置和安装

先决条件

  • Python 3.9或更高版本
  • DhanHQ交易账户
  • DhanHQ API凭据(客户端ID和访问令牌)

安装

  1. 克隆此存储库

    git clone https://github.com/yourusername/dhan-broker-mcp-trades.git
    cd dhan-broker-mcp-trades
    
  2. 安装所需的依赖项

    pip install -r requirements.txt
    
  3. 配置您的凭据

    编辑 config.py 使用您的DhanHQ凭据文件:

    DHAN_CLIENT_ID = "your_client_id_here"
    DHAN_ACCESS_TOKEN = "your_access_token_here"
    DHAN_API_BASE_URL = "https://api.dhan.co/v2"
    
  4. 确保你的 stocks.json 文件中填充了您要交易的股票

运行工具

每个工具都可以使用MCP CLI独立运行:

# To run the order placement tool
python -m mcp.server.cli dev order_placement_tool.py

# To run the portfolio server
python -m mcp.server.cli dev portfolio_server.py

# To run other tools
python -m mcp.server.cli dev <tool_filename>.py

使用助手

📈 扩展示例交易命令 🛒 基本订单下达

  • “以市场价格购买10股Infosys”

  • “以限价出售5股TCS₹3500"

  • “下GTT订单购买HDFC Bank的20股股票₹1450"

🎯 带有止损和目标的订单

  • “以2%的目标价和1%的止损价买入信实”

  • “为塔塔汽车下达追踪止损买入订单”

  • “卖空安讯士银行,目标利率为5%,止损利率为2%”

🌙 售后和预定订单

  • “创建一个售后订单,购买印度石油天然气公司100股股票₹180"

  • “明天上午9:15为Tech Mahindra安排购买订单”

💼 客户洞察

  • “我目前持有什么?”

  • “检查我的可用余额和保证金”

  • “显示我的未结头寸和未实现利润”

📊 投资组合与损益分析

  • “分析我本月的投资组合表现”

  • “给我一份所有银行业交易的损益报告”

  • “过去30天里,我表现最好的股票是什么?”

🤖 智能、上下文感知的语音命令

  • “购买所有PSU银行股票”

  • “今天做空所有私营银行”

  • “看好五大Nifty IT公司”

  • “购买该公司的2股股份,其发起人的儿子刚刚举行了一场盛大的婚礼”

  • “追踪所有化工板块股票的止损”

📌 情境与主题交易

  • “收购总部位于孟买的所有公司”

  • “收购发起人持股环比增长的公司”

  • “做空所有严重依赖中国原材料的公司”

  • “根据印度市值购买前5家公司”

📈 基于技术信号的交易

  • “买入突破200日移动平均线的股票”

  • “跌破布林带下方的空头股票”

  • “买入RSI超过70的股票”

  • “进入具有严格止损的均值回归股票交易”

🔍 高级滤波和信号扫描

  • “收购利润环比增长超过10%的公司”

  • “以高交易量从历史高点下跌20%以上”

  • “出售受全球原油价格影响的所有股票”

🔁 基于配对和策略的交易

  • “购买3股Reliance,出售2股Bharti Airtel”

  • “在ICICI银行和Axis银行之间进行配对交易”

工具说明

order_placement_tool.py

处理基本订单下达(市价订单和限价订单)。支持按名称买卖股票。

super-order.py

使用目标和止损限额管理超级订单,这些限额可以以绝对值或百分比指定。

售后订单工具.py

在市场时间之外下单,并在下一个交易日执行。

fund_balance_tool.py

检索账户资金信息并计算保证金要求。

holdings_positions_tool.py

检索持有量和头寸信息,允许在产品类型之间进行转换。

margin_calculator_tool.py

计算潜在交易的保证金要求。

order_book_tool.py

提供对订单历史记录、交易簿的访问,并允许取消订单。

portfolio_server.py

项目组合管理的主界面。

股票信息

该项目使用 stocks.json 文件将股票名称映射到其安全ID。文件遵循以下结构:

{
  "companies": [
    {
      "stock_code": "1333",
      "company_name": "HDFC Bank Ltd.",
      "stock_name": "HDFCBANK",
      "description": "Description of the company..."
    }
  ]
}

贡献

欢迎投稿!请随时提交拉取请求。

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

免责声明

此软件仅用于教育目的。使用风险自负。创作者不对因使用本软件而产生的任何经济损失负责。执行前始终验证所有交易行为。