ConstFxFwd

Subtype of Method

The main assumption here is that all fx forward rates between the SrcCcy and TgtCcy currencies are not affected by the choice of collateral currency.
Look also in
ImpYC CSA Disc for a description of the wider context.
It turns out that this assumption leads to the following relation among the various discount factors for any maturity T:

two-currency (A,B) case:
Dᴬ⁽ᴮ⁾ = Dᴬ Dᴮ/Dᴮ⁽ᴬ⁾
where
Dᴬ⁽ᴮ⁾ is the discount factor that applies on A-denominated but B-collateralized cash flows (and similarly for Dᴮ⁽ᴬ⁾)
Dᴬ is the discount factor that applies on A-denominated and A-collateralized cash flows (and similarly for Dᴮ)
This notation allows us to also write Dᴬ ≡ Dᴬ⁽ᴬ⁾ and Dᴮ ≡ Dᴮ⁽ᴮ⁾

three-currency (A,B,M) case:
Dᴬ⁽ᴮ⁾ = Dᴬ⁽ᴹ⁾ Dᴮ/Dᴮ⁽ᴹ⁾
with similar symbol meaning as above

general four-currency (A,B,M,K) case:
Dᴬ⁽ᴷ⁾ = Dᴬ⁽ᴹ⁾ Dᴮ⁽ᴷ⁾/Dᴮ⁽ᴹ⁾

Proof

The proof of the general case starts with the following equation that states that a forward fx rate Fᴬᐟᴮ for the currency pair A/B and any maturity T can be written as the product of two rates involving a third currency M:
Fᴬᐟᴮ = Fᴬᐟᴹ Fᴹᐟᴮ
Stated more precisely, Fᴬᐟᴮ is the number of units of currency B that are agreed today to be exchanged for one unit of currency A at the future time T (and similarly for Fᴬᐟᴹ and Fᴹᐟᴮ.
If we assume the existence of a collateral account in some fourth currency K that is used to collateralize all these forward contracts, we can write more generally:
Fᴬᐟᴮ⁽ᴷ⁾ = Fᴬᐟᴹ⁽ᴷ⁾ Fᴹᐟᴮ⁽ᴷ⁾
Applying the fx parity relation on the LHS, we get:
LHS = Sᴬᐟᴮ⁽ᴷ⁾ Dᴬ⁽ᴷ⁾/Dᴮ⁽ᴷ⁾ = Sᴬᐟᴮ Dᴬ⁽ᴷ⁾/Dᴮ⁽ᴷ⁾
since obviously Sᴬᐟᴮ⁽ᴷ⁾ = Sᴬᐟᴮ
Next we apply the assumption that all fx forward rates do not depend on the collateral choice and replace the collateral currency K with another collateral currency M:
RHS = Fᴬᐟᴹ⁽ᴹ⁾ Fᴹᐟᴮ⁽ᴹ⁾
Applying the fx parity relation on both factors of the RHS, we get:
RHS = Sᴬᐟᴹ⁽ᴹ⁾ (Dᴬ⁽ᴹ⁾/Dᴹ⁽ᴹ⁾) Sᴹᐟᴮ⁽ᴹ⁾ (Dᴹ⁽ᴹ⁾/Dᴮ⁽ᴹ⁾)
Replacing Sᴬᐟᴹ⁽ᴹ⁾ → Sᴬᐟᴹ , Dᴹ⁽ᴹ⁾ → Dᴹ and Sᴹᐟᴮ⁽ᴹ⁾ → Sᴹᐟᴮ we get:
RHS = Sᴬᐟᴹ (Dᴬ⁽ᴹ⁾/Dᴹ) Sᴹᐟᴮ (Dᴹ/Dᴮ⁽ᴹ⁾) = Sᴬᐟᴮ Dᴬ⁽ᴹ⁾/Dᴮ⁽ᴹ⁾
Equating the final expressions of LHS and RHS, we get:
LHS ≡ Sᴬᐟᴮ Dᴬ⁽ᴷ⁾/Dᴮ⁽ᴷ⁾ = RHS ≡ Sᴬᐟᴮ Dᴬ⁽ᴹ⁾/Dᴮ⁽ᴹ⁾
Sᴬᐟᴮ drops out and solving for Dᴬ⁽ᴷ⁾ we get:
Dᴬ⁽ᴷ⁾ = Dᴬ⁽ᴹ⁾ Dᴮ⁽ᴷ⁾/Dᴮ⁽ᴹ⁾