アビトラ民のブログ

Note:https://note.com/qash

6/24-26の損益とあまりうまくいかなかったアビトラ検知コードの供養

+2万円でした。<br>
<br>
f:id:tit_BTCQASH:20210626132331p:plain<br>
<br>
NMR(Numeraiで使用するERC20トークン)の原資分を抜きました。これで持っているのは120枚ちょっとですが、原資を抜いたのでかなり気楽になりました。<br>
例の取引所は機関投資家側が対策したので、新しい何かがないかなー、と探索中ですが、1週間を目途に諦める予定です。<br>

次の収益源を考えていたのですが、金利・FRどちらもかなり低いですね。アビトラするにも鞘があまりないですし、本格的な手詰まり感を感じております。<br>
FTXのレンディング金利とBinanceの借入金利をアビトラしようと思っていたのですが、FTXの金利が変わりまくるので、使いにくい(せめて8時間保ってくれ)と思ったので、供養としてコードを共有します。<br>
APIkey,secretを入れて、Isolated marginに1USDTくらい入れて有効化すれば動きます。 昨日LTCでやったら儲かりはしたのですが、1時間ごとに金利変わるのは使いにくい・・・。FTX以外のレンディングで金利が高いところ知っている人いたら教えてください(Bitfinexは除く)<br>
<br>
```Python
import ccxt
binance=ccxt.binance({
"apiKey": "", 
"secret": ""
})
import time
ftx=ccxt.ftx({
"apiKey": "", 
"secret": ""
})

lending_fee=ftx.private_get_spot_margin_lending_rates()#*100をして%にしつつ、24*365を掛けて年利とする
#上位銘柄位を取り出す
import pandas as pd

Threshold=1#年利の閾値

data_ftx=pd.DataFrame(lending_fee['result']).set_index('coin').drop(columns='previous')
data_ftx_estimate=pd.DataFrame(data_ftx['estimate'].astype('float64')*100*24*365)
data_ftx_extract=data_ftx_estimate.sort_values('estimate', ascending=False).reset_index()
data_ftx_extract = round(data_ftx_extract[data_ftx_extract.estimate > Threshold],2)#年利Threshold%以上だけ抽出
'''
Isolated marginで取引する場合、1USDTでもいれておかないと、sapiGetMarginMaxBorrowableが動かないので注意!
(Isolated margin account does not existがでる)
年利>XX%のものは手動で入れておくこと
asset ASD is not supportedなどはBinance取扱なし、FTX取扱ありの銘柄なので、使い物にならない
FTXの送金手数料はERC20以外は考えなくてOK Binanceの送金手数料は高い
'''
for n in range (len(data_ftx_extract)):
    try:
        asset=data_ftx_extract['coin'][n]
        timestamp=str(int(time.time() * 1000))
        params={'asset':asset,'timestamp':timestamp}
        #borrow_amount=binance.sapi_get_margin_maxborrowable(params)
        borrow_fee=float(binance.sapiGetMarginInterestRateHistory(params)[0]['dailyInterestRate'])*100*365#%単位での借入Fee(1日あたり)
        FTX_Binance_Fee_arb=data_ftx_extract['estimate'][n]-borrow_fee
        mes='coin:'+str(data_ftx_extract['coin'][n])+'  アビトラ年利:'+str(FTX_Binance_Fee_arb)
        mes2='  binance_借金利:'+str(borrow_fee)+'  ftx_貸金利:'+str(data_ftx_extract['estimate'][n])
        if FTX_Binance_Fee_arb>Threshold:
            
            timestamp=str(int(time.time() * 1000))
            isolatedSymbol=str(asset)+'USDT'
            price_symbol=str(asset)+'/USDT'
            params={'asset':asset,'timestamp':timestamp,'isolatedSymbol':isolatedSymbol}
            maxborrow_binance=int*1['borrowLimit'])#最大借り入れ数量
            price=float(binance.fetch_order_book(price_symbol)['bids'][0][0])#今の価格
            max_borrow_amount=price*maxborrow_binance
            profit=round(max_borrow_amount*FTX_Binance_Fee_arb/100/365,1)
            mes3="  控除前利益/1日:"+str(profit)+"USD"+"  必要最大金額:"+str(round(max_borrow_amount*2,1))#*2としているのは、Binance-FTXで同量の残高が必要なため。年利は全資産に対して考えると1/2するべき
            params={'timestamp':timestamp}
            withdrawalfee=round(float(binance.sapiGetAssetAssetDetail(params)[str(data_ftx_extract['coin'][n])]['withdrawFee'])*float(price),1)
            mes4='  引出手数料'+str(withdrawalfee)+"USD"
            mes5=' 正味利益/日:'+str(round(profit-withdrawalfee,1))+"USD"
            if profit-withdrawalfee>10:
                print(mes+mes2+mes3+mes4+mes5)
            
            
            
            
    except Exception as e:
        
        print('coin:'+str(asset)+'   '+str(e))
        pass
    
#FTXの年利不安定さのせいでうまくいかないか・・・。
   
```

*1:binance.sapiGetMarginMaxBorrowable(params