algorithm to determine minimum payments amongst a group

后端 未结 8 732
庸人自扰
庸人自扰 2020-12-05 12:09

The Problem

I was recently asked to calculate the money owed amongst a group of people who went on a trip together and came upon an interesting problem: given that

8条回答
  •  盖世英雄少女心
    2020-12-05 12:33

    In the world of the corporate treasury, this is known as payment or settlement netting.

    Multinational corporates usually have many flows between their subsidiaries every month, often in different currencies. They can save considerable amounts by optimising the settlement of these flows. Typically a corporate will perform such an optimisation (a netting cycle) once a month. When there are multiple currencies, there are three sources of savings:

    • bank transaction fees (fewer payments means lower fees)
    • lower interest rate float and settlement risk arising from streamlined processing by the bank (the money spends less time tied up in the banking system)
    • FX matching (much less foreign currency is exchanged because most of it is 'netted out')

    There are two ways to actually calculate the optimised settlement.

    Bilateral netting is the solution well described by @AndrewShepherd on this page. However, in a cross-border implementation, this approach can have legal and administrative problems implications since different borders are being crossed each month.

    Multilateral netting solves the network by adding a new subsidiary called the netting centre and re-routes all amounts through it. Compare the before and after diagrams below:

    Before netting

    Before netting

    After netting

    After netting

    Although this adds one more flow than is necessary (compared to bi-lateral netting), the advantages are:

    • the calculation is simpler and the result is easier to visualise (also, there is only one solution, as opposed to the bilateral approach)
    • the netting centre becomes an invaluable resource regarding flows and FX exposure within the whole group
    • if the netting centre is, say, in Germany, then all legal issues with cross-border payments are dealt once and for all within the netting centre's country (central bank reporting, etc.)
    • all foreign exchange required for the optimised settlement can be bought or sold from the netting centre

    (At it's basic level, the calculation is simple, but there can be many legal and administrative complications so corporates frequently develop or purchase a netting system from a software vendor or service provider.)

提交回复
热议问题