[TOC]

Kürzlich fragte mich ein Freund, ob es möglich sei, eine Strategie für Funding-Rate-Arbitrage zu entwickeln. Beispielsweise gibt es häufig Unterschiede bei den Funding-Rates zwischen zentralisierten (CEXs) und dezentralen (DEXs) Börsen. Die Strategie könnte Arbitragemöglichkeiten aufspüren und mithilfe von KI entscheiden, ob sich die Eröffnung einer Position lohnt. Allerdings gab es dabei immer ein Problem:Es gibt keine guten Werkzeuge zur Erkennung von Arbitragemöglichkeiten.。
Zufällig hat es ein hochrangiger Mann empfohlen.VarFundingDiese Plattform sammelt Echtzeit-Finanzierungsraten von verschiedenen Börsen, darunter Binance, Hyperliquid, Lightner und Bybit, die alle auf der Plattform gelistet sind. Noch wichtiger ist, dass sie durch den Vergleich dieser Echtzeit-Finanzierungsraten optimale Arbitragemöglichkeiten bietet.

Das ist wie ein Kissen, das genau dann geliefert wird, wenn man müde ist! Heute führe ich Sie Schritt für Schritt durch die Entwicklung dieser Strategie zur Arbitrage von Finanzierungsraten.
Bevor wir uns mit Strategien befassen, klären wir zunächst eine Frage:Was genau ist Funding-Rate-Arbitrage?
Ewige Verträge verfügen über einen Mechanismus namensFinanzierungssatzDer Abrechnungszyklus variiert von Börse zu Börse; einige haben eine 8-stündige Abrechnungsperiode, einige eine 4-stündige und einige sogar eine 1-stündige.
Unterschiedliche Börsen weisen unterschiedliche Nutzerstrukturen und Liquidität auf, was zu unterschiedlichen Machtverhältnissen zwischen Käufern und Verkäufern führt. Daher variieren die Finanzierungsraten für dieselbe Kryptowährung häufig zwischen verschiedenen Börsen.
Die BTC-Gebühr von Börse A beträgt beispielsweise…+0.1%Börse B ist+0.05%。
An diesem Punkt können wir:
Durch die Absicherung der Positionen auf beiden Seiten gleichen sich die Gewinne und Verluste aus Preisschwankungen aus, die Gebührendifferenz (0,05 %) wird jedoch stetig eingesteckt.

Das ist die Kernlogik der Funding-Rate-Arbitrage: Man profitiert von der Zinsdifferenz, nicht von Preisschwankungen.
Nachdem wir das Prinzip der Funding-Rate-Arbitrage verstanden haben, stellt sich die nächste Frage: Wie setzen wir es um?
Der traditionelle Ansatz besteht darin, ein komplettes Programm zu schreiben, aber dieses Mal haben wir uns für Folgendes entschieden…WorkflowDies wird durch einen Workflow erreicht. Ein Workflow bietet mehrere einzigartige Vorteile:
Jeder Knoten ist für eine unabhängige Funktion zuständig: Datenerfassung, Filterung, KI-Bewertung und Ausführung. Jeder Knoten hat seine eigenen Aufgaben, die Logik ist klar und die Fehlersuche und Modifizierung sind einfach.
Der gesamte operative Ablauf der Strategie ist auf einen Blick ersichtlich, und jedes Problem in einem der Glieder kann schnell lokalisiert werden.
Um die Filterkriterien zu ändern oder die Transaktionslogik zu optimieren, müssen Sie nur den entsprechenden Knoten modifizieren; andere Teile müssen Sie nicht anfassen.
Workflows unterstützen auf natürliche Weise den Aufruf großer Modelle, wodurch es für KI sehr einfach wird, sich an Entscheidungsprozessen zu beteiligen.
Für diesen BedarfMehrere Datenquellen, mehrstufige VerarbeitungFür Arbitragestrategien ist der Workflow eine sehr geeignete Implementierungsmethode.
Diese Strategie ist unterteilt inZwei Hauptlinien:


