Dhan Broker MCP Trades について
Dhan Broker MCP Trades は、DhanHQ 向けの取引サービスで、会話形式で注文、保有資産、ポジション、口座情報を管理できます。DhanHQ API 認証情報を使うトレーダー向けに、通常注文、スーパー注文、時間外注文を提供します。
主な機能
- 01成行注文と指値注文の発注
- 02目標価格と損切りを設定するスーパー注文
- 03時間外注文と注文一覧の確認
- 04保有資産、ポジション、資金残高の取得
- 05ポジション種別の変換と証拠金計算
活用シーン
- 01会話形式で買い注文や売り注文を発注
- 02目標価格と損切り条件を設定
- 03保有資産、取引履歴、利用可能資金を確認
- 04取引候補の証拠金を見積もる
MCP 対応
Model Context Protocol を使用して、DhanHQ の取引操作をツールとして提供します。各ツールは MCP CLI から個別に実行できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
DhanHQ トレーディングアシスタント
Model Context Protocol(MCP)を使用して構築された、DhanHQ ブローカー向けの AI 搭載トレーディングアシスタントです。このプロジェクトでは、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 とアクセストークン)
インストール
-
このリポジトリをクローンします
git clone https://github.com/yourusername/dhan-broker-mcp-trades.git cd dhan-broker-mcp-trades -
必要な依存関係をインストールします
pip install -r requirements.txt -
認証情報を設定します
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" -
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
アシスタントの使用方法
📈 トレーディングコマンドの拡張例 🛒 基本的な注文の発注
-
「Infosys の株を10株、成行で買って」
-
「TCS の株を5株、₹3500の指値で売って」
-
「HDFC Bank の株を20株、₹1450で買う GTT 注文を発注して」
🎯 ストップロスと目標価格を設定した注文
-
「Reliance を買って。目標価格は2%高、ストップロスは1%安にして」
-
「Tata Motors の買い注文にトレーリングストップロスを設定して」
-
「Axis Bank を5%の目標価格と2%のストップロスで空売りして」
🌙 時間外注文と予約注文
-
「ONGC の株を100株、₹180で買う時間外注文を作成して」
-
「明日の午前9時15分に Tech Mahindra の買い注文を予約して」
💼 アカウント情報
-
「現在の保有銘柄を教えて」
-
「利用可能残高と証拠金を確認して」
-
「未決済ポジションと含み益を表示して」
📊 ポートフォリオと損益の分析
-
「今月のポートフォリオのパフォーマンスを分析して」
-
「銀行セクターの全取引について損益レポートを作成して」
-
「過去30日間で最もパフォーマンスの高かった銘柄は?」
🤖 コンテキストを認識するスマートな音声コマンド
-
「PSU 銀行株をすべて買って」
-
「今日、民間銀行株をすべて空売りして」
-
「Nifty IT の上位5社を買って」
-
「経営者の息子が盛大な結婚式を挙げたばかりの会社の株を2株買って」
-
「化学セクター株すべてのストップロスを追従させて」
📌 コンテキストとテーマに基づくトレーディング
-
「ムンバイに本社を置く企業をすべて買って」
-
「四半期ごとに経営者の持ち株比率が増加している企業の株を買って」
-
「原材料を中国に大きく依存している企業をすべて空売りして」
-
「インドの時価総額上位5社の株を買って」
📈 テクニカルシグナルに基づくトレーディング
-
「200日移動平均線を上抜けたブレイクアウト銘柄を買って」
-
「ボリンジャーバンドの下限を下抜けた銘柄を空売りして」
-
「RSI が70を上抜けた銘柄を買って」
-
「タイトなストップロスを設定して、平均回帰銘柄の取引を開始して」
🔍 高度なフィルタリングとシグナルスキャン
-
「四半期ごとに利益が10%を超えて増加した企業の株を買って」
-
「出来高が多く、過去最高値から20%以上下落した銘柄を買って」
-
「世界の原油価格の影響を受ける銘柄をすべて売って」
🔁 ペア取引と戦略に基づくトレーディング
-
「Reliance の株を3株買い、Bharti Airtel の株を2株売って」
-
「ICICI Bank と Axis Bank でペアトレーディングをして」
ツールの説明
order_placement_tool.py
基本的な注文(成行注文と指値注文)の発注を処理します。銘柄名を指定して、株の買い注文と売り注文を発注できます。
super-order.py
目標価格とストップロスを設定したスーパー注文を管理します。目標価格とストップロスは、絶対値またはパーセンテージで指定できます。
after_market_order_tool.py
取引時間外に注文を発注し、翌取引日に執行します。
fund_balance_tool.py
口座の資金情報を取得し、証拠金要件を計算します。
holdings_positions_tool.py
保有資産とポジションの情報を取得し、商品タイプ間の変換を行います。
margin_calculator_tool.py
取引候補の証拠金要件を計算します。
order_book_tool.py
注文履歴と取引台帳にアクセスし、注文のキャンセルを行います。
portfolio_server.py
ポートフォリオ管理のメインインターフェースです。
株式情報
このプロジェクトでは、株式名と証券 ID の対応付けに stocks.json ファイルを使用します。このファイルは次の構造に従います。
{
"companies": [
{
"stock_code": "1333",
"company_name": "HDFC Bank Ltd.",
"stock_name": "HDFCBANK",
"description": "Description of the company..."
}
]
}
貢献
貢献を歓迎します。お気軽にプルリクエストを送信してください。
ライセンス
このプロジェクトは MIT ライセンスの下でライセンスされています。詳細については LICENSE ファイルをご覧ください。
免責事項
このソフトウェアは教育目的のみで提供されています。ご自身の責任でご使用ください。このソフトウェアの使用によって生じた金銭的損失について、作成者は一切責任を負いません。取引を実行する前に、必ずすべての操作を確認してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。