我正在寻找一种在多个交易所、多个货币之间应用套利算法的方法。多笔交易。我已经看到了使用BellmanFord和FloydWarshall的例子,但是我尝试过的例子似乎都是假设图形数据集是由一个单一交易所的多种货币的价格组成的。我试过在多个交易所修补并使其支持价格,但我没有发现任何成功。
我读过的一篇文章说,我使用BellmanFord,只需在图表中列出最好的交易所价格(相对于所有交易所的价格)。虽然这听起来应该可行,但我觉得这样做可能会失去价值。这样做对吗?
对于多个金额,我应该只做一个图每个交易金额?因此,假设我想以100美元和1000美元的价格运行算法,我是不是真的要对每组数据填充两次图呢?100美元的价格和1000美元的价格是不同的,所以一个交易所最好的价格是100美元,而不是1000美元的价格。
示例:
这张图看起来如下:
rates = [
[1, 0.23, 0.26, 17.41],
[4.31, 1, 1.14, 75.01],
[3.79, 0.88, 1, 65.93],
[0.057, 0.013, 0.015, 1],
]
currencies = ('PLN', 'EUR', 'USD', 'RUB')参考资料:
发布于 2020-08-02 12:36:26
为了提高速度的准确性,有一种方法可以表示线性规划内部每个交换的全部订单。对于每一个出价,我们有一个实际价值的变量,表示我们想以这个价格卖出多少,介于零和出价之间。对于每一个问题,我们都有一个实值变量,表示我们想以这个价格购买多少,介于零和所要求的数量之间。(我假设有可能得到部分填充,但如果没有,您可以切换到整数编程。)约束条件是,除美元(或任何你想要更多的货币)外,每种货币的总购买量等于售出的总额。您可以通过要求每个(货币、外汇)对的详细余额来加强这一点,但随后您可能会留下一些机会。小心交易对手的风险和失误。
对于不同数量的初始资本,你可以将美元分成“美元”和“美元外”,并限制你的“美元”供应,最大化“美元”,进行一对一的转换,不受从美元到美元的限制。然后,您可以解决一美元约束,调整约束,并使用双单纯形重新求解LP比从头开始更快。
https://stackoverflow.com/questions/63211891
复制相似问题