本記事は連載 「非エンジニアでもわかる!AIと作るFX自動売買入門」 の1本です。
前回の記事では、本連載で使う生成AI「Claude Code」の初期設定を終えました。
◀️ 前の記事:環境を整える① Claude Codeを設定しよう
本記事では、もう一方の主役である OANDA API を設定し、Claude Code から実際に呼び出せる状態まで整えていきます。
ゴールは、Claude Code に「ドル円の現在のレートを取得して」と日本語で頼むだけで、実際にレートが取得できる状態を作ることです。これが達成できれば、本連載のスタート地点に立てたことになります。
前回と同じく、本記事も Mac の画面を例に進めますが、Windows でも操作の流れはほとんど同じです(違いがある箇所は都度補足します)。
事前準備
OANDA API を使うには、いくつかの口座条件を満たしている必要があります。設定を始める前に、ご自身の口座が以下の条件をすべて満たしているか確認しておきましょう。なお、OANDA API の利用自体に初期費用や月額の利用料金はかかりません。
- OANDA証券の口座を開設している
- ステータスが ゴールド会員以上 である
- NYサーバーの口座残高が25万円以上 ある
- 取引コースが 「プロコース」 になっている
これらの条件のいずれかが欠けていると、APIトークンの発行画面でエラーが出てしまいます。
- ゴールド会員になるには、月50万ドル以上の取引実績が必要です。ただし、口座登録の初月はゴールド会員になることができます。
- 取引コースは、マイページの「FXサブアカウント管理」→「ニューヨーク取引コースの変更」から変更できます。
※ これらの条件は、API を利用している間はずっと満たし続ける必要があります。取引実績が不足して翌月にゴールド会員でなくなったり、口座残高が25万円を下回ったりすると、API が使えなくなることがあります。
※ 会員ステータスや利用条件は変更される場合があります。最新の条件は必ずOANDA証券の公式ページでご確認ください。
Claude Code については前回の記事で設定が終わっている前提で進めます(まだの方は、前回の記事を先にご覧ください)。
ステップ1:OANDA APIトークンを発行する
ここではデモ口座でAPIトークンを発行することを目指します。
なぜデモ用トークンなのに本番口座の準備が必要?
OANDAのAPIは本番口座のステータス(ゴールド会員・残高・プロコース)を条件に開放されます。そのため、デモ用トークンの発行でも、先に本番口座側の条件を満たしておく必要があります。
全体のプロセスを整理すると次の通りです。
- OANDAの口座を開設する
- 本番口座でNYサーバーのサブアカウントを作成する
- NYサーバーに25万円以上の資金を入金する
- NY取引コースをプロコースに変更する
- 本番口座のAPIトークンを発行する
- デモ口座を開設する
- デモ口座で fxTrade/TradingView サブアカウントを作成する
- デモ口座でAPIトークンを発行する
本番口座側の準備
まずは OANDA証券の口座を開設し、マイページにログインして、NYサーバーのサブアカウントを作成します。マイページの HOME 画面の下に「サブアカウントの作成」があります。

マイページHOMEの下部にある「サブアカウントの作成」から進みます
口座名を入力して、サブアカウントを作成します。
次に、作成したNYサーバーに25万円以上の資金を入金します(これがAPIを利用する条件になります)。マイページのHOMEからサブアカウント一覧を確認し、NYサーバーの「入金」から資金を振り込みます。

NYサーバーの口座に、API利用条件である25万円以上を入金します
次に、NYの取引コースをプロコースに変更します。マイページの「FXサブアカウント管理」→「ニューヨーク取引コースの変更」をクリックします。

「FXサブアカウント管理」から「ニューヨーク取引コースの変更」を開きます
ここで取引コースをプロコースに変更してください。これで、APIトークンを発行するための条件をすべて満たせました。
本番口座のAPIトークンを発行する
マイページ左側のメニューから「口座管理」→「APIアクセスの管理」を選択します。

「口座管理」から「APIアクセスの管理」を選択します(会員ステータスもここで確認できます)
「REST APIトークンを発行する」のボタンをクリックします。

「REST APIトークンを発行する」ボタンをクリックします
登録情報の確認画面が表示されます。内容を確認して、チェックマークを入れて次に進みます。
続いてAPIの規約が表示されます。内容を確認して、すべてのチェックボックスにチェックを入れて次に進んでください。
利用規約に同意して進むと、APIトークンが発行されます。

