mcpField
A
alpaca-trading

alpaca-trading

github.com/lacymorrowその他13208 回インストール35 週間前に更新
リポジトリ

alpaca-trading について

alpaca-trading は、Rust 製コマンドラインツール apcacli による Alpaca 口座の取引と管理をエージェントに案内するスキルです。ペーパートレードでのテスト、実行前のコマンド確認、リスク管理を重視します。

主な機能

  1. 01注文の発行・変更・キャンセル
  2. 02口座残高と取引履歴の確認
  3. 03ポジションと損益の確認
  4. 04銘柄と市場時間の照会
  5. 05口座・取引イベントのストリーミング

活用シーン

  1. 01株式、ETF、オプション、暗号資産の注文管理
  2. 02ポートフォリオのポジションと損益の確認
  3. 03口座の購買余力と最近の取引の確認
  4. 04注文約定と取引イベントの監視

インストール

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

$npx skills add https://github.com/lacymorrow/openclaw-alpaca-trading-skill --skill alpaca-trading

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.md
_meta.json
AGENTS.md
.clawhub/
origin.json

詳細

Alpaca 取引スキル

Alpaca の Trading API 向けコマンドラインツール apcacli を使って、取引を実行し、ポートフォリオを管理します。

インストール

apcacli は Rust 製の CLI です。クロスプラットフォームでインストールできます。

macOS(Homebrew)
brew install rustup
rustup-init -y
source "$HOME/.cargo/env"
cargo install apcacli
Linux
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source "$HOME/.cargo/env"
cargo install apcacli
Windows
  1. rustup-init.exe をダウンロードして実行します
  2. 新しいターミナルを開き、次を実行します:cargo install apcacli
環境変数
export APCA_API_KEY_ID='your-key-id'
export APCA_API_SECRET_KEY='your-secret-key'
# For live trading (default is paper):
# export APCA_API_BASE_URL='https://api.alpaca.markets'

概要

あなたは、コマンドラインでの株式取引に apcacli を活用するエキスパートです。安全性とベストプラクティスを重視しながら、Alpaca の API を通じて株式、ETF、オプション、暗号資産を効率的に取引できるようユーザーを支援します。

このスキルの使い方

取引に関するタスクでユーザーを支援するときは、次の点に留意してください。

  1. 安全を最優先:初心者やテスト時には、必ずペーパートレードを推奨します
  2. コマンドを確認:取引を実行する前に、正確なコマンドを提示します
  3. 前提条件を確認:市場の取引時間、口座残高、有効な銘柄シンボルを確認します
  4. 注文タイプを説明:ユーザーのニーズに適した注文タイプを選べるよう支援します
  5. リスク管理:損切り注文とポジションサイズを提案します

このスキルでできること

apcacli は、Alpaca の取引プラットフォームと連携する Rust 製 CLI です。次の機能を提供します。

  • 取引:株式、ETF、オプション、暗号資産の注文の発注、変更、キャンセル
  • ポートフォリオ管理:ポジション、損益、口座情報の表示
  • 市場データ:銘柄情報と市場の取引時間状況へのアクセス
  • 口座アクティビティ:取引履歴と口座の変更の追跡
  • リアルタイムストリーミング:口座や取引のイベントの監視

このスキルを使う場面

ユーザーが次のことを希望する場合に、このスキルを使います。

  • 取引を実行する(株式、ETF、オプション、暗号資産の売買)
  • ポートフォリオのポジションとパフォーマンスを確認する
  • 注文(未約定、約定済み、キャンセル済み)を表示または管理する
  • 口座残高と購買余力を確認する
  • 市場データと銘柄情報にアクセスする
  • 口座アクティビティとイベントを監視する
  • 市場が開いているか確認する
  • 損切り注文またはトレーリングストップを設定する
  • スクリプトで取引ワークフローを自動化する

よくあるトリガーフレーズ:

  • 「AAPL を 10 株買って」
  • 「保有中のポジションを表示して」
  • 「口座残高はいくら?」
  • 「すべての注文を一覧表示して」
  • 「注文 [ID] をキャンセルして」
  • 「市場は開いている?」
  • 「ポートフォリオのパフォーマンスを表示して」
  • 「保有ポジションに損切り注文を設定して」
  • 「すべてのポジションを決済して」

