FXトレード(USD/JPY)の支援ツールを作るための指示事例

未分類

FX投資をしている方からAIツールの活用方法を相談されることがあるのですが、概念的なものでは無くAIを使って何か具体的な成果物を提示できないかと考えて、ドル円トレードを支援するサイトを作るための指示文(プロンプト)を載せてみました。
今回はチャット機能では無くWork機能(CodexやClaude Codeなど)を触ってみようという人向けの指示文ですが、難しいことは何もなく基本的にはコピペするだけで作成できるので大丈夫です。
あくまで1つの事例として載せていますので、画面のスタイルなども含めて気になるところは御自身で変えて作れます。
尚今回はあくまでツールの作り方の説明ですので、ツールが表示する内容については責任は持てません。投資も含めて御自身の判断、自己責任でお願いいたします。

作成は無料プランでできるツールもありますが、正直なところ有料プランでないと厳しいかと思います。ただ月数千円程度のプランで十分に動かすことができます。
個人的には「あなたは◯◯です…」形式のプロンプトは好みでは無いのですが、わかりやすいので今回はこの形式で作成しています。

作成方法

以下の枠内にある指示文(長文ですが…)を丸ごとコピーしてChatGPTやClaude、Geminiの「Work」画面に貼付て走らせてください。
モデルや設定によって上手くできない事も多々ありますが、上手く動かない時にはAIに「ここが上手く動かないよ」と伝えてあげたら不具合を直してくれます。
↓指示文です。

あなたは、金融システム、FX、時系列データ分析、UX/UI、セキュリティに詳しいシニアフルスタックエンジニア兼クオンツ開発者です。

以下の要件に基づき、日本語の「USD/JPY AIトレード支援サイト」を設計・実装してください。

単なるデザインモックではなく、実際に起動できるWebアプリケーションとして作成してください。最初に実装計画とファイル構成を示し、その後にコードを生成してください。不明点があっても作業を停止せず、安全で一般的な初期値を採用し、後から設定画面で変更できるようにしてください。

1. サイトの目的

USD/JPY(ドル円)の1分足を中心とした短期取引を支援する。

取引手法の中心は以下とする。

・短期、中期、長期移動平均線
・MACD
・RCI
・パラボリックSAR
・直近高値、直近安値
・上位時間足のトレンド
・ボラティリティ
・スプレッド
・経済指標、要人発言
・トレンド相場/レンジ相場の分類
・複数の根拠が揃ったときだけシグナルを出す
・損失金額ではなく、エントリー根拠の崩壊で撤退を判断する

AIの役割は「絶対に上がる・下がる」と予言することではない。

AIには以下を担当させる。

  1. トレンド、レンジ、乱高下、流動性低下の相場環境分類
  2. ルールベースシグナルの品質判定
  3. 取引を見送るべき局面の検出
  4. 経済イベントリスクの判定
  5. 過去取引の勝ちパターン、負けパターン分析
  6. 売買判断の根拠を日本語で分かりやすく説明
  7. ルール違反や過剰売買の警告

本サイトは「投資助言」や「利益保証」を行わない。
MVPでは証券会社・FX会社への自動注文機能は実装しない。
シグナル表示、アラート、デモ取引、バックテスト、トレード記録に限定する。

2. 技術構成

以下を推奨構成として採用する。

・Next.js 最新安定版
・TypeScript
・App Router
・Tailwind CSS
・shadcn/ui
・チャートは Lightweight Charts または同等の金融チャートライブラリ
・データベースと認証は Supabase
・入力バリデーションは Zod
・日時は内部的にUTCで保存し、画面表示はAsia/Tokyo
・APIキーは環境変数で管理
・ブラウザ側のコードに秘密鍵を露出しない
・可能な限りServer ComponentsとサーバーAPIを使用
・モバイル、タブレット、デスクトップに対応
・ダークモード対応
・テストしやすいよう、データ取得層、指標計算層、シグナル判定層、UI層を分離する

利用可能なリアルタイム為替APIが指定されていない場合は、データプロバイダーを交換可能なAdapter構成にする。

以下のインターフェースを作る。

MarketDataProvider
EconomicCalendarProvider
NewsProvider
AIExplanationProvider

