我從5000萬美元交易額的加密貨幣機器人中學到了什麼

y9lo3ts0

在2017年12月至2018年3月的幾個月中,我構建了一個機器人,執行了價值約5000萬美元的加密貨幣做市交易。這是關於我如何進入做市,機器人演算法背後的理論以及做市商之間競爭的故事。

FOMO

2017年11月-比特幣的價格迅速上漲至10,000美元大關。它的價格呈指數上漲,每周將其進一步推向主流意識,吸引了更多投資者,從而進一步推高了價格。
nDfV2H3JmARcjKRFye5zPVj2LBH2-x17c3tj7
在這段時間裡,我和兩個朋友一起去度假。這兩個朋友都沒有將自己的錢投資到微不足道的比特幣中,並從上漲的價格中獲利。作為三個甚至從未考慮過投資的人中的唯一一個,我覺得我很想念。
當我從旅行中回到家中時,我要做的第一件事就是找到一個在線加密貨幣交易所,並將500美元存入一個帳戶。要順應潮流,我的計劃很簡單:購買價值500美元的比特幣,如果看到回報,就增加投資。

點差

但是,在我扣動我的500美元投資的觸發因素之前,我注意到一些奇怪的事情;我正在交易的交易所有很大的「價差」。要了解點差是什麼以及為什麼點差很大,我們需要看一下有關交易所如何工作的一些基礎知識。
通常,當我們想到交易所交易的資產(例如股票)時,我們會將其視為具有固定價格的價格,可以以該價格進行買賣。例如,我們可能會想到價格為100美元的蘋果(AAPL)股票。實際上,雖然沒有一個單一的價格,但是有兩個不同的價格:
在  投標 價格。這是  最大的 ,關於交易所有人願意數額  的薪酬 為asset.The    價格。這是  交易所中任何人願意出售 資產的最低 金額  。
大多數買家願意支付的價格比賣方願意支付的價格要少,因此資產的買價總是低於賣出價。
以蘋果股票為例,這兩個價格可能非常接近。出價可能是99.99美元,要價是100.01美元。這兩個數字之間的差(0.02美元)就是我們所說的  價差
對於像蘋果這樣受歡迎的穩定股票而言,價差很小。這是因為總是有很多人願意購買股票,這會導致買價上漲,而很多人願意出售,這會降低要價。買賣雙方之間的競爭使買價和賣價彼此接近。
但是,當我第一次開始研究比特幣交易所時,點差更大,通常高達100美元。在此期間,比特幣的交易價格約為10,000美元,這意味著其價差可能高達其總價值的1%(而在蘋果公司的例子中僅為0.02%)。
比特幣價差的大小是由於2017年12月出現的市場混亂造成的。散戶投資者-您,我,街上的普通人-大量湧入市場。結果價格波動很大,以致價差永遠不會穩定。
較大的價差聽起來可能是一件壞事,雖然在一定程度上是件壞事,但它們也提供了獲利的機會。
假設比特幣的買入價為9,900美元,要價為10,000美元,點差為100美元。如果您能夠以9,900美元的價格購買1枚比特幣,然後以10,000美元的價格立即出售,則您已經賺了100美元。

創始者和接受者

