見出し画像

Python3を使ったビットコイン講座@1

このnoteではプログラミング言語「Python」を用いた仮想通貨の自動売買ツールや機械学習を使った予想などを初心者にも分かりやすく書いていきます。

第1回目はPythonのインストールからコードの説明、実際に動かす所までを説明致します。
触りということでエディターやちゃんとした開発環境が無くても簡単に出来るようにPythonインストーラーとメモ帳とコマンドプロンプトの3つのみでやります。

Python3 インストール

1.こちらからPythonダウンロードページにアクセスします。

今回はPython3を使用する為Download Python 3.6.4 からファイルをダウンロード。(上記画像の赤枠をクリック)

2. 1でダウンロードした「python-3.6.4.exe」を実行します。

「Add Python 3.6 to PATH」にチェックを入れて「Install Now」でインストールを開始します。

3. インストールが完了したらコマンドプロンプトを開きます。(「Windowsキー+R」→cmdと入力してOKを押下)
※Windows環境になります。

pythonと入力して正しく情報が表示されたらインストールは完了です。

Python3でプログラミングをしてみよう

まずはこちらのコードを見てください。

import ccxt

bitmex = ccxt.bitmex()
orderbook = bitmex.fetch_order_book ('BTC/USD')
bid = orderbook['bids'][0][0] if len (orderbook['bids']) > 0 else None
ask = orderbook['asks'][0][0] if len (orderbook['asks']) > 0 else None
spread = (ask - bid) if (bid and ask) else None
print ('BitMEX market price', { 'bid': bid, 'ask': ask, 'spread': spread })

上記ではBitMEXの売値、買値、スプレッドを取得し表示することが出来ます。

・import ccxt
ccxtと言うライブラリをインポートしています。
ccxtはBitMEX以外の複数の取引所のライブラリに対応していて使いやすいです。
ライブラリを利用するにはインストールしなければなりません。
コマンドプロンプトから下記を入力してccxtをインストールしてください。

pip install ccxt

・bitmex = ccxt.bitmex()
bitmexという変数にccxtライブラリのbitmexの情報を格納しています。

・orderbook = bitmex.fetch_order_book ('BTC/USD')
orderbookという変数に上記で使用した bitmex変数の情報からビットコイン(BTC)の価格をアメリカドル(USD)の情報を格納しています。

・bid = orderbook['bids'][0][0] if len (orderbook['bids']) > 0 else None
bidという変数にorderbookに入っているBTC/USDの売値を格納しています。

if len (orderbook['bids']) > 0 else Noneとは
ifは「もしも」という仮定を示していますので日本語にすると
もし売値が0より高い値の場合 となります。
elseは「もし売値が0より高い値の場合」ではない時を表しています。
なので0より低い値の場合は値が存在しない事を示す「None」を返しています。
厳密に言うと少し違うところも有りますが、こんな感じの解釈で大丈夫です。

・ask = orderbook['asks'][0][0] if len (orderbook['asks']) > 0 else None
askという変数に上記bidと同様にして買値を格納しています。

・spread = (ask - bid) if (bid and ask) else None
spreadという変数に買値から売値を引いた値を格納しています。
ここでいうスプレットとは買値と売値の価格差を示しています。

if (bid and ask) else Noneとは
(bid and ask)では売値と買値が両方とも真の場合を示しています。なので値が無くNone(偽)になっている場合はelseのNoneが適用される為spreadにはNoneが格納されます。

真はbidやaskに数値が格納されている場合
偽はbidやaskが0より低くNoneが格納されている場合

bid(真)+ask(真)=真 | この場合のみspreadに(ask - bid)が計算されて正しく格納される。
bid(真)+ask(偽)=偽 | spreadにNoneが格納される
bid(偽)+ask(真)=偽 | spreadにNoneが格納される
bid(偽)+ask(偽)=偽 | spreadにNoneが格納される

・print ('BitMEX market price', { 'bid': bid, 'ask': ask, 'spread': spread })
printは文字を出力するコードです。

出力例:BitMEX market price {'bid': 8638, 'ask': 8638.5, 'spread': 0.5}
BitMEX market price {'bid': 変数bid値, 'ask': 変数ask値, 'spread': 変数spread値}

bid、ask、spreadの変数に格納された値をprintで出力しています。

・コードを実行
コードをメモ帳にコピーして名前を付けて保存します。

ファイルの種類を「すべてのファイル」にして、「test.py」という名前で保存しましょう。

コマンドプロンプトでtest.pyの保存先ディレクトリーに移動する。
例:「C:\Python」に保存した場合は「cd C:\Python」と入力して実行

コマンドプロンプト上で「python test.py」と入力して実行する。

今回は以上で終了となります。

最後までお読み頂きありがとう御座います。
プログラミング初心者でもなるべく分かりやすく書いたつもりです。
更新日は未定ですが、今後は機械学習を使った予想や自動売買BOTのGUIアプリを作ったり等々...難易度を徐々に上げて書いていこうと思っています。
次回も宜しくお願い致します!

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