Hummingbot AMM套利策略梳理

AMM-arbitrage

1. 參數(shù)


策略運(yùn)行參數(shù) 含義
market_info_1 第一個(gè)市場(chǎng)
market_info_2 第二個(gè)市場(chǎng)
min_profitability 執(zhí)行交易的最低盈利能力(例如 0.0003 為 0.3%)
order_amount 訂單金額
market_1_slippage_buffer 市場(chǎng) 1 的滑點(diǎn)緩沖區(qū)。調(diào)整訂單價(jià)格以提高訂單成交幾率的緩沖區(qū)。 買(mǎi)入訂單中調(diào)高(1+percent),在賣出訂單中調(diào)低(1-percent)。
market_2_slippage_buffer 市場(chǎng) 2 的滑點(diǎn)緩沖區(qū)
concurrent_orders_submission 是否同時(shí)提交兩個(gè)套利接受者訂單(買(mǎi)入和賣出)如果為 false,機(jī)器人將等待第一個(gè)交易訂單填寫(xiě),然后再提交另一個(gè)訂單。
status_report_interval 等待刷新?tīng)顟B(tài)的秒數(shù)
rate_source 代幣之間轉(zhuǎn)換率的來(lái)源
策略配置參數(shù) 含義
connector 1 第一個(gè)要交易的交易所或者 AMM 協(xié)議
market_1 第一個(gè)要和另一個(gè)交易所套利的幣對(duì)
connector 2 第二個(gè)要交易的交易所或者 AMM 協(xié)議
market_2 第二個(gè)要和另一個(gè)交易所套利的幣對(duì)
order_amount 第一個(gè)交易對(duì)使用的買(mǎi)單的訂單金額
min_profitability 交易執(zhí)行的最小利潤(rùn)率,不足則不會(huì)執(zhí)行
market_1_slippage_buffer 對(duì)于市場(chǎng) 1 交易執(zhí)行之前允許的價(jià)格變動(dòng)緩沖帶
market_2_slippage_buffer 對(duì)于市場(chǎng) 2 交易執(zhí)行之前允許的價(jià)格變動(dòng)緩沖帶
concurrent_orders_submission 是否同時(shí)下單
manual_gas_price 手動(dòng)設(shè)置 gas 費(fèi)

2. 套利提案的生命周期


2.1 創(chuàng)建套利提案

套利方案列表,包含兩個(gè)套利方案[(market_1 buy, market_2 sell) , (market_1 sell, market_2 buy)]每個(gè)套利提案有兩個(gè)side: (first_side , second_side)

2.2 計(jì)算套利提案預(yù)計(jì)盈利

計(jì)算套利預(yù)計(jì)收益有以下幾組參數(shù)

  1. base 幣種買(mǎi)賣市場(chǎng)匯率sell_quote_to_buy_quote_rate(在此策略下可以取常數(shù) 1)& quote 幣種買(mǎi)賣市場(chǎng)匯率sell_base_to_buy_base_rate
  2. buy_side 手續(xù)費(fèi) buy_fee_amount &sell_side 手續(xù)費(fèi) sell_fee_amount
  3. 買(mǎi)入花費(fèi)數(shù)量buy_spent_net & 賣出獲得數(shù)量sell_gained_net
  4. 以買(mǎi)入市場(chǎng)計(jì)算的賣出獲得數(shù)量 sell_gained_net_in_buy_quote_currency
  5. result 預(yù)計(jì)利潤(rùn)率
    預(yù)計(jì)利潤(rùn)計(jì)算公式
    base 和 quote 幣種買(mǎi)賣市場(chǎng)之間匯率
sell_base_to_buy_base_rate = 1 (套利策略使用固定值為 1)
sell_quote_to_buy_quote_rate =  從 RateOracle 獲取 sell_quote到 buy_quote 的匯率 或者 固定值

如果收取的手續(xù)費(fèi)是 quote 幣種則要轉(zhuǎn)換為 base 幣種來(lái)計(jì)算

