vnpy數字貨幣教程:幣安API接入到回測,新手看這篇就夠
vnpy官方文檔里找不到數字貨幣的章節,不是因為它不支持vnpy數字貨幣教程:幣安API接入到回測,新手看這篇就夠,而是數字貨幣Gateway需要自己寫適配器。我去年接幣安合約時花了整整一周才跑通vnpy數字貨幣教程,后來發現真正卡人的就三個地方:API密鑰權限、WebSocket行情訂閱、回測參數對齊。把這三件事理順,剩下的就是寫策略了。
接幣安的第一步是申請API Key,權限勾選"現貨讀取+合約交易"就夠了,別開提現。vnpy里需要繼承gateway.py模板,重寫connect和subscribe方法,把幣安REST接口和WebSocket端點填進去。合約的端點和現貨不一樣,ws地址是wss://stream.binancefuture.com,寫錯一個字母行情就斷了。
回測階段最容易翻車的是時間戳。幣安K線返回的是毫秒級UTC時間戳,vnpy默認按秒處理,不轉換的話回測結果和實盤對不上。我把on_bar里加了一行datetime.utcfromtimestamp(ts/1000),才把曲線拉平。另外幣安合約的limit price有最小變動單位0.01,回測里用浮點數下單會直接被拒。
實盤切換時我強烈建議先跑模擬盤至少三天,重點看撤單延遲和滑點。幣安WebSocket偶爾會斷開重連,vnpy默認的disconnect回調不夠健壯,我加了個重連計時器,超過5秒沒收到心跳就強制重訂。風控方面,單筆最大倉位不超過賬戶的5%,這條我寫死在策略里,比任何指標都管用。
Leave Comments