LoginSignup
9
4

More than 3 years have passed since last update.

MATLABで株価データ自動取得 その3 アプリの作成

Last updated at Posted at 2019-09-04

これまで

MATLABでYahoo Financeから自動データ収集、移動平均計算、可視化までができた。

アプリの作成

これまで作った機能をまとめてアプリを作成してみた。
MATLABのアプリ開発環境はAppDesignerというのが最近できて、昔のGUIDE機能よりずいぶん使いやすくなった。

GUIの作成画面と
CreateApp1.png
コードを書く画面を
CreateApp2.png
行ったり来たりしやすくなった。
コード量が多くなってくると、ちょっと動きがもっさりしてくるのがイマイチだけど。

あと、コンポーネントブラウザ上でコンポーネントの順番を入れ替えられないのも不便。
コンポーネントが多くなってくると、どこにどのコンポーネントがあるのか探しにくい。
(誰か知ってたら教えて欲しい!)

作成したアプリ

細かい説明は置いておいて、作成したアプリはこちら。

左側タブグループ

チャート

全銘柄リスト(右枠)から銘柄選択したり、社名や株価コードを入力して、ローソクチャートと移動平均を表示。
image.png

時間軸の表示期間は期間と開始日を1日単位で調整できる。
image.png

GUI左下にあるデータアップデートボタンを押すと、Yahoo Financeからデータをスクレイピングして、データを自動的にアップデートしてくれる。

スクリーニング1

ここは銘柄のスクリーニングを行う画面。時価総額、PER、PBRなどの値と不等号の向き(≧または≦)を設定して、スクリーニングする条件を設定する。社名に含まれる文字列、上場している市場や業種でもスクリーニング可能。スクリーニングされた銘柄は右側タブグループの「スクリーニング」および、中央タブグループの「指標」に表示される。

例えば時価総額1000億以上、PER15以下、PBR0.8以下、EPS200以上という条件を入れて、大企業で利益もあるのに、安値に放置されている銘柄をスクリーニングすると、出てきた銘柄がこちら。
image.png

スクリーニング2

ここがオリジナルで、更に移動平均の連続上昇または連続下降している銘柄、つまり一定方向に継続して値動きしている銘柄をスクリーニングできる。開始日を0、連続継続期間を3~11日に設定して、最終的にスクリーニングされた銘柄が、1662石油資源開発と4631DIC。下はDICのチャートで、継続して上昇が連続していることがわかる。今後も大きな情勢の変化が無ければ、上がることが予想できる。
image.png

空売りにも対応しているので、画面のマイナスボタンを押せば、下降している銘柄を抽出することもできる。

中央タブグループ

チャート

上にローソクチャート、5, 10, 15日移動平均線を表示する。
下側は、移動平均の5日>10日>15日が継続した日数をPPP、逆に5日<10日<15日が継続した日をNNNとして、その日数と各日の値幅を上昇/下降のエネルギーとみなして表示する。市場がどれぐらいの盛り上がりを持って、上昇または下降しているのかを判断する指標となっている。

指標

ここにはスクリーニング1で使用する各銘柄の指標がリスト化されて表示してある。
image.png

センチメント

ここは作成中。Webニュースから得た文字列データを使って、ワードクラウドを作成しようと思っている。
以下はテスト中の画面だが、有効なデータを意図したようにふるい分けできていないので、どうでも良い単語ばかりが表示されてしまっている。
image.png

※投資判断には一切責任を負いませんので、各自の判断でお願いいたします。

今後

とりあえずデータ収集~表示までできたので、今後は解析機能を充実させていきたい。

9
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
4