Skip to content

Latest commit

 

History

History
162 lines (91 loc) · 3.49 KB

File metadata and controls

162 lines (91 loc) · 3.49 KB

下面是有根據檔案內容的、非常清楚的比較,不講廢話。所有說法我都會引用你檔案中的程式碼來證明。

📌結論先講:Avellaneda 版本比原始 bot 強在 3 件事 功能 原本 bot.py Avellaneda_bot.py 下單價格 固定間距的網格價格 動態數學模型計算理論最優價格 策略 簡單網格 市場做市策略(Avellaneda–Stoikov) 風險控制 固定間距、死算法 會根據波動、手續費、倉位自動調整

所以本質上:

bot.py = 傳統網格 avellaneda_bot.py = 聰明網格 + 做市策略

① Bot.py 的做單邏輯比較笨(固定價格)

來看 bot.py 中下網格價格的方式:

它的買/賣價格是:

Mid ± 固定 spacing

例如:

self.upper_price_long = self.mid_price_long * (1 + self.take_profit_spacing) self.lower_price_long = self.mid_price_long * (1 - self.grid_spacing)

來源:

bot

換句話說:

不管市場波動大還小,都用同樣的間距。

問題:如果市場突然變動,你的網格還是一樣,容易虧錢或成交不到。

② Avellaneda 版本會依市場條件自動算價格

看 avellaneda_bot.py 的核心公式:

self.reserve_price = price - self.inventory * self.gamma * (self.sigma**2) * T

來源:

avellaneda_bot

這就是論文 Avellaneda–Stoikov 的 理論公允價格。

接著算最佳買/賣價格:

self.best_bid = self.reserve_price - delta self.best_ask = self.reserve_price + delta

來源:

avellaneda_bot

這代表:

價格不是固定死的,而是根據市場變動自動算出來的。

③ Avellaneda 會根據波動率 sigma 自動調整間距

avellaneda_utils.py 會抓 K 線資料與計算波動:

AVE_SIGMA = calculate_historical_volatility(kline_df)

來源:

avellaneda_utils

sigma 高 = 市場波動大 → 網格變大 sigma 小 = 市場安靜 → 網格變小

而原始版本做不到這件事。

④ Avellaneda 會把手續費成本也考慮進去 AVE_ETA = estimate_eta_from_fee(taker_fee_rate)

來源:

avellaneda_utils

這超重要!

一般網格策略完全無視交易成本,所以:

波動小的時候可能完全是白做,虧在手續費。

Avellaneda 策略會把成本考進公式,讓你保持正收益。

⑤ Avellaneda 策略直接覆蓋原本的網格邏輯

在下單邏輯這裡你會看到:

self.place_order('buy', self.best_bid ...) self.place_take_profit_order(... self.best_ask ...)

來源:

avellaneda_bot

而原本版是:

self.place_take_profit_order(... self.upper_price_long) self.place_order(... self.lower_price_long)

來源:

bot

差別非常大:

舊版 新版 固定 upper/lower 動態 best_bid/best_ask 死策略 自適應 ⑥ Avellaneda 還考慮「你的持倉方向」 self.inventory = self.long_position - self.short_position

來源:

avellaneda_bot

如果你倉位偏多:

會調整報價來減少風險

原本 bot 完全不懂這件事。

💡所以最本質差異: ✔ Bot.py:永遠固定網格 價格固定間距

✔ Avellaneda:模型算出網格 根據波動、市場狀態、自身倉位 自動調整最佳買賣價

換句話說:

Avellaneda_bot.py 真正有「大腦」。 bot.py 只是機械地下單。

用人話總結 項目 bot.py avellaneda_bot.py 像什麼? 笨笨的網格 做市策略,像交易員 盤整行情 還行 非常強 高波動 容易爆倉或亂單 自調保護 手續費控制 沒有 內建 對市場理解 0 高級數學模型 最後一句讓你懂透

bot.py 是一般散戶在用的策略 avellaneda_bot.py 是交易所做市商在用的策略