JQuants API で運用してみた
JQuants API については本家のWebページを参照。
これは私の個人的な考えですが、データ分析をやってみたいが扱いたいデータがない人は、株式データを分析するのは良いと思っています。私が今学生だったらバンバン分析なり関連論文読んだりなどしていると思いますね。ちなみに難易度はかなり高いと思います。JQunats API が未来永劫続くことを願います。
概要
- システムトレードでは想定外のことはしてはいけない。
- フォワードテストは動作確認程度にした方がよい。長期間やっているうちにアルファが消えることがある。
- 金融工学の理論に則った方がストレスが少ない。
戦果
2月中旬からJquants API の予測結果で運用してみた。以下は二つの寄り引け戦略のペーパートレードの結果である。執行に問題がないよう、ユニバースはTOPIXに絞っている。
それぞれのbacktest結果は下記の通り
悪くなさそうである。少なくともペーパートレードでは勝っている。
ちなみにTOPIX外の小型株になると個人投資家が相手になり勝負しやすいらしい。このような小型株で勝負すれば、もっとリターンがあるかもしれないが、想定外のことが起こった時に対応できる自信がないので私はまだやっていない。TOPIXで自信がついたらやるかもしれない。
さて、今回の取引を通じての得た私の損失損益はなんと -93000円 である。ちなみに入れた金額は130万円なので10%近いドローダウンである。
???「賭けたのが余剰資金で、本当に良かった...!」
一体何が起こったのか?この記事ではそのことについて話したい。ほとんどは個人的な、あるいは典型的なやらかしなので笑いながら見ていただけると幸いである。
原因1: ロジック通りにトレードしない。
これが全てである。
筆者は裁量トレードで必ず負けるためにデータ分析に頼っているはずである。なのでこれは矛盾した話であるが、やってしまうのである。実際に起こったことを端的に述べると以下の養分ムーブを行なった。
- すでに折り込まれているはずのファンダを気にしてトレードしない。
- トレードシグナルが出ない日でも無理矢理トレードする。
- トレードし忘れる。
1.について。人間はどうしても自分の意思で物事を決めたがるようで、おりこまれているであろうファンダでさえも判断材料にしてしまう。私はこれで6%程度の大きな暴騰を取り逃した。これは自分がファンダで判断しても当たらないという自覚があっても起こったので、なくならないエッジの一つとも言えるかもしれない。勿論、戦略によっては止めるべきタイミングはあるが、その停止条件はあらかじめ決めておいた方が後知恵バイアスを回避できる。実際、あらかじめ決めていた停止条件では被害を避けることができた。
2.について。私のロジックではトレードしない日が割とある。これは賢いロジックであるはずなのだが、ギャンブル狂いであったりすると毎日トレードしたくなってしまう。その結果、無理矢理取引するロジック即興で大した検証もなく深夜3時まで開発し、案の定大負けする。これもまた養分の性である。あまりやりすぎると仕事にも差し障りがでるので、本当にやめた方が良い。
3.について。寝過ごして仕事の時間の都合でトレードできないことがある。これでは再現性が取れない。そして、トレードしない日に勝っていてトレードした日に負けると、被害妄想に囚われ何も信用できなくなる。これもまた、養分ムーヴである。
以上が私の養分ムーヴの代表的な例である。これらを回避する一つの方法は、当たり前だが、 トレードを完全にシステム化すること である。システム化は、人間の不合理な行動を回避する場合においても役立つのである。ちゃんとトレードルールを 検討 して、それを守りましょう。
原因2: フォワードテストが長すぎて、トレードせずに終わる。
これは損を出すというよりは機会損失の話である。
日単位での取引になるとあまり回数が稼げないため、比較的長い期間のフォワードテストをすることになる。例えば、2〜4週間くらいである。しかし、あまり取引をしない戦略だと、短期間では試行回数を稼げないため、フォワードテストを信用できるようになるまでにさらに時間がかかる。その結果、エッジが切れる直前までフォワードテストを回し続けることになる。私の場合、初期のロジックがこれにあたり、最終的には何もトレードしなくなり、日の目を見ることなく退役してもらうこととなった。
ちなみに、今回はトレードしなくなっただけなのでまだ良くて、例えば適当な指標が逆に方向に効くようになった後にデプロイすると、大変なことになる。
また、去年の11月、あるいは今年の1月からデプロイできる戦略もあった。しかし、何もせずに放置しているとリターンを取り損ねるのである。また、このときから始めていれば、原因1のような養分ムーヴにもっと早く気づくことができたかもしれない。
結論としては、バックテストをしっかり行い、フォワードテストは動作確認くらいに留めておくと良いのではないかと考えている。何もしないと何も得られないのでそれもまたリスク。PDCAをちゃんと回せるように。ある程度勝つには授業料を払わなければいけない。
原因3: 前例にないことをするのはすごいストレスになる。
もう一度以下の戦略を見てみよう。
これは株をちゃんとやっている人から見るとあり得ないグラフである。間違いなく過学習していると思われるだろう。私もそう思う。なので、Twitter にも投げてみたが誰からもリプライがなかった。しかしこれは以下のようなプロセスを経ている。
2017-01-01~2019-12-31 で戦略を構築
2020-01-01~2023-12-31 でbacktest
2023-01-01~ でフォワードテスト
この戦略の基本的な思想はシンプルで、 異常な変動をする銘柄群 から、異常なアノマリー を見つけ、機械学習のシグナルと合わせたものである。そして、アノマリーの一番当たりやすい 一銘柄だけ で取引した結果が上記のグラフとなる。一銘柄だけに扱っているため、この異常な損益が出ている。銘柄数を増やすと1/2~2/3くらいになる。この戦略は個人が少ない資産を大きく増やしたい場合には適したものであろうと思われる。しかも、勝率は 約60% くらいなので、割と受け入れられるものであると感じる。
このアノマリーは偶然見つけたもので、確かにモデルの特徴量重要度の高い特徴量から得られるものであった。ファイナンス機械学習には、機械学習モデルそのものよりむしろその特徴量重要度を元に戦略や理論を立てるべきだと書いてあったが、これは確かにその通りだと思う。実際、異常なアノマリーは以下のような高い特徴量重要度を叩き出している。
このアノマリーが機能するタイミングも大体把握できていて、うまいトレーダーが使うとさらにパフォーマンスがあがるかもしれない。ちなみに今は諸々の影響で、 うまくワークしていない と考えられる。(実際負けている)
しかし、このアノマリーは 伝統的な金融工学の理論にほとんど則っていない 。だからこそエッジが効いているとみるか、単なるバックテストオーバーフィッティング(まぐれ当たり)とみるかは個人によると思う。私は以前は前者であったが、ここ最近戦略の調子が悪くなったのもあり、自信が持てなくなってきた。そして何より、自信や理論の妥当性とは関係なく、大きなドローダウンと長いアンダーウォーター期間(DDが続く期間)は精神的に堪えるのである。特に後者の方が精神的ダメージは大きく、初っ端から大きなドローダウンを喰らうと精神がやられると思われる。お金が増えても何も感じないが、減るとストレスが貯まるのが人間というもの。
以下にドローダウン含めた統計量の推移を示す。ドローダウンが25%、アンダーウォーター期間が2~3ヶ月間は個人的には辛い。そして ストレス下では適切な判断ができなくなり、現在に至る。このことを理解できたのが今回の勉強代の価値だ。
金融工学の理論をちゃんと適用するとこのあたりはだいぶ緩和されるので、歴史のあるものにはやはりその価値があるのだと最近は思い始めている。これまで勉強してきた金融工学全般の知識は無駄ではなかった。
ところで話はそれるが、私は大学時代数学基礎論という分野を勉強していたことがある。これは数学の基礎付けを行うために生まれた学問であるが、今ではもっと多彩な広がりを見せている。そして、数学基礎論が出来始めた時代にそれを研究していた人には変わった人が多い。
例えば、不完全性定理で有名なゲーデルは毒殺されることを恐れるあまり妻の作った食事しか食べることができなかった。自分が作った食事も食べることができず、その結果、妻が入院したのち餓死することになった。
また、集合論の開祖とも言えるカントールは、彼の集合論に関して当時の学者たちから批判されたこともあってか、晩年精神的に苛まれていたとされる。彼の集合論が認められるには当時先進的数学者の一人であったヒルベルトによる擁護が必要であった。いくら天才と言えども、そこに至る道のりは才能だけでなく、本人の信念や周りからの支えが必要なのかもしれない。
彼らが元々そういう気質があったからなのかもしれないが、前例のないことに携わると人はおかしくなるのではないかと思っている。今回の戦略にもそのような気配を感じたことは、取り下げる理由の一つでもある。
なぜわざわざ今回の記事を書いたのか?
新しい戦略ができたからである。こちらはかなりローリスク運用。この戦略だと、日常生活を平和に過ごせそうである。これは本職の人でも割と納得できるに違いない。税金引かれるのを考慮すると、投資信託にちょっと毛が生えたくらいのパフォーマンスになるかな?
今回断念したハイリスクモデルは、いつかくるバブルに備えてひっそりと眠らせておくことにする。
まとめ
- 戦略は自動化(=システム化)するべき。そのとき停止条件なども一緒に決めておくべき
- あまり慎重になりすぎると機会損失だけでなく学習機会も逃す。授業料は必要。
- 金融工学(ポートフォリオ理論)最高!
最後に
今回断念した異常な戦略は、余剰資金や別の戦略と合わせるとうまくワークすると思います。例えば、1000万円のうち100万円でこの異常戦略を回すのであれば、-20%になっても全体でみると-2%です。また、複数の戦略を作り、それぞれを一つの銘柄のように扱いポートフォリオを組むことで、このようなリスクを軽減できることが期待できます。結局、うまい銘柄や戦略を探しつつも、それらをうまく組み合わせてリスクを減らすというのが最終的な目標になりそうです。世界中の銘柄でできるようになれば良いな。
それでもまぁ、すごいお金持ちになりたいなら、大きなリスクをとって勝負に行くしかないのかな。このあたりは個人の趣向によると思います。
いつかTOPIX以外も含めた株でも勝負することになったら、みなさん対戦よろしくお願いいたします。
Discussion