ねほり.com

何もないから何かみつかる

機械学習で株価予測(Backtraderでバックテスト調査)

   

中国・武漢で発生した「新型コロナウイルス(新型肺炎)」が、世界に拡散中です。

これにより投資家心理を圧迫し、アジアの主な株式市場が春節(旧正月)で休場となり商いが薄いなか、日本株のヘッジ売りが目立つ状況です(483円安)。

会社の取引先の社員もコロナウイルスに感染したらしく、社内でもマスク人口が拡大しています。

 

 

Pythonのバックテストライブラリ「Backtrader」は開発・コミュニティも活発で自由度も高そうです。

ですが、海外含めてマトモにストラテジー組んで運用している人は少ないのでは?

と思うほどサンプルを超えた情報が少ないです。

FX用なのか、ショート・ロング、pipsなどの情報もあり、複数銘柄売買もよく分かりません。

まず知りたいのは、次の機能です。

  • 機械学習済のデータのバックテストが可能か?

加えて、バックテスト結果を見るために大事なのは、

「Protraレベルの分析機能を持っているのか?」

だと思ってます。

  • バックテスト結果の各種計算算出
  • 複数銘柄にまたがるバックテスト
  • 市場全体の傾向指標の追加(騰落レシオ等)
  • 空売りや指値買い
  • 単利計算、複利計算

この辺りを調査するために、Backtraderを利用してみます。

ただし、のめり込むと目的(学習データの利益確認)と施策(Backtraderの理解)が変わってしまうので注意です。

※ 私はFFS理論のD因子(拡散型)タイプ

sklearnの学習データの保存&ロード

今回は学習済みのモデルを利用する方法の一つとして pickle を扱い方を調べてみます。

学習済みモデルを保存する

30MB程度のファイルが出来ました。

別のバージョンの Python からも読み込むことが考えられるときは protocol オプションに 2 を指定します。

これでPython 2.3 以降であれば保存したモデルを復元できるようになります。

学習済みモデルをロードする

ロードも簡単です。

実際にロードした学習データで計算可能な事が確認できました。

Backtraderでpickleの利用方法

・・・。

調べてもサンプルがありません。

Backtraderの売買方法を完全に理解すれば可能だと思いますが・・・目的と施策が変わってしまう・・・。

Backtraderで複数銘柄の扱い方

可能なようです。

bactrader_sample.pyを見る限り、銘柄数読み込んで「cerebro.adddata」に渡しているように見えます。

ただ、読み込んだ銘柄数だけグラフ表示が別になります。

Multi Exampleでは、フォルダ内のCSVを読み込んで利用する方法が書かれています。

結構、面倒なんだね。

Backtraderを使った学習データ利用

ドキュメントは下記にあります。

https://www.backtrader.com/docu/analyzers-reference/

が、説明が少なくて何の数値が算出されているのか分かりにくいです。

Protra風に出力する

とりあえずやってみました。

結果は次のようになります。

まだ知識が乏しいので合っているかどうか分かりません。

が、なんかやり切った感です。

まとめ

出力結果がProtraっぽくなりました。

 

 

よし、じゃあ三点チャージ法作ったり、今までのストラテジー移植方法でも調べるか!

 

 

と、売買部分を調査し始めて気づきました。
 

 

肝心の「機械学習の結果を用いたバックテスト」が分かっていない・・・

 

 

この施策だと目的達成には遠そうな気がします。

・・・

本質を見失わないようにしよう。 

うん、そうだ!

よく気づいた自分!
 

 

・・・で、更に上位の目的は何だっけ?
 

 

さらに、機械学習で株価予想するのは何のためだっけ?
 

 

そもそも、株価予想は何のためだっけ?
 

 
あれ??

ソースコード

 - 2020年(社会人16年), 機械学習, システムトレード, テクノロジー

  関連記事

ドラえもんVRで垣間見た新しい視覚体験

バンダイナムコエンターテインメントが製作したVRアトラクション『ドラえもんVR「 …

セカンドライフはどこへ消えたのか・・・

「Facebookが日本で流行しない」「セカンドライフが今後主流になる」と言った …

KaggleのHome Credit Default Risk体験(サブミット編)

ビッグデータ分析、新卒年収は1000万円以上 東大生の人気職種に(産経新聞) 「 …

twitter・ニコニコ・2ちゃんねる実況をテレビ連動してみる

2011年09月04日(日) twitter・ニコニコ・2ちゃんねる実況をテレビ …

機械学習を使った株価予測(LightGBMをOptunaでパラメータチューニング)

8回目で精度の高い学習モデルを構築するために「交差検証」「ROC 曲線とAUC」 …

AWS Summit Tokyo 2013 は飯が食べれず

仕事をサボってAWS(Amazon web service) Summit To …

PerlとPHPで請け負った企業のWebサービスを作るも苦戦

PHPでのWebシステム作成も佳境に入ってきました。 が、現在の問題点をいくつか …

機械学習を使った株価予測(関連論文・サイトを調査してみる)

株式投資は、予測するものではなくルールに沿って選ぶものです。 その際に、選んだ銘 …

OllyDBGによるシリアルチェック回避

論文終了!! 長かった…。  ページ数36ページで、一年間の集大成がや …

斎藤正章氏の逆張りの複利・単利における有効性検証(システムトレード)

朝起きると頭が痛く、熱を測ると37.8度ありました。 それでもロキソニンを飲んで …