ラズベリーパイで作る株式投資分析アプリ

#1. モチベーション

株式投資の基本は、割安の時に買って割高になれば売り利益を得るということです。個人投資家の方は何十銘柄(人によっては何百銘柄)を常にウオッチしていると思いますが、個別の銘柄が現在どのような状態なのか(つまり下降トレンド、上昇トレンド、もみあい)をチャートをひとつひとつ毎日見ていくことは大変です。

そこで、人間ではなく機械を使って個別株のチャートを分析し、その銘柄のトレンドを毎日自動判定させてあげれば時間の短縮にもなりますし、その空いた時間を全体相場のファンダメンタル分析に使えば、より戦略的な投資活動ができると思います。

つまり、個別銘柄の分析自動化を目的に今から紹介するアプリを設計することにしました。

★作成したアプリ
![42.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150223/21f63dab-de7e-5193-2d76-0a34436c60e4.gif)





#2.なぜRaspberry Piを選んだの？

このアプリを載せるハードウエアとして下記の特徴を持ったものが好ましいと思っています。

・常時稼働させることができる。
・定刻になれば決まった処理をさせる。
・Webサーバーとして使用できる。(LinuxベースのOSが乗っていることが楽)
・ある程度の計算力を持っている。

以上のことを持ち合わせたハードウエアとして有名なのはラズベリーパイです。2020年3月現在では
ラズベリーパイ4はCPU(ARM Cortex-A72クアッドコア1.5GHz),メモリ4GB(LPDDR4 SDRAM)というスペックであり、所望の処理を行うには十分なスペックと言えます。

下記図がネットワーク構成図です。自宅にラズベリーパイ4を設定する想定です。ラズベリーパイ4は、<b>株価データ取得・テクニカル分析・Webサーバー・データ表示</b>を担っています。

WindowsPC,スマホはクライアントデバイスとなっており、株価データやチャート、テクニカル分析結果等を表示したり、銘柄登録・株価取得等の指示を出すことを担っています。

スマホやPCなどのクライアント端末とラズベリーパイを同じVPN上に入れてあげれば、外出先からでも
ラズベリーパイにアクセスすることができます。

![41.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150223/a05cdc6e-010e-2ea3-c91b-1be410317092.jpeg)


#3 システム構成

本システムは別のラズベリーパイへの移管を簡易にしたいためDocker上のコンテナ内に構築することにしました。

![42.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150223/2c1b6886-aadb-f9ac-d4b6-b63952e8d92e.jpeg)




#4. アプリの紹介

実装した機能を紹介します。

#4-1 銘柄登録ができます。

ウオッチしたい銘柄を登録できます。一株益、配当、決算日、会社概要等の登録も可能です。別途Jupyter等によりスクレイピングコード(必要な情報を別サイトから取得し自動で書き込み)を書くと、銘柄登録作業を効率化できます。複数の銘柄登録時においても上記スクレイピングコードを使うと入力作業を自動化できます。スクレイピングコードの作り方は例えば[こちら](https://kurozumi.github.io/selenium-python/installation.html#introduction)に詳しく書いてありますので、興味ある方はご覧ください。


<b>スクレイピングコードにより入力を自動化しているところ</b>
![36.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150223/67613c1c-fca2-7a59-cb50-ec17b012cb6f.gif)

#4-2 各種指標を表示できます。

当日の各種指標(日経225,米国10年金利,・・・)を表示できます。スクレイピング技術を使い外部サイトから自動取得しています。

![36.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150223/67a8385b-969c-a507-da58-539732070914.jpeg)

#4-3 銘柄管理ができます。
登録済銘柄データは、一覧表表示されます。登録銘柄については、本日株価、決算日、配当利回り、テクニカル分析結果サマリー(ボリンジャー,一目均衡表)が表示されます。

![35.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150223/96085f12-7ec4-6b9c-9c75-0d440ecb86cd.jpeg)

#4-4 会社概要が見れます。

概要ボタンをクリックすると会社概要が閲覧できます。複数個の候補銘柄があればどの銘柄がどんな事業をやっているか思い起こすことができなくなります。このような場合に会社概要を確認できるので便利です。

![37.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150223/87b56c81-222c-5cf9-80d3-d6484bbe2ab5.gif)

#4-5　各銘柄の株価情報などが一目できます。

登録した個別銘柄の本日の株価、決算日、配当利回り、テクニカル分析結果(ボリンジャーと一目均衡表が対象)サマリーが見れます。

![37.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150223/3e4b1e08-5b89-bae2-b48e-062e573a9bb0.jpeg)

#4-6　各銘柄のテクニカル分析サマリーが見れます。

現在の株価がボリンジャーバンドのどのバンドに入っているかをボリンジャーバンドのグラフを実際に見なくても一目でわかるようになっています。つまり、一覧表になっているのでどの銘柄が上昇傾向か、どの銘柄が下降傾向かが一目で分かります。

![38.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150223/17786a94-1035-6d5e-fe3d-50d98cd886c5.jpeg)

#4-7　各銘柄のステータスが一覧表で分かります。

複数のwatch銘柄があると、どの銘柄が割安なのかをチャートを一つ一つチェックするのは大変です。
一目均衡表を見ると、今の株価が上昇トレンドの始まりか終わりか、下降トレンドの始まりか、終わりかを判別することができます。(一目均衡表の解説は[こちら](https://qiita.com/NT1123/items/b7c368571fd3ec6d995d)に記事にしました。)

下記の銘柄一覧表の「一目均衡表」の列に[A2][A5]などの記号がありますが、上昇トレンド、下降トレンドの始まりか終わりかを表しています。数十個も数百個もある銘柄のなかで、上昇トレンドのはじめにある銘柄を一覧表をみるだけで判別できれば、買い時を逃す可能性も低減するのと同時にチャートを一銘柄ごとにチェックする手間も省けるので、人間が行う定型分析の時間を削減できます。


![40.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150223/09a5800c-3767-27e7-1400-7816aa5578ae.jpeg)