発行されたトークンは他人に見せず、安全な場所にコピーして保存します
赤枠で表示されている英数字の文字列がAPIトークンです。このトークンは他人に絶対に見せてはいけない大切な情報 です。第三者に知られると悪用される恐れがあります。
画面を閉じる前に、トークンを安全な場所にコピーして保存しておきましょう。
デモ口座を作成する
次にデモ口座を作成します。マイページ右上の「デモ口座の新規お申し込み」をクリックしてください。

本番口座の準備ができたら、マイページ右上からデモ口座を申し込みます
同意・承諾する項目や必要事項を入力して、デモ口座を作成します。
デモ口座ができると、本番口座とデモ口座のページを行き来できるようになります。デモ口座のページは、左上に「マイページ(デモ)」と表示されます。右上の「本番口座のマイページへ」をクリックすると、本番口座のマイページに戻れます。

デモ口座のページ。右上のリンクから本番口座のマイページへ戻れます
次に、デモ口座に fxTrade/TradingView サブアカウントを作成します。HOMEのサブアカウント一覧から作成します。

デモ口座のHOMEから fxTrade/TradingView サブアカウントを作成します
口座名を入力してサブアカウントを作成してください。
デモ口座のAPIトークンを発行する
いよいよ最後の工程です。本番口座のときと同様に、「口座管理」→「APIアクセスの管理」を選択してください。

本番口座と同様に「口座管理」から「APIアクセスの管理」を選択します
ここからのプロセスは本番口座でAPIトークンを発行したときと同じです。APIトークンが発行できたら、安全な場所に保存してください。
あわせて、マイページのHOMEに表示されているアカウントID(数字の羅列)もメモしておいてください。必要になるのは fxTrade/TradingView サブアカウントのアカウントID です。

fxTrade/TradingView サブアカウントのアカウントIDを控えます(デモは 101- で始まります)
デモ口座のアカウントIDは 101-xxxxx という形式です。001-xxxxx は本番口座のアカウントIDなのでご注意ください。
APIを使うときには 「APIトークン」と「アカウントID」の両方 が必要です。
これで、OANDA証券の口座サイトでの準備は完了です。
ステップ2:Pythonの動作を確認する
Claude Code がコードを書いて実行するために、Python というプログラミング言語がパソコンに入っている必要があります。
本連載では Python 自体を自分の手で書くわけではありません(コードはすべて Claude Code が書いてくれます)。Claude Code が書いたコードを実行する土台として、Python が必要になります。
まずは、使っているパソコンに Python がすでに入っているかを Claude Code に確認してもらいましょう。前回設定した作業フォルダ(oanda_bot)で Claude Code を起動して、次のように送ってください。
🧑 このパソコンに Python が入っているか、バージョンも合わせて確認してください。
Claude Code が思考している最中に、「Claudeに〇〇のrunを許可しますか?」と聞かれることがあります。下の画像の例は、その確認のために Claude Code が実行しようとしているコマンド(which pip3 && pip3 --version)の許可を求めているところです。

コマンドの内容を確認し、問題なければ「一度だけ許可」などを選びます
以後、許可を求められた際は、(ブラウザ版の Claude で質問するなどして)コマンドの内容を把握し、問題ないと判断してから 許可するようにしてください。
許可すると、Claude Code がターミナル上でコマンドを実行し、結果を教えてくれます。「Python 3.◯◯ が入っています」のような返事が返ってくれば、次のステップに進めます。今回試した Mac では、すでに Python がインストールされていました。

すでに Python が入っている場合は、このように結果を教えてくれます
「Python が見つかりません」と返ってきた場合は、Claude Code に次のように頼んでください。
🧑 Python 3 をインストールしてください。手順を教えつつ、可能であれば実行までお願いします。
Claude Code が状況に応じて次のように動いてくれます。
- Macの場合:Homebrew が入っていればそのままインストールを実行、なければ Homebrew の導入から案内
- Windowsの場合:公式インストーラのダウンロードURLと、「Add Python to PATH」にチェックを入れる注意点を案内
ご自身でインストールする場合は、Python 公式サイトから最新版をダウンロードしてください。

