算法在没有直接转换的情况下从货币转换为其他货币

时间:2014-06-27 17:11:46

标签: algorithm logic

我需要进行货币对话。

假设您有一个货币金额的对象列表,而其他货币的价值。例如:

From To Value
USD-CAN 0,1
CAN-USD 0,4
USD-AUD 0.5
AUD-USD 0,6
AUD-EUR 1
EUR-AUD 3

您需要将货币货币的值列表转换为EUR,例如

1,22 USD
1,4 CAN
5 AUD

他的转换直接(AUD-EUR)有一些价值,但另一些不是(USD-EUR,CAN-EUR)。

告诉它最好的方法或算法来做到这一点..?

1 个答案:

答案 0 :(得分:2)

构建有向图,其中节点是货币,边是直接转换。查找从源货币到目标货币的最短路径。

您可以将边缘权重设置为 log (转换率)以找到最佳转换路径(记录添加权重而不是相乘)。

您甚至可以尝试检测2-point arbitrage3-point arbitrage(例如,查看here)或n点套利(查看here)。