Signal Pilot
🟠 上級 • レッスン70/85

フィルターとしての機械学習

読了時間 約13分 • モジュール8:システムを組み立てる
Signal Pilot
プロ向けトレーディング教育
0%
順調に進んでいます!
読み進めるとこのレッスンが完了になります

レッスン69はこのページに一つの格子を残しました。六つのハイパーパラメータが各五通りで15,625通りの構成、初心者が控えめと呼ぶ格子です。そしてレッスン64の算術によれば、その幅の探索を156トレードで判定すると、相場が何もしないうちに1トレードあたり0.318Rを作り出します。これが機械学習への見慣れた反論であり、答えのあるほうの反論です。格子を数え、基準を1.645から4.507へ引き上げ、モデルがそれを超えるかどうかを見ればよい。そのやり方で答えられないほうの反論には、モデルが一つも出てきません。フィルターはトレードを作らず、取り除くだけですから、捕まえられた負けトレードしか返してくれません。そして良く見える戦略には捕まえるべき負けがほとんどありません。レッスン63の勝った規則は、勝ち六つに負け一つです。勝ちを残すのと負けを弾くのが同じだけ得意なフィルターは、その規則で損も得もしないためだけに、見たことのないトレードの96.04パーセントで正しくなければなりません。そして完璧なフィルターが、たった一つの負けを捕まえて他に何も触らなかったとしても、改善は4.30パーセントです。

前提条件: レッスン64。期待される最大値の公式と、構成の数が定める基準について。レッスン63。このページが分解する七つのトレードについて。そしてレッスン17。プロフィットファクターを作っている二つの数について。

格子が一つも価格を見ないうちにいくらかかるのか

規則にはパラメータがあり、レッスン64はそれを数えました。モデルにはハイパーパラメータがあり、これは名前が違うだけの同じものです。そしてモデルには規則にない次元が一つあります。どの特徴量を入れるかです。どちらも掛け合わさっていき、探索を値付けする算術はどちらがどちらかを気にしません。数えるのは構成の数であり、その数は何かが走り出す前に決まっています。

予告が残した格子を取ってください。六つのハイパーパラメータが各五通りで15,625であり、代入は全部書き出しますから、ここには信じてもらうべきものは何もありません。一を15,625で割ると0.0000640、上側の裾にそれだけを残す標準正規の値は3.83028です。次に15,625にeを掛けると42,473、一をそれで割ると0.0000235、その正規の値は4.06963です。この二つを0.4228と0.5772で重み付けすると3.96843になり、これがtです。156の平方根、つまり12.49で割れば、作り出された優位は1トレードあたり0.318Rです。その幅の探索が、価値のない探索の五パーセントにしか抜かれないために超えるべき基準は4.507です。

さて、誰も数えない次元です。二十個の特徴量の一覧と、そこから三つから六つを選べという指示。これがこの練習のいつもの形で、その指示は単純化のように読めます。これは探索です。二十から四つをちょうど選ぶのは4,845通りの異なるモデル、三つから六つを選ぶのは60,249通りであり、一覧はあなたが始める前に書かれていましたから、その数は欲しい人には誰にでも手に入ります。二十から四つの数にハイパーパラメータの格子を掛ければ、午後一回分の作業が75,703,125通りの構成になります。

何を動かしたか設定の数五パーセントでの基準156トレードで作り出される1トレードあたりのR
ハイパーパラメータ三つ、各五通り1253.3460.209
ハイパーパラメータ四つ、各五通り6253.7690.250
ハイパーパラメータ六つ、各五通り15,6254.5070.318
二十個の一覧から選んだ特徴量四つ4,8454.2520.295
最後の二つを合わせたもの75,703,1256.0610.453

最後の行が午後一回分の正直な数であり、6.061は、思いつきがどれほど良かったとしても数百トレードでは出てこないtです。ただし三列目を上から下へ読むと、形は聞こえるほどきつくありません。15,625通りから75,703,125通りへ行くのは4,845倍の探索であり、基準を動かすのは1.554です。罰は数の対数で伸びるので、誰も言わないほうの側に切れます。ひどくさらされるのに流行のモデルは要りません。ハイパーパラメータ四つで特徴量の選択をまったくしなくても、すでに3.769です。

ではそれをすべて正しくやったとしましょう。格子を数え、基準を超え、自分の仕掛けを偶然より本当にうまく並べるモデルを手にしたとしましょう。このページの残りは、それに値打ちがあるのかどうかの話であり、構成の数も、シミュレーションも、相場についてのどんな仮定も要りません。