自分でインストールする場合は、Python 公式サイトから最新版を入手します
Macの場合:ダウンロードした .pkg ファイルをダブルクリックし、画面の指示に従ってインストールします。
Windowsの場合:ダウンロードした .exe ファイルを起動すると、インストーラーが立ち上がります。
Windows では、インストーラーの設定画面で 「Add Python to PATH」に必ずチェックを入れてください。
チェックを入れ忘れると、後で「Python が見つかりません」というエラーで困ることになります。
チェックを入れたら「インストール」をクリックして進めます。
ステップ3:必要なライブラリをインストールする
パソコンに Python が入ったら、OANDA API を使うためのライブラリを Python にインストールします。ライブラリとは「よく使う機能をまとめた便利な部品集」のようなものだと理解しておけば大丈夫です。
今回インストールするのは、次の2つです。
- oandapyV20:OANDA API を Python から使うためのライブラリ
- python-dotenv:APIトークンなどの秘密情報を安全に扱うためのライブラリ
Claude Code に次のように頼んでください。
🧑 oandapyV20 と python-dotenv という2つの Python ライブラリをインストールしてください。
Claude Code が次のコマンドを実行してくれます。
pip install oandapyV20 python-dotenv
最初に「インストールの許可」を求められるので、「許可」をクリックしてください。

インストールの実行許可を求められたら、内容を確認して許可します
「インストールが完了しました」のような返事が返ってくれば成功です。
Claude Code の便利なところは、こうした環境構築系の作業をすべて対話ベースで完結できる点です。
ステップ4:APIトークンをClaudeから隔離して安全に保管する
APIトークンは、他人に絶対に見られてはいけない大切な情報です。とても便利な Claude Code ですが、「AIが情報を扱う」という性質上、意図せずトークンが漏れてしまうリスクがゼロではありません。
例えば、次のような場面が考えられます。
- Claude Code との会話履歴が何らかの形で外部に出てしまう
- 画面スクリーンショットを共有した際に映り込む
- うっかり Claude Code が会話の中でトークンを口にする
こうしたリスクをまとめて防ぐために、Claude 自体がトークンを見られないようにする設計 にしていきます。
考え方:Claudeがアクセスできない場所に保管する
Claude Code は、起動したフォルダ(本連載では oanda_bot)を作業対象にします。言い換えると、oanda_bot の外に置いたファイルは Claude の視界に入らないのが基本の動きです。
外のフォルダを読み込もうとする際には、pip install のときと同様に Claude が許可を求めてきます。「いいえ」を選べば読み込まれることはありませんが、うっかり「はい」をクリックしないよう注意が必要です。
さらに Claude Code には、「このフォルダは絶対に読まない」というルールを設定ファイルで明示的に指定する仕組みがあります。この2段構えで、APIトークンを物理的にも設定的にも隔離していきます。
保管用フォルダを作る
まず、パソコンのホーム(ユーザー)フォルダの中に、APIトークン保管専用のフォルダを作ります。
-
Macの場合:Finder で「移動」→「ホーム」を選択してホームフォルダを開き、
oanda_credentialsという名前の新しいフォルダを作成します。- フルパス:
/Users/[ユーザー名]/oanda_credentials/
- フルパス:
-
Windowsの場合:エクスプローラーでユーザーフォルダ(
C:\Users\[ユーザー名]\)を開き、同じくoanda_credentialsフォルダを作成します。- フルパス:
C:\Users\[ユーザー名]\oanda_credentials\
- フルパス:
このフォルダは oanda_bot とは別の場所にあるため、Claude Code の通常の作業範囲の外になります。
.env ファイルにトークンを保存する
作成した oanda_credentials フォルダの中に、.env という名前のテキストファイルを作ります(先頭のドットも含めて .env です)。そのファイルに、次の内容を書き込んでください。
OANDA_ACCESS_TOKEN=ここに発行したAPIトークンを貼り付け
OANDA_ACCOUNT_ID=ここにアカウントIDを貼り付け
書き込んだら保存します。

oanda_credentials フォルダ内の .env に、トークンとアカウントIDを保存します
Claude Codeに「このフォルダは読み込み禁止」と設定する
Claude Code の設定ファイルに「oanda_credentials は読み込み禁止」のルールを追加します。これにより、仮に将来「そのフォルダを見て」と頼んでも、Claude Code が自ら拒否するようになります。
Claude Code に次のように頼んでください。
🧑 oanda_bot/.claude/settings.json を開いて、~/oanda_credentials/ フォルダを読み込み禁止に設定してください。
.claude フォルダや settings.json を作成する際に許可を求められると思いますので、「はい」を選択してください。これで、Claude Code が settings.json に次のようなルールを追加してくれます。
{
"permissions": {
"deny": [
"Read(~/oanda_credentials/**)"
]
}
}

