FIFO ルールとは
FIFO は first-in, first-out(先入れ先出し)の略です。先に入ったものから先に出す、という意味です。
米国の NFA(National Futures Association、全米先物協会)は、CFTC(米国の商品先物取引委員会)が「登録先物協会」に指定した、業界の自主規制団体です。[6] その規則 2-43 の (b)「相殺する取引」は、次のように定めています。[1]
- FX の業者の会員(Forex Dealer Member、FDM)は、客の口座で反対のポジションを持ち続けてはならず、先入れ先出しで相殺しなければならない。
- 客の求めがあれば、大きさの違う、より古い取引があっても、同じ大きさの取引どうしを相殺できる。ただし、その大きさの中で一番古い取引と相殺しなければならない。
FDM は、FX の取引で客の相手方になる(またはなると申し出る)NFA の会員です。[5]
規則 2-43 は、2009年5月15日に効力を持ちました。[1] NFA の2009年4月の通知では、この (b) は「両建て(hedging)」と呼ばれる取引のしかたを禁じるものだ、と説明しています。反対のポジションを持ち続けることの禁止は、2009年5月15日より後に建てたポジションから当てはまるとされました。[2] そのあと2009年5月の通知で、先入れ先出しの部分だけは、業者のプログラムの変更が大変だという声を受けて、2009年7月31日まで先に延ばされました。[3]
だれの口座に当てはまるか
この決まりは、NFA の会員である米国の FX の業者(FDM)に向けたものです。[1] NFA のガイドでは、こうした業者は、法律と CFTC の規則にもとづき、決められた種類の業者(FCM か RFED)として登録していなければならない、としています。[4]
同じガイドでは、ここでの「客」に、資産が1,000万ドル未満の個人や、たいていの小さな会社が入る、としています(法律でいう「適格契約参加者(ECP)」にあたる人・会社は入りません)。[4] つまり、米国の FDM にある個人の口座の多くが当てはまります。
業者が NFA の会員かどうかは、NFA の検索(BASIC)で調べられます。調べ方は業者の登録の調べ方にあります。自分の口座が FIFO で決済されるかは、業者の取引の条件の説明で確かめられます。MT5 の FIFO の口座では、違う順番で決済しようとするとエラーになります(下の「MT5 での動き」)。[7]
米国のほかの決まり(レバレッジの上限など)は、国・地域ごとのレバレッジの上限にまとめています。
決済の順番: 一番古いポジションから
たとえば、同じ USD/JPY を 1万通貨ずつ、150.00・151.00・152.00 の3回に分けて買ったとします。そのあと 1万通貨を売ると、FIFO の口座では、一番先に入った 150.00 の買いが決済されます。151.00 と 152.00 の買いは残ります。
FIFO の決まりがない口座の中には、どのポジションを決済するかを選べたり、売りを別のポジションとして持てたり(両建て)するものがあります。両建てと、口座の方式(ネッティング・ヘッジ)の違いは、両建てとはにまとめています。
MT5 での動き
MT5 のヘルプでは、NFA などの当局の決まりに合わせて、業者が口座に「FIFO の決済だけを許す」決まりを設定できる、と説明しています。[7]
- 各銘柄のポジションは、建てたのと同じ順番でしか決済できません。違う順番で決済しようとすると、エラーになります。[7]
- この決まりは、ヘッジ方式の口座にだけ設定できます。[7]
- FIFO に合わないポジションで損切り(Stop Loss)や利食い(Take Profit)が動いても、そのポジションは決済されません。それを防ぐため、同じ銘柄に複数のポジションがある時、どれか1つに損切り・利食いの水準を置くと、ほかのポジションにも同じ水準が置かれます。[7]
つまり MT5 では、ポジションごとに別々の損切りの水準を置く使い方とは、動きが違います。MT4・スマホのアプリ・ほかの取引ソフトでは、しくみや画面が違うことがあるので、業者の説明でも確かめてください。注文の種類は注文の種類の回にあります。
例外: 同じ量の取引を指定する
規則 2-43(b) では、客の求めがあれば、大きさの違う、より古い取引があっても、同じ大きさの取引どうしを相殺できます。その場合も、その大きさの中で一番古い取引と相殺します。[1]
下の図は、大きさの違う2つの買いがある時に、2万通貨を売る例です。A は古い順に当てた場合、B は「同じ量(2万通貨)の取引と相殺して」と求めた場合です。
計算の例
円口座で、① 1万通貨を 150.00 で買い、そのあと ② 2万通貨を 151.00 で買いました。値段が 150.50 の時に、2万通貨を売ります。
A. 古い順に当てる
①: (150.50 − 150.00) × 10,000 = +5,000円
② のうち1万: (150.50 − 151.00) × 10,000 = −5,000円
決済した損益: 0円
残り: ② の1万通貨(含み損 −5,000円)
B. 同じ量(2万通貨)の取引を指定する
②: (150.50 − 151.00) × 20,000 = −10,000円
決済した損益: −10,000円
残り: ① の1万通貨(含み益 +5,000円)
どちらも、残りを同じ 150.50 で決済すると、合計は −5,000円 です。どれに当てるかで変わるのは、その時に決済した損益と、残るポジションの値段です。
規則の文は、大きさの違うポジションの一部をどう当てるかまでは書いていません。A は、古い順に当てた時の数え方の例です。業者がこの求めをどう受け付けるか、一部だけの決済をどう扱うかは、業者の説明で確かめてください。損益の計算のしかたはpips・ロットと損益の計算のしかたにあります。
記録での数え方(決めるのはご自身)
FIFO の口座では、決済の1回ごとの損益が、自分が「決済したつもりのポジション」ではなく、古いポジションに当てて出ることがあります。記録を付ける時は、次の点を分けておくと、後から見返しやすくなります。
- 入りは1回ずつ: いつ・いくらで・どれだけ入ったかを、ポジションごとに残します。
- どれが決済されたか: 業者の約定の履歴で、どの入りに当てて決済されたかを確かめます。
- まとまりの合計: 同じ通貨ペアで続けて入ったものは、全部を閉じたあとの合計でも見ます。
- 費用は別に足す: スワップや手数料は、ポジションを持っていた日数や取引の回数でかかります。スワップのしくみはスワップポイントとはに、取引の量はロットとはにあります。
まとまりの損益 = 決済した損益の合計 + 残りのポジションの含み損益 + スワップ + 手数料
FIFO の口座を使うか、どう取引するかは、この記事では決めません。pips の金額はpips の計算で、スワップの金額はスワップの計算で確かめられます。
参考文献
- National Futures Association. Rule 2-43. Forex Orders(NFA Rulebook。2026年10月17日に確認). https://www.nfa.futures.org/rulebook/rules.aspx?RuleID=RULE%202-43&Section=4
- National Futures Association. Notice I-09-10: Effective Date of NFA Requirements Regarding Forex Orders(2009年4月13日). https://www.nfa.futures.org/newsnotices/newsArticle.aspx?ArticleID=2273
- National Futures Association. Notice I-09-12: Revised Effective Date for Portions of NFA Compliance Rule 2-43(b)(2009年5月5日). https://www.nfa.futures.org/newsnotices/newsArticle.aspx?ArticleID=2281
- National Futures Association. Forex Transactions: Regulatory Guide. https://www.nfa.futures.org/members/member-resources/files/forex-regulatory-guide.html
- National Futures Association. Bylaw 306. Forex Dealer Members(NFA Rulebook). https://www.nfa.futures.org/rulebook/rules.aspx?RuleID=BYLAW%20306&Section=3
- National Futures Association. About NFA. https://www.nfa.futures.org/about/index.html
- MetaQuotes. 取引の実行(FIFOルールを使用したポジションの決済) - MetaTrader 5のヘルプ. https://www.metatrader5.com/ja/terminal/help/trading/performing_deals