お金が実際に動くとおりに組み立ててください。フィルターは新しいトレードを見つけません。あなたの手法がすでに出している仕掛けの上に座り、そのいくつかを取り除きます。ですから正直な比較は、同じ元の機会に対する総利益であって、取ったトレード一件あたりの利益ではありません。勝率をp、ペイオフをbと書いてください。どちらもレッスン17のものです。勝ちはbを払い、負けは一を取ります。フィルターが勝ちの割合sを残し、負けの割合tを正しく弾くとします。元のトレード一件あたり、フィルターはpかける一マイナスsかけるbを手放し、一マイナスpかけるtを節約します。二つ目が一つ目以上になったときに、そのフィルターは持つ価値があります。

(1 − p) t  ≥  p (1 − s) b

これを二通りに割れば、二つの違う役に立つことを言います。pかける一マイナスsで割れば、フィルターが捨てる負けは、捨てる勝ちより少なくともb倍、つまりあなたのペイオフレシオだけ多くなければならない。これは取引記録の上で二つの数え上げだけででき、統計はいっさい要らない検査です。代わりに一マイナスpで割れば、右辺はp bを一マイナスpで割ったもの、すなわち総利益を総損失で割ったものになります。ふつうプロフィットファクターと呼ばれる量であり、このページで唯一の新しい名前です。レッスン17の二つの数を一つに書いたものです。

モデルが両方向に同じだけ良く、sとtが同じ数aであるなら、条件は正確度だけの閾値に畳まれます。aは少なくとも、プロフィットファクターを一プラスプロフィットファクターで割った値でなければなりません。裏返せば、正確度aのフィルターは、プロフィットファクターがaを一マイナスaで割った値より下にあるどんな戦略でも席を得ます。

正確度52パーセントなら、プロフィットファクターが1.08より下のどんな戦略でも。

55パーセントなら1.22より下。

60パーセントなら1.50より下。

65パーセントなら1.86より下。

五十二パーセントは埋め草ではありません。グー、ケリー、シューはこの一族のモデル全体を、数千銘柄の月次リターンで標本外に測り、最良のネットワークが達したのは月次の標本外決定係数でおよそ一パーセントの十分の四でした。それをこのページの言葉に直します。二変量正規のもとで、予測の符号が結果の符号と一致する確率は、二分の一に相関の逆正弦を足し、それを円周率で割ったものです。相関は決定係数の平方根で0.0632、したがって正確度は52.01パーセントです。この分野の最良の公表結果は、プロフィットファクターが1.08より下の戦略のためのフィルターだということです。

自分のトレードにモデルを当てはめた人のうち、自分の総利益を自分の総損失で割って二つの数を並べてみた人はほとんどいません。取引記録から二つの合計を取って一度割るだけのことであり、それが決定のすべてです。

このモジュールがレッスン62から積み上げてきた表は、九つ目の列を得ません。ここで使われます。八つまとめて、レッスン63から講座が追ってきた一つの規則の上で。

一つの規則に使い切る表

レッスン63は六十本の終値にわたって253通りの移動平均の構成を探索し、2本の平均と5本の平均の組を残しました。七トレード、1株あたり総額10.70、費用差引後9.84、持ち切りの5.68に対してです。八つの列を埋めると、表はこう読めます。

一文、レッスン62から。終値の2本平均が5本平均を上に抜けたら買い、下に抜け返したら手仕舞い、執行は次の終値。

対、レッスン63から。基準を4.16上回るのに対し、構造のない探索の52.5パーセントが4.16以上を返す。

基準と数、レッスン64から。253セル、基準3.537、tは3.65でこれを超える。ただし最小トレード数を定めるまでの話で、定めた途端に割合は、下限七で0.68パーセント、下限二で50.48パーセントまで動く。

先に決めたトレード数、レッスン65から。空欄。この七件は、たまたま起きた七件です。

さらされ方の割合、レッスン66から。0.5085であり、総額10.70のうち2.95は相場が出した。

やめる深さ、レッスン67から。空欄。

容量、レッスン68から。平均トレード0.9101Rは1株あたり1.4055であり、103前後の価格では136ベーシスポイントにあたるので、レッスン68の小型株ではこの取引は1,390,545ドルを抱え、最良の単一ポジションは618,020ドルです。

ポジションの上限とその確認間隔、レッスン69から。空欄。

空欄が三つ、そして二つの数字が逆さまに並んだ二列目。それが判決であり、表を半分読む前に届きます。それでも最後まで走らせてください。このページが問うているのは、その規則が良いかどうかではないからです。問いはモデルがそれを良くできるかどうかであり、その問いには、値打ちのない規則にさえ答えがあります。