settings.json に読み込み禁止ルールが追加され、保管フォルダが保護されます
設定後は、Claude Code に「そのフォルダの中身を見せて」と頼んで 実際に拒否されるか を一度確認しておくと安心です。もし読めてしまう場合は、パスの書き方(~ の展開など)を Claude Code に見直してもらってください。
Claude Codeに「場所だけ」を伝える
最後に、Claude Code に保管場所の情報だけを伝えます。トークンの中身は伝えません。あくまで「どこにあるか」だけを教えます。
🧑 APIトークンとアカウントIDは、~/oanda_credentials/.env に保存してあります。このファイルは読まないでください。Python のコードでは python-dotenv を使って、実行時に環境変数 OANDA_ACCESS_TOKEN と OANDA_ACCOUNT_ID として読み込むようにしてください。
ファイルの作成許可を求められたら「はい」を選択してください。すると Claude Code は、.env から環境変数を読み込む設定モジュール config.py を作成し、トークンの中身を表示せずに正しく読み込めるかどうかだけを確認してくれます。以降 OANDA API を使うコードは、この仕組みを通じて実行時にトークンを読み込むため、実際の値を Claude が目にすることは一切ありません。

保管場所だけを伝えると、Claude Code が値を見ずに読み込む仕組み(config.py)を用意してくれます
この方式が安全な理由
まとめると、この方式では次のことが実現できています。
-
.envは Claude Code の作業フォルダ(oanda_bot)の外にある - 設定ファイル(
settings.json)で読み込みが明示的に禁止されている - Claude Code が書くコードには、トークンの中身ではなく
os.getenv(...)のプレースホルダだけが登場する - コードを実行するときは Python が
.envを読み込むが、その結果は Python プロセス内にとどまり、Claude が目にすることはない - チャット履歴やスクショが漏れても、トークンは漏れない
前回作った「Claude のアクセス範囲を絞る」という仕組みを、そのまま強化した形になります。
その他の基本的な注意点
-
.envファイルをメールやチャットに添付しない -
.envファイルをインターネット上に公開しない(後の連載で出てくる GitHub 等にもアップしない) - パソコン自体に画面ロックのパスワードを設定しておく
ステップ5:最初の成功体験 | ドル円の現在レートを取得する
いよいよ、本連載の最初の成功体験となる「ドル円のレート取得」に進みます。Claude Code に、次のように頼んでみてください。
🧑 OANDA API を使って、ドル円の現在のレートを取得する Python コードを書いて、oanda_bot フォルダに保存してください。APIトークンとアカウントIDは ~/oanda_credentials/.env に保存済みです(中身を確認する必要はありません)。python-dotenv を使って、実行時に環境変数 OANDA_ACCESS_TOKEN と OANDA_ACCOUNT_ID として読み込むようにしてください。なお、デモ環境(practice)を使ってください。書き終わったら、そのコードを実行して、取得したレートを画面に表示してください。
Claude Code が次のような流れで動いてくれます。
- ドル円のレートを取得する Python コードを書いて、
oanda_botフォルダに保存する - そのコードを実行する(実行時に Python が
.envを読み込むが、Claude はトークンの中身を目にしない) - 取得したレートを画面に表示する
今回は get_rate.py というファイルを作成してくれました。「はい」を選択して作成を許可します。実行に成功すると、次のような結果が返ってきます。

「bid(売値)/ask(買値)」とともにレートが取得できれば成功です
「bid(売値)」「ask(買値)」とともに現在のレートが取得できていれば、ここまでの設定はすべて成功です(掲載画像とは異なる出力になる可能性がありますが、レートが取得できていれば OK です)。
ここで、Time が UTC 表示だったのが気になったので、日本時間(JST)でも表示してもらうよう Claude に頼んでみました。
🧑 Time を JST でも表示できるようにしてくれますか?
完璧に修正してくれました。

