トレーディングにおける機械学習:理論、モデル、実践、アルゴトレーディング - ページ 1531

 

今日、pythonでhumnocodeを実行したら、こうなりました。

トライン

テスト

テスターが悪いのかもしれないし、他のものかもしれない、明日の夕方に再確認してみる。私は記事のためにそれをやっている(私は私のアプローチを記述したい)、多分catbustは森よりこの戦略を扱う方が良いです

 
マキシム・ドミトリエフスキー

今日、pythonでhumnocodeを実行したら、こうなりました。

トライン

テスト

テスターが悪いのかもしれないし、他のものかもしれない、明日の夕方に再確認してみる。私は記事にしています(私のアプローチを説明したい)、多分catboostはforestよりもこの戦略を処理するのに適しています。

CatBoostは、彼らのネーミングシステムのサンプルによると、テストでトレーニングされているわけですが、何か問題があるのでしょうか?

 
アレクセイ・ヴャジミキン

CatBoostは、彼らのサンプリング命名システムに従って、テストで訓練されるわけですが、混乱はないですか?

つまり、まったく新しいデータ、別の歴史の断片を意味しているのです。電車の中ではそうなっているはずなのですが、テストは紛らわしいですね。テスターがどこかを覗いているのかもしれませんね。

私の森ではほぼ同じデータで0.6~0.7の誤差が出ますし、trayneでも同じで、テストは常に良いとは言えずtrayneより悪い場合がほとんどです。ブーストの誤差はほぼ同じですが、テストは非常に良いので、そんなことは起こりません。

調子はどうですか、葉っぱの方は進んでいますか?
 
マキシム・ドミトリエフスキー

つまり、まったく新しいデータ、別の歴史の断片を意味しているのです。トレインではそうなっているはずなのに、テストでは紛らわしい。テスターがどこかを覗いているのかもしれませんね。

私の森ではほぼ同じデータで0.6~0.7の誤差が出ますし、トレイルでも同じで、テストはいつも良いとは言えず、ほとんどトレイルより悪いです。ブーストもほぼ同じ誤差があるが、テストは痛快、こんなことは起きない

葉っぱは増えましたか?

では、どうかというと、サンプリングしてみないと何が悪いのかわからない。

私の結果は、あまり喜ばしいものではありません。葉っぱはそれなりに集めたのですが、では、葉っぱ同士の相性をどうするのがベストなのか、という問題が出てきます。 しかし、この2つの信号が20%~50%以上重なっていることが多く、同じ信号を出していることがわかりますが、これはあまり良いことではありません。それをグループ化して、グループごとに活性化のための閾値を行う--というのが、一番いい方法だと考えています。

今のところ、相互フィルタリングの実験をしています。Rで葉っぱのツリーを学習させましたが、購入するときだけです。

1枚目はツリーなし、2枚目はツリーありのスクリーンショットです。期間は今年の3月〜9月です。

もちろんバランスカーブはあまり魅力的ではありませんが、トレンド戦略であり、その本質は横ばいの期間に稼ぐ以上の損失を出さないことであり、市場(Si)は年間を通じて横ばいで、強い動きは稀です。ツリーを追加することで、相対的な指標を改善することができました。

最後まで葉の選択の問題は解決されていない、でも5年間のそれぞれに良い結果を示している葉を選択すると、さらに悲しいです20%〜40%が動作しなくなることを期待することができますそれらをオフにするかどうかを理解することができない - 特に四半期によってテストを行った、それは過去の四半期で不採算葉がその後の四半期で損失(多くの)と重なることが判明しました。

葉の選別方法自体は期待できそうだが、その工程に非常に時間がかかる。

 
アレクセイ・ヴャジミキン

じゃあ、どうなんだろう......サンプルがないと、何が問題なのかわからないですね。

あまり満足のいく結果ではありません。葉っぱはそれなりに集まったのですが、次の問題は、それらをどううまく連携させるかです。20%~50%以上重なることが多いので、同じ信号を出していることが判明し、あまり良いとは言えません。それをグループ分けして、グループごとに活性化のための閾値を行う--というのが、一番いい方法だと考えています。

今のところ、相互フィルタリングの実験をしています。Rで木の葉を学習させましたが、今のところ購入時のみです。

1枚目はツリーなし、2枚目はツリーありのスクリーンショットです。期間は今年の3月〜9月です。

もちろんバランスカーブはあまり魅力的ではありませんが、トレンド戦略であり、その本質は横ばいの期間に稼ぐ以上の損失を出さないことであり、市場(Si)は年間を通じて横ばいで、強い動きは稀です。ツリーを追加することで、相対的な指標を改善することができました。

最後まで葉の選択の問題は解決されていない、でも5年間のそれぞれに良い結果を示している葉を選択すると、20%〜40%が動作を停止することを期待することができ、何がもっと悲しいですそれらをオフにするかどうかを理解することができない - 具体的には四半期ごとにテストを行った、それは過去の四半期に不採算葉がその後の四半期で損失(多く)を重複していることが判明した。

葉っぱの選別方法自体は期待できそうだが、その処理に非常に時間がかかる。

無印は出ないんだ、残念。

トレードが少ない、代表性がない。そして、不採算のものは、すべて不要なものとして、フィルタリングすべきなのです
 
マキシム・ドミトリエフスキー

ああ、それで手っ取り早く儲けることはできないんだな、残念だ。

トレードの数が少ない、代表性がない。そして、不採算のものはフィルターにかけるべきで、どれも同じ、必要ないものです。

はい、問題は、葉の多くは、活性化した場合、より多くのロットが必要な、それぞれ1ロットを割り当てた各葉信号のために - 71ロットがありますが、非常にまれで、あなたはすべての時間71ロットでお金を維持する場合、その合計は年間25%を取得するだろう - 交換上のGOが大きく、それがSiです。

