見出し画像

本Githubレポジトリを快適に学習するための環境設定

動機

Stefan JansenのMachine Learning For Tradingを学ぶにあたって、私の開発環境と皆さんの開発環境が異なるため、もしかしたら同じように動作しない可能性があると思い、本記事を作成させていただきました。英語読める方はこちらを参考にしてください。

インストール手順

この本では、(主に)Python 3.7と、インストールが必要な多数のライブラリを使用しています。最初のセクションでは、Dockerを使用して、必要なソフトウェアを含むイメージをプルし、ノートブックを実行できるようにするローカルコンテナーを作成する方法について説明します。 2番目のセクションでは、Anacondaディストリビューションを使用してパッケージをローカルにインストールする方法について説明します。 UNIXベースのシステムの経験があり作業している場合は、独自の仮想環境を作成し、必要に応じてさまざまなノートブックに必要なライブラリをインストールすることもできます。

Dockerイメージを使用してコードを実行する

こちらは合計7ステップ(8ステップ目補足)なので、少し大変ですが頑張りましょう!

1.WindowsまたはMac OS用のDocker Desktopをインストールします。  WindowsまたはMac OSのスタートガイドを確認します。 [設定]で[リソース]を探し、コンテナに割り当てられているメモリを増やす方法を見つけます。データのサイズを考えると、デフォルト設定は低すぎます。少なくとも4GBに増やします。(デフォルトは2GBになっているので気を付けてください。)

2.次のコマンドを使用して、スターターリポジトリのクローンを作成します。git cloneして、新しいディレクトリに移動します。


3.(無料の)個人のQuandlアカウントに登録して、次のステップで必要となるAPIキーを取得します。


4.Anaconda PythonディストリビューションがインストールされたUbuntu 20.04 OSベースのイメージを使用します。また、2つのconda環境が含まれています。1つはZiplineを実行するためのもので、もう1つはその他すべてのためのものです。次のコマンドは、一度にいくつかのことを行います。(Docker Desktop)

docker run -it -v $(pwd):/home/packt/ml4t -p 8888:8888 -e QUANDL_API_KEY=<your API key> --name ml4t appliedai/packt:latest bash
・Docker Hubアカウントappliedaiのイメージと、最新タグの付いたリポジトリパックからイメージを取得します。
ml4tという名前のローカルコンテナーを作成し、それをインタラクティブモードで実行して、jupyterサーバーが使用するポート8888を転送します
・スタータープロジェクトファイルを含む現在のディレクトリを、コンテナー内のディレクトリ/home/packt/ml4tのボリュームとしてマウントします
・環境変数QUANDL_API_KEYにキーの値(<APIキー>に入力する必要がある)を設定し、
・コンテナー内でbashターミナルを開始し、ユーザーpacktの新しいコマンドプロンプトを表示します。

注意点: ローマ字にしか対応していないので、パスにカタカナ等の文字が入る場合は$(pwd)は使用できません。

5.これでコンテナー内でシェルが実行され、conda環境にアクセスできます。

・conda env list を実行して、base、ml4t(デフォルト)、およびml4t-zipline環境があることを確認します。
・conda activate <env_name>を使用して別の環境に切り替えることができます。
※ただし、初めて実行する前に、conda init bashを実行するように勧めるエラーメッセージが表示される場合があります。その後、source .bashrcコマンドを使用してシェルをリロードします。


画像1

こんな感じになります。

6.Ziplineバックテストを実行するには、データを取り込む必要があります。詳細については、初心者向けチュートリアルを参照してください。イメージは、コンテナーを開始したディレクトリ(プロジェクトスターターコードのルートフォルダーである必要があります)の .zipline ディレクトリにデータを格納するように構成されています。

以下のコマンドをシェルで実行してください。

conda activate ml4t-zipline
zipline ingest

zipline ingestを実行出来たら次に進みましょう。

7.次に、Ziplineとjuypterのセットアップをテストします。ノートブックは、従来のインターフェースまたは最新のJupyter Labインターフェースを使用して実行できます。どちらもすべてのconda環境で使用できます。さらに、nb_conda_kernelsパッケージにより、ベース環境からjupyterを起動し、ノートブックから環境を切り替えます(ドキュメントを参照)。開始するには、次の2つのコマンドのいずれかを実行します。

jupyter notebook --ip 0.0.0.0 --no-browser --allow-root
jupyter lab --ip 0.0.0.0 --no-browser --allow-root

・それぞれにエイリアス(alias)ショートカットもあるので、それらを入力する必要はありません。jupyterノートブックバージョンの場合はnb、jupyterラボバージョンの場合はlabです。
・端末にはいくつかのメッセージが表示され、最後に現在の作業ディレクトリからjupyterサーバーにアクセスするためにブラウザに貼り付けるものを示します。

8.以下に概説する標準のcondaワークフローを使用して、任意の環境を変更できます。変更後にコンテナを永続化する方法については、Dockerのドキュメントを参照してください。

TA-Libのインストール手順


こちらの手順に従ってください。


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