🙌

GitHub初心者がClaude Code Web(250ドルクレジット)でサクソバンク証券APIのマニュアルをMarkdownにした件

に公開

はじめに

こんにちは!趣味でシステムトレードに取り組んでいる者です。

Claude Code Web(旧:Claude.ai Pro)で付与された250ドル分のクレジットを使って、サクソバンク証券のOpenAPI用の包括的なドキュメントプロジェクトを作りました。GitHubもよくわからない初学者でしたが、Claude Codeと一緒に3日間で154エンドポイント、30,000行以上のドキュメントを整備できました!

この記事では、その体験談とGithubのPRの意味すらわからなかった、Github初学者がどうにかこうにかドキュメントを整備した体験談です。(記事のほとんどをClaudeに作ってもらい加筆修正した感じですのでご注意ください。)

ついでにサクソバンク証券の難解なAPIに取り組んでいる猛者や、これから取り組んでいきたい人の助けになればいいな〜
あわよくば苦労体験を共有して傷を舐め合いたい下心も存分に含んだ記事です!

サクソバンク証券のAPI攻略者よ、集まれ〜

対象読者

  • システムトレードやAPI利用に興味がある方
  • サクソバンク証券のOpenAPIを使いたい方(仲間募集中!)

この記事を読むメリット

  • 初心者でも大規模かもしれないプロジェクトを進められることがわかるかも
  • API辞書のようなドキュメントプロジェクトの進め方を学べる?
  • サクソバンク証券のOpenAPIについて包括的なドキュメントにアクセスできる、、といいなぁ

結論

Claude Code Webと250ドルクレジットがあれば、GitHub初心者でも3日間で大規模ドキュメントプロジェクトを完成させられます。

成果物:

  • 154エンドポイントのだいだい完全なリファレンスドキュメント
  • 28トピックの学習用ガイド
  • 200以上の型定義
  • 30,000行以上のMarkdownドキュメント
  • リポジトリ:https://github.com/nohikomiso/SaxoBank-OpenAPI-Docs

なぜドキュメント整備を始めたのか

システムトレードの壁

趣味でシステムトレードに取り組んでいたのですが、サクソバンク証券のOpenAPIを使う必要がありました。しかし、公式ドキュメントは:

  • ブラウザで何度もクリックして階層を辿る必要がある
  • エンドポイントが17サービスに分散している
  • パラメータや型定義が別ページにある
  • そもそもAPIがよくわからないAI(Claude)に質問しても、最新情報を把握できていないし、検索もうまく出来ない
    実際にローカルのClaude Codeで自動取引システムを作ってみたものの、うまくいかないことが多くバグだらけでありました。「基本に立ち返ってドキュメントを整備しよう」と思い立ったのがきっかけです。

Claude Code Webとの出会い

ちょうどそのタイミングで、Claude Code Web(Claude Pro契約者)が250ドル分のクレジットを提供していることを知りました。

「これだ!AIと一緒にドキュメント整備をすれば、効率的に進められるのでは?」

GitHub初心者の私でしたが、思い切ってチャレンジすることにしました。

Claude Code Webとは

Claude Code Webは、Anthropic社が提供するAIアシスタント「Claude」のコーディング特化版です。

主な特徴

  • ファイル操作が得意: 読み取り、編集、作成を自動化
  • Web情報取得: 公式ドキュメントから情報を取得できる
  • Git操作: コミット、プッシュ、PR作成(これは手動でボタンを押して対応)まで対応
  • 長期記憶: プロジェクト全体の構造を理解しながら作業できる

250ドルクレジットの威力

通常のClaude Pro(月額20ドル)では、1日あたりのメッセージ数制限がありますが、クレジット版ではトークン数で課金されます。大規模プロジェクトでも、気兼ねなくClaude Codeに依頼できました。しかしリサーチプレビュー段階なので動作しているかもよく分からなかったり、作業中だと思ってても実は動いていなかった!

