構築記

AI自動売買の作り方#2: コードをGitHubに保管する

#1 準備編では、Claude Codeを導入して「取引ルールブック」を作るところまでをやりました。今回はその続きで、作ったコードを「GitHub」という場所に保管します。

  • #1 準備編: Claude Code導入と取引ルールブックづくり
  • #2 GitHub編(この記事): コードの保管庫「GitHub」とは何か。非公開リポジトリの作り方とClaude Codeとの連携
  • #3〜#4 バックテスト編: 売買戦略の中身と、お金を入れる前に過去データで検証する方法
  • #5 朝レポート編: GitHub Actionsで、毎朝6時に売買シグナルを自動チェックする
  • #6 ダッシュボード編: Cloudflareで、スマホから見られる管理画面を作る
  • #7 証券口座接続編: MCPで証券口座をAIにつなぎ、提案→承認→発注で運用する

この記事のゴール: 読み終わる頃には、①GitHubが何のためのものかわかり、②自分の非公開リポジトリにコードが保管され、③次回以降で使う「自動実行」や「デプロイ」の土台ができます。所要時間は30分〜1時間です。

GitHubとは何か

一言でいうと、書いたコードをクラウドに保存しつつ、変更の履歴を全部残してくれるサービスです。無料で使えます。

似たものでイメージしやすいのは、Googleドライブや Dropboxです。ただしGitHubは「ファイルの上書き保存」ではなく、「いつ・何を・どう変えたか」を1つ1つ記録として積み重ねていく点が違います。Claude Codeは作業の節目ごとにgit commitという操作でこの記録を作っていて、これが変更履歴になります。GitHubは、その記録ごとパソコンの外(クラウド)に保管してくれる場所、というわけです。

なぜ使うか

このプロジェクトでは3つの理由でGitHubを使います。

  1. バックアップ: パソコンが壊れても、コードと変更履歴がクラウドに残ります
  2. 後の回の土台になる: #5で「毎朝6時に自動でシグナルをチェックする」仕組み(GitHub Actions)を作りますが、これはコードがGitHub上にあることが前提です。#6のダッシュボードも同様にGitHub経由でCloudflareへ自動反映させます
  3. AIとの安全なやり取りの記録: Claudeが何をいつ変更したかが全部残るので、「勝手に何かされていないか」を後から確認できます

非公開(Private)リポジトリを選ぶのが前提です。取引ロジックや将来の台帳データを、世界中から見える状態にはしません。

手順1: GitHubアカウントを作る(まだ無い場合)

  1. https://github.com を開く
  2. 「Sign up」からメールアドレス・パスワード・ユーザー名を入力して登録(無料)
  3. 確認メールが届くのでリンクをクリックして認証

すでにアカウントがある人はこの手順は不要です。

手順2: コードをGitHubに送る

ここから2つのやり方があります。初めてなら「やり方A」がおすすめです。実際に私がやったのは「やり方B」(Claude Codeに丸投げ)でしたが、これはghという道具がすでに使える状態だったからできた近道でした。順番に説明します。

やり方A: ブラウザで手動(初めてならこちら)

① GitHub上にリポジトリ(保管庫)を作る。 ブラウザで https://github.com/new を開きます。

