仮想通貨アービトラージをPythonでやってみたパート1「価格を取得する」「描画する」

アービトラージは取引所の価格を取得して比較して安いほうで買い、高い方で売る。

勝利が約束されているのだ。

とりあえず取引所の価格を取得してprintしてみよう。

GitHub新規リポジトリ作成

GitHubにコードを保存していきます。

リポジトリの作成
リポジトリの名前と公開、非公開を選択

Privateで非公開リポジトリです。

リポジトリの作成が完了
空っぽのリポジトリ状態

これ使う。

デスクトップに新規ファルダ作る
botというフォルダつくった
できた
コマンドプロンプト開く
cmdで検索したらでる
コマンドプロンプトでファルダに移動
cd → ドラッグアンドドロップ →enter
githubのリポジトリ初期化する
githubのコマンドをコピペで貼り付けてenterを繰り返す
リポジトリ初期化完了

ここにコードを順次アップロードします。

Visual Studio Codeをインストール

VSCodeをインストールします。インストールしてある人は飛ばしてね。

使い方はしまぶーさんに動画がわかりやすい。

VSCodeでGitHubに接続します。

コードの保存→GitHubのリポジトリにプッシュでコード管理できます。

GitHubとVSCodeの連携方法参考サイト
code . でVSコード起動

ファルダ一覧

今回はプログラムの量が大きくなるのでファイルをわけました。

取引所ごとにプログラムを作ってあります。

今回はBinanceとBybitでやっていきます。

手法としては、BinanceとBybitの価格差が開いたタイミングで安い方でロングエントリー、高い方でショートエントリーします。

bot/
 ├ binance_.py
 ├ bybit_.py
 ├ main.py
 ├ requirements.txt

使うライブラリ

  • binance-futures-connector
  • pybit
  • matplotlib

binance_.py

バイナンスの価格を取得する機能です。

bybit_.py

バイビットの価格を取得する機能です。

main.py

メインプログラム。

今回は取引所のビットコインの価格を取得してログ画面に出力させてます。

requirements.txt

インストール方法

pip install -r requirements.txt

main.pyの実行結果

プログラムの起動に成功しました。

BinanceとBybitの価格を拾えたので、これを比較して一定の差が発生したらトレードをします。

価格取得時間を計測してみる

本編とは関係ないですが、ちょっと寄り道して価格取得の時間を計測してみましょう。

Python 実行時間とネットで調べるとやり方がでてきました。

おそらくアビトラは速度が命と思っています。

0.5秒ぐらい

1秒はダミーの数字なので価格の下に表示されているのが実行時間の計測結果です。

0.5秒はなんか遅いような気もしますが、まあとりあえずヨシです。

main.pyを改造してチャートを描画する

以下のサイトのコードが参考になりました。

感謝しつつコピペしてきました。

参考
チャート表示と価格差が開いたらPrintされる。

コピペだけど、ちょっとつけたしました。

  • 見た目変更

ログ画面に

  • 時刻表示
  • 通貨名表示
  • 価格差をパーセント表示
  • Binance価格表示
  • Bybit価格表示

最後に描画部分をちょろっと解説して今回はおわりです。

価格差のチャートはあってもなくても稼働に支障はないのでそこまでコストをかけて覚える必要はないと思います。

以下のコードでシンボルとしきい値を入力できます。

  • 縦は取引所の価格です。
  • 横は時間なのでインデックス数です。

なので価格とインデックスを保存するリストを先につくります。

あとはmatplotlibのYoutube動画をみると理解が深まると思います。

サプーさんの動画が分かりやすい。

今回はここまでです。

価格取得と描画まで出来ました。

次回はトレードするとこまで予定しています。

わからないことはコメントまでお願いします。

続きは以下のページです。

  • -
    コピー

この記事を書いた人

最近のコメント

  1. アバター
  2. アバター
  3. アバター
  4. アバター
  5. アバター

人気記事