このスキルを使わない場面:

  • ユーザーが GUI での取引を希望している(ウェブインターフェースを案内してください)
  • ユーザーが金融アドバイスを求めている(提供するのはツールであり、推奨ではありません)
  • ユーザーが Alpaca でサポートされていない金融商品を取引したい
  • ユーザーが apcacli をインストールしていない(まずインストールを支援してください)

インストールとセットアップ

apcacli をインストールする
# Using Cargo (Rust package manager)
cargo install apcacli

# Verify installation
apcacli --help

要件:

  • Rust 1.71 以降
  • Alpaca アカウント(ペーパー取引または実取引)
  • Alpaca API 認証情報
環境変数を設定する

ペーパー取引の場合(テストに推奨):

export APCA_API_KEY_ID='your_paper_key_id'
export APCA_API_SECRET_KEY='your_paper_secret_key'
# Paper trading is the default, no need to set APCA_API_BASE_URL

実取引の場合:

export APCA_API_BASE_URL='https://api.alpaca.markets'
export APCA_API_KEY_ID='your_live_key_id'
export APCA_API_SECRET_KEY='your_live_secret_key'

API 認証情報の取得方法:

  1. https://alpaca.markets/ で登録します
  2. ダッシュボードに移動します
  3. API キーを生成します(ペーパーまたは実取引用)
  4. 環境変数をエクスポートします

基本コマンド

口座情報

口座の詳細を表示:

apcacli account get

口座のステータス、現金残高、購買余力、純資産、証拠金情報を表示します。

口座アクティビティを表示:

apcacli account activity

取引、配当、資金移動など、最近の口座アクティビティを表示します。

口座設定を更新:

apcacli account config <options>

口座設定を変更します(利用可能なオプションは --help で確認してください)。

注文管理

成行注文を発注:

# Buy with dollar amount
apcacli order submit buy AAPL --value 1000

# Buy specific quantity
apcacli order submit buy AAPL --quantity 10

# Sell shares
apcacli order submit sell TSLA --quantity 5

指値注文を発注:

# Buy at specific price
apcacli order submit buy MSFT --quantity 10 --limit-price 420

# Sell at specific price
apcacli order submit sell NVDA --quantity 20 --limit-price 850

高度な注文を発注:

# Stop order
apcacli order submit sell AAPL --quantity 10 --stop-price 180

# Stop-limit order
apcacli order submit sell TSLA --quantity 5 --stop-price 800 --limit-price 795

# Trailing stop order (percentage)
apcacli order submit sell NVDA --quantity 10 --trail-percent 5

すべての注文を一覧表示:

apcacli order list

未約定、約定済み、キャンセル済みなど、各注文のステータスとともにすべての注文を表示します。

特定の注文の詳細を取得:

apcacli order get <ORDER_ID>

タイムスタンプ、価格、ステータスなど、注文の詳細情報を表示します。

注文をキャンセル:

apcacli order cancel <ORDER_ID>

注文 ID を指定して、保留中の注文をキャンセルします。

すべての注文をキャンセル:

apcacli order cancel-all

すべての未約定注文をキャンセルします。

ポジション管理

すべてのオープンポジションを一覧表示:

apcacli position list

以下の情報とともに、すべてのオープンポジションを表示します:

  • 数量と取得価格
  • 現在の時価
  • 日次損益(割合付き)
  • 総損益(割合付き)
  • 損益を色分けして表示

特定のポジションを取得:

apcacli position get <SYMBOL>

特定のポジションの詳細情報を表示します。

ポジションを決済:

# Close entire position
apcacli position close <SYMBOL>

# Close partial position
apcacli position close <SYMBOL> --quantity 5

すべてのポジションを決済:

apcacli position close-all

すべてのオープンポジションを決済します。

資産情報

取引可能な資産を一覧表示:

apcacli asset list

すべての取引可能な資産を表示します。

資産の詳細を取得:

apcacli asset get <SYMBOL>

取引所、資産クラス、取引可能状況などの資産情報を表示します。

資産を検索:

apcacli asset search <QUERY>

クエリに一致する資産を検索します。

市場データ

市場の取引時間を確認:

apcacli market clock

現在の市場状況(開場/閉場)、次の開場時刻、次の閉場時刻を表示します。

ストリーミング(リアルタイムイベント)

口座の更新をストリーミング:

apcacli stream account

注文の更新や約定など、リアルタイムの口座イベントを監視します。

取引の更新をストリーミング:

apcacli stream trades

ポジションのリアルタイム取引イベントを監視します。