費用差引後の七トレードは2.577、1.877、2.377、1.377、マイナス0.423、1.177、0.877です。勝ち六つで合計10.262、負け一つで0.423。したがってプロフィットファクターは24.26、平均の勝ちは1.1075R、平均の負けは0.2739R、ペイオフレシオは4.04です。ここで表の残りの列を働かせ、一つずつ当てていったときに何が起きるかを見てください。下の表の最後の行は、レッスン63自身の帰無モデルをこのページのために回し直したものです。バーからバーへの59の動きを復元抽出し、シード20260903から4,000系列、そのそれぞれで同じ253セルの探索を、勝者自身が満たしていた七トレードの下限のもとで行い、勝ったセルのプロフィットファクターを取ります。その中央値は2.34であり、構造のない探索の3.08パーセントが、プロフィットファクター24.26以上の勝者を返します。

何を差し引いたかプロフィットファクターフィルターが超えるべき正確度完璧なフィルターが足せる最大
何も36.6797.35%2.80%
費用、レッスン63の取り決めで24.2696.04%4.30%
費用と、レッスン66からの相場の取り分14.2293.43%7.57%
同じ探索が無から返すもの、中央値2.3470.01%74.91%

立ち止まる値打ちがあるのは四列目で、これは同じ不等式から落ちてくる二つ目の純粋な数です。完璧なフィルターは負けをすべて取り除き勝ちをすべて残しますから、それが足せる最大は総損失そのものです。そして戦略がすでに正味で稼いでいる額に対する割合として、それは一をプロフィットファクター引く一で割った値になります。この規則では4.30パーセントです。モデルが良ければ4.30パーセント、ではありません。モデルが完璧でも4.30パーセントです。記録に負けは一つしかなく、それは9.839のうちの0.423だからです。

真ん中の二列を上から下へ一緒に読むと、同じ理由で反対向きに動いています。プロフィットファクターが真実へ向かって空気を抜かれていくにつれ—まず費用、次に相場の取り分、次に同じ幅の探索が何も入っていないデータで返すもの—フィルターに必要な正確度は97.35パーセントから70.01まで落ち、賞金は2.80パーセントから74.91まで上がります。探索は優位を作り出し、同じ動きで、どんなモデルにもそれを良くできない理由を作り出しました。

フィルターが返せるのはあなたの負けだけであり、良い戦略にはそれがほとんどありません。

だから一番下の行は見た目より重いのです。プロフィットファクターが一とは、期待がちょうど零の戦略のことで、そこでは閾値は五十パーセントであり、52パーセントのフィルターは本当に持つ値打ちがあります。ペイオフ二で三百トレードに数え出してください。二を払う勝ち百件と一を取る負け二百件で零です。勝ちのうち52件と負けのうち96件を残せば、104引く96で、元の三百件に対して8R、つまり1トレードあたり0.027Rです。フィルターは戦略を良くしているのではありません。それが戦略のすべてであり、そして小さいのです。プロフィットファクター二まで上がれば、同じ52パーセントのフィルターは、0.50を稼ぐ戦略から1トレードあたり0.22Rを取り去ります。

ですから自分の勝ちを足し、自分の負けを足し、割って、その答えを、どんなフィルターも作る前に超えていなければならない正確度として読んでください。

これで片づかないこと

フィルターが釣り合っていること。正確度の閾値は、モデルが勝ちを残すのと負けを弾くのにちょうど同じだけ長けていると仮定していますが、その閾値が出てきた不等式はそんなことを何も仮定していません。求めているのは、特異度を一マイナス感度で割った値がプロフィットファクターを超えることだけです。負けを弾くほうへ強く振り、見せられた勝ちをほとんど全部残すことを受け入れたモデルは、全体の正確度が閾値をはるかに下回っていてもその基準を超えられます。そしてそれが、作っていく値打ちのある方向です。このページが釣り合った数を刷るのは、それが分類器が既定で報告する数だからであり、それは相場についてではなくソフトウェアについての事実です。

フィルターが残すトレードが、捨てるトレードと同じだけ払うこと。モデルが大きな勝ちを優先して残すなら算術は良くなり閾値は下がりますし、トレードを符号で仕分けるのではなく期待される大きさで並べるモデルは、ここで値付けされたものとは別の、より良い代物です。このページが分類器を値付けするのは、人が作るのが分類器だからであり、この分野が引く正確度という数字が分類器にしか定義されていないからです。

七トレードで計算したプロフィットファクターが数であること。それは二つの合計の比であり、片方の合計には項が一つしかありません。レッスン63のたった一つの負けトレードが0.423ではなく1.423を取っていたら、プロフィットファクターは7.21、閾値は87.82パーセント、賞金は16.10パーセントになります。同じ規則で、同じ終値の上でです。数百トレードあれば比は落ち着きますが、正確になることは決してなく、そこから計算したどんな閾値の小数第二位も飾りです。

52パーセントがあなたのモデルの正しい物差しであること。グー、ケリー、シューは数千銘柄の断面を百に近い予測変数で月次に予測しており、それはあなた自身の手法がすでに出した仕掛けに点をつけるのとは別の問題です。彼らのほうがデータははるかに多く、あなたの仕掛け規則には触れられず、あなたはその逆です。この数字がこのページにあるのは、この分野の最良の仕事が届く桁の確認としてであって、あなたの分類器が何をするかの予測としてではありません。

