見出し画像

Binance Future 損益計算Bot

 こんにちは。仮想通貨Bot全然儲からなくなって悲しいです。ただでさえ儲かってないのに、Binance VIPじゃないのでBUSD手数料払いになって死んでます。。なので、最近はずっと後回しにしてきた損益計算ツールを整備していこうと思っているところです。Botが儲からな過ぎてお小遣い稼ぎしたいので、Code部分は有料ノートにしてます。お小遣い恵んでください。誰でも書けるコードですが、1時間は節約できると思いますので最低賃金ぐらいは欲しいです。買い切りです。コメントいただければサポートするつもりですが、サポートは基本ないものと思ってください。(高度な日本語ですね)

今回の仕様
- 約定履歴を取得し、csvファイルを保存。履歴がcsvファイルに追加されていくので初回は時間がかかるかも
- 保存されたcsvファイルから、Realized PnL, Fee PnL, Total PnL, DDを任意の時間ごとに集計(デフォルトは24h, 3 days, 7days, 30 days, YTD)して表示。

セールスポイント
- 複数アカウント対応
- 年単位で大元のデータを管理するのでcsvファイルは税金計算にそのまま利用できます

注意点
- Binance APIの約定履歴、1000件までという制約と、7日間まで、という制約があってめんどくさかったです。全件もれなく取得するためには、BINANCE_API_SPLIT_TERM という変数を変更する必要があります。1日で約定が1000件を超えることはないという方でしたら、デフォルトで大丈夫ですが、そうでない方はスパンを6時間に変更したりする必要があります。逆に、1日2, 3件しか約定がないという方は、スパンを7日まで伸ばすこともでき、時短になります。
- python-binanceを利用してます。pipでインストールしてください
- あくまでも"損益を集計"するツールです。"損益をつくる"のは皆様です。

将来的な目標
- 取引所横展開
- Klineを取得し、〇分刻みで損益計算、マーケットグラフとともに表示

 少し話はそれますが、冬の時代はBot開発をしてもなかなか厳しいので、気たるべき次の収益チャンスに向けて、もろもろ環境の整備をしているところです。Hohetoさんのノートを参考に、
1. 新タイプのBotのプロトタイプの作成
2. 既存Botの取引所横展開
3. 開発プラットフォーム、ライブラリ、フレームワークの整備
のどれかに取り組もうとしているところです。

 ただ、新Botはなんかあんまり見つかりませんし、既存Botの横展開も一通り試して儲からないことが分かったので<-とりあえず、ずっと後回しにしてきたことをやっていこうと思った次第です。いろんな銘柄、取引所で取引をしていると、だんだんどの銘柄で儲かって、損しているのか管理するのが大変になってきますよね。私はずっと何となくサイズ調整していたのですが、さすがにこういう細かいところでの最適化でもしないと損ばかりしてしまうという状況に追い込まれてしまったのでまずは損益計算・分析を手元でできるようにBot化した次第であります。

 さて、以下にCode貼りつけて終わりなわけですが、私は本職プログラマでもないただの薄給サラリーマンですので、Codeの書き方がなってないとか、その辺はご容赦ください。Code Reviewみたいなのも受けたこと一度もないので、何ならコメント欲しいです。

# 使い方
# acc_nameは、サブ垢を集計したい時だけ変えてください
# api_keyとapi_secretは、指定しなければ環境変数を取得します
# yearは指定しなければ現在の年(2022年)になります
# とりあえず、test_binanceという関数のbt = BinanceTrade()で変数を書き込めば、
# あとはそのまま python trade.pyで回せると思います。
"""
class BinanceTrade():
    def __init__(self, acc_name: str ='main',
                 api_key: str = 'binance_api_key',
                 api_secret: str = 'binance_api_secret',
                 year=None):
"""
# 注意点はそのくらいです。あとは ターミナル/コンソールで python trade.py でgoです

では、以下をコピペしてお使いください

ここから先は

8,789字

¥ 1,000

この記事が気に入ったらサポートをしてみませんか?