実APIが設定されていない場合はデモデータで動作させる。ただし画面上に必ず「DEMO DATA」「実際の相場データではありません」と明示し、デモデータをリアルタイムデータに見せかけないこと。

3. 画面構成

3-1. ダッシュボード

以下を一画面で確認できるようにする。

・現在のUSD/JPY Bid
・現在のUSD/JPY Ask
・スプレッド
・前日比
・現在時刻
・データの最終更新時刻
・データプロバイダー名
・データがリアルかデモか
・現在の相場環境
・買いスコア
・売りスコア
・現在の総合判断
・重要経済指標までの残り時間
・当日の仮想損益
・当日の取引回数
・連勝、連敗
・当日のリスク使用率

総合判断は以下のいずれかで表示する。

・買い候補
・売り候補
・様子見
・新規取引停止
・経済指標警戒
・スプレッド拡大警戒
・高ボラティリティ警戒

「強い買い」「絶対に上がる」など、利益を保証する表現は禁止する。

3-2. チャート画面

ローソク足チャートを表示し、時間足を切り替えられるようにする。

・1分
・5分
・15分
・1時間

チャートには以下を表示・非表示できるようにする。

・SMA 5
・SMA 20
・SMA 75
・MACD 12、26、9
・RCI 9、26、52
・パラボリックSAR 初期値0.02、最大値0.2
・ATR 14
・ADX 14
・直近高値、直近安値
・売買シグナル
・仮想エントリー
・損切り価格
・利確候補
・経済指標時刻
・スプレッド異常区間

すべてのパラメーターは設定画面で変更可能にする。

3-3. AI分析パネル

以下を日本語で表示する。

・現在の相場環境
・上位足の方向
・1分足の状態
・買い根拠
・売り根拠
・見送り根拠
・無効化条件
・現在のスプレッド評価
・経済イベントリスク
・想定損切り位置
・想定利確候補
・リスクリワード比
・AI分析の確信度ではなく「ルール適合度」
・データ不足、異常値、通信遅延の警告

AIの文章は必ず、計算済みの構造化データを基に生成すること。
存在しない指標値、ニュース、経済指標を作らないこと。
AI APIが利用できない場合は、テンプレートベースで説明文を生成すること。

3-4. 経済カレンダー

以下を表示する。

・日時
・国
・指標名
・重要度
・前回値
・予想値
・結果
・USD/JPYへの一般的な影響
・発表までの残り時間

日本と米国の重要イベントを優先する。

例:
・米国雇用統計
・CPI
・PCE
・FOMC
・FRB議長発言
・米国GDP
・小売売上高
・ISM
・日銀金融政策決定会合
・日銀総裁発言
・日本CPI
・為替介入に関連する公的発言

重要度が高いイベントの前後は、初期設定として新規シグナルを停止する。
停止時間は初期値を発表30分前から15分後とし、ユーザーが変更できるようにする。

3-5. 資金管理計算機

ユーザーが以下を入力できるようにする。

・口座資金
・1回当たり許容リスク率
・エントリー価格
・損切り価格
・利確価格
・想定スプレッド
・想定スリッページ

以下を自動計算する。

・許容損失額
・損切り幅
・推奨取引数量
・想定利益
・想定損失
・リスクリワード比
・必要証拠金の概算
・実効レバレッジ
・1日の残りリスク枠

初期値は以下とする。

・1回当たり許容リスク率:0.25%
・1日の損失上限:0.75%
・1週間の損失上限:2%
・3連敗で当日の新規取引停止
・月間ドローダウン5%で運用停止警告

口座資金やレバレッジによらず、損切りを外す提案は絶対に行わない。

3-6. デモ取引・トレード日誌

仮想売買を記録できるようにする。

保存項目:

・日時
・売買方向
・通貨ペア
・時間足
・エントリー価格
・決済価格
・損切り価格
・利確価格
・数量
・スプレッド
・スリッページ
・損益額
・損益pips
・R倍率
・エントリー時の指標値
・相場環境
・経済イベント状況
・ルール適合スコア
・エントリー理由
・決済理由
・ルール違反
・ユーザーメモ
・チャート画像
・データがリアルかデモか

分析画面では以下を表示する。