「JSTでも表示して」と頼むと、日本時間での表示に対応してくれます
これで本連載のスタート地点に到達しました。ぜひ、自分が頼んだだけでAIがコードを書き、実行し、結果を出してくれたことを実感してみてください。これが、本連載で何度も繰り返していく開発の基本パターンになります。
うまくいかないときは
ここまでの手順でつまずいた場合の対処方法をまとめます。
APIトークン発行の画面でエラーが出る
→ 事前準備の3条件(ゴールド会員以上、NY口座残高25万円以上、プロコース)のいずれかを満たしていない可能性が高いです。マイページで口座状況を確認し、不足している条件を整えてから再度お試しください。
Pythonが見つからない
→ ステップ2で Claude Code に「Python 3 をインストールしてください」と改めて頼んでください。Mac は Homebrew 経由、Windows は公式インストーラの使い方を案内してくれます。
「oandapyV20 が見つかりません」のようなエラーが出る
→ Claude Code に「oandapyV20 と python-dotenv をインストールし直してください」と頼んでください。それでも解決しない場合は、エラーメッセージをそのまま貼り付けて「このエラーの直し方を教えてください」と頼むと、状況に応じた解決策を返してくれます。
APIトークンが認証されない(401エラー等)
→ ~/oanda_credentials/.env に書き込んだAPIトークンとアカウントIDをもう一度確認してください。特に = の前後に余計な空白が入っていないか、途中で改行が混ざっていないかに注意しましょう。
→ 「デモ環境」と「本番環境」を取り違えている可能性もあります。本記事は environment="practice"(デモ)を指定する前提です。Claude Code が書いたコードが本番環境(live)を指定していないか確認してみてください。
Claude Codeが .env を読もうとしてしまう
→ ステップ4で settings.json に読み込み禁止ルールを追加できているか確認してください。「.claude/settings.json の中身を見せてください」と頼めば現在の設定を確認できます。ルールが入っていない場合は、ステップ4の手順を再度実施してください。
もしAPIトークンが読み込まれてしまったら、OANDA証券のサイトでAPIトークンを再発行してください。
まとめ
本記事では、OANDA API を実際に動かせる状態まで設定しました。ポイントを振り返ります。
- OANDA証券マイページからAPIトークンを発行した
- Claude Code に頼んで、Python と必要なライブラリ(oandapyV20 / python-dotenv)を導入した
- APIトークンとアカウントIDを、Claude がアクセスできない
~/oanda_credentials/.envに保存し、settings.jsonで読み込みを禁止して二重の保護をかけた - Claude Code に頼んで、ドル円の現在レートの取得に成功した
これで、本連載のスタート地点に立つことができました。ここから先は、このパターン(Claude Code に日本語で頼む → コードが生成・実行される → 結果を確認する)を繰り返しながら、自動売買 bot を少しずつ作り上げていきます。
次回からは、Claude Code の使い方をもう少し掘り下げていきます。「画面の見方」「AIに『変えて』と頼む基本動作」など、これから何度も使う基本操作を実例つきで解説していきます。
免責事項
OANDA証券株式会社
第一種金融商品取引業 関東財務局長(金商)第2137号/商品先物取引業者
加入協会:一般社団法人 金融先物取引業協会/日本証券業協会/日本商品先物取引協会
- 店頭外国為替証拠金取引(FX)、株価指数CFD取引及び商品CFD取引は、元本及び利益が保証されている金融商品ではありません。預託した証拠金の額に比べ大きい金額の取引ができるため、外国為替、株式、株価指数、商品、金利市場等の市場変動により、その損失額が預託された証拠金額を上回る可能性があります。
- 各取引に必要な証拠金は次の通りです。店頭外国為替証拠金取引に関しては、個人口座は取引金額の4%以上、法人口座は、金融先物取引業協会が算出した通貨ペアごとの為替リスク想定比率を取引の額に乗じて得た額と、当社が算出したリスク想定比率を用いた額のどちらか高い額以上(為替リスク想定比率とは、金融商品取引業等に関する内閣府令第117条第27項第1号に規定される定量的計算モデルを用い算出します)、株価指数CFD取引に関しては、個人口座・法人口座いずれも取引金額の10%以上、商品CFD取引に関しては、個人口座・法人口座いずれも取引金額の5%以上の証拠金が必要です。
- 口座管理費及び取引手数料は原則無料です。但し一部取引コースに関しては、取引にあたり手数料が発生することがあります。手数料の詳細については、該当するコースの取引説明書をご覧ください。
- 売付価格と買付価格には差(スプレッド)があり、相場急変動等によりスプレッド幅が拡大し、意図したお取引ができない可能性があります。
- お取引を始めるにあたっては取引説明書及び取引約款を熟読し、取引内容や仕組み、リスク等を十分にご理解いただいた上で、ご自身の判断にてお取引くださるようお願い致します。
- 弊社企業情報は、弊社ホームページに開示しています。
- お客様相談窓口:0120-923-213/日本商品先物取引協会相談センター:03-3664-6243





