<株進捗>8/22 株学習の準備3

目次

  1. 学習させる株データの作成
  2. 雑多なタスク
  3. その他

1. 学習させる株データの作成に伴う改修

昨日まで以下の2つの仮説を検証すべく、学習フェーズのプログラムの改修を行っていました。

目標達成の仮説1:学習データを「100銘柄の100日分」とする。
目標達成の仮説2:過去100日のデータから、未来30日分の株価の「最大値」「最小値」を予想する→予想した最大値が、現在価格より10%以上であれば売り注文を出す。

これでトレードシュミレーションできる・・・と思いきや。
上記改修により売買フェーズも改修が必要になりました。
そりゃそうですよね。

ということで、赤文字部分の改修を行っています。

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

結構時間がかかっていますが、今度こそコレが終わればトレードシュミレーションができるはずです。。

2. 雑多なタスク

残していた雑多なプログラムを終えました。

  • 資産管理ルールの追加
    • 1銘柄の保有資産が、資産全体のN%以上になってはいけない(Nは調整可能)
    • 1銘柄をN日間の間に2度以上買うことはできない(Nは調整可能)
  • 学習対象データの絞り込み
  • 学習データの範囲指定(2016年までを学習し、2017年でテスト等、未知データに対するパフォーマンスをみたいので)
    などなど…

3. その他

・今日はめんどくさいと思っているところを結構片付けられたので満足です。
・以下にソースコード公開しています。
github.com