3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【DataRobot触ってみた】四季報データから株価騰落を予測できるか?

Last updated at Posted at 2020-07-11

はじめに

Qiita夏祭りに便乗して、トライアル版のDataRobot触ってみました!

やりたいこと

とりあえず手元にあった四季報プロ500についている「全上場銘柄を大診断」データを使って、その後の約1か月(6/17 - 7/10)の騰落率を学習させてみます。ちなみに私は株式投資の知見はそれほど多くないので、そもそも問題設定に無理があるかもしれませんので、その辺はご容赦を。。

データ

四季報プロ500を購入するとダウンロードできるデータを利用します。
データは以下の項目を持っています。

  • 証券コード
  • 社名
  • 業種
  • 業績予想変化率
  • PER
  • PBR
  • 配当利回り
  • 理論株価
  • 理論株価修正余地
  • 業績進捗率
  • 進捗率四半期決算期
  • 会社計画営業増益率
  • 破綻危険度
  • 株価日付
  • 株価

このデータと、7/10時点の終値を以下のサイトから頂き、結合して騰落率を算出しています。(Excelで)
https://mujinzou.com/

また、会社の規模も関係しそうなので、売上高の情報を以下のサイトから頂き、追加しました。(Excelで)
20年の決算は6/17時点では出そろってないと思うので19年度のデータを使ってます。
https://irbank.net/download

DataRobotへのアップロード

DataRobotのプロジェクト開始画面でローカルファイルを選択して、Excelのままアップロードできました。

image.png

データの確認、選択

最初、この画面が出てきて、え、ターゲット手打ちなの?ってびっくりしました。笑

image.png

下にスクロールすると、特徴量の選択やターゲットの指定が出来ました。
image.png

決算期が数値型になっていたので、カテゴリに型変換かけました。使い方あってるかな。
image.png

騰落率自体はこんな感じです。(景気悪いですね。)
image.png

今回は問題を簡単にするために、全銘柄の騰落率の平均値に対して上回ったか、下回ったかという二値のターゲットを作って学習させました。
(最初は騰落率をターゲットにしていたのですが、散々な結果だったので。。
image.png

学習に使いたい特徴量を選択して特徴量セットを作成します。7月10日時点の株価など未来の情報が含まれる列を外してます。なおDataRobotがEDAして推奨する特徴量セットを作ってくれます。便利!
ただ、情報の意味合いまでは解釈してくれない(未来の情報が含まれる列とか)のでそこは人手で管理が必要です。Excelの段階で綺麗にしていれば、DataRobotの推奨をそのまま使ってもよさそうですね。
image.png

学習と評価

オートパイロットで開始します。
image.png

学習が開始されます。右側のペインにあるワーカーの数がデフォルト2になっていたので、とりあえずmaxの8まで並列で頑張ってもらうことにしました。
image.png

モデルの画面を眺めながら待ちます。
数分かかるので、待っている間に次の手(特徴やターゲットの見直し)を考えます。
image.png

結果が出ました。一番パフォーマンス良かったのはSVMでした。
とは言え、AUCがギリギリ0.7超えてるくらいで微妙なところ。
image.png

特徴量毎の予実は、EDAで求めた有用度順に並んでいるそうです。
image.png

解説の特徴量のインパクトは、実際に作られたモデルでのターゲットとの相関が分かるようです。業績予想変化率が-100~0あたりのところでの株価の増減に対する影響を割とうまく捉えられているということかな?データ量が多いからかな。
image.png

まとめ

残念ながら(予想通り)いい結果は出ませんでした。PERなどがもっと強く相関すると面白いと思ったのですが。
今回は20年6月のデータでしか見ていないので市場環境変化の影響が強く出ている感はありますね。
もっと過去データも取ってきたり、より長期間の騰落率をターゲットにして学習させると、より良い予測モデルが出来るかもしれません。
特徴を絞って予測できるモデルが出来たら、会社情報の更新に合わせて未来の騰落率を予測できる。。かも?

DataRobotについては、初めて触りましたが、簡単で分かりやすいビジュアルだったのでスムーズに触れました。
DataRobotに学習をお任せしている間、自分はどう問題設定したり、データを工夫すればいいか考えることが出来たのは良かったですね。
Jupyterでやると問題設定、データの工夫、モデル開発、学習を色々見ないといけないので、DataRobotのお手軽さはなかなか便利に感じました!!
(お手軽なほうに流されてばっかだとモデル開発が上達しないので、頑張らないといけないのですが。。

3
3
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
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?