Excelで最大ドローダウンを計算する式|累積損益・山・下げ幅の3列と、率の出し方

最大ドローダウンは、累積損益・これまでの最大(山)・山からの下げ幅の3つの列を作り、下げ幅の最大値をMAX関数で取ると出せます。式は、累積損益が=SUM($E$2:E2)、山が=MAX(0,MAX($F$2:F2))、下げ幅が=G2-F2、最大ドローダウンが=MAX(H2:H31)です。集計の記事の30件のサンプルで、Excelの結果は43,000円で、Pythonの計算と一致しました。

この記事では、3列の作り方と、率(%)の出し方、数字を読む時の注意をまとめます。サンプルの記録は乱数で作った架空のものです。(Microsoft 365 Excel、バージョン16.0、ビルド20430で確認。確認日:2026年10月19日)

1. 3つの列の式

損益がE列の2〜31行にあるとして、F・G・H列に次の式を入れ、2行目から31行目まで下にコピーします。

列 意味 2行目の式
F:累積損益 ここまでの損益の合計 =SUM($E$2:E2)
G:山 ここまでの累積損益の最大値(0を下限にする) =MAX(0,MAX($F$2:F2))
H:下げ幅 山から、いまの累積損益までの下げ幅 =G2-F2

$E$2のように、先頭だけに$を付けた絶対参照を使うと、式を下にコピーしても、合計の始まりが2行目に固定され、終わりだけが行ごとに伸びます。山の式の0は、最初の取引の前の損益(0円)も山に含めるためです。これがないと、最初の取引が損失の場合に、その分の下げ幅が0になってしまいます。

最大ドローダウンは、H列の最大値です。

=MAX(H2:H31)

2. サンプルでの計算(一部)

行 決済日 損益 F:累積損益 G:山 H:下げ幅
9 2026/08/17 10,000 12,000 12,000 0
10 2026/08/18 17,000 29,000 29,000 0
11 2026/08/19 3,000 32,000 32,000 0
12 2026/08/20 −9,000 23,000 32,000 9,000
13 2026/08/22 −18,000 5,000 32,000 27,000
14 2026/08/24 4,000 9,000 32,000 23,000
15 2026/08/26 5,000 14,000 32,000 18,000
16 2026/08/28 −10,000 4,000 32,000 28,000
17 2026/08/29 3,000 7,000 32,000 25,000
18 2026/09/01 −18,000 −11,000 32,000 43,000

山は、11行目で32,000になり、その後、累積損益はこれを超えずに下がっていきます。18行目(2026年9月1日)に、累積損益が−11,000になり、山との差が43,000になりました。これが、サンプルの最大ドローダウンです。その後、累積損益は、23行目で34,000、27行目で60,000のように、山を更新しています。

最大ドローダウンがいつ起きたかを調べる

=INDEX(A2:A31,MATCH(MAX(H2:H31),H2:H31,0))

日付を表示する書式にすると、2026/09/01になりました(Excelで確認)。同じ下げ幅が複数あると、最初の1つだけが返ります。

3. 率(%)で出す

金額ではなく、資産に対する割合で見たい時は、初期資金を使います。初期資金が1,000,000円(O1のセル)だとして、次の列を足します。

列 意味 2行目の式
I:資産 初期資金+累積損益 =$O$1+F2
J:山(資産) これまでの資産の最大値(初期資金を下限にする) =MAX($O$1,MAX($I$2:I2))
K:ドローダウン率 (山−資産)÷山 =(J2-I2)/J2

最大ドローダウン率は=MAX(K2:K31)です。サンプルでは、最大の下げ幅(43,000円)の時の山が1,032,000円(初期資金1,000,000円+山の損益32,000円)なので、43,000÷1,032,000=約4.17%でした(Excelの結果は0.041666…で、Pythonの計算と一致)。

率は、何を基準(分母)にするかで変わります。初期資金だけで割ると、43,000÷1,000,000=4.3%になります。どの基準で出したかを、記録に残します。

4. 数字を読む時の注意

  • 決済した取引だけの数字です:この計算は、決済後の損益の累積です。保有中の含み損は入っていないため、口座の資産の推移で見た下げ幅は、これより大きくなる場合があります
  • 期間と取引数で変わります:サンプルは30件・約1.5か月分です。期間を延ばすと、最大ドローダウンは、同じかそれ以上になります(山を更新して、そこから下がれば、新しい下げ幅になるため)
  • ロット数を変えると、損益の額も下げ幅も変わります:ロットを決める考え方はMT5でロット数を計算する式にまとめています
  • 将来の最大ドローダウンを予測するものではありません:過去の記録の集計です。利益を保証するものでも、将来の下げ幅の上限を示すものでもありません

集計の式の全体はExcelでトレード記録を集計する関数、記録の書き出しはMT5の取引履歴を書き出す方法を参照してください。

まとめ

  • 累積損益(F)・山(G)・下げ幅(H)の3列を作り、=MAX(H2:H31)で最大ドローダウンが出る
  • 山の式に0(または初期資金)を入れて、最初の取引の前も山に含める
  • サンプルでは、最大ドローダウンは43,000円(2026年9月1日)。初期資金100万円に対する率は、山の資産基準で約4.17%
  • 率は、分母の基準で変わる。基準を記録に残す
  • 決済した取引だけの数字で、含み損は入っていない。将来を保証するものではない