最近、SP本が再版されSP本2が新たに販売されました。
これは、同人誌であり、
黒猫アイランドさん、松崎美子さん、ひいらぎさんが共著しています。
本の内容はトレードのメンタル面や、ファンダメンタル、
過去の大きなイベントの解説など充実しています。
特に重視されている内容の一つは、「定量分析されたトレード」です。
私たちがトレードを行う場合、特に裁量において定量分析とは距離を置きがちです。
もちろん数字としての勝率、損益率、プロフィットファクターなどは把握します。
また、バックテストを行い、大体のトレードの期待値を把握するでしょう。
しかし、主としてチャートをにらめっこし、
職人的に取引を行いがちになります。
データを集め、数理的に分析するクオンツは、
同じマーケットでも異なる世界を見ています。
株の世界ではバリュー投資が一つの手法として挙げられますが、
これを数値化し、感覚ではなく、測ることのできるものとして、
その他のファクターと組み合わせてポートフォリオを組んでいくというのが、
クオンツ・アルゴトレード・システムトレードの分野となります。
クオンツの分野が利益が満ちた、天国の分野であるとは言いません。
同様の世界には同じく競争相手が存在し、利益の源泉が枯渇したのであれば、
新たなファクターを探さなければならないこともあるでしょう。
ただ、クオンツにとって、
チャートとインジケータを見続けて昔ながらの裁量トレードを行う私たちは、
まさに自動操縦のドローンと竹やりでの戦いの違いに
なってしまうのではないでしょうか。
SP本で刺激を受けた私は、
ひとまず「現在の戦略が通用する通貨ペア・先物銘柄はどれかを定量的に判別する」
ということを行いたくなりました。
現在の戦略はトレンドフォローであり、レンジの多い相場は不向きになります。
また、順行方向にモメンタムが発生しなかったり、
テールリスクがあまりないような値動きもトレンドフォローには不向きです。
これを感覚ではなく、定量的に行うにはどうすればよいでしょうか。
一つの方法としては特定の通貨ペア・先物銘柄の、
取引時間軸でのリターン分布をグラフとして出し、
その形状を正規分布のモーメントとしてフィッティングすることで、
平均・分散・歪度・尖度の数値化を行います。
インジケータの特定の条件(今回は120期間移動平均と価格の位置関係)により、
リターン分布の形状に変化が生じるかどうかを比較します。
トレンドフォローとして向いてる状況であると判別するには、
・ロングに対して平均がプラスである。
(純粋に期待値がプラスである)
・歪度がプラスである
(ロング方向の急騰・モメンタムが起こりやすく、逆行はだらだら下げとなる)
・尖度の割にはファットテールである
(トレンドフォローがテールリスクを利益に変えやすい)
ということを、数値とリターン分布から読み取れればよいと言うことになります。
参考リンク:
この定量分析には、
今まではExcel・統計・プログラミングなどの専門知識が複合的にあることで、
初めて行うことができる敷居の高いものでしたが、
現在はChat-GPTとその機能であるCode Interpreterを使うことで、
初心者が20分もかからず行うことができます。
現在デモ運用している戦略は、1時間足の戦略です。
Tradingviewより、サンプルとしてUSDJPYの1時間足のデータを3年半分ダウンロードします。
以下Chat-GPTとの対話です。
本当に1文、2文の命令で容易にできてしまうのが分かるかと思います。
アップロードしたファイルのリターン分布を計算し、0付近を拡大して表示してください。正規分布のモーメントを求めてください。リターンの計算には対数を使用してください
対数リターンの正規分布のモーメントは以下の通りです:
平均(第1モーメント): 1.325×10^−5
分散(第2モーメント): 1.351×10^−6
歪度(第3モーメント): -2.0040
尖度(第4モーメント): 52.3561
ここからわかることは、USDJPYは全体として期待値を持っているわけではなく、
ファットテールはあるため、テールリスクからトレンドフォローで
利益を上げられる可能性があることが分かります。
現在運用するトレンドフォロー戦略では、
120期間移動平均が重要なフィルターとなっています。
移動平均より価格が上の場合、ロングをすることを考慮しますが、
これは理にかなっているのか、次の命令をすることで考察することができます。
時系列データの120期間移動平均を計算し、価格がそれより上の場合のリターン分布を求め、0付近を拡大してください。ただ、モーメントを求めてください
120期間の移動平均より価格が上の場合の対数リターンの正規分布のモーメントは以下の通りです:
平均(第1モーメント): 0.00012142
分散(第2モーメント): 1.038×10^−6
歪度(第3モーメント): 0.9591
尖度(第4モーメント): 20.5711
グラフでは分かりづらいですが、
明らかにモーメントが変化していることが分かります。
平均は若干プラス寄り。
分散はほぼ変わらず。
歪度はプラス。
尖度は小さくなったものの、ファットテールは相変わらず存在。
つまり、120期間移動平均でフィルターしたリターン分布において、
平均と歪度・ファットテールはトレンドフォローに向いていることを示しています。
これにより現在運用している1時間足トレンドフォローはUSDJPYの1時間足では、
有効な戦略であることが定量的に示されました。
ここまでにかけた手間はほとんどありません。
Chat-GPTとCode Interpreterの機能の高さには驚かされます。
付記として、USDJPY一時間足のトレンドフォローショート戦略も掲載します。
ショートの場合は、
価格が120期間移動平均より「下」の場合のみショートを考慮します。
時系列データの120期間移動平均を計算し、
価格がそれより「下」の場合のリターン分布を求め、
0付近を拡大してください。ただ、モーメントを求めてください
120期間の移動平均より価格が下の場合の対数リターンの正規分布のモーメントは以下の通りです:
平均(第1モーメント): −0.00012718
分散(第2モーメント): 1.732×10^−6
歪度(第3モーメント): -3.6404
尖度(第4モーメント): 62.0174
平均は若干のマイナス。
分散はオーダーが変わらず。
歪度はマイナス。
尖度はさらにとがり、ファットテールがある形に。
ショートの場合は、平均・歪度がマイナスでトレンドフォローしやすくなりますが、
その通りになっていることが分かります。
このブログでは、デモ運用中のトレンドフォロー戦略について、
その成績を公開しています。
試行錯誤の最中であり、まだ利益が出ておらず辛い面があります。
ただ、このように定量分析を行うと、
通貨ペア・先物銘柄と時間軸選定、そこで行うトレンドフォロー戦略の有効性は、
数値的に担保されており、
他の点を改良すれば、利益の出る運用をできるかもしれないことが分かりました。
みなさんも定量分析を行うことで、
裁量トレードにもう一本の支軸を加えることができるかもしれません。