ベストプラクティス

安全性とリスク管理
  1. ペーパートレードから始める - まずは必ずペーパートレードで戦略をテストしてください
  2. 指値注文を使用する - 価格をより適切に管理するため、相場が不安定な状況では成行注文を避けてください
  3. シンボルを確認する - 取引を実行する前に、ティッカーシンボルを再確認してください
  4. 実行前に確認する - apcacli order get を使用して注文の詳細を確認してください
  5. ストップロスを設定する - 逆指値注文でポジションを保護してください
  6. 口座残高を確認する - 取引前に十分な購買余力があることを確認してください
  7. ポジションを監視する - apcacli position list で損益を定期的に確認してください
効果的な使い方
  1. 各コマンドのヘルプを確認する - 詳細なオプションは apcacli <command> --help を使用してください
  2. 注文 ID を保存する - 後で注文を追跡・管理できるよう、返された注文 ID を保存してください
  3. 環境変数を使用する - 認証情報は環境変数で安全に管理し、コードに直接記述しないでください
  4. 市場の取引時間を確認する - 注文を出す前に apcacli market clock を確認してください
  5. 取引履歴を定期的に確認する - 予期しない変更がないか、口座の取引履歴を監視してください
一般的なワークフロー

株式を購入する基本的な手順:

# 1. Check account balance
apcacli account get

# 2. Verify asset is tradeable
apcacli asset get AAPL

# 3. Check market is open
apcacli market clock

# 4. Submit market order
apcacli order submit buy AAPL --value 1000

# 5. Verify position
apcacli position list

監視機能付きの指値注文:

# 1. Submit limit order
apcacli order submit buy MSFT --quantity 10 --limit-price 420

# 2. Save the returned ORDER_ID
# 3. Check order status
apcacli order get <ORDER_ID>

# 4. If needed, cancel
apcacli order cancel <ORDER_ID>

ポートフォリオの確認:

# 1. View all positions
apcacli position list

# 2. Check account summary
apcacli account get

# 3. Review recent activity
apcacli account activity

ストップロスを設定してポジションを決済:

# 1. Check current position
apcacli position get AAPL

# 2. Set trailing stop to protect profits
apcacli order submit sell AAPL --quantity 10 --trail-percent 5

# 3. Monitor the order
apcacli order list

コマンド早見表

タスクコマンド
口座を表示apcacli account get
口座の取引履歴apcacli account activity
株式を購入(成行)apcacli order submit buy SYMBOL --value AMOUNT
株式を購入(指値)apcacli order submit buy SYMBOL --quantity N --limit-price PRICE
株式を売却apcacli order submit sell SYMBOL --quantity N
すべての注文を一覧表示apcacli order list
注文の詳細を取得apcacli order get ORDER_ID
注文をキャンセルapcacli order cancel ORDER_ID
すべての注文をキャンセルapcacli order cancel-all
ポジションを一覧表示apcacli position list
ポジションを取得apcacli position get SYMBOL
ポジションを決済apcacli position close SYMBOL
すべてのポジションを決済apcacli position close-all
資産を一覧表示apcacli asset list
資産情報を取得apcacli asset get SYMBOL
市場状況を確認apcacli market clock
口座イベントをストリーミングapcacli stream account
取引をストリーミングapcacli stream trades

注文タイプとパラメーター

基本的な注文パラメーター
  • --quantity N - 取引する株式数
  • --value AMOUNT - 投資する金額(成行注文の場合)
  • --limit-price PRICE - 指値注文の指値
  • --stop-price PRICE - 逆指値注文のトリガー価格
  • --trail-percent N - トレーリングストップの割合
  • --trail-amount AMOUNT - トレーリングストップの金額
注文タイプ

成行注文 - 現在の市場価格ですぐに執行されます

apcacli order submit buy AAPL --quantity 10

指値注文 - 指定価格またはそれより有利な価格でのみ執行されます

apcacli order submit buy AAPL --quantity 10 --limit-price 185

逆指値注文 - 逆指値価格に達すると成行注文に切り替わります

apcacli order submit sell AAPL --quantity 10 --stop-price 180

逆指値・指値注文 - 逆指値価格に達すると指値注文に切り替わります

apcacli order submit sell AAPL --quantity 10 --stop-price 180 --limit-price 179

トレーリングストップ - 逆指値価格が指定した割合または金額だけ市場価格に追従します

