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

 
サンサニッチ・フォメンコ

2.動画をご覧ください。

申し訳ないが、無教養な博士号取得者のいつもの戯言.

曰く、「買ったものは売る」。質問されたので、詳しい答えの動画をあげました。講師は賢いのではなく、統計的学習理論を説いているのです。

をご覧ください。ヴァプニック V.N.統計的学習理論。NY: John Wiley, 1998.

サンサニッチ・フォメンコ

1.標本から少なくとも1つの有益な予測因子を取り除くと、一般化可能性が著しく低下すること。


信じてください、残念ながらこれは何の証明にもならないのです。さらに、予測変数のセットが悪い(ノイズが多い)場合、この効果はノイズが多いほど強くなります。これは非常に簡単に説明すると、ノイズが多いほどアルゴリズムが「都合の良い」値を見つけやすくなるのです。

よく言われるように、味と色に・・・。

サンサンフォーメンコ

ファイルについて

1.あなたのデータで6つの分類モデルを構築するのに失敗しました:誤差は50%以上です。もしご希望であれば、ここに結果を掲載します

情報提供ありがとうございました。その結果はすでに明らかで、完全な欠如です。

サンサニッチ・フォメンコ

2.この結果の理由は、予測変数のセットが非常に貧弱であること、つまりノイズ、つまりターゲット変数に関連しない予測変数を持っていることです。予測因子6、7、8は、ある程度の予測力を持つが、ごくわずかである。私はそのような予想屋とは一緒に仕事をしない。 他はノイズにしかならない。

まあまあ、ノイズがなければどんなバカでも正しく分類できる。ノイズはそこそこ、量もそこそこ。役立つ情報もあります。例えば、古いlibVMR 3.01 の結果は以下の通りです。

/**
* サンプル外でのモデリングの質。
*
* TruePositives: 245
* TrueNegative: 113
* 偽陽性:191件
* FalseNegatives: 73
* 統計処理されたサンプルのパターン数:622個
* アウトオブサンプルの総エラー数:264個
* 汎化能力感度:56.19266055045872%。
* 汎化能力の特異性:60.752688172043015%。
* 一般化能力:16.94534872250173%。
* レシェトフによる指標:0.1075044213677977

*/

つまり、一般化能力が17%近くアップしているんです。

新人の演技が目立つ。

 
アレクセイ・ブルナコフ
クロスバリデーションで成分数をピックアップする。クロスバリデーションで最適な値を出し、検証セットで確認する。

また良くないものが出てきてしまった。min(trainwinrate. validate1winrate, validate2winrate) が他の成分量と比較して最大であるため、20個の成分量を取ることにしました。そして、フロントテストでは、以前よりさらに悪い、55%程度の結果を得ることができました。勝率が50%強(FXには向かない)、クロスバリデーションがうまくいかない、予測因子の重要度が取れないなど、おかしなモデルが出てきました。プリントアウトして壁に貼るしかないですね :)


 
ユーリー・レシェトフ

* TruePositives: 245

* TrueNegative: 113
* 偽陽性:191件
* FalseNegatives: 73

test.csvの勝率は57.6%ということですね。私の方法で予測因子をふるい分け、ニューロンを訓練してみますので、明日結果を報告します。
 
Dr.トレーダー

また良くないものが出てきてしまった。min(trainwinrate. validate1winrate, validate2winrate) が他の成分量と比較して最大であるため、20個の成分量を取ることにしました。そして、フロントテストでは、以前よりさらに悪い、55%程度の結果を得ることができました。勝率が50%強(FXには向かない)、クロスバリデーションがうまくいかない、予測因子の重要度が取れないなど、おかしなモデルが出てきました。プリントアウトして壁に貼るしかないですね :)


データが十分でない場合、クロスバリデーションは悪い結果をもたらす可能性があります。機械学習では、何万回もの観測が行われます。クロスバリデーションが悪いということは、モデル全体がそうなっているということです。
 

これが、私の大きな実験の結果です。風のバグでコードが途切れてしまい、全キャラクターでの学習が終わらなかった。でも、今はこれで十分です。ユーラスドに良い結果が出た。

パラメータを指定せずに、私が見つけた最大値のみを表示しました。すでに良い結果が出ています。GBMの設定の微妙なところが効いていますね。

 

512分先のユーロドルを予測することで、1回の取引で1.5pipsを稼ぐことができますが、間違いないでしょうか?スプレッドも考慮されているのですか?また、その時の最大ドローダウンを知ることも重要で、その時のドローダウンがすべて200であれば、10pipsでも取引する意味はない。トレードの推定には、Sharpe Ratioを使うのが良いのでしょうが、Rでは見たことがありません、そもそも、次のような要素に限定できます:(最終利益)/(全時間におけるエクイティの最大ドローダウン)です。

例えば、シグナル1があったとする。 このトレーダーは、1年間に1000%の利益を得たが、最大ドローダウンは50%であった。同時に、シグナル2は1年間で600%の利益しか出ていないが、最大ドローダウンは25%であった。トレーダー1の方が(利益面で)優れているように見えるかもしれないが、実際はそうではなく、リスクが2倍になっただけである。最初のトレーダーは1000/50=20、2番目のトレーダーは600/25=24である。ですから、2つ目のシグナルに登録し、保証金の50%をリスクにさらすのであれば、リスクを2倍にしたほうがよいでしょう。