構成が数えられること。これはレッスン64の譲歩であり、モデルはそれを良くするどころか悪くします。格子に打ち込んだハイパーパラメータは数えられます。作って、描いて、気に入らず、消した特徴量は数えられません。最初のものが学習しなかったからといって、次の一本の方向から次の三本の方向へ定義し直した目的変数も同じです。新しいデータでの再学習は一つ増えた構成であり、二年間毎月再学習する予定表は、黙ってさらに二十四回走らせています。

そして一番高くつく譲歩。このページはモデルを値付けし、モデルが理由あって当たっている可能性については何も言っていません。最初の十五分に取ったトレードを、そこに自分の負けが集まるからという理由で断るフィルターは規則であり、一行で書けて、基準1.645の構成一つとして数えられます。このページの算術が罰するのは、自分の記録から何かを学ぶことではありません。そこから多くを学び、最良のものを残すことであり、それがモデルを当てはめるということです。レッスン71はポートフォリオのモジュールを、四つの規則が一つでは買えない何を買うのかという問いで開き、規則どうしの相関を仮定せずに測り、レッスン67が値付けした14.7か月は14.1に下がるのであって3.7には下がらないと見つけます。

練習問題

  1. 自分の格子を数える。最後に当てはめたモデル、あるいは最後に見せられたモデルを取り、きちんと数えてください。試したハイパーパラメータの値をすべて掛け合わせ、それにさらに、検討した特徴量の組み合わせの数を掛けます。上の第一の表から基準を読み取るか、数から計算してください。十分で、最後にあなたは一つの数字、あなたのモデルが超えるべきだったtを手にします。それはまず間違いなく1.645ではありません。
  2. 自分の閾値を計算する。直近二百トレードを取り、勝ちが稼いだものをすべて足し、負けが取ったものをすべて足し、前者を後者で割ってください。三十分で、最後にあなたは一つの数字、自分のプロフィットファクターを手にします。フィルターが超えるべき正確度はその数を一プラスその数で割った値であり、完璧なフィルターが足せる最大は一をその数引く一で割った値です。
  3. 実際に作れるフィルターを測る。自分の記録を時間順に二つに切ってください。前半で、一文で理由を言える特徴量を一つ選び、勝ちと負けをいちばんよく分けるただ一つの閾値をその上に見つけます。そのただ一つの閾値を変えずに後半へ当て、二つを数えます。いくつの負けを捨てたか、いくつの勝ちを捨てたかです。一晩で、最後にあなたは一つの数字、前者と後者の比を手にします。あなたが作れるいちばん単純なフィルターが何かの値打ちを持つには、この比があなたのペイオフレシオを超えていなければならず、記録を切る前に思っていた数と突き合わせるべきものです。

出典。 David H. Bailey, Jonathan M. Borwein, Marcos López de PradoQiji Jim Zhu「Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance」(Notices of the American Mathematical Society、2014年)。第一の表を計算した期待される最大値の公式について。レッスン64から引き継ぎ、ここではパラメータの格子ではなくハイパーパラメータの格子に当てています。 Shihao Gu, Bryan KellyDacheng Xiu、「Empirical Asset Pricing via Machine Learning」(The Review of Financial Studies、2020年)。このページが52パーセントに換算し、その上のどの閾値もそれに照らして読まれる、標本外の測定について。 Marcos López de Prado, Advances in Financial Machine Learning (Wiley、2018年)。ふつうの交差検証が金融では情報を漏らすという論と、第一の表がその小さな一例である多重検定の補正について。 Robert D. Arnott, Campbell R. HarveyHarry Markowitz、「A Backtesting Protocol in the Era of Machine Learning」(The Journal of Financial Data Science、2019年)。探索の前に試行回数を記録することを求める手順について。それがレッスン64の加えた表の列であり、このページが使い切る列です。

関連レッスン
レッスン64

探すことの代価

期待される最大値の公式と、構成の数が定める基準。

レッスンを読む →
レッスン63

証拠としての backtesting

このページが分解する七つのトレードと、それを生んだ探索。

レッスンを読む →
レッスン17

期待値

プロフィットファクターを作っている勝率とペイオフ。

レッスンを読む →
教育目的のみ。 トレードには重大な損失リスクが伴います。金融助言ではありません。過去の実績は将来の結果を保証するものではありません。

💬 ディスカッション(コメント0件)

0/1000

コメントを読み込んでいます…

← 前のレッスン 次のレッスン →

Signal Pilotで取引を始めますか。

学んだ内容を、プロ向けのインジケーターとリアルタイムの市場分析ツールで実際に使ってみてください。

Signal Pilotに戻る →