如果您認為這聽起來太好以至於無法實現,那麼您是正確的。您可能對此表示懷疑的原因之一來自以下問題:  交易所費如何? 為了了解費用如何適應,我們不得不繞道而行,以了解交易所的工作方式。
假設您要購買比特幣,其買入價為9,900美元,要價為10,000美元。大致有兩種方法可以解決此問題:
首先,您可以提交  製造商  訂單。在這裡,您可以指定一個最高價(要價),即0到10,000美元,以及您願意購買的數量。您的訂單將一直放在交易所上,直到有人出現並決定接受您的訂單為止。這可能會在幾毫秒或幾天後發生,具體取決於您的價格高低和交易所的交易量。
nDfV2H3JmARcjKRFye5zPVj2LBH2-25c63tg3
或者,您可以提交  接受者  訂單。這與製造商訂單完全相反,可以讓您立即購買比特幣。但要注意的是,您的接單與所有賣方  訂單中的最低價格相匹配  。當然,這將是要價,因為這是任何人願意出售的最低價。
nDfV2H3JmARcjKRFye5zPVj2LBH2-gjcw3tnd
在繼續進行之前,需要注意有關製造商和接受者訂單的幾件重要事情:
每當買賣比特幣時,都會涉及一個製造者和一個接受者訂單。您不能與兩個製造者或兩個接受者進行交易。如果您決定採用製造者路線,則必須提供等於或高於買入價的價格,才有很大的機會最後,製造商訂單將我們所謂的流動性 添加  到市場中;他們為交易所上的其他人提供更多的選擇權。他們的名字來自於一個事實,即他們    的流動性。與此相反,接受者訂單    流動性從市場中撤出,因為它們將製造商訂單從交易所中移除。
最後一點很關鍵,因為它有助於解釋大多數交易所的費用結構。由於交易所希望最大程度地提高流動性,因此通常對買方訂單收取比對製造商訂單更高的費用。有些交易所,包括我正在使用的交易所,    收取收取者費用:製造商訂單收取0%的費用。
回到我們前面的例子。如果我們能夠僅以製造商訂單以9,900美元的價格購買比特幣並以10,000美元的價格出售,那麼我們交易的每個比特幣都有100美元的純利潤。
使用製造商定單的需求不僅是為了避免收費,而且還來自以下事實:如果我們使用接單定單來購買,我們將不得不支付要價-10,000美元。如果我們隨後通過接單賣出,我們將不得不以9,900美元的買入價賣出,損失了100美元。
因此,使用製造商定單,我們可以通過以買入價買入並以要價賣出來保證利潤。然而,有一個最後的問題,這給制定一種可以以編程方式實現這一目標的演算法提出了最大的挑戰。
正如我們之前所提到的,製造商訂單需要接受者訂單才能出現並「接受」交易才能發生。接受訂單將始終以「最優惠的價格」。如果您想通過製造商定單購買比特幣,那麼為了使買主定單與您的定單相匹配,您的買入價必須高於買入價。出價高出多少都不重要,金額可以低至一美分,例如9,900.01美元。
nDfV2H3JmARcjKRFye5zPVj2LBH2-1aei3t9x
因此,編寫做市機器人的第一步是能夠發出剛好高於當前買入價的買入(製造商)訂單。這需要一個API請求檢查出價,另一個請求提交您的訂單。
從理論上講,只比出價高出一美分是可以的。但是實際上,在檢查出價和提交訂單之間的時間內,出價通常會發生變化。為了確保您的訂單位於所有其他購買訂單之上,並設置新的買入價,通常建議將買入價比當前買入價高出5–10美分。
這樣可以確保,如果收到(承購人)賣單,它將與我們的(製造商)買單相匹配,並且我們將在不損失任何費用的情況下買入太多比特幣。
然後,我們可以在賣方做與我們剛做相反的事情。我們檢查當前的要價,並以低於該價格的價格出價。這樣可以確保如果有一個(承購人)買單,它將與我們的(製造商)賣單相匹配。
我們將獲得一筆可觀的利潤,大約等於價差(買入價和要價之間的差額)乘以我們能夠交易的比特幣的多少。
nDfV2H3JmARcjKRFye5zPVj2LBH2-vofy3tqb

競爭

如果您  仍然  認為這太容易了,那麼您  仍然是 正確的。只要有明顯的獲利機會,交易員就會大量湧入,這會帶來競爭。最明顯的例子可以通過觀察做市商之間相互爭奪來設定競標價格的競爭來看出。(請記住,您必須以買入價獲得買入訂單才能執行交易,下一次賣方的買受人訂單進入)
早在2017年12月,競爭就如此激烈,競標價格通常每秒會改變多次。通常,它只會增加一美分或兩美分,因為交易者相互爭鬥以最大化他們設定買入價的時間,同時還希望提供儘可能低的價格。
我的機器人最初著手檢查出價,並將出價提高了1美分。當我第一次感覺很明智時,我發現到我的訂單通過時,我通常會比(不斷變化的)買價低幾美分。
為了解決這個問題,並確保儘可能多的訂單將超過當前出價,我對出價通常每100ms會變化多少進行了測量。這使我的機器人可以提供比出價高得多的價格(約高5美分),這樣其他交易者就不會在我的訂單被處理時超過我的價格。
我還開始考慮價差的大小會如何影響我願意提供的當前出價價格。正如我們前面所看到的,任何交易的利潤都與價差的大小成正比。當價差很大時,擊敗出價就顯得尤為重要。因此,我寫了一個公式,根據價差的大小,該公式將比要約的買入價高出多少。
nDfV2H3JmARcjKRFye5zPVj2LBH2-97hb3tzt
到目前為止,我主要討論了  做市商的購買 方面,但是銷售工作完全相同。一旦您購買了比特幣,就需要以(較高)要價將其卸載。就像要價一樣,要價也存在競爭,因此您必須通過提供比當前要價低幾美分的賣價來削弱競爭對手。
早在2017年末/ 2018年初,賣出價的競爭通常要少得多。當時我以為這是因為比特幣的需求大於供應,這解釋了為什麼買家之間的競爭比賣家多。