また、実験では、リスクを評価することも重要です。小さな間隔で取引する方が、ストップロスに引っかかるリスクを負って大きなドローダウンを待つよりも、価格の急騰に時間差で反応して利益を得ることができるため、はるかに収益性が高い場合があります。

 
アレクセイ・ブルナコフ

同僚たち、もし時間があれば、記事の下で質問してくれませんか?https://habrahabr.ru/company/aligntechnology/blog/303750/。

Habrが沈黙しているからだ!

Hubrは沈黙しているのではない、Hubrは読んでいるのだ。
非常に多くの文字がある。
 
Dr.トレーダー

512分先のユーロドルを予測することで、1回の取引で1.5pipsを稼ぐことができますが、間違いないでしょうか?スプレッドも考慮されているのですか?また、その時の最大ドローダウンを知ることも重要で、その時のドローダウンがすべて200であれば、10pipsでも取引する意味はない。トレードの見積もりには、Sharpe Ratioを使うのが良いのですが、Rでは見たことがありません。まず、次の係数を使います。(最終利益)/(全時間における自己資本の最大ドローダウン)です。

例えば、シグナル1があったとする。 このトレーダーは、1年間に1000%の利益を得たが、最大ドローダウンは50%であった。同時に、シグナル2は1年間で600%の利益しか出ていないが、最大ドローダウンは25%であった。トレーダー1の方が(利益面で)優れているように見えるかもしれないが、実際はそうではなく、リスクが2倍になっただけである。最初のトレーダーは1000/50=20、2番目のトレーダーは600/25=24である。ですから、2つ目のシグナルに登録し、保証金の50%をリスクにさらすのであれば、リスクを2倍にしたほうがよいでしょう。

また、実験では、リスクを評価することも重要です。小さな間隔で取引する方が、ストップロスのリスクを負って大きなドローダウンを待つよりも、価格の急騰に時間通りに反応して利益を得ることができるため、はるかに収益性が高くなる場合があります。

はい1.5pt、スプレッドは1です。

他のすべての指標は一緒に評価されます:私は訓練されたモデルでmt4上のフクロウを投稿する予定です。

残念ながら,RでSharpなどを計算することはできません。なぜなら,49個のランダムなサンプルがあり,トレードのシーケンスが復元できないからです。

結果は、特にeurusdの13000の取引について与えられている。
 
Dr.トレーダー
では、test.csvでの勝率は57.6%ですね?私の方法で予測因子をふるい分け、ニューロンを学習させ、明日結果を報告する予定です。

利益ではなく、将来の価格の方向性を正しく予測した数です。分類器は、テストサンプルに対して2つの値のいずれかを生成します:正 - 将来の価格上昇が予想される、負 - 将来の価格低下が予想される。テストサンプルを正しく予測した場合、「真」が割り当てられます。もしそれが間違っているならば、それは偽りである。

一般化能力の感度:56.19266055045872% - 将来の価格上昇が正しい:100% * TP / (TP + FP) = 100% * 245 / (245 + 191) = 100% * 245 / 436 = 56.192660550458715% - 一般化能力の感度:56.19266055046% - 将来の価格上昇が正しい:100% * TP / (TP + FP) = 100% * 245 / (245 + 191) = 245 = 56.1926605504715

一般化能力の特異性:60.752688172043015% - 将来の価格下落を正しく予測:100% * TN / (TN + FN) = 100% * 113 / (113 + 73) = 100% * 113 / 186 = 60.75268817204302

 
ユーリー・レシェトフ

利益ではなく、将来の価格の方向性を正しく予測した数です。テストサンプルの分類器は2つの値のいずれかを生成します:ポジティブ - 将来の価格上昇を仮定、ネガティブ - 将来の価格下落を仮定。テストサンプルを正しく予測した場合、「真」が割り当てられます。もしそれが間違っているならば、それは偽りである。

一般化能力の感度:56.19266055045872% - 将来の価格上昇が正しい:100% * TP / (TP + FP) = 100% * 245 / (245 + 191) = 100% * 245 / 436 = 56.192660550458715% - 一般化能力の感度:56.19266055046% - 将来の価格上昇が正しい:100% * TP / (TP + FP) = 100% * 245 / (245 + 191) = 245 = 56.1926605504715

一般化能力の特異性:60.752688172043015% - 将来の価格下落を正しく予測:100% * TN / (TN + FN) = 100% * 113 / (113 + 73) = 100% * 113 / 186 = 60.75268817204302

ユーリ、あなたのデータで最初のトライアルを。

方法 loss_function cv_folds bag_frac model_params AUC_cv accuracy_train accuracy_validate
ジーエムビー ベルヌーイ 4 0.4 0.015_|_7_|_70_|_600 0.429659 0.590361 0.50501
ジーエムビー ベルヌーイ 4 0.6 0.02_|_5_|_110_|_600 0.485727 0.586345 0.51503

学習用の2種類のパラメータ値セット。注目すべきは、クロスバリデーションでAUCがプラマイゼロ以下になっていることである。

全体としては、51.5%のテスト精度が最高であることが判明しました。

6割をどう回避するのかもわからない。