mcpField
F
futu

futu

github.com/starchild-ai-agentその他3071 回インストール6 日前に更新
リポジトリ

futu について

futuは、ローカルで稼働するOpenDゲートウェイを通じてFutu口座や相場データにアクセスするコマンドラインスキルです。ペーパー口座とライブ口座を選択でき、証券口座の認証情報はOpenD内に保持されます。

主な機能

  1. 01ソケット経由でOpenDに接続
  2. 02口座とポジションの確認
  3. 03気配値と履歴データの取得
  4. 04注文と約定の確認
  5. 05ペーパー/ライブ注文

活用シーン

  1. 01OpenDへの接続状況の確認
  2. 02口座の保有銘柄と注文の確認
  3. 03指定形式の銘柄コードで相場を照会
  4. 04単元株数での注文

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/starchild-ai-agent/official-skills --skill futu

インストール後、Claude Code で/futuを入力して読み込まれたか確認します。

同梱ファイルscripts/futu_cli.py

詳細

これは何か — まずこれを読んでください

🖥️ ローカルゲートウェイブローカー。 Futu はパブリッククラウド API を公開していません。代わりに、OpenD というゲートウェイプログラムをあるマシン上で実行し、Futu アカウントでログインして、この CLI がローカルソケット(デフォルト 127.0.0.1:11111)経由で OpenD と通信します。Futu の認証情報は OpenD の中にあり、このスキルには決して渡りません。

⚠️ つまり、デフォルトでは Starchild コンテナからは動作しません。OpenD はあなたのコンピューター上で実行され、コンテナの 127.0.0.1 はコンテナ自身(別のマシン)だからです。使用する方法は 2 つあります:

  1. ローカルで実行 — OpenD がログインしている自分のコンピューター上で OpenD + このスクリプトを実行します。(最も簡単)
  2. ネットワークをブリッジ — コンテナから到達できるホスト上で OpenD を実行し、FUTU_HOST/FUTU_PORT をそこに向けて設定します(ネットワーク/ファイアウォール/セキュリティは自分で管理してください — OpenD を localhost の外に公開するのは危険です。厳密にバインドしてください)。

status がゲートウェイに到達できないと報告する場合、これが理由です。

OpenD をセットアップする(1 回だけ)

  1. Futu OpenAPI ページ(富途牛牛 / moomoo → OpenAPI)から、お使いの OS 用の OpenD をダウンロードします。GUI アプリとコマンドラインビルドの両方が提供されています。
  2. OpenAPI 権限が有効になっている、資金のある/開設済みの Futu または moomoo アカウントが必要です(必要ならアプリ内で申請してください)。
  3. OpenD を起動し、Futu の認証情報(+ 電話/2FA)でログインします。リッスンしている API ポート(デフォルト 11111)を確認します。
  4. このスキルを使用している間は OpenD を実行し続けてください。ペーパートレードの場合、アカウントに模拟 / paper (SIMULATE) サブアカウントがあることを確認してください。

設定 (.env)

ここにシークレットキーはありません — ゲートウェイの場所と、(本番用の場合は)取引パスワードの MD5 のみです。安全な入力で要求します。

変数必須備考
FUTU_HOSTいいえOpenD ホスト、デフォルト 127.0.0.1
FUTU_PORTいいえOpenD ポート、デフォルト 11111
FUTU_TRD_MARKETいいえ取引市場フィルター: HK(デフォルト)/ US / CN / SG
FUTU_SECURITY_FIRMいいえFUTUSECURITIES(デフォルト)、FUTUINC、FUTUSG
FUTU_ACC_IDいいえ特定のアカウント ID を固定します。0 = 環境による自動解決
FUTU_TRADE_PWD_MD5本番のみFutu 取引パスワードの MD5(本番注文のロック解除に必要)

ペーパーか本番かは各アカウントの trd_env(SIMULATE = ペーパー、REAL = 本番)から解決されます。--profile はどちらかを選択し、一致するアカウントが見つからない場合、CLI は安全側に失敗します。

使用方法

pip install futu-api(初回実行時)。JSON 出力。デフォルトプロファイルは paper。

python skills/futu/scripts/futu_cli.py status                 # checks OpenD reachability + resolves account
python skills/futu/scripts/futu_cli.py account
python skills/futu/scripts/futu_cli.py positions
python skills/futu/scripts/futu_cli.py orders [--executions]
python skills/futu/scripts/futu_cli.py quote --symbol HK.00700
python skills/futu/scripts/futu_cli.py history --symbol US.AAPL --period 1d --limit 90
# place (paper SIMULATE): qty in whole shares; market or limit
python skills/futu/scripts/futu_cli.py place --symbol HK.00700 --side buy --qty 100 --type limit --limit-price 350
python skills/futu/scripts/futu_cli.py cancel --order-id <id>
# live (REAL): needs FUTU_TRADE_PWD_MD5 in .env AND --confirm-live
python skills/futu/scripts/futu_cli.py --profile live --confirm-live place --symbol HK.00700 --side buy --qty 100

シンボル形式は必須です: <MARKET>.<code> — HK.00700、US.AAPL、SH.600519、SZ.000001。期間: 1m 5m 15m 30m 1h 1d 1w 1M。

注意点

  • 「OpenD gateway not reachable」= OpenD が実行されていない、ログインしていない、別のマシンにある、またはホスト/ポートが間違っているかのいずれかです。「これは何か」のセクションを読み直してください。
  • Futu は整数株の --qty を要求します。金額指定の注文はありません。
  • 本番注文には FUTU_TRADE_PWD_MD5 が必要です(取引パスワードそのものではなく、取引パスワードの MD5 ハッシュ)。CLI は本番の場合のみ取引コンテキストをロック解除します。ペーパーは決してロック解除されません。
  • HK/A 株の売買単位が適用されます — 端数株の数量は取引所に拒否される場合があります。

コメント