市場操縱

市場操縱是指交易者為了獲得不公平的優勢而在市場中採取的各種惡毒策略。作為一個不受監管的市場,通過市場操縱,加密貨幣交易所已經(並且仍然)成熟。操縱的最常見形式是  欺騙,即下訂單只是為了改變市場狀況的行為。
為了給出一個示例,請參考前面的示例,其出價為9,900美元,要價為10,000美元。我們在這裡的價差是100美元,這是一個很好的做市機會。如果有人走來但是和地方  買進  才能為$9,999.99價格,然後蔓延到收縮僅1¢。由於點差很小,似乎無法從做市中獲利,所有活動都停止了。
買方以低於要價1美分的價格下達製造商訂單,這本身並不是市場操縱。實際上,如果您的交易所不收取製造商費用,這是購買比特幣的快速有效方式。然而,問題在於,每當出現這些購買訂單時,它們通常都是儘可能最小的數量。0.00001比特幣,價值約10美分。
另一個做市商可能會在要價下方下如此小的買單的原因是天才。如果另一個做市商能夠以買入價買入比特幣,那麼他們就有動力儘快以要價賣出。他們出售比特幣花費的時間越長,賣價(以及價差)變動以及獲利變化的風險就越大。
當然,您可能會說,這次價格上漲和下跌的機會一樣多。做市商對此並不在乎。他們的工作不是猜測價格,而是儘快進出。
為了阻止價格下跌,並防止賣方的競爭壓低賣出價,做市商將其賣單置於賣價下方,並在新 賣出價下方插入(「欺騙」)買入訂單。  詢問價格。後一個訂單將具有儘可能小的訂單大小(0.00001比特幣)。
nDfV2H3JmARcjKRFye5zPVj2LBH2-swi83t27
這有兩個效果:
沒有其他賣家可以超過該賣家的要價。如果您以低於賣價1美分的價格買入,則您處於買入價,而交易所不允許賣方以低於或低於買入價下達製造商訂單,從而使價差降至1美分。當做市機器人看到如此小的價差時,它可能會暫時關閉,因為沒有利潤可賺。
第二點至關重要,因為這解釋了為什麼當欺騙的買單剛好低於要價時,幾乎所有做市機器人都會關閉。實際上,即使價差似乎只有1美分,仍然仍有機會。
假設下一個賣方的接單人以1個比特幣進場。第一個0.00001比特幣將以偽造的訂單出售給做市商,從而將該訂單排除在交易所之外。接下來的0.99999比特幣將以新的  買入價賣給該訂單,這  是低於  該偽造訂單的最高價  訂單。
我對機器人進行的最大改進之一就是允許它在計算點差時忽略了欺騙訂單。即使要價可能僅比買入價高1美分,我的機器人仍會看過去的仿冒訂單,以了解如果沒有仿冒訂單(仍可能為$50– $100),則價差會是多少。如果此點差足夠大以提供機會,則它將競爭將價格最高的購買訂單放置    任何欺騙訂單之後。當賣方的接單人接到訂單時,這意味著價值幾美分的比特幣將被出售給欺騙者,然後將剩餘的價值出售給我。

2018年

2018的前幾個月是動蕩的。比特幣在12月升至2萬美元之後,車輪開始脫落,價格迅速下跌。
nDfV2H3JmARcjKRFye5zPVj2LBH2-l5jb3tid
儘管對投資者不利,但這為做市商提供了巨大的機會。買賣雙方的高交易量(這意味著會有更多的買單)極大地增加了有效做市商每天可執行的交易量。
但是,這一機會期相對來說是短暫的。一月和二月的瘋狂之後,交易量開始枯竭,這意味著獲利的機會越來越少。儘管交易量下跌,但隨著新的機器人進入交易所,做市商的數量仍在增加。
交易所上更多的做市商導致了更多的買價和賣價競爭,從而縮小了價差。額外的競爭者還意味著訂單通常會在較短的時間內處於出價價格,因為一旦您的訂單提交後,就會有更多的競爭者出價高於您。
由於競爭加劇和獲利的機會減少,我在3月之前關閉了所有漫遊器,此後就再也沒有打開它們。許多交易所增加的製造商費用使我無法重新參與做市遊戲,但是對於那些足夠智能人來說,仍然有機會抓住機會。
總而言之,我在2017年12月至2018年3月之間交易了價值約5,000萬美元的比特幣,投資回報率為20.2(〜2020%)。
原文 Hackernoon
提示:投資有風險,入市需謹慎,本資訊不作為投資理財建議。請理性投資,切實提高風險防範意識;如有發現的違法犯罪線索,可積極向有關部門舉報反映。
你可能還喜歡