Googleスプレッドシートは無料で使えるクラウド表計算ツールだが、その機能をフル活用しているトレーダーは少ない。QUERY関数やGoogle Apps Script(GAS)を使えば、Excel以上の分析環境を構築できる。
この記事では、Googleスプレッドシートの上級テクニックを使ってFXトレード分析を自動化する方法を実践的に解説する。基本的なスプレッドシート操作ができる人向けの内容だ。
QUERY関数:スプレッドシート最強の分析ツール
QUERY関数はGoogleスプレッドシート固有の関数で、SQLに似た構文でデータを抽出・集計できる。ExcelのVLOOKUPやSUMIFS関数の組み合わせで苦労していた処理が、QUERY関数1つで完結する。
通貨ペア別の勝率を一発計算
トレード記録シートに通貨ペアと損益のカラムがあれば、QUERY関数で通貨ペアごとの勝率・平均損益・トレード回数を一括集計できる。GROUP BY句で通貨ペアをグルーピングし、COUNT関数とAVG関数で集計する。結果は別シートに自動表示され、新しいトレードを記録するたびに即座に更新される。
時間帯別パフォーマンスの自動集計
HOUR関数でエントリー時刻から時間帯を抽出し、QUERY関数のGROUP BY句と組み合わせることで、時間帯別の損益を自動集計できる。東京・ロンドン・ニューヨーク時間の成績比較もこの方法で簡単に実現可能だ。
条件付きフィルタリング
WHERE句を使えば「損切りが30pipsを超えたトレード」「金曜日のトレードのみ」「直近30日間のロングポジションのみ」といった複雑な条件でデータを抽出できる。複数条件の組み合わせもANDやORで柔軟に対応可能だ。
条件付き書式でデータを視覚化する
損益のカラーグラデーション
損益セルに条件付き書式を設定し、利益をグリーン系、損失をレッド系のグラデーションで表示する。数値の大小が色の濃さで直感的にわかるため、大きな損失や利益のトレードが一目で識別できる。
ルール違反トレードのハイライト
事前に定めたルール(損切り幅、トレード時間帯、ポジションサイズなど)に違反したトレードを自動でハイライトする。例えば「損切りが設定値の2倍以上」のトレードをオレンジでハイライトすれば、ルール違反の頻度と損失への影響が視覚的に明らかになる。
連敗ストリークの自動検出
IF関数とカウンター変数を組み合わせて連敗数を計算し、3連敗以上の行を赤色でハイライトする。連敗が発生しやすい時間帯や曜日のパターンが、色の分布から読み取れるようになる。
Google Apps Script(GAS)で自動化を極める
GASはGoogleスプレッドシートに内蔵されたプログラミング環境で、JavaScriptベースのスクリプトでスプレッドシートを自動操作できる。
毎週の自動レポート生成
GASのトリガー機能を使えば、毎週月曜日の朝に自動でレポートシートを更新することが可能だ。先週のトレード件数・勝率・総損益・プロフィットファクター・最大ドローダウンを計算し、レポートシートに書き込むスクリプトを1度作ればあとは毎週自動実行される。
メール通知の自動送信
GASのMailApp機能を使って、週次レポートを自分のメールに自動送信できる。HTML形式のメールにすれば、グラフ付きの見やすいレポートが毎週届く。スマートフォンでの振り返りにも便利だ。
外部API連携でデータ取得
GASのUrlFetchApp機能を使えば、為替レートAPIからリアルタイムの価格情報を取得してスプレッドシートに反映できる。現在のポジションの含み損益を自動計算したり、経済指標カレンダーのデータを取り込んだりすることが可能になる。