alpaca-trading について
alpaca-trading は、Rust 製コマンドラインツール apcacli による Alpaca 口座の取引と管理をエージェントに案内するスキルです。ペーパートレードでのテスト、実行前のコマンド確認、リスク管理を重視します。
主な機能
- 01注文の発行・変更・キャンセル
- 02口座残高と取引履歴の確認
- 03ポジションと損益の確認
- 04銘柄と市場時間の照会
- 05口座・取引イベントのストリーミング
活用シーン
- 01株式、ETF、オプション、暗号資産の注文管理
- 02ポートフォリオのポジションと損益の確認
- 03口座の購買余力と最近の取引の確認
- 04注文約定と取引イベントの監視
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ lacymorrow/ openclaw-alpaca-trading-skill --skill alpaca-tradingインストール後、Claude Code で/alpaca-tradingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.md_meta.jsonAGENTS.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
- rustup-init.exe をダウンロードして実行します
- 新しいターミナルを開き、次を実行します:
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、オプション、暗号資産を効率的に取引できるようユーザーを支援します。
このスキルの使い方
取引に関するタスクでユーザーを支援するときは、次の点に留意してください。
- 安全を最優先:初心者やテスト時には、必ずペーパートレードを推奨します
- コマンドを確認:取引を実行する前に、正確なコマンドを提示します
- 前提条件を確認:市場の取引時間、口座残高、有効な銘柄シンボルを確認します
- 注文タイプを説明:ユーザーのニーズに適した注文タイプを選べるよう支援します
- リスク管理:損切り注文とポジションサイズを提案します
このスキルでできること
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 認証情報の取得方法:
- https://alpaca.markets/ で登録します
- ダッシュボードに移動します
- API キーを生成します(ペーパーまたは実取引用)
- 環境変数をエクスポートします
基本コマンド
口座情報
口座の詳細を表示:
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
ポジションのリアルタイム取引イベントを監視します。
ベストプラクティス
安全性とリスク管理
- ペーパートレードから始める - まずは必ずペーパートレードで戦略をテストしてください
- 指値注文を使用する - 価格をより適切に管理するため、相場が不安定な状況では成行注文を避けてください
- シンボルを確認する - 取引を実行する前に、ティッカーシンボルを再確認してください
- 実行前に確認する -
apcacli order getを使用して注文の詳細を確認してください - ストップロスを設定する - 逆指値注文でポジションを保護してください
- 口座残高を確認する - 取引前に十分な購買余力があることを確認してください
- ポジションを監視する -
apcacli position listで損益を定期的に確認してください
効果的な使い方
- 各コマンドのヘルプを確認する - 詳細なオプションは
apcacli <command> --helpを使用してください - 注文 ID を保存する - 後で注文を追跡・管理できるよう、返された注文 ID を保存してください
- 環境変数を使用する - 認証情報は環境変数で安全に管理し、コードに直接記述しないでください
- 市場の取引時間を確認する - 注文を出す前に
apcacli market clockを確認してください - 取引履歴を定期的に確認する - 予期しない変更がないか、口座の取引履歴を監視してください
一般的なワークフロー
株式を購入する基本的な手順:
# 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
追加リソース
- apcacli リポジトリ:https://github.com/d-e-s-o/apcacli
- Alpaca ドキュメント:https://docs.alpaca.markets/
- Alpaca API リファレンス:https://docs.alpaca.markets/reference/
- ペーパートレードダッシュボード:https://app.alpaca.markets/paper/dashboard/overview
- apca クレート(基盤ライブラリ):https://github.com/d-e-s-o/apca
安全に関する注意
⚠️ 重要:
- リスクなしでテストできるよう、必ずペーパートレードから始めてください
- 執行前にすべての注文内容を確認してください
- API 認証情報を決して共有しないでください
- 価格をより適切に管理するには指値注文を使用してください
- リスク管理のためにストップロスを設定してください
- 環境変数が正しく設定されていること(ペーパートレードまたはライブ取引)を確認してください
- シンボルと数量を必ず再確認してください
- ポジションを定期的に監視してください
クレジット
apcacli は d-e-s-o によって作成されました
Alpaca API との連携には、apca Rust クレートを使用しています。