100万円口座は最小ロットの壁でどれだけ不利か

平均回帰 · 1 min

EAのバックテストにおいて、プログラム上の計算値と実際の証券会社での取引ロット数に乖離が生まれる問題について検証しました。

図: ドローダウン=資産が最高値からどれだけ下がったか(例: XAUUSD)。この谷の深さがリスクの実感値です。

図: ドローダウン=資産が最高値からどれだけ下がったか(例: XAUUSD)。この谷の深さがリスクの実感値です。

EAのバックテストにおいて、プログラム上の計算値と実際の証券会社での取引ロット数に乖離が生まれる問題について検証しました。 これまでPythonで行っていたバックテストは、計算上「0.003ロット」のような端数も取引可能としていました。しかし、実際のEAは最小ロット(多くの業者で0.01)を下回る注文を無視する仕組みです。この「小数点以下の注文が切り捨てられることで、トレードの機会がどれだけ失われるか」を、実際の口座サイズに合わせてシミュレーションしました。 検証にあたっては、口座の通貨建て(JPY口座なら、そこからUSDや金などのクォート通貨へ換算)を考慮した新ルールを導入し、EAの挙動を忠実に再現しています。

口座サイズ別の結果比較

100万円の小さな口座から1000万円の口座まで、ロット制限による影響を確認した結果がこちらです。

口座サイズPF月利最大DDトレード数(n)維持率
分数ロット(基準)1.640.814%-8.36%-
100万円1.810.712%-6.78%44%
200万円1.700.620%-63%
300万円1.650.624%-82%
500万円1.600.607%-93%
1000万円1.570.599%-98%
※PF(プロフィットファクター:総利益÷総損失。1を超えると黒字)
※DD(ドローダウン:資産の山からの下落率)

なぜトレードが「欠ける」のか

100万円口座の場合、トレード数が基準の44%まで激減します。特に影響を受けたのは、損切り幅(SL)が広い戦略です。これらは最小ロットの制約に引っかかりやすく、結果として「SLの広い小規模トレード」が自動的に除外されるフィルタのような働きをしています。一方で、コントラクトサイズ(取引単位)が大きい指数CFDなどは、もともと最小ロットの制限を受けにくいため、ほとんど影響を受けませんでした。

検証の結論

100万円口座でトレード機会が半分以下になるのは事実ですが、これが致命的かといえばそうではありません。むしろ、期待値の低いトレードが除外されることでPFは1.64から1.81へと向上し、最大DDも改善されました。 また、リスク倍率(k)を上げてロットを増やす設定にすれば、この「欠け」はかなり抑えられます。検証の結果、300万円以上の口座であれば、ほぼ理論値どおりの運用が可能です。100万円口座であっても月利の低下は13%程度にとどまるため、以前検討した出金計画への影響も1〜2割の遅延範囲内。小規模口座での運用も、十分に現実的といえます。 なお、EAが実際にどのトレードをスキップしたかは、TRACEログ(プログラムの実行記録)で確認可能です。これから運用を始める際は、バックテストと実際のフォワード結果を照らし合わせる際に、このログを活用することをおすすめします。

この検証のつながり

この検証は、過去の次の検証を踏まえています(前回ダメだった→今回こうした、別ロジックとの比較など)。