項目設定
Repository name好きな名前(例: ai-trading-system
Public / Private必ずPrivate(非公開)を選ぶ
その他のチェック何もつけずに「Create repository」でOK

作成すると、次にターミナルで打つコマンドの例がGitHub側の画面に表示されます。

② ターミナルでプロジェクトのフォルダに移動し、コードを送る。 <あなたのユーザー名><リポジトリ名>は自分のものに置き換えてください。

cd "作業しているフォルダのパス"
git add .
git commit -m "最初のコミット"
git branch -M main
git remote add origin https://github.com/<あなたのユーザー>/<リポジトリ>.git
git push -u origin main

初回のgit pushではブラウザが開いてGitHubへのログインを求められることがあります。指示どおりログインすれば、そのまま送信されます。

③ GitHubのページを再読み込みして、ファイル一覧が表示されれば成功です。

やり方B: Claude Codeに丸投げ(私が実際にやった方法)

正直に言うと、私がやったのはコマンドを一切自分で打たない方法でした。Claude Codeに、こう話しかけただけです。

githubに接続したいんだけどどうすればいいかな

このあとClaudeがやったことを、実際のやり取りのまま紹介します。

  1. まず状況を確認。 git remote -v(GitHubとつながっているか)やgh auth statusghというGitHub公式のコマンドツールでログイン済みか)を実行。私の場合はすでにghでログイン済みだったので、GitHubへの新規登録操作は不要でした
  2. 進め方を2択で提示された。ghコマンドで自動作成する(ブラウザ操作なしで一発)」か「手順書どおり手動でブラウザから作成する」かを聞かれ、私は前者を選びました
  3. 秘密情報が混ざっていないか、Claudeが先に確認。 .gitignore(GitHubに送らないファイルを指定する設定)に台帳データのフォルダdata/が入っているかをgit check-ignoreコマンドで確認してから進めていました。これがないと、保有株の情報がうっかり公開される事故につながります
  4. リポジトリ名が空いているか確認。 gh repo view <候補の名前>を実行し、同じ名前が使われていないかを先にチェックしていました
  5. 最後に1コマンドで作成〜送信まで完了。
    gh repo create ai-trading-system --private --source=. --remote=origin --push
    これでGitHub上に非公開リポジトリが作られ、originという名前でつながり、mainブランチが送信されるところまで一気に終わります

この方法はgh(GitHub CLI、公式のコマンドツール)が事前にインストール・ログイン済みであることが前提です。まだの場合はMacなら以下でインストールし、その場でブラウザ認証できます。

brew install gh
gh auth login

これを済ませてから、Claude Codeに同じように話しかければ、私と同じ流れで進みます。

つまずきポイント

① リポジトリ名で少し迷った。 最初はシンプルにtradingにしようとしていたのですが、途中で「ai-trading-systemにしようかな」と思い直して変更しました。プロジェクトが増えたときに何のリポジトリか分かりやすい名前にしておくと、後で助かります。gh repo view <名前>(またはブラウザでgithub.com/<自分のユーザー名>/<名前>にアクセス)で、その名前がすでに使われていないか事前に確認できます。

② コミット時に見慣れない警告が出た。 初めてgit commitしたとき、こんな警告が表示されました。

Your name and email address were configured automatically
based on your username and hostname.

これは、記録に残る「作成者名・メールアドレス」をパソコンの情報から自動で決めてしまった、という警告です。放っておいても動作はしますが、意図しない情報(Macのユーザー名やホスト名)がそのまま記録に残るのは気持ちよくないので、以下で明示的に設定しておくのがおすすめです。

git config --global user.name "好きな名前"
git config --global user.email "自分のメールアドレス"

③ Privateを選び忘れない。 一番大事なのはここです。うっかりPublic(公開)で作ってしまうと、取引ロジックや将来入れる台帳データが世界中から見える状態になります。作成画面はもちろん、後からgh repo view <リポジトリ名>で「PRIVATE」と表示されるかを確認する癖をつけておくと安心です。

.gitignoreの中身は自分の目でも確認する。 Claudeが確認してくれるとはいえ、data/(株価データや台帳)のような「送ってはいけないフォルダ」が.gitignoreに入っているかは、自分でも一度見ておくと安心です。

cat .gitignore

ここまでのチェックリスト

  • github.comにアカウントがある
  • リポジトリがPrivate(非公開)で作られている
  • git remote -vで、originが自分のGitHubリポジトリのURLになっている
  • git pushが通り、GitHub上のリポジトリ画面にファイル一覧が表示される
  • data/など台帳・株価データのフォルダが.gitignoreに入っていて、GitHub上に見当たらない

ここまでできれば、コードはクラウドに保管され、いつでも履歴をさかのぼれる状態になりました。次回の#3〜#4 バックテスト編では、いよいよ売買戦略の中身に入ります。お金を実際に動かす前に、過去の株価データで「この戦略は勝てそうか」を検証する方法を、私が最初に試した2本の戦略と一緒に紹介します。

※投資は自己責任でお願いします。このシリーズは私の作業記録で、特定の手法や銘柄をおすすめするものではありません(免責事項)。