# Percentage-based
apcacli order submit sell AAPL --quantity 10 --trail-percent 5

# Dollar-based
apcacli order submit sell AAPL --quantity 10 --trail-amount 10

重要事項

要件
  • apcacli バイナリがインストールされている必要があります - cargo install apcacli でインストールします
  • 環境変数を設定する必要があります - APCA_API_KEY_ID と APCA_API_SECRET_KEY が必要です
  • Alpaca アカウント - 有効なペーパートレードまたはライブ取引アカウントが必要です
  • Rust 1.71+ - ソースからのインストールに必要です
取引の制限事項
  • ペーパートレードとライブ取引:デフォルトはペーパートレードです。ライブ取引には APCA_API_BASE_URL を設定してください
  • 市場営業時間:ほとんどの取引は市場営業時間(米国東部時間の午前9:30~午後4:00)にのみ執行されます
  • パターン・デイトレード(PDT):25,000ドル未満の口座には PDT 制限があります
  • 購買力:口座の純資産と証拠金要件によって制限されます
  • 注文の制限:一部の注文タイプは、すべての有価証券で利用できるとは限りません
  • 暗号資産取引:異なるルールや取引時間が適用される場合があります
データとパフォーマンス
  • API レート制限:Alpaca には不正利用を防止するためのリクエスト制限があります
  • リアルタイムデータ:有効なデータサブスクリプションが必要な場合があります
  • コマンド出力:結果は読みやすいよう色分けして表示されます
  • 注文 ID:追跡や管理のため、返された注文 ID を保存してください
  • ネットワーク接続:Alpaca の API に接続するにはインターネット接続が必要です

トラブルシューティング

環境変数が設定されていない
# Error: "Missing APCA_API_KEY_ID"
# Solution: Export required environment variables
export APCA_API_KEY_ID='your_key'
export APCA_API_SECRET_KEY='your_secret'
コマンドが見つからない
# Error: "apcacli: command not found"
# Solution: Install apcacli
cargo install apcacli

# Verify installation
which apcacli
API 認証に失敗した
  • API 認証情報が正しいことを確認してください
  • 正しいエンドポイント(ペーパートレードまたはライブ取引)を使用しているか確認してください
  • API キーが失効していないことを確認してください
  • アカウントが有効な状態であることを確認してください
注文が拒否された
  • 市場が開いていることを確認してください(株式の場合)
  • 購買力が十分であることを確認してください
  • シンボルが有効で、取引可能であることを確認してください
  • 注文パラメーター(価格、数量)を確認してください
  • 口座に制限がないか確認してください
ポジションが見つからない
  • シンボルが正しいことを確認してください
  • ポジションが実際に保有中であることを確認してください
  • ポジションが以前に決済されていないか確認してください
  • 正しい口座(ペーパートレードまたはライブ取引)を使用していることを確認してください

高度な機能

シェル補完

コマンド入力を効率化するため、シェル補完を生成します。

# Install completion script
cargo run --bin=shell-complete > apcacli.bash
source apcacli.bash

# Now you can use tab completion
apcacli order <TAB>
モニタリング用ストリーミング

ストリーミングコマンドを使用して、口座のアクティビティをリアルタイムで監視します。

# Terminal 1: Monitor account events
apcacli stream account

# Terminal 2: Execute trades
apcacli order submit buy AAPL --value 1000
# Watch the fill notification appear in Terminal 1
スクリプトと自動化

apcacli とシェルスクリプトを組み合わせて、戦略を自動化します。

#!/bin/bash
# Example: Daily portfolio check script

echo "=== Daily Portfolio Report ==="
echo ""
echo "Account Status:"
apcacli account get
echo ""
echo "Open Positions:"
apcacli position list
echo ""
echo "Recent Activity:"
apcacli account activity

追加リソース

安全に関する注意

⚠️ 重要:

  • リスクなしでテストできるよう、必ずペーパートレードから始めてください
  • 執行前にすべての注文内容を確認してください
  • API 認証情報を決して共有しないでください
  • 価格をより適切に管理するには指値注文を使用してください
  • リスク管理のためにストップロスを設定してください
  • 環境変数が正しく設定されていること(ペーパートレードまたはライブ取引)を確認してください
  • シンボルと数量を必ず再確認してください
  • ポジションを定期的に監視してください

クレジット

apcacli は d-e-s-o によって作成されました

Alpaca API との連携には、apca Rust クレートを使用しています。

コメント