・総損益
・勝率
・平均利益
・平均損失
・Profit Factor
・期待値
・最大ドローダウン
・最大連勝
・最大連敗
・平均保有時間
・時間帯別成績
・曜日別成績
・買い/売り別成績
・相場環境別成績
・スコア帯別成績
・経済指標日と通常日の比較
・ルール違反あり/なしの比較

3-7. バックテスト画面

CSVデータをアップロードして検証できるようにする。

必要カラムの例:

timestamp
open
high
low
close
bid
ask
volume

volumeがない場合でも動作させる。
bid、askがない場合は仮想スプレッドを設定できるようにする。

バックテストでは以下を必ず考慮する。

・スプレッド
・スリッページ
・取引コスト
・経済指標停止時間
・同一バー内で利確と損切りの両方に触れた場合の保守的処理
・未来情報の参照禁止
・確定していないローソク足を使わない
・学習期間と検証期間を分ける
・ウォークフォワード検証
・パラメーター過剰最適化の警告

バックテスト結果として以下を表示する。

・純損益
・取引回数
・勝率
・Profit Factor
・期待値
・最大ドローダウン
・Sharpe Ratio
・Sortino Ratio
・平均R
・最大連敗
・スプレッド別成績
・月別成績
・相場環境別成績
・資産曲線
・ドローダウン曲線

4. シグナル判定ロジック

「ルールベースのスコア」と「AI相場環境フィルター」を分離する。

必須ゲート

以下のいずれかに該当する場合は新規シグナルを出さない。

・データが古い
・必要なローソク足数が不足
・重要経済指標の停止時間内
・スプレッドが設定上限を超過
・当日の損失上限に到達
・3連敗に到達
・通信異常
・高値または安値の異常値を検出
・AIが乱高下または流動性低下と判定
・想定リスクリワード比が設定値未満

買いスコア例

合計100点とする。

・15分足のトレンドが上:15点
・5分足のトレンドが上:10点
・1分足のSMA配列が上向き:15点
・価格が短期SMAを終値で上抜け:10点
・MACDが買い方向:10点
・RCIが低位から上向き:10点
・パラボリックが価格の下側:10点
・直近安値が切り上がっている:10点
・ADXまたはボラティリティ条件が適正:5点
・スプレッドと流動性が良好:5点

売りスコアは上下を反転する。

初期判定:

・75点以上:買い候補または売り候補
・60~74点:監視
・59点以下:様子見

ただし、75点以上でも必須ゲートに違反していればシグナルを出さない。

画面上では「勝率75%」とは表示せず、「ルール適合スコア75/100」と表示する。

5. AI相場環境フィルター

最初のMVPでは、説明可能なルールベース分類を実装する。

分類:

・上昇トレンド
・下降トレンド
・レンジ
・高ボラティリティ
・流動性低下
・イベント警戒
・判定不能

使用候補:

・SMAの傾き
・SMA間の距離
・ADX
・ATR
・直近リターン
・高値、安値の更新
・ヒゲと実体の比率
・スプレッド
・ティック頻度
・時間帯
・経済イベント

将来LightGBM、XGBoost、ロジスティック回帰などに交換できるインターフェースを作る。

モデルが未学習の場合や十分な精度が確認できない場合は、「AI判定」と偽らず「ルールベース判定」と表示する。

6. アラート

以下の通知を実装する。

・買い候補
・売り候補
・スコアが設定値に到達
・スプレッド拡大
・重要経済指標接近
・損失上限到達
・3連敗到達
・データ更新停止
・損切り候補到達
・エントリー根拠の消失

ブラウザ通知とサイト内通知を用意する。
同一条件で通知が連続しないよう、クールダウン時間を設定する。

7. UI/UX

デザインは金融端末らしく、情報量は多いが読みやすくする。

配色:

・背景:濃紺またはチャコール
・上昇:青または緑
・下落:赤
・警戒:黄またはオレンジ
・停止:濃い赤

赤・緑だけに依存せず、アイコンと文字でも区別する。

最上部に常に以下を表示する。

・USD/JPY価格
・スプレッド
・データ更新時刻
・相場環境
・総合判断
・重要イベントまでの時間

スマートフォンでは、価格、総合判断、チャート、損切り候補を最優先表示する。