不採算の除去についてですが、これは諸刃の剣です、一方ではフィルターの数を増やすことで負けトレードの数を減らすことができますが、同時に儲かるトレードの数を減らすことになります、上に書いたように、多くの葉は1年の間に儲かるようになりますので、時間の問題、市況の問題ですね。この方法の問題点は、非常に労力がかかることと、新しい予測因子を迅速に追加する可能性がないことです。

指標を改善するもう一つの方法は、利益確定に取り組むことです。現時点では、クロージングは主にストップとワンコンディションで行われ、まれにしか行われないのです。

しかし、この1年間は赤字になることもなく、いい方向に向かっていると思います。

 
アレクセイ・ヴャジミキン

はい、問題は、葉の多くは、活性化した場合、より多くのロットが必要な、それぞれ1ロットを割り当てた各葉信号のために - 71ロットがありますが、非常にまれで、あなたはすべての時間71ロットでお金を維持する場合、その合計は年間25%を取得するだろう - 交換上のGOが大きく、それがSiです。

不採算の除去についてですが、これは諸刃の剣です、一方ではフィルターの数を増やすことで負けトレードの数を減らすことができますが、同時に儲かるトレードの数を減らすことになります、上に書いたように、多くの葉は1年の間に儲かるようになりますので、時間の問題、市況の問題ですね。この方法の問題点は、非常に労力がかかることと、新しい予測因子を迅速に追加する可能性がないことです。

指標を改善するもう一つの方法は、利益確定に取り組むことです。現時点では、クロージングは主にストップとワンコンディションで行われ、まれにしか行われないのです。

欠点はあるものの、1年近く赤字になっていないのは、正しい方向性を示しているといえるかもしれません。

1.のモデルの上に、2.のモデルを同じ特徴量で学習させることが可能である。しかし、それはEquityのエントリーを修正するだけで、つまり、取引を禁止/許可することになります。少なくとも無駄なトレードはないだろう。

 
マキシム・ドミトリエフスキー

は、1.のモデルの上に、同じ特徴量で2.のモデルを学習させることが可能である。しかし、それは単にEquityのエントリーを修正するだけで、つまり、取引を禁止したり許可したりします。少なくとも無駄なトレードはないだろう。

もしくは、スライド式再計算によるシステムリストポートフォリオのようなもの。

 
マキシム・ドミトリエフスキー

は、1.のモデルの上に、同じ特徴量で2.のモデルを学習させることが可能である。しかし、それは株式のエントリーを修正するだけで、つまり、取引を禁止/許可することになります。少なくとも無駄なトレードはないだろう。

ターゲットを変更するという提案がよく理解できません。現在、私はすでに3つのターゲット(買い/売り/取引しない)を持っています。そして、私は購入/販売するシートを選択し、その後、各シートにシートのフィルタを探している "取引しない"、同じくらい3個(いくつかのために、それは十分ではありません-テストを実施)です。活性化リーフ+フィルターリーフのペアの結果、最終的な信号に基づいてツリーを構築し、すべてのリーフの反応とその相互排除を考慮した、つまり追加のフィルターを得ることができました。

以下はツリーです。

木ではなく、CBでモデルを試してみたいのですが、その方が使用する葉の汎化がうまくいくかもしれません。

 
アレクセイ・ヴャジミキン

ターゲットをどのように変更するのか、よく理解できません。今は基本的に、買う/売る/取引しないの3つのターゲットを持っています。そして、売買シートを選択し、そのような各シートに、3枚ほどの「取引しない」シートのフィルターを探します(ある人にとってはこれで十分ですが、ある人にとっては十分ではありません - テストを実施しました)。活性化リーフ+フィルターリーフのペアの結果、最終的な信号に基づいてツリーを構築し、すべてのリーフの反応とその相互排除を考慮した、つまり追加のフィルターを得ることができました。

以下はツリーです。

木ではなく、CBでモデルを試したいのですが、そちらの方が使用する葉っぱの一般化が進むかもしれません。

まあ、まずは理論から入るべきでしょう。例えば、販売用と購入用でモデルを分けて選定する意味はあるのでしょうか?

買うためでないものはすべて売るためであり、その逆もまた然りである。そのため、通常の2値分類器が必要なのです。さらに、そのようにするのであれば、単に高いしきい値でエントリーをフィルタリングできるのに、なぜ別の「取引しない」クラスが必要なのでしょう。取引しない」クラスは、モデルによって過剰な重みが与えられ、そのためにモデルの誤差が減少し、一般に予測(一般化)能力が低下する。

2番目のモデルのポイントは、1番目のモデルには1番目と2番目の種類のエラー、つまり偽陽性と偽陰性が発生することです。除去することに関心があります。そのためには、2番目のモデルの入力と1番目のモデルの出力に同じ特徴を与え、0 - 取引が有益であった、1 - 取引が有益でなかった、とするのです。2番目の分類器を学習させ、0を示したときのみ取引を行う、つまり1番目のモデルのシグナルをフィルターする。ロスカットはトレイでほとんど消えてしまうので、テストでテストする必要があります - それは1つです。

2つ目のモデルはトレイだけでなく、OOSを捉えて学習させれば、新しいデータでトレードを修正してくれる、それが2つです。そして、テスト。

サンプルをファウルごとに分割し、特定のチャンクを通して、チェッカーボード順にモデルを教えることができます。例えば、5ファール。最初のモデルは、1,3,4ファウルで一度に学習されます。2,5で2回目の補正モデル。そうすれば、一般化もさらに進むでしょう。
理由: