Python×ビットコイン自動売買

#17 Python×ビットコイン自動売買 | WindowsVPSに自動売買プログラムをデプロイしよう!

deploy-to-the-vps

こんにちは、はやたす(@hayatasuuu )です。

今回の講義では、前回セットアップしたWindowsVPSに自動売買プログラムをデプロイしていきたいと思います。

前回の記事はこちら

setup-windows-vps
#16 Python×ビットコイン自動売買 | WindowsVPSを使って24時間365日動かす準備をしよう!こんにちは、はやたす(@hayatasuuu )です。 今回の講義では、プログラムを動かし続けるために必要なWindowsVPSの...

今回デプロイするにあたり、やるべきことはそこまで多くありません。
サクッと進めていきましょう!

WindowsVPSに自動売買プログラムをデプロイしよう!

WindowsVPSで自動売買プログラムを動かすには、以下の4ステップが必要になります。

  • STEP① : プログラムの微調整
  • STEP② : requirements.txtの作成
  • STEP③ : 必要になるファイルを設置する
  • STEP④ : プログラムを実行してみる

順番に見ていきましょう。

STEP① : プログラムの微調整

自動売買プログラムを動かすにあたり、以下の2点を編集していきたいと思います。

  • 時間足(interval)の変更
  • dataframeの大きさ調整

先に時間足を変更するので、main.pyを開きましょう。
そうすると以下のようなコードになっていたかと思います。

coincheck = Coincheck(access_key=ACCEES_KEY, secret_key=SECRET_KEY)

interval = 1
duration = 20
AMOUNT = 0.005

df = pd.DataFrame()
send_message_to_line('Start Auto Trading...')

このinterval=1の部分を、自分が取引したい時間足に変更しましょう。
例えば1時間足であればinterval=60*60ということになります。

coincheck = Coincheck(access_key=ACCEES_KEY, secret_key=SECRET_KEY)

interval = 60*60
duration = 20
AMOUNT = 0.005

df = pd.DataFrame()
send_message_to_line('Start Auto Trading...')

 

また、Whileを使ってビットコイン価格を取得し続けていましたが、このままだとDataFrameが肥大化してしまいます。
ボリンジャーバンドを計算したら古いデータは不要になるので、適宜削除するようにしましょう。

DataFrameから値を削除するには、Pythonリストと同じようにスライスを使えばOKです。

df = pd.DataFrame()
send_message_to_line('Start Auto Trading...')

while True:
    time.sleep(interval)
    position = coincheck.position

    """
    (中略)
    """

    df = df.iloc[1:, :]

 

これでプログラムの微調整は完了しました。

STEP② : requirements.txtの作成

次にrequirements.txtの準備をします。
requirements.txtは何かというと、今回使っていたライブラリを一覧で書いておくテキストファイルです。

このファイルを準備しておくと、別環境でもpipコマンドを使えば同じライブラリをインストールできます。

まずはコマンド入力のためにターミナルを立ち上げましょう。
その後、以下のコマンドを入力してrequirements.txtを作成します。

pip freeze > requirements.txt

そうすると新しくrequirements.txtを作成できているはずです。

deploy-to-the-vps1

これでWindowsVPSで同じ環境を使うための準備が完了しました。

STEP③ : 必要になるファイルを設置する

あとはWindowsVPSに、プログラムを動かす上で必要なファイルを設置していきましょう。

今回必要になるのは、以下の5ファイルです。

  • main.py : プログラムを動かすためのファイル
  • coincheck.py : Coincheckクラスが書かれているファイル
  • config.ini : API Keyが書かれているファイル
  • requirements.txt : ライブラリ一覧が書かれているファイル
  • utils/notify.py : LINE通知用の関数が書かれているファイル

これを新しく作成したPythonBitcoinDevフォルダに格納しておきましょう。

deploy-to-the-vps2

あとは作成したPythonBitcoinDevをWindowsVPSにコピー&ペーストするだけです。

deploy-to-the-vps3

これで準備が整いました!

STEP④ : プログラムを実行してみる

それでは早速WindowsVPSでプログラムを動かしてみましょう。
まずはWindowsVPSでAnaconda Promptを立ち上げます。

deploy-to-the-vps4

黒い画面が立ち上がったら、以下のコマンドを入力して実行します。

# Desktop配下のPythonBitcoinDevに移動する
cd Desktop\PythonBitcoinDev

# main.pyを実行する
python main.py

 

Pythonファイルを実行すると、LINEに通知がきてプログラムが動作するはずです。

deploy-to-the-vps5

もし不安であれば、適宜print()を使ってログの出力をしても良いですね^^!

あとセキュリティを高めるために、Adminのユーザー名とパスワードの変更をお勧めします!

以下が参考記事です!