8. 法務・安全表示

全画面のフッターおよび初回利用時に、以下の趣旨を表示する。

「本サービスは情報提供および取引検証を目的としたものであり、特定の金融商品の売買を推奨するものではありません。表示されるシグナル、AI分析、バックテスト結果は将来の利益を保証しません。FX取引では、相場急変、スプレッド拡大、スリッページなどにより、預けた証拠金以上の損失が発生する可能性があります。最終的な投資判断は利用者自身の責任で行ってください。」

以下も明示する。

・過去の成績は将来の成績を保証しない
・デモデータとリアルデータを明確に区別する
・AIは誤った分析を出す可能性がある
・シグナルは注文ではない
・最大25倍のレバレッジを推奨値のように表示しない
・架空の収益実績や利用者数を表示しない
・「必ず勝てる」「高確率で儲かる」などの表現を使わない

9. データベース

少なくとも以下のテーブルを設計する。

users
user_settings
market_bars
market_quotes
economic_events
signals
signal_explanations
paper_trades
trade_snapshots
backtest_runs
backtest_trades
risk_limits
alerts
audit_logs

RLSを有効にし、ユーザーが他人の取引記録を閲覧できないようにする。

10. セキュリティ

・APIキーをクライアントへ露出しない
・入力値をZodで検証
・CSVアップロードの形式とサイズを制限
・SQLインジェクション、XSS、CSRFを防止
・レート制限を設定
・認証が必要なAPIを保護
・重要設定変更をaudit_logsへ保存
・AIへ送信するデータから不要な個人情報を除外
・外部API障害時に誤ったシグナルを出さない
・データ更新停止時はフェイルセーフで「新規取引停止」にする

11. 必要な成果物

以下をすべて作成する。

  1. 実装方針
  2. システム構成図
  3. 画面一覧
  4. データベース設計
  5. ディレクトリ構成
  6. 実行可能なソースコード
  7. 環境変数のサンプル
  8. Supabaseマイグレーション
  9. デモデータ生成処理
  10. 指標計算処理
  11. シグナルスコア計算処理
  12. 資金管理計算処理
  13. CSVバックテスト処理
  14. 単体テスト
  15. README
  16. ローカル起動方法
  17. デプロイ手順
  18. 実APIへの交換方法

12. テスト要件

以下のテストを実装する。

・SMA計算
・MACD計算
・RCI計算
・ATR計算
・ADX計算
・パラボリックSAR計算
・買いスコア
・売りスコア
・経済指標停止判定
・スプレッド上限判定
・損失上限判定
・ポジションサイズ計算
・未来情報を参照していないこと
・データ不足時にシグナルが出ないこと
・データ更新停止時に新規取引停止となること
・同一バーで利確と損切りに触れた場合の保守的処理
・デモデータがリアルデータとして表示されないこと

13. 実装順序

以下の順番で実装する。

フェーズ1:
・認証
・デモ価格
・ダッシュボード
・チャート
・テクニカル指標
・ルールベーススコア
・資金管理計算機
・デモ取引
・トレード日誌

フェーズ2:
・経済カレンダー
・ブラウザ通知
・CSVバックテスト
・成績分析
・AI説明文
・障害時のフェイルセーフ

フェーズ3:
・リアルタイム市場データAPI
・学習モデル用インターフェース
・ウォークフォワード検証
・モデルバージョン管理
・複数データプロバイダー比較

まずMVPを完成させ、動作確認できる状態にすること。
未実装ボタンや見せかけの機能を残さないこと。
実装できていない機能は「準備中」と明記し、架空データで成功したように見せないこと。

最後に、以下を確認して報告する。

・アプリが起動するか
・デモモードで全主要画面が動作するか
・データ不足時にシグナルが停止するか
・損失上限が機能するか
・APIキーが露出していないか
・投資助言や利益保証と誤認される表現がないか

追加条件:

・サイト名:【USDJPYトレード支援ツール】
・想定利用者:【公開】
・初期資金:【入力値として管理】
・1回のリスク率:【0.25%】
・重要指標前後の停止時間:【30分前~15分後】
・シグナル基準点:【75点】
・データ保存期間:【任意】
・自動売買機能:【実装しない】

コメント