buy_fee_amount =  (price * order_amount) * percent + 固定手續(xù)費(fèi)(可能為 0)
sell_fee_amount =  (price * order_amount) * percent + 固定手續(xù)費(fèi)(可能為 0)

購(gòu)買(mǎi)花費(fèi)的數(shù)量

buy_spent_net = (buy.amount * buy.quote_price) + buy_fee_amount

賣出獲得的數(shù)量

sell_gained_net = (sell.amount * sell.quote_price) - sell_fee_amount

把賣市場(chǎng)轉(zhuǎn)移到買(mǎi)市場(chǎng)來(lái)計(jì)算可能的收益,兩個(gè)市場(chǎng) base 和 quote 的匯率不同,賣市場(chǎng)賣出1個(gè)quote獲得的賣base數(shù),相當(dāng)于在買(mǎi)市場(chǎng)賣出 sell_quote_to_buy_quote_rate 個(gè)quote獲得的賣base數(shù),考慮到買(mǎi)賣市場(chǎng)的 base 之間可能也有匯率 要轉(zhuǎn)換成買(mǎi)市場(chǎng) base 數(shù)

sell_gained_net_in_buy_quote_currency = (sell_gained_net * sell_quote_to_buy_quote_rate / sell_base_to_buy_base_rate)

在buy_side市場(chǎng)的利潤(rùn)率

result = (sell_gained_net_in_buy_quote_currency - buy_spent_net) / buy_spent_net

如果通過(guò)上述公式計(jì)算出result > min_profitability則代表存在套利空間,此提案會(huì)繼續(xù)執(zhí)行。

2.3 處理滑點(diǎn)buffer

處理滑點(diǎn)是通過(guò)修改提案的價(jià)格來(lái)實(shí)現(xiàn)的,根據(jù)配置項(xiàng)目的 market_1_slippage_buffer,market_2_slippage_buffer來(lái)計(jì)算買(mǎi)賣雙方的下單價(jià)格,買(mǎi)方的價(jià)格=買(mǎi)方價(jià)格*(1+market_1_slippage_buffer),賣方的價(jià)格=賣方價(jià)格*(1-market_2_slippage_buffer)

2.4 處理預(yù)算限制

如果沒(méi)有足夠的余額來(lái)提交具有所需訂單金額的訂單,則通過(guò)將提案金額設(shè)置為 0 來(lái)更新 arb_proposals。
遍歷提案列表,檢查每個(gè)提案的兩個(gè) side,取得 side 中的 quote 或者 base 幣種,調(diào)用 get_available_balance 行情接口查詢余額,然后計(jì)算需要的余額是否能夠覆蓋需要的金額,如果一個(gè)side 的需求余額不能被覆蓋,則 side 的 amount 會(huì)被更新為 0。

2.5 執(zhí)行交易

執(zhí)行交易有兩種執(zhí)行模式,一種是同時(shí)執(zhí)行,另一種是先執(zhí)行一個(gè)等待執(zhí)行完畢之后再執(zhí)行另一個(gè)。這個(gè)取決于配置,如果 concurrent_orders_submission 為 False,它將在提交第二個(gè)訂單之前等待第一個(gè)訂單完成。

3. 總體執(zhí)行流程


AMM_ARB.jpg
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Overview The ccxt library is a collection of available cr...
    郭蟈兒蟈兒閱讀 4,026評(píng)論 0 1
  • 01 如何優(yōu)雅得體地提出你的希望和要求? We’d like to express our desire to e...
    康斯卡特閱讀 1,595評(píng)論 1 1
  • 16宿命:用概率思維提高你的勝算 以前的我是風(fēng)險(xiǎn)厭惡者,不喜歡去冒險(xiǎn),但是人生放棄了冒險(xiǎn),也就放棄了無(wú)數(shù)的可能。 ...
    yichen大刀閱讀 8,211評(píng)論 0 4
  • 公元:2019年11月28日19時(shí)42分農(nóng)歷:二零一九年 十一月 初三日 戌時(shí)干支:己亥乙亥己巳甲戌當(dāng)月節(jié)氣:立冬...
    石放閱讀 7,531評(píng)論 0 2

友情鏈接更多精彩內(nèi)容