header
HikariBlog
Webエンジニア向けブログ
初心者向け

【コピペOK!】コインチェックAPIを使って仮想通貨(ビットコイン)の自動売買ツールを自作してみた!【Python】

coincheck-auto-trade

こんばんは!ヒカリです。

Webエンジニアを目指してプログラミングを勉強している初心者の方向けに情報を発信しています。

今流行の仮想通貨。

どうやら仮想通貨の取引所にはAPIが用意されていてプログラムから売買ができるらしい。

独自のアルゴリズムで自動売買して儲けられれば…!

とか想像するだけで楽しいですよね。

そこで今回は自動売買に挑戦してみます!

Python未経験だった私にもできたので、Python初心者の方でも問題ないと思います。
そのまま動かせるサンプルコードも用意しているので、プログラミング初心者の方もぜひ挑戦してみてください!

仮想通貨取引所は複数存在しますが今回はCoincheck(コインチェック)でビットコインを自動売買してみます!

  • Coincheck(コインチェック)
  • GMOコイン
  • bitFlyer(ビットフライヤー)
  • DMM Bitcoin(DMMビットコイン)
  • bitbank(ビットバンク)
  • Liquid by Quoine(リキッドバイコイン)

Coincheck(コインチェック)はAPIドキュメントが見やすくて良かったですね。

他にも人気のあるGMOコインやbitFlyerでもいつか作ってみたい!

テクニカル分析

テクニカル分析を使ってみた自動売買はこちら!

手軽に自動売買試してみたい!という方は今ご覧いただいているこの記事の内容がおすすめです!

環境

環境変数定義して実行したら動作するけど面倒だと思うのでDocker使ってください!

$ python --version
Python 3.9.1

$ docker -v
Docker version 20.10.5, build 55c4c88

$ docker-compose -v
docker-compose version 1.28.5, build c4eb3a1f

アルゴリズム

あくまで自動売買できるのがゴールなのでアルゴリズムは非常に単純です。

デフォルトだと60秒間隔でレートを確認し、グラフが下降→上昇となった場合に購入、上昇→下降となった場合に売却します。

また、暴落対策として損失が大きい場合と損失が続いた場合は5時間取引を中止するようにしています。

物足りない人は自由にコード書き換えちゃってください!

準備

実行環境

Python 3.9系をインストールするか、Docker環境を用意してください。

Dockerがおすすめ!

APIキー

まずはコインチェックのAPIを利用するために口座を開設する必要があります。

以下のリンクから口座を開設してください!

環境はできたのにAPIキーがなくて動作チェックできない!

という状況になりやすいので、とりあえず最初に開設しておくのがおすすめです。

また、実際に自動売買するには本人確認も必要です。

本人確認は数週間かかることもあるので早めに行っておくことをおすすめします。

アカウントを作成できたらAPIキーを発行します。

こちらのページの「新たにAPIキーを追加する」から発行します。

新たにAPIキーを追加する

以下の項目にチェックを入れて発行してください。

  • 新規注文
  • 取引履歴
  • 残高

こちらで表示されるIPアドレスをIPに入れておくとAPIキーが漏洩したときに不正アクセスを防げます。

APIパーミッション

発行できたらアクセスキーとシークレットアクセスキーを控えておきます。

ソースコード

GitHubで公開しています。

クローンなりダウンロードしてください!

準備

ルートディレクトリに配置されている.envのパラメータを書き換えます。

任意の値に書き換えてください!

  • ACCESS_KEY:発行したアクセスキー
  • SECRET_KEY:発行したシークレットアクセスキー
  • COIN:取引通貨(btc, etc, fct, mona)
  • INTERVAL:計測間隔
  • AMOUNT:購入金額(ビットコインの場合は500円以上である必要があります。指定しない場合は買えるだけ買います。)
  • SIMULATION:シミュレーションモード(実際に自動売買したい人はfalse)

購入分だけ売るという仕様にしたかったのですが、対応が難しそうだったので持ってる分だけ売るという仕様になっています。
すでに自動売買対象の通貨を保持している方は注意してください。

取引での損失やソースコードのバグなどの責任は負えません。
すべて自己責任でお願いします。

実行方法

ルートディレクトリで実行してください。

実行したら2分間データを取得した後に自動売買が始まります!

Dockerで実行する場合

$ docker-compose up --build

直接実行する場合

こちらの場合は.envの環境変数を実行環境に登録する必要があります。

$ python ./src/main.py

サーバー上で動かす

こちらのプログラムを実行し続けるには常にPCを起動している必要がありますよね。

使っていないPCがあれば良いのですが、複数台PCを持っている人も少ないと思います。

そこでおすすめなのが、ABLENET VPSです。

格安・高品質なサーバー【ABLENET VPS】

20年以上の歴史のある老舗レンタルサーバーで、VPSサービスには珍しい最大10日間のお試し利用が可能です。

また、MT4/MT5などの本格的な自動売買システムを実行するのにも最適なWindows Serverが提供されています。

お試しで自動売買システムを実行するなら最適なサービスですね!

Windows SeverなのでLinuxに慣れていなくても大丈夫です。

ぜひ試してみてください!

  • 20年以上の歴史のある老舗レンタルサーバー、安定稼働で安心!
  • 気軽に試せる!最大10日間のお試し利用が可能!
  • 自動売買システムに最適なWindows Serverが利用可能!
  • Windows Severなので直感的に操作が可能!

実際に私がサーバー上で動かしてみた記事がこちらです!

あとがき

興味本位で始めたのですが、Pythonをしっかりと身につけることができたので非常に為になりました。

Pythonは今流行の言語なので書けるようになっておきたいですよね。

Pythonも仮想通貨も学べたので満足!

この経験によってPythonの案件いただけました!

ぜひAPIキーを取得して試してみてください!

参考

https://qiita.com/ti-ginkgo/items/7e15bdac6618c07534be

https://github.com/coincheckjp/coincheck-python