などのさまざまな苦労がありましたが、気合いで乗り切りました。

プロジェクトの進め方

Phase 1: プロジェクト構造の確立

まず、Claude Codeと一緒にプロジェクトの全体像を設計しました。

  1. リポジトリ作成

    • GitHubでリポジトリを作成(Claude Codeが手順を教えてくれました)
    • ディレクトリ構造を設計
    • テンプレートファイルを作成
  2. ガバナンスドキュメント作成

    • ROADMAP.md: 段階的な整備計画
    • RESPONSIBILITIES.md: 各ファイルの責務定義
    • TASKS.md: タスク管理
    • CLAUDE.md: Claude Code向けのプロジェクトガイド(実は別の名前で作ってましたが最後に、これに統合をしました)

特にCLAUDE.mdは重要でした。これにプロジェクトの規約やワークフローを記載することで、Claude Codeが一貫した品質でドキュメントを作成してくれるようにっなったかも?言う事を聞いてくれない事も多いですが、無いより断然いいです!!

Phase 2: リファレンスドキュメント作成

Claude Codeに次のような指示を出しましたような気がします:

「Trading サービスのエンドポイント一覧を作成してください。公式ドキュメント(https://www.developer.saxo/openapi/referencedocs/trade)から情報を取得してください。」

すると、Claude Codeは:

  1. WebFetchで公式ページから情報取得
  2. エンドポイント一覧を整理(HTTPメソッド、パス、説明)
  3. カテゴリ別に分類(Orders、Prices、Positionsなど)
  4. Markdownファイルを作成

その後、各エンドポイントの詳細ドキュメントを何度も、いやいやパラメータをクリックして見てないよ!って感じで出来たファイルとWebを比較しながら作ってもらいました。

## POST /trade/v2/orders

### 概要
新規注文を作成します。

### パラメータ

#### リクエストボディ(JSON)

| フィールド || 必須 | 説明 |
|-----------|-----|------|------|
| AccountKey | string || アカウントキー |
| Amount | number || 注文数量 |
| AssetType | AssetType || 資産タイプ(Stock, FxSpotなど) |
| BuySell | BuySell || 売買区分(Buy/Sell) |
| OrderType | OrderType || 注文タイプ(Market, Limitなど) |
| Uic | integer || 商品識別子 |

### レスポンス
...

最終的には、全154エンドポイントについて、パラメータ、型定義、レスポンス、エラーケース、使用例を含むだいだい完全?なドキュメントを作成しました。

うまくいったら、うまくいった経験をその都度振り返りを指示して、先に行こうとするClaude先生を引き留めながら、ドキュメントをその都度整備してもらい

タスクファイルをそれに従って修正して貰うのが、今の所ベストだと個人的には思います(コミット履歴にいっぱいその痕跡があります)

Phase 4: 学習用ドキュメント整備

リファレンスだけでは初学者には難しいため、学習用ドキュメントも整備しました。

  • Getting Started: OpenAPI入門、FAQ
  • The Basics: OAuth認証、ストリーミング、データフォーマット
  • Core Concepts: アカウント階層、価格フォーマット、ポジション管理
  • Service Guides: 各サービスの実践ガイド

公式の学習ドキュメント(https://www.developer.saxo/openapi/learn)から**28トピック**の情報を取得し、個人トレーダー向けに最適化しました。

苦労したこと・学んだこと

1. GitHubのブランチ運用

最初はClaudeに指示を書くとブランチが作られるのですが、なぜ作るのか意味が分かりませんでした。

Claude Codeが教えてくれたこと:

  • ブランチを作成
  • 作業完了後にPull Request(PR)を作成
  • mainブランチにマージ

GitHub初心者の私には、この基本的なワークフローを実践しながら学べたのが大きな収穫でした。
とは言ってもPRには何も書かなかったり、すぐにマージの承認をするなど、全然機能をつかいこなしてないのですが。

2. 型定義の完全性

最初の頃、Claude Codeが作成したドキュメントに型定義が不足していることがありました。

原因: エンドポイントの概要ページだけを見て、詳細ページの型定義リンクを追跡していなかった

解決: Claudeが自分で型定義リンクを必ず追跡するルールを明記しました。

#### Step 1.5: 詳細調査フェーズ ⚠️ CRITICAL

For each endpoint:
1. **Identify detail page URLs**
2. **Fetch complete information** from each detail page
3. **Follow type definition links** ⚠️ Essential:
   - Extract all `[TypeName]` links
   - Fetch each enum type (get all possible values)
   - Fetch each schema type (get all fields recursively)

これにより、Claude Codeは100以上の値を持つAssetType列挙型も含めて、完全な型定義をドキュメント化するようになりました。

3. Single Source of Truth (SSOT) の重要性

プロジェクトが大きくなると、同じ情報が複数ファイルに重複して、更新漏れが発生しました。

解決: RESPONSIBILITIES.mdを作成し、各ファイルの責務を明確化

  • ROADMAP.md: 進捗状況の唯一の情報源
  • TASKS.md: タスクチェックリスト
  • README.md: プロジェクト概要(進捗はROADMAP.mdを参照)

これにより、情報の一貫性が保たれるようになりました。
これもClaudeに各文章の責務を明確にして明文化するように指示しただけなんですが。

成果

数字で見る成果

  • リファレンスドキュメント: 154エンドポイント、41カテゴリ
  • 学習用ドキュメント: 28トピック、4セクション
  • 型定義: 200以上
  • ドキュメント総行数: 30,000行以上
  • 作業期間: 3日間
  • クレジット使用量: 約150ドルくらい?無駄に試行錯誤しました

質的な成果

  1. AIアシスタントが辞書として利用可能

    • Claude Codeや他のAIに「サクソバンクのOrdersエンドポイントについて教えて」と聞くと、このドキュメントを参照して正確な回答が得られると思います(まだやってない)
  2. 機能別逆引きインデックス

    • 「注文を作成したい」→「POST /trade/v2/orders」のように目的から検索可能
  3. 完全な型定義

    • パラメータの取りうる値、レスポンスのフィールド構造を完全に把握
  4. 学習ガイド

    • OAuth認証、ストリーミング、エラーハンドリングなど実践的なトピックをカバー

個人的な成長

  • GitHubの基本的なワークフローを実践的に習得した気になった
  • Markdownドキュメントの構造化スキル向上
  • プロジェクト管理の基礎(SSOT、テンプレート、ガバナンス)、というか今まで何もできていなかったとも言います。
  • Claude Codeとの協働スキル(明確な指示の出し方、ルール化の重要性)

Claude Codeとの協働で学んだこと

1. 明確なルールを作る

Claude Codeは優秀ですが、プロジェクト固有のルールを伝えなければ、一貫性のあるアウトプットは得られません。

CLAUDE.mdに次のような情報を記載してもらいました:

  • プロジェクトの目的と対象読者
  • ディレクトリ構造と命名規則
  • ドキュメント作成の標準手順
  • 品質チェックリスト
  • 禁止事項(やってはいけないこと)

2. テンプレートの威力

.templates/endpoint-template.mdのようなテンプレートを用意することで、Claude Codeは全154エンドポイントについて、統一されたフォーマットでドキュメントを作成できました。

3. TodoWriteツールの活用

Claude CodeはTodoWriteツールで作業を計画・追跡します。複雑なタスクを依頼する際、Claude Code自身がタスクを分解して、進捗を管理してくれました。

これは特に何も考えなくてもTODOを自分で管理してくれるので意識はしていません。

✅ 1. 公式ドキュメントから情報取得
🔄 2. エンドポイント一覧を作成
⬜ 3. 詳細ドキュメントを作成
⬜ 4. インデックスを更新

4. 失敗から学ぶ

Claude Codeがミスをすることもめっちゃありました。しかし、その度にルールを明文化指示することで、同じミスは繰り返さなくなりました。

例:型定義の追跡漏れ → CLAUDE.mdに「Step 1.5: 詳細調査フェーズ ⚠️ CRITICAL」を追加

プロジェクトの副産物

1. 汎用的なプロジェクト構造

このプロジェクトで確立した構造は、他のドキュメントプロジェクトにも多分?応用できます:

project/
├── docs/                # ドキュメント本体
│   ├── reference/      # リファレンス(仕様)
│   └── learn/          # 学習用(ガイド)
├── .templates/         # テンプレート
├── ROADMAP.md          # 進捗管理(SSOT)
├── RESPONSIBILITIES.md # ファイル責務定義
├── CLAUDE.md           # AIアシスタント向けガイド
└── CONTRIBUTING.md     # 貢献ガイド

2. AI協働のベストプラクティス

Claude Codeとの協働で得られた知見:

  • ルールの明文化: CLAUDE.mdにプロジェクトの概要や参照するファイルの記載
  • テンプレート活用: 一貫性のあるアウトプット
  • SSOT原則: 情報の重複を避ける
  • 段階的な進行: PhaseごとにMilestoneを設定
  • 品質チェックリスト: 完成基準を明確化

3. コミュニティ資産

このドキュメントは、サクソバンク証券のOpenAPIを使う全ての個人トレーダーにとってたぶん有用です。特に日本の方には有効では無いでしょうか?

リポジトリを公開することで、他の方々の学習コストを削減できるといいな。と思います。

今後の展望

プロジェクトの継続

  • Phase 6-B: 学習用ドキュメントの個人トレーダー向け最適化(オプション)
  • コミュニティからのフィードバック: Issue、PR歓迎
  • 実践的なコード例: Pythonでの実装例を追加

コミュニティの形成

サクソバンク証券のOpenAPIを使っている仲間が欲しい!

このドキュメントを公開した理由の一つは、同じようにサクソバンクでシステムトレードに取り組んでいる方々と交流したいからです。

  • 実装例の共有
  • ベストプラクティスの議論
  • トラブルシューティングの助け合い

もし興味があれば、GitHubリポジトリにStarをつけたり、Issueで質問したりしてください!

リポジトリ: https://github.com/nohikomiso/SaxoBank-OpenAPI-Docs

Claude Codeの可能性

今回の経験で、Claude Code Webは初学者でも大規模ドキュメント整備プロジェクトを完遂できる強力なツールだと思いました。
今の所は、あくまでもドキュメント作成に限ります(外部APIを叩くのはすべて弾かれてダメでした)

Githubの使い方をわかっているのも前提です。
ほぼ私は90パーセント以上、タブレットで作りました。

今後やってみたいこと:

  • Claude Code + GitHubでのOSSプロジェクト?の継続
  • プロジェクトテンプレートのさらなる洗練

まとめ

得られたもの

  1. 30,000行以上のドキュメント(154エンドポイント、28学習トピック)
  2. GitHubの実践的スキル(ブランチ運用、PR、Issue管理)
  3. AI協働のノウハウ(Claude Codeとの効果的な働き方)
  4. プロジェクト管理の基礎(SSOT、テンプレート、ガバナンス)
  5. コミュニティへの貢献(公開ドキュメントとして)

初学者へのメッセージ

GitHubやプログラミングの初学者でも、Claude Codeと一緒なら大規模ドキュメント整備プロジェクトを完成させられます。

重要なのは:

  • 明確な目標を持つこと
  • ルールを作ること(CLAUDE.mdのようなもの)
  • 失敗から学ぶこと(ルールを改善し続ける)
  • 楽しむこと。これが1番大事!楽しかったです!

サクソバンクAPIユーザーへの呼びかけ

このドキュメントが、サクソバンク証券のOpenAPIで自動取引システムを構築する方々の助けになれば幸いです。

一緒にシステムトレードを楽しみませんか?

最後まで読んでいただき、ありがとうございました!


参考リンク

Discussion