Die beiden Linien haben jeweils ihre eigenen Aufgaben: Die Ausführungslinie ist für Entscheidungsfindung und Transaktionen zuständig, während die Datenerfassungslinie die Datenerfassung und -visualisierung übernimmt. Dieses Design ermöglicht die effiziente Umsetzung der Strategie und gleichzeitig die Echtzeitüberwachung ihres Betriebsstatus.
Die Strategie erfordert die Konfiguration mehrerer Schlüsselparameter:
['binance', 'hyperliquid', 'lighter']['high', 'medium', 'low']Wir können diese Parameter flexibel an unsere eigenen Bedürfnisse anpassen.
Der erste Schritt dieser Strategie besteht darin, Daten zu Arbitragemöglichkeiten zu erhalten. Dies geschieht durch den Zugriff auf die VarFunding-API über eine HTTP-Anfrage, wobei eine vorkonfigurierte Liste von Börsen übergeben wird:
const url = `https://varfunding.xyz/api/funding?exchanges=${exchangeList.join(',')}`;
Die Plattform liefert Gebührendaten für alle Kryptowährungen an verschiedenen Börsen sowie die berechneten optimalen Arbitragekombinationen. Aufgrund der großen Menge an Rohdaten können jedoch nicht alle genutzt werden. Die Strategie wird gefiltert und berücksichtigt nur Möglichkeiten, bei denen sowohl Long- als auch Short-Positionen an den in unserer Konfigurationsliste aufgeführten Börsen verfügbar sind.
const filteredMarkets = data.data.markets.filter(market => {
const bestExchange = market.bestRate?.exchange;
const worstExchange = market.worstRate?.exchange;
return exchangeList.includes(bestExchange) && exchangeList.includes(worstExchange);
});
Die gefilterten Daten werden in ein übersichtliches Format extrahiert, wobei nur die wichtigsten Informationen beibehalten werden: Handelspaar, Long-Position, Short-Position, Gebührenspanne, geschätzte jährliche Rendite und Konfidenzniveau. Diese Daten werden für die spätere Analyse von Arbitragemöglichkeiten gespeichert.
Ein einzelner Datenpunkt reicht nicht aus, da die Kurse vorübergehend schwanken können. Daher erfasst die Strategie kontinuierlich Momentaufnahmen der Daten, speichert die aktuellen Kursdaten minütlich und behält nur die historischen Daten der letzten N Stunden bei.
Nachdem eine ausreichende Stichprobe gesammelt wurde, führt die Strategie eine statistische Analyse durch, um die Häufigkeit jeder Währung bei verschiedenen Konfidenzniveaus zu berechnen:
const stats = {};
for (const snapshot of savedData) {
for (const [baseAsset, info] of Object.entries(snapshot.data)) {
if (!stats[baseAsset]) {
stats[baseAsset] = { high: 0, medium: 0, low: 0, total: 0 };
}
stats[baseAsset].total++;
if (info.confidence === 'high') stats[baseAsset].high++;
// ... 统计其他置信度
}
}
Anschließend werden die Währungen nach den am häufigsten angegebenen Vertrauensniveaus kategorisiert und eine gewichtete Punktzahl berechnet:
score = (high出现次数 × 3 + medium出现次数 × 2 + low出现次数) / 总次数
Dieses Rating spiegelt die Stabilität von Arbitragemöglichkeiten wider. Je höher das Rating, desto konstanter hat sich die Möglichkeit in historischen Daten entwickelt und desto vertrauenswürdiger ist sie.
Nach Abschluss der Gebührenanalyse prüft die Strategie bestehende Positionen anhand der aktuellen Arbitragemöglichkeitenliste. Die Kernlogik der Positionsschließungserkennung besteht darin, alle Börsen zu durchlaufen, um den aktuellen Positionsstatus zu ermitteln.
function scanAllPositions() {
const allPositions = {};
for (const [exName, exIndex] of Object.entries(EXCHANGE_MAP)) {
const positions = exchanges[exIndex].GetPositions();
for (const pos of positions) {
const baseAsset = pos.Symbol.match(/^([A-Z0-9]+)_/)[1];
const isLong = pos.Amount > 0;
// 记录多空仓位信息
}
}
return allPositions;
}
Ermitteln Sie anschließend, welche Positionen geschlossen werden müssen. Es gibt zwei Szenarien:
Der erste TypArbitragemöglichkeiten sind nicht mehr gegeben. Wenn die entsprechende Währung einer bestimmten Position nicht mehr in der aktuellen Liste der Arbitragemöglichkeiten aufgeführt ist, bedeutet dies, dass sich die Gebührenspanne verringert hat und Sie Ihre Position schließen sollten, um Gewinne zu realisieren.
Der zweite TypDie Richtung hat sich geändert. Wenn Sie beispielsweise zuvor bei Punkt A eine Long-Position und bei Punkt B eine Short-Position gehalten haben, sich die Positionen nun aber umgekehrt haben, müssen Sie zuerst die alten Positionen schließen.
Durch das Schließen einer Position werden beide Positionen gleichzeitig geschlossen:
// 平多仓
exchanges[longExIndex].CreateOrder(symbol, "closebuy", -1, amount);
// 平空仓
exchanges[shortExIndex].CreateOrder(symbol, "closesell", -1, amount);
Und bereinigen Sie die Bestandslisten, um sicherzustellen, dass abgelaufene Positionen abgewickelt werden, bevor Sie nach neuen Möglichkeiten suchen.
Nach der Überprüfung der Positionsschließung führt die Strategie Live-Trading durch, um die ausgewählten Arbitragemöglichkeiten zu verifizieren. Die Verifizierung umfasst zwei Aspekte:
Berechnen Sie die historische Preisdifferenz, indem Sie Candlestick-Chartdaten von beiden Börsen abrufen:
// 获取240根K线
const recordsLong = EX_Long.GetRecords(symbol, PERIOD_M1, 240);
const recordsShort = EX_Short.GetRecords(symbol, PERIOD_M1, 240);
// 计算价差
const spreads = [];
for (const time of commonTimes) {
const midPrice = (priceMapLong[time] + priceMapShort[time]) / 2;
const spread = (priceMapLong[time] - priceMapShort[time]) / midPrice;
spreads.push(spread);
}
// 统计指标
const avgSpread = 平均值(spreads);
const range = 最大值(spreads) - 最小值(spreads);
const stdDev = 标准差(spreads);
Diese Indikatoren spiegeln die Übereinstimmung der Preisbewegungen zwischen den beiden Börsen wider. Große Preisschwankungen deuten auf ein höheres Risiko hin.
Erhalten Sie Marktdaten in Echtzeit und berechnen Sie die Transaktionskosten:
const tickerLong = EX_Long.GetTicker(symbol);
const tickerShort = EX_Short.GetTicker(symbol);
// 买卖价差(反映深度)
const longSpread = (tickerLong.Sell - tickerLong.Buy) / tickerLong.Last;
const shortSpread = (tickerShort.Sell - tickerShort.Buy) / tickerShort.Last;
// 开仓成本(在Long所买入,Short所卖出)
const openCost = (tickerLong.Sell - tickerShort.Buy) / midPrice;
// 平仓成本(在Short所买入,Long所卖出)
const closeCost = (tickerShort.Sell - tickerLong.Buy) / midPrice;
// 往返总成本
const roundTripCost = openCost + closeCost;
Sind die Kosten für das Eröffnen und Schließen von Positionen zu hoch, schmälert dies die Gebühreneinnahmen, und solche Gelegenheiten lohnen sich nicht.
Nach der Überprüfung, falls in den Daten keine Arbitragemöglichkeiten vorhanden sind (dataIst das Objekt leer, endet der Prozess direkt. Ergibt sich eine neue Einstiegsmöglichkeit, beginnt die KI-Bewertungsphase.
Die Chancen auf eine erfolgreiche Verifizierung werden der KI zur umfassenden Bewertung übergeben. Wir haben eine sorgfältig konzipierte Aufforderung verwendet, um die KI wie einen professionellen Arbitrage-Analysten denken zu lassen.
Die KI wird mehrere Dimensionen analysieren:
Ob die Gebühreneinnahmen das Risiko von Preisschwankungen decken können. Die zentrale Beurteilungslogik lautet:
如果 rateSpread(每8小时收益)> range × 0.3
说明即使价差波动到极端情况,1-2个结算周期就能覆盖风险
Wenn der durchschnittliche Preisspread negativ ist und die Long-Position an einer Börse mit einem niedrigeren Preis notiert ist, ermöglicht die Eröffnung einer Position den Kauf zu einem günstigeren Preis, was eine günstige Bedingung für die Eröffnung einer Position darstellt.
Sind die Handelsvolumina an beiden Börsen ausreichend und ist die Geld-Brief-Spanne angemessen? Wenn das 24-Stunden-Handelsvolumen einer der Börsen unter 100.000 US-Dollar liegt oder die Geld-Brief-Spanne 0,3 % übersteigt, könnte die Liquidität unzureichend sein.
Können die Kosten für das Eröffnen und Schließen von Positionen innerhalb eines angemessenen Zeitraums durch die Gebühreneinnahmen gedeckt werden?
如果 roundTripCost < rateSpread × 2
意味着 2 个结算周期(16小时)就能覆盖交易成本
Die KI bewertet jede Gelegenheit (0–100 Punkte) und bestimmt ihr Risikoniveau (niedrig/mittel/hoch). Nur Gelegenheiten, die die Bewertung erfüllen, werden ausgeführt. Gleichzeitig schlägt die KI basierend auf dem Risikoniveau einen angemessenen Einsatzbetrag vor.
Die Ausgabe der KI ist ein JSON-Array, wobei jedes Element Folgendes enthält: ob die Eröffnung einer Position empfohlen wird, Bewertung, empfohlener Betrag, Risikostufe und Begründung für die Entscheidung.
Sobald die KI-Bewertung erfolgreich war, wird die Eröffnungsposition ausgeführt. Der Ausführungsprozess ist sehr streng:
Berechnen Sie, wie viele Kontrakte basierend auf dem vorgeschlagenen Eröffnungsbetrag und dem aktuellen Preis eröffnet werden müssen:
const currentPrice = getCurrentPrice(ex, symbol);
const contractAmount = amountUSD / currentPrice / ctVal;
In ctValEs handelt sich um den Nennwert des Vertrags, der je nach Börse variieren kann.
Versuchen Sie, einen Zielhebel einzustellen (Standardwert 10x), und verringern Sie ihn schrittweise, falls dieser nicht unterstützt wird:
const leveragesToTry = [10, 5, 3, 2, 1];
for (let lev of leveragesToTry) {
const result = ex.SetMarginLevel(symbol, lev);
if (result === true) {
return lev; // 设置成功
}
}
Nach dem Absenden einer Bestellung gilt diese nicht sofort als erfolgreich; Sie müssen auf die Bestellbestätigung warten.
const orderId = ex.CreateOrder(symbol, 'buy', -1, contractAmount);
// 循环检查订单状态
for (let i = 0; i < 20; i++) {
const order = ex.GetOrder(orderId);
if (order.Status === ORDER_STATE_CLOSED) {
// 完全成交
break;
}
Sleep(500);
}
Selbst wenn die Order als ausgeführt angezeigt wird, müssen Sie die tatsächlichen Bestände noch einmal überprüfen:
const position = getPosition(ex, symbol);
if (!position || Math.abs(position.Amount) === 0) {
// 订单成交但无持仓,开仓失败
return { success: false };
}
Wenn nur eine Richtung der Position erfolgreich eröffnet wurde (beispielsweise eine Long-Position erfolgreich eröffnet wurde, eine Short-Position jedoch fehlschlägt), schließt die Strategie die geöffneten Positionen automatisch:
if (!results.short.success && results.long.success) {
// 尝试平掉多仓
const pos = getPosition(longEx, longSymbol);
executeClose(longEx, longSymbol, true, pos.Amount, longExchange);
}
Dadurch wird einseitiges Risiko vermieden und der absichernde Charakter der Arbitrage sichergestellt.
Nach erfolgreicher Eröffnung einer Position speichert die Strategie die Informationen zur Arbitrageposition, einschließlich Eröffnungszeitpunkt, Preis und Menge, zur Verwendung bei nachfolgenden Schließungsprüfungen.
Während der Strategieausführung werden alle Informationen in Echtzeit auf dem Überwachungspanel in fünf Tabellen angezeigt: Die Kontoübersicht zeigt den Kontostand, den gesperrten Betrag, das Gesamtkapital sowie die Gesamtgewinn- und Verlustrechnung für jede Börse an; Arbitrage-Signale präsentieren die aktuell erkannten Arbitragemöglichkeiten, den Ausführungsstatus und die Gründe für ein Scheitern; Details zur Positionseröffnung protokollieren die KI-Bewertung, das Risikoniveau und die Beurteilungsgrundlage für jede Möglichkeit; Echtzeit-Arbitragepositionen zeigen das aktuell gehaltene Arbitrageportfolio, den Long-/Short-Gewinn und -Verlust sowie die Haltedauer an; Arbitrage-Gewinnstatistik fasst die Arbitragegewinne und -renditen für heute, diese Woche, diesen Monat und kumulativ zusammen.

Mithilfe dieser Panels können Sie den Status der Strategie in Echtzeit überwachen, einschließlich der Kontogesundheit, aktueller Chancen und aller wichtigen Informationen wie Portfolio-Gewinn und -Verlust.
Zum Schluss kommen wir zu den Risiken und Vorsichtsmaßnahmen:
Obwohl Funding-Rate-Arbitrage eine Absicherungsstrategie ist, ist sie nicht risikofrei. Die Preisdifferenz zwischen zwei Börsen kann schwanken, und wenn diese Schwankung die Gewinne aus dem Funding-Rate übersteigt, entstehen Verluste. Daher muss die Strategie die Stabilität der Preisdifferenz überprüfen.
Bei unzureichender Liquidität einer Börse kann es beim Öffnen und Schließen von Positionen zu erheblichen Slippage kommen. Ist beispielsweise die Orderbuchtiefe unzureichend, kann Ihre Marktorder zu einem sehr ungünstigen Preis ausgeführt werden, wodurch die tatsächlichen Kosten für die Positionseröffnung deutlich höher ausfallen als erwartet.
Insbesondere können einige neue dezentrale Börsen (DEXs) Probleme mit Smart-Contract-Schwachstellen oder Liquiditätsengpässen aufweisen. Es gab bereits Fälle, in denen Nutzer aufgrund von Smart-Contract-Schwachstellen in DEXs Gelder verloren haben.
Diese Strategie erfordert, dass die Gelder an mehreren Börsen gehalten werden. Wenn Sie beispielsweise Arbitragegeschäfte an drei Börsen betreiben, werden die Gelder auf drei Börsen verteilt, was zu einer relativ geringen Kapitalnutzung führt.
Ich schlage vor, dass Sie es zunächst mit einem kleinen Geldbetrag testen.Nachdem Sie sich mit der Funktionsweise der Strategie vertraut gemacht haben, erhöhen Sie Ihre Investition schrittweise. Sie können mit Arbitrage zwischen zwei etablierten Börsen beginnen, um Erfahrungen zu sammeln, bevor Sie auf weitere Börsen ausweiten.
Heute haben wir diese auf der VarFunding-Plattform basierende Strategie zur Arbitrage von Finanzierungsraten vorgestellt. Sie implementiert einen vollständigen Prozess von der Datenerfassung über die Stabilitätsprüfung und KI-Bewertung bis hin zur automatisierten Ausführung und bietet eine übersichtliche visuelle Überwachung.
Die Kernidee der Strategie lautet:
Selbstverständlich handelt es sich hierbei nur um ein grundlegendes Gerüst, und es gibt noch viel Raum für Optimierungen:
Der vollständige Code wurde auf der Inventors Quantification Platform veröffentlicht.Workflow-Finanzierungsraten-ArbitragestrategieWir freuen uns über jeden, der es nutzt und verbessert.