ビットフライヤー(bitFlyer)APIをPythonで使ってみよう【ビットコイン自動売買入門】

プログラミング 仮想通貨

あなた

あなた
「ビットフライヤーのAPIを使って仮想通貨の取引をしてみたいけど、何から始めたらいいんだろう?APIを使って具体的にどんなことができるのかな?」

そんなお悩みを解決します。

ビットフライヤーといえば、ビットコインの取引量が国内No.1の仮想通貨取引所。(本記事執筆時点の公式サイト情報より)

本記事では、そんなビットフライヤーのAPIを使ったビットコインの自動売買botの動かし方をゼロから解説します。

自動売買botって何?
-> あらかじめ決めておいた条件(ある価格より高くなった等)において、自動的に売買を実行するプログラム。

プログラミングが初めてのあなたでも大丈夫。一つずつステップを踏んで理解してみましょう。

ビットフライヤーAPIを使いこなせば、あなたも簡単にビットコインの自動売買を動かすことができます。うまく運用できれば…稼げるかも?

ご注意
この記事や本サイトの情報を参考に仮想通貨のプログラムを動かす場合は、全て自己責任でお願いいたします。免責事項に記載の通り、本サイトの情報を参考にして発生したいかなる損害も責任を負いません。

この記事で分かること

  • ビットフライヤーAPIを使って何ができるか
  • ビットフライヤーAPIを使った簡単な自動売買botの動かし方

ビットフライヤー(bitFlyer)APIをPythonで使うと何ができる?

ビットフライヤーのAPIを使って何ができる?

ビットフライヤーのAPIをPythonで使いこなすと、例えばこんなことができます。

  • ビットコインの自動売買
  • ビットコインをなるべく低価格で積立

一つずつ、簡単に確認して見ましょう。

ビットフライヤー(bitFlyer)APIでビットコインを自動売買

APIを使った仮想通貨の取引で最初に思いつくのは、やっぱりビットコインの自動売買ですよね。

ビットフライヤーは、ビットコインの取引量が国内No.1。ということは、自動売買すればするほど取引のチャンスがたくさんありますね。

あなた

あなた
「自動売買botを動かすと、どんな資産運用ができるんだろう?」

そんな疑問を持つあなたへ、簡単な自動売買botはどれくらい儲かるのか?を実験したまとめ記事を参考にどうぞ。

本記事の後半では、ビットコインの自動売買botの動かし方を解説します。まずは自動売買botを動かして、その可能性を感じてみてくださいね。

ビットフライヤー(bitFlyer)APIでビットコインを低価格で積立

ビットコイン、買い続けていますか?もしビットコインを積立しているなら、APIを使えば低価格で積立できるようになります。

ビットフライヤーには、1円から暗号資産の積み立てができる「かんたん積立」というサービスがありますよね。

でも、かんたん積立サービスのよくある質問を見てみると、「積立購入する時のレートは販売所の価格を参照します」と書かれているので要注意。端的に言うと、手数料がかかります。

一方で、ビットフライヤーのAPIを使って積立購入すれば、その手数料を回避することが可能です。低価格でビットコインを積立購入したい人は、APIを活用しちゃいましょう。

手数料の仕組みが気になる方は、こちらの解説記事も参考にどうぞ。

ビットフライヤー(bitFlyer)APIをPythonで動かしてビットコインを自動売買してみる

ビットフライヤーのAPIを使って自動売買

ここでは、ビットフライヤーのAPIを使って簡単なビットコインの自動売買botを動かしてみましょう。

手順はこの3つです。

  • ビットフライヤーの口座を開設する
  • ビットフライヤーのAPIキーを発行する
  • 自動売買botを動かしてみる

この3ステップを一つずつ深掘りしていきましょう。やってみると、思ったより簡単ですよ!

Pythonプログラミングが初めてのあなたへ

本記事の自動売買botでは、Python(パイソン)というプログラミングを使います。

まだやったことがないよ!っていうあなたも大丈夫。まずはこちらの記事を参考に、Pythonを触ってみることから始めてみてくださいね。Macと書いてありますが、Windowsでもできますのでご安心ください。

ビットフライヤー(bitFlyer)の口座を開設する

ビットフライヤーのAPIを使うので、最初に必要なのは口座の開設。

ビットフライヤー(公式サイト)にアクセスして、メールアドレスを登録すると確認のメールが届きます。

その確認メールに記載されているリンクをクリックして、あとは説明の通り進めていけばOKです。

めちゃくちゃ簡単なのでサクッと済ませておきましょう。せっかく自動売買botを動かす準備ができても、口座開設を待っている時間がもったいないですからね。

ビットフライヤーで口座開設(公式サイト)

ビットフライヤー(bitFlyer)のAPIキーを発行する

続いて、APIキーを発行します。APIキーは、あなたのビットフライヤーの口座へプログラミングでアクセスするための鍵、と考えてもらえばOKです。

ビットフライヤーの口座を開設しておかないと、APIキーを発行できない(先に進めない)ので注意してくださいね。

まずはビットフライヤーにログインして、左側のメニューにある bitFlyer Lightning をクリック。

ビットフライヤーライトニングのメニューをクリック

トレード画面が出てきたら、画面一番左にあるメニュー(3本線)をクリックします。

ビットフライヤーの取引画面のメニューを開く

開いたメニューの中からAPIを選択します。

ビットフライヤー取引画面のメニューからAPIを選択

