列出 DFS 中所有可能的循环

问题描述

我正在尝试实施货币套利系统。我有一组这样的费率(摘录):

{
  WETH: { USDC: 1251.412454,USDT: 1247.922038,DAI: 1248.889170853253,GRT: 2564.449143585127 },USDC: { USDT: 0.997184,GRT: 2.047075466264398 },UNI:  { WETH: 0.011422976592904394 },UST:  { USDT: 1.006223 },DAI:  { USDC: 0.996408 },LINK: { WETH: 0.016572361615010835 },AAVE: { WETH: 0.22086511962970312 },YFI:  { WETH: 22.127349619001087 },WNXM: { WETH: 3.198146952589934 },COMP: { WETH: 0.178430488180767 },SNX:  { WETH: 0.012523661095285127 },CVP:  { WETH: 0.002145308148869976 },MKR:  { WETH: 1.06714037595511 },ANT:  { WETH: 0.002866589268616632 },BAND: { WETH: 0.006611859609454254 },GNO:  { WETH: 0.08678180778916264 },REN:  { WETH: 0.000417608062873623 },UMA:  { WETH: 0.00805809579069431 },}

而且我想列出所有可能的循环(以相同的标记开始和结束),例如:

1 WETH -> 1251.412454 USDC -> 2.047075466264398*1251.412454=2561.73573 GRT -> 2561.73573/2564.44914358129 = WETH 2.047075466264398*1251.412454

我想找到总数大于 1 的周期,因为它们是有利可图的(理论上)。

我想我应该使用 Bellman-Ford 但我无法获得一些实现做 AAVE->WETH->USDC)。

我使用的是 javascript,但伪代码或其他任何东西都可以。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...