見出し画像

The 投資 #1:おすすめ銘柄サーチ用 ラズパイサーバ構築


自分の投資手法が固まったら、銘柄スクリーニングを自動化すると便利です。

自分で1社1社調べていると時間が足りないので、私にとってはプログラミングで銘柄選定の自動化は必須です。

今回は電気代やサーバ代を節約する目的で、手元に余っていたラズパイ3 ModelB+を銘柄スクリーニング用のアプリサーバにしてみました。

ラズパイサーバ構築手順を備忘録として残します。


▶はじめに

下記の境遇の方の参考になります

・microSDが上手くフォーマットできない
・VNC ViewerでPCからラズパイを操作できない
・ラズパイにpip/pip3でライブラリをインポートできなくて困っている
・株の銘柄スクリーニングに便利なライブラリを知りたい
・超簡単にwebアプリを用意してスマホからアプリを使えるようにしたい


▶①SDカードにOS書き込み

Raspberry Pi Imagerを使用してmicroSDにOS(Raspbian)を書き込みます。


※microSDを使いまわす場合の注意

過去に利用していたSDではパーティションがたくさん区切られていてうまくフォーマットができない場合がありますのでその対処法を記載します。

Windowsの場合、まず左下の検索ボックスで「パーティション」と打ち込むと出てくる「ハードディスク パーティションの作成とフォーマット」を起動します。

下部にディスク0,ディスク1など表示されると思いますので、microSDのディスクを探し、その中のボリュームを全て削除した後にシングルボリュームを作成するとmicroSDが綺麗にフォーマットされます。

ファイルシステムはFAT32を選びましょう。


▶ラズパイを起動して初期設定

OSを書き込んだmicroSDをラズパイに入れて起動し、流れに沿って初期設定を済ませましょう。

WiFi接続は忘れずに。


▶VNC ViewerでPCからラズパイを操作

操作性向上、ファイル送受信の簡略化のためにVNC ViewerでPCからラズパイを操作できるようにします。

[Raspberry Piの設定]→[インターフェイス]でVNCを有効にします。

画像1


画面右上にVNCマークが追加されるので、クリックしてVNC Serverを開き、右上の三本線マークから[Option]をクリックします。
[Security]→[Authentification]をVNC passwordに変更してパスワードを設定します。

画像2


PCのVNC ViewerにラズパイのVNC Serverに表示されているIPアドレスを入力し、先ほど設定したパスワードを入力するとPCからラズパイを操作できるようになります。

画像3


▶ライブラリインストール

【ちょっと休憩】
ここが一番の難関でした。

PCでのPythonでの開発では基本的にpip3でライブラリをインポートしていくことになりますが、ラズパイではpip3で入れられるものと入れられないものがあるようです。

ライブラリをインストールするにあたりだいぶドツボにはまってしまいました。
OSをubuntumateに変えたり(wifi繋がらずRaspbianに戻す)、仮想環境を使わずに直にライブラリ入れたり(python3-○○系のライブラリが上手く入らなかった)、pythonのバージョンを3.8,3.7,3.6,3.5を行ったり来たり...。

かれこれ一週間くらい悩みましたかね。
ラズパイでのインストール関連の処理は時間が結構かかるので、長々とインストール処理を待った挙句に赤いエラー文がたくさん表示されます。
苦行。


今回私の銘柄スクリーニングにおいて、ラズパイに新たにインストールしたライブラリは下記の通りです。

導入ライブラリ

numpy
pillow(これを先にapt-getで入れないとstreamlitがインストールできません)
pandas
ta-lib(株のテクニカル指標を算出できて便利!)
tradingview-ta(tradingviewのテクニカル評価値を取得できて便利!信頼できるとは言ってません。)
streamlit(数分で簡単なwebアプリが作れる最高のライブラリ。本格的なものはDjangoに任せましょう。)

ちなみに、beautifulsoup4は元から入ってるのか、インストールしなくても使えました。


ラズパイ環境
・OS:Raspbian
・python3バージョン:3.7.3
・pip3バージョン:18.1(python3.7)


LXTerminalで環境構築のためのコマンドは下記の通り。
一行ずつ実行していってください。順番大事です。
実行コマンド

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python3-numpy
sudo apt-get install python3-pil
sudo apt-get install python3-pandas
wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz
tar -zxvf ta-lib-0.4.0-src.tar.gz
cd ta-lib
./configure --prefix=/usr
make
sudo make install
cd ..
pip3 install TA-Lib
sudo pip3 install tradingview-ta
sudo pip3 install streamlit==0.62.0

※streamlitは若干エラーが出ている風に見えますが、問題なく使えます。


はい、完成です!

後はstreamlitで作った自分の銘柄スクリーニングwebアプリをラズパイで動作させ、スマホから確認しましょう。(同一ネットワークに繋がっていれば問題なく見れるはずです。WiFiを使いましょう。)


▶スマホからアプリを使用してみる

投資候補の銘柄を載せて何か言われるのを防ぐために解析結果は伏せますが...こんな感じです。

初期画面

画像4

解析中

画像5

解析終了

画像6


解析結果:詳細確認

画像7


▶おわりに

私はコロナショックを機に2020/3/Eから投資を始めました。

ネットで専門用語を勉強した後は過去データで勝てる方法を探すことが趣味になっており、より高い勝率、リターンを叩き出せる方法を探すのが好きです。

機械学習やDeepLearningを使った手法も鋭意開発中です。

ファンダメンタル、テクニカルの両方を重視しており、今回ラズパイで稼働させた銘柄スクリーニングアプリは短期~中期の要素を選別するための2次スクリーニング用のアプリになります。

手動で調べるのは限界がありますが、自動化すると全銘柄の中から自分の条件に合う銘柄を僅か数分でスクリーニングでき、大変便利です。

手法を考えるのは楽しいので、みなさんもぜひチャレンジしてみてください。

追伸

最近youtubeで株の買い時さん高橋ダンさんの動画を拝見しながら、株の孤独感を紛らわせています。
もしFIREできたら、手法考察芸人になってyoutubeデビューしましょうかね(遠い目)。


頂いたサポートはみなさんの血肉になるような情報で還元させて頂きます!