画面一番下にある「新しいAPIキーを追加」をクリック。

ビットフライヤーの新しいAPIキー追加ボタンを押す

注意画面が出るので、全て内容を読みつつチェックを入れて「同意します」をクリックします。

APIキーが他人に知られると勝手に操作できるようになるから超危険!という注意喚起です。APIキーの管理はとにかく厳重に!

ビットフライヤーのAPIキー管理の注意喚起画面

続いて、APIキーのラベル(名前)をつけます。auto-tradeとか、あなたの分かりやすい名前をいれておけばOKです。

ビットフライヤーのAPIキーのラベルをつける

トレードの部分は、「新規注文を出す」の部分にだけチェックを入れてOKボタンを押します。(後から修正することもできます)

本記事で紹介する自動売買botでは新規注文しか使用しないので、不要な処理はなるべくチェックを入れないほうが安全ですからね。

ビットフライヤーのAPIキーで新規注文を出す部分にチェックを入れる

これにて、APIキーの発行が完了。APIキーとシークレットキーの2つができましたね。シークレットキーは、表示という部分を押して表示させることができます。

ビットフライヤーのAPIキーとシークレットキーの発行完了

クドいほど言いますが、このAPIキーは誰にも教えちゃダメです。誰かに教えたり、この情報が漏れたりしないように十分注意してくださいね。

ビットフライヤー(bitFlyer)のAPIを使ったビットコインの自動売買botを動かす

ここまできたら、準備完了です。ビットコインの自動売買botを動かして見ましょう。

実際のプログラムがこちら。まずは動かしてみることが大事なので、細かいことは気にせずなるべくシンプルにしてあります。

import time
import pandas as pd
import ccxt
import talib as ta

exchange = ccxt.bitflyer()
exchange.apiKey = 'あなたのAPIキー'
exchange.secret = 'あなたのシークレットキー'

crypto = 'BTC'          # 取引する仮想通貨
currency = 'JPY'        # 日本円建て
interval = 60*5         # チャート足(60*5なら 5分足)
duration = 20           # 移動平均のサイズ
trading_amount = 30000  # 一度の売買で使う金額(単位=currency)

symbol = crypto + '/' + currency
position = 0            # 自動売買中に持っているポジション
last_rate = 0           # 最後に約定したレート(単位=currency)

df = pd.DataFrame()

while True:
  time.sleep(interval)

  ticker_info = exchange.fetch_ticker(symbol)
  df = pd.concat([df, pd.DataFrame({'price': [ticker_info['last']]})], ignore_index=True)

  if len(df) < duration:
    continue

  df['upper'], df['middle'], df['lower'] = ta.BBANDS(df['price'], timeperiod=duration, nbdevup=2, nbdevdn=2, matype=0)

  if position:
    if df['price'].iloc[-1] > df['upper'].iloc[-1] and last_rate < df['price'].iloc[-1]:
      exchange.create_order(symbol=symbol, type='market', side='sell', amount=position)
      print('sell ' + str(position) + crypto + ' @' + str(ticker_info['last']))
      position = 0

  else:
    ticker_balance = exchange.fetch_balance()
    if float(ticker_balance[currency]['free']) > trading_amount and df['price'].iloc[-1] < df['lower'].iloc[-1]:
      amount = round(trading_amount / float(ticker_info['last']), 5)
      exchange.create_order(symbol=symbol, type='market', side='buy', amount=amount)
      print('buy ' + str(amount) + crypto + ' @' + str(ticker_info['last']))
      position = amount
      last_rate = ticker_info['last']

  df = df.iloc[1:, :]

これを main.py といったPythonのプログラムファイルにコピペしましょう。

自動売買botを動かす前にやっておくこと

プログラムのコピペが終わったら、動かす前にやることが2つあります。

一つ目は、APIキーとシークレットキーの設定。以下のコードを、あなたのAPIキーとシークレットキーに書き換えましょう。

exchange.apiKey = 'あなたのAPIキー'
exchange.secret = 'あなたのシークレットキー'

2つ目は、必要なライブラリのインストール。Macならターミナル、Winならコマンドプロンプトで以下のコマンドを打ち込んでインストールです。

pip install ccxt
pip install ta-lib

ここまでできたら、あとは以下のコマンドを実行すると自動売買botが動き始めます。

Python3 main.py

botがちゃんと動いているのか、そもそもどういう仕組みで売買しているのか、詳細を解説したこちらの記事も確認してみてくださいね。

この自動売買botをきっかけに、あなただけの運用を考えてみるのも楽しそうですね!

ビットフライヤー(bitFlyer)APIをPythonで活用すればあなたも稼げるかも?

ビットフライヤーAPIを使った自動売買で儲かるかも

本記事では、ccxtというライブラリを使って、ビットフライヤーAPIから新規注文を出す簡単なビットコインの自動売買botを動かしました。

ビットフライヤーのAPIを使いこなせば、新規注文だけではなくてこんなこともできるようになります。

  • 注文の一覧を取得する
  • 注文をキャンセルする
  • etc…

あなたの投資戦略によって自動売買botをカスタマイズしたり、価格の変動に応じて積立プランを変更したり、自由に拡張していくことができますね。

他にどんなことができるのか、ビットフライヤーAPIの解説ページ(公式サイト)に載っているのでぜひ一度目を通して見てください。

ビットフライヤーAPIをPythonで活用して、あなただけの快適な仮想通貨投資プランを作り上げちゃいましょう!