<株進捗>8/17 資産管理クラスの作成完了。株売買プログラム骨組み完成!

目次

  1. 資産管理クラスの作成
  2. 骨組み完成
  3. 今後の予定

1.資産管理クラスの作成

株を買う判断をする前に、そもそも資産の面(主にリスク)でこの株を買っていいのか?を判断する機能の実装です。 赤字部分を作成しました。

・総資産の10%は現金を保有すること。
・1つの銘柄に総資産の20%以上ぶっこまないこと。
・1つの銘柄を買った場合、そこから7日間は同じ銘柄を買わないこと。

正直、あと2つはすぐに作れると思うので、気晴らしに作ろうと思います。

2.骨組み完成!

学習〜売買プログラムの骨組みが完成しました。
これで、株価を学習→売買プログラムで売買テスト→結果の表示 ができるようになりました。
使い方をざっくり言うと…

  1. [学習フェーズ]以下を指定し、AIに株の値動きを学習させる。
    • 翌営業日の株価を予想するために取り込むデータ数(例:100日分を取り込み次の1日の株価を予想)
    • 各種パラメータ(隠れ層の数(2次元)、学習率、分類器、学習回数)
    • 学習対象データの絞り込み(例:指定した銘柄の値動きと相関が高いものだけを学習データとする)
  2. [学習フェーズ]学習済モデル(いわゆるAI)ができる
  3. [売買フェーズ]以下を指定する
    • [学習フェーズ]でできた学習モデル
    • 適用する売買アルゴリズム(例:予想が10%以上上がっていれば買い)
    • 適用する資産管理ルール(例:総資産の10%は現金として保有する)
    • 売買対象の銘柄
    • 売買開始時期
    • 売買日数
  4. [売買フェーズ]売買プログラムを走らせる
  5. [売買フェーズ]以下のような結果が出力される
    • 売買履歴
    • 最終的な利益
    • (売買履歴をグラフ化したもの)…余裕があれば作りたいです。

3.今後の予定

「とにかく一連の流れを作成し(なんとなく)動かす」ことを目標にやってきました。
次は今まで目をつぶっていた以下2点を行います。

  • 各フェーズの機能強化
    各フェーズがかなり荒削りです。[学習フェーズ]学習対象データの絞り込みの考え方が甘々だったり、[売買フェーズ]で指定する売買アルゴリズム・資産適用ルールがそれぞれ1個しか作られていなかったりと…。特に学習フェーズは大事なところなのでしっかり取り組んでいきます。
  • ソースのリファクタリング
    [学習フェーズ]は設計せずゴリゴリ作ったので、ソースコードが汚くテストがしづらい作りになってしまっています。このあたりも、学習のテストをしながら改善していきたいところです。

上記がある程度終われば、Webサイトを作成して株価予想を公開しようと思っています。
Webサイトを1から構築はRuby on Railsで写経しながらやった以来なので、これも楽しみです。
自分のやりたい「AIの勉強」とのバランスを考えつつ進めていきたいです。