📈 はんちょう Algo Trading Project v1

Claude Code × Alpaca API × GitHub Actions — 技術学習プロジェクトとしての自動売買ボット構築
作成:2026-05-15 / 個人プロジェクト / 段階的アプローチ
📘 このプロジェクトの位置付け
🎯 投機ツールではなく、技術学習プロジェクト
本プロジェクトは「儲けるための魔法のシステム」ではない。
Python + Claude API + GitHub Actions + 外部API連携 を実装する技術学習プロジェクトであり、
Anthropic Japan転職時の差別化要因「金融×AI実装経験」を獲得することが第一目的。
投資ロジックそのものは人間が設計し、AIは実行のみを担う。
3つの並行する目的
目的得られるもの
① 技術学習Python実装・API連携・GitHub Actions・Slack通知・MCP Server活用
② キャリア差別化「Claude Code × 金融API実装」の実例 → 経歴OSに記載
③ 投資判断の質向上感情を排したルールベース運用の経験 → 自分の投資原則の言語化
⚠️ 重要な前提

📌 実弾投入は最終段階:Phase 0〜4は Paper Trading(仮想取引)のみ。実弾投入は Phase 5 で判断するが、決定は 3〜6ヶ月の Paper Trading 実績 を踏まえて行う。早期の実弾投入は禁止。

📌 投資判断は人間が事前定義:ルール(損切り・利確・配分)は事前に人間が決め、AI は実行のみ。AIに「この銘柄買うべき?」と判断を委ねない。

📌 確定申告等の税務手続き:米国市場の取引には日本居住者向け税務処理が必要。AlpacaJapan(日本法人)であれば特定口座対応あり。

📋 本資料の使い方(各タブ説明)
タブ目的
システム構成使用する技術スタックと連携方式の理解
段階的ロードマップPhase 0〜5 の進め方・所要時間目安
投資ロジック設計ルールベース運用の設計・期待値計算
リスク管理損失制御・Paper Trading優先・撤退ルール
(参考)落とし穴初心者が陥りやすい罠と回避策
🚀 次のステップ実弾投入判断基準・拡張可能性
🏗️ システム構成
5つのコンポーネントの連携
Alpaca API(取引執行)× Python(ロジック実装)× Claude Code(コード生成・修正)× GitHub Actions(定期実行)× Slack(通知)
コンポーネント役割備考
Alpaca 証券口座・API実行・約定処理 日本法人「アルパカ証券」あり。Paper Trading 無料
Python ロジック・データ取得・売買判断 alpaca-py SDK 公式提供
Claude Code コード生成・修正・拡張 MCP Server経由で自然言語連携も可能
GitHub Actions 定期実行(毎営業日 / 毎時等) 無料枠で十分。Secret管理に注意
Slack 取引状況・損益・エラー通知 Webhook URL 1本で完結
🔧 最小構成のサンプルコード(Hello Alpaca)

📌 Paper Trading の口座残高を取得する最小実装。これが動けば環境構築は完了。

import os from alpaca.trading.client import TradingClient # Paper Trading キー(環境変数から取得) API_KEY = os.environ['ALPACA_API_KEY'] API_SECRET = os.environ['ALPACA_SECRET_KEY'] # paper=True で仮想取引モード client = TradingClient(API_KEY, API_SECRET, paper=True) account = client.get_account() print(f"残高: ${account.cash}") print(f"購買力: ${account.buying_power}") print(f"ポートフォリオ評価額: ${account.portfolio_value}")
📡 GitHub Actions による定期実行
name: Daily Trading Bot on: schedule: - cron: '30 14 * * 1-5' # 平日 23:30 JST (米国市場開場前) workflow_dispatch: jobs: trade: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: { python-version: '3.11' } - run: pip install alpaca-py requests - run: python trading_bot.py env: ALPACA_API_KEY: ${{ secrets.ALPACA_API_KEY }} ALPACA_SECRET_KEY: ${{ secrets.ALPACA_SECRET_KEY }} SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
🛤️ Phase 0〜5 ロードマップ

📌 実弾投入は Phase 5 まで禁止。各 Phase の卒業基準を満たしてから次へ。

0
環境構築
・Alpaca Paper Trading 口座開設
・APIキー取得
・Hello World 動作確認
所要:1〜2日
最優先
1
データ取得
・銘柄リスト管理
・株価データ取得
・テクニカル指標計算
所要:1〜2週
2
ロジック実装
・ルールベース判断
・期待値計算
・損切り/利確ライン
所要:2〜3週
3
バックテスト
・過去データで検証
・勝率・最大DD確認
・ロジック修正
所要:1〜2週
4
Paper運用
・GitHub Actions自動化
・Slack通知
・3〜6ヶ月実績蓄積
所要:3〜6ヶ月
核心
5
実弾検討
・Paper実績評価
・小額から開始判断
・税務体制整備
慎重に判断
要決断
📋 各 Phase の卒業基準
Phase卒業基準
0 → 1Paper Trading で残高取得・テスト注文成功
1 → 2銘柄リスト・株価データ・指標計算が安定動作
2 → 3ルールベース判断ロジックがエラーなく動く
3 → 4バックテスト勝率 50% 以上・最大ドローダウン 15% 以内
4 → 5Paper Trading で 3〜6ヶ月運用・月次でプラス収益
5実弾は最初 10〜20万円程度の少額から
📐 ルールベース運用の設計

📌 原則:「予測しない」「期待値で勝つ」「感情を排する」。AIに判断を委ねず、人間が事前にルールを定義する。

参考:3層ポートフォリオ案
配分方針期待値
① 長期コア 70% 配当貴族銘柄を長期保有(損切りなし) 年率 5〜8%
② 中期成長 20% -8%損切り / +20%利確 (0.33×20%) + (0.67×-8%) = +1.2%/回
③ 短期 10% -3%損切り / +9%利確 (0.5×9%) + (0.5×-3%) = +3%/回

📌 上記は X 投稿(@sawa20200424)の構成を参考にしたもの。あくまで一例で、はんちょう自身のリスク許容度に合わせて配分や閾値を再設計すること。

🧮 期待値計算の考え方
期待値 = (勝率 × 平均利益) - (敗率 × 平均損失) 例:勝率33%・利益20% / 損失8% → (0.33 × 20%) + (0.67 × -8%) = 6.6% - 5.36% = +1.24% つまり、3回に1回勝てればプラスになる構造。 ルールを守れば「予測」は不要。
📝 銘柄選定の基準(事前定義)
セクター分散1セクターに資産の30%以上を集中させない
時価総額長期コアは時価総額500億ドル以上の安定銘柄
配当履歴連続増配 20年以上(配当貴族)を優先
流動性1日平均出来高 100万株以上
除外レバレッジETF・仕組債・新規上場直後の銘柄
🛡️ リスク管理の原則
「絶対に負けない」より「致命傷を避ける」
勝つことより先に「破滅しない」設計をする。
・1取引あたりの最大損失:総資産の 2% 以内
・1日の最大損失:総資産の 5% 以内
・連続損失時の自動停止:5連敗で取引中断・人間レビュー
📋 必須のセーフティ機構
機構実装内容
ポジションサイジング1取引の損失額 ≤ 総資産2% になるロット計算
自動損切り(Stop Loss)事前定義した損失率到達時に自動執行
連敗ストップn回連敗で自動取引停止・Slack通知
API障害対応注文失敗時の再試行・人間通知
緊急停止スイッチGitHub Actions の workflow_dispatch で即停止可能
日次ログ保存全取引履歴を CSV/JSON で蓄積(後検証用)
🚨 撤退基準(事前定義)

📌 以下のいずれかに該当したら即停止:

  • 1ヶ月の累積損失が 10% を超えた
  • バックテストと実運用の勝率乖離が 20% 以上
  • API側の仕様変更・障害でロジックが想定外動作
  • 感情的になって「ルールを破りたい」と感じた瞬間
⚠️ 初心者が陥りやすい罠
回避策
カーブフィッティング 過去データで「勝率90%」になるロジックは、未来では動かない。Out-of-sample検証必須
取引コスト・スリッページ無視 バックテストに手数料・約定遅延・税金を必ず含める
感情でルール変更 運用中のロジック変更は禁止。変更したい時は一旦停止して再バックテスト
レバレッジに手を出す 信用取引・先物・オプションは Phase 5 でも対象外。現物のみ
「儲かった」で配分倍増 勝った直後ほど慎重に。配分変更は四半期レビュー時のみ
APIキーの漏洩 GitHub Secret 使用必須・絶対にコード内ハードコードしない
確定申告の準備不足 米国取引は税務処理が複雑。AlpacaJapan(日本法人・特定口座対応)を優先検討
SNSの「勝った」報告に踊らされる 勝った話は表に出るが、負けた話は出ない。生存バイアスに注意
🤖 AI に対する誤解の回避

📌 AIは「予測マシン」ではない。実行マシン。
ChatGPTやClaudeに「この銘柄上がる?」と聞いても、それは判断材料にならない。AIに任せるのは「ルールの実行・データ整理・コード生成」まで。判断は人間が事前に設計する。

🚀 直近のアクション(Phase 0 着手)

📌 まず今週末に以下を実施:

アクション所要
1Alpaca 口座開設の選択(米国本社版 / AlpacaJapan)30分
2Paper Trading アカウント有効化・APIキー取得30分
3新規GitHubリポジトリ作成(algo-trading-private)10分
4Python環境準備(alpaca-py インストール)20分
5Hello World スクリプト動作確認30分
💡 Anthropic Japan転職への接続
差別化要因「金融×AI実装経験」の獲得
本プロジェクトは経歴OSに「Claude Code を活用した金融API連携・自動売買ボットの設計と Paper Trading 運用」として記載可能。
単なるAPI連携ではなく、ロジック設計・リスク管理・段階的アプローチの経験は、Solutions Architect/Applied AI 職で高く評価される実例になる。
経歴OSに記載する形式(案)
## Algo Trading Project (Personal) **Stack:** Python, Claude Code, Alpaca API, GitHub Actions, Slack **Period:** 2026/05〜 **Outcome:** - Paper Trading で X ヶ月運用、月次収益率 Y% - Phase制設計でリスク管理を構造化 - バックテスト → 自動運用 → 通知までを一気通貫で実装 **Skills:** - 金融APIとの連携 - 期待値計算ベースのアルゴリズム設計 - セルフチェック・撤退ルールの事前設計 - AIへの委譲範囲の見極め(実行 vs 判断)
📈 拡張可能性(Phase 4以降)
仮想通貨対応Alpaca Crypto API(米国本社版)で BTC/ETH の同様ロジック展開
マルチエージェント銘柄選定エージェント・実行エージェント・監視エージェントの分業
ニュース連動Claude API でニュース要約 → 重要イベント時のポジション縮小
ダッシュボードVercel + React で運用状況可視化(hancho-kb系の延長)
知見の対外発信note等で「個人投資家向け Algo Trading 入門」シリーズ化
🎯 最終的に得たいもの
「儲け」ではなく「言語化された運用システム」
本プロジェクトの真の成果は、短期的な収益ではない。
・自分の投資原則がコードに落とし込まれている
・感情を排した運用ができる仕組みがある
・技術的な実装力が経歴として残る

これらが揃ったとき、結果として収益は「副産物」として付いてくる。