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

 
mytarmailS:

ワーニングを受けた

論理的には、スクリプトがrdataファイルから前に作成したテーブルを読み込もうとしたが、失敗したので詰んだということである。次にスクリプトを実行すると、テーブルを含むrdataファイルが読み込まれ、ワープが発生しなくなります。


NA - また論理的に、モデルを作成するためのデータは、それらの指標の生の出力から取得するのではなく、準備されるべきです。そこには、もっとできることがあるはずだ--。

ローソク足には最低23本のバーが必要なので、表の最初に<NA>をつけるとよいでしょう。最初の23小節は、常にNAを期待することができる。
ウィンドウの幅までテーブルを埋めなかったのは、NAが出るだけでなく、指標計算の 深さが浅くなるため、「そうでないものもある」ことが予想されるからだ。
最初の行をすべて窓の幅に合わせてカットした方が良い。
trainData <- trainData[-(1:indicatorDepth), ]。

ターゲット以外の列名の<NA>を修正: colnames(trainData)[-ncol(trainData)] <- paste0("pred",1:(ncol(trainData)-1))

ターゲットを、すべてプラスなら1、すべてマイナスなら-1に置き換えてください。ニューロニックなら{0;1}でもいい。

価格に近い値を含む指標は、0-1にスケールするか、デルタをカウントします。(例えば、MA値は常に価格に近いところにあり、それらはスケーリングまたはデルタにする必要があります。そして、RSIは常に自身の0~100の範囲にあり、それ自体は良いことです。インジケータの値がトレーニング中に判明した値を超える可能性がある場合、それをデルタにすると悪化しない)

一般的なニューロニックでは、すべての指標を0~1で表示するのが良いとされています。

で、その上で。

しかし、46~51列目のNAは、本当に何かがおかしい。あるいは、すべてを別のフォーマットで返すので、テーブルに挿入するために特別に別のコードが必要なのです。
あるいは、これらのインジケータは、それ自体でNAを返すだけで、もっと大きなウィンドウ幅が必要かもしれません。あるいは、常に最後のバーでNAを返し、新しいバーのデータに基づいてNAを置き換えるのですが、これは再描画で、悪いことです。

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

ここで、相場反転の前触れである新バーが登場する。しかし、聖なる牛に餌を与え続ける私たちは、「分析」のセクションから取り出した何らかのアイデアのために、歴史の見方を変えることはしない。

シンプルな取引では、これは非常に優れていると思います。インジケータが今まさに出現している何らかのパターンを見つけて、それを示してくれたのです、万事休すです。

しかし、データを用意し、モデルを学習させる必要があります。指標は、通常、過去のバーの値が新しいデータに基づいて常に変化していること、つまり、未来を垣間見ることができることを意味します。そして、モデルは最終的にこのような将来を見据えた値から学習していくのですから、何も良いことはありません。
このような指標は学習の対象にもなりますが、例えば同じジグザグでも100本先まで見通せるからこそ、魅力的なトレンドを描けるのです。

 
Dr.トレーダー

しかし、46~51列目のNAは、本当におかしいのです。インジケータが異なるフォーマットですべてを返し、テーブルに挿入するために特別に別のコードが必要であるかのどちらかです。

あるいは、これらのインジケータはそれ自体でNAを返すだけで、もっと大きなウィンドウ幅が必要なのかもしれません。あるいは、常に最後のバーでNAを返し、新しいバーデータに基づいてNAを置き換えるのですが、これは再描画であり、悪いことです。

確認したところ、過抽選のようです。最後のバーでは、nextCandlePositionインジケータは常にNAを返します。そして次のバーで、NAを正しく見えるものに置き換えるのです。@mytarmailS 最初のコードをもう一度、このインジケータなしで、モデルを訓練してみてください、結果はもっと悪くなると思います。

nextCandlePositionの値を最後の値ではなく、最後の値を取るようにスクリプトを修正しましたので、最後のテーブル行にNAは発生しません。

 
Dr.トレーダー

シンプルな取引では、これは非常に優れていると思います。インジケータは、まだ出現して間もない何らかのパターンを見つけ、それを示してくれたのだ、万事OK。

しかし、データを用意し、モデルを教えなければならない。インジケータが再描画する場合、通常、以前のバーの値がより新しいデータに基づいて常に変化していることを意味します。そして、モデルは最終的にこのような将来を見据えた値から学習していくのですから、何も良いことはありません。
このような指標は学習の目標にもなるが、例えば同じジグザグでも100本先を見るからこそ、魅力的なトレンドが描けるのである。

簡単な例で説明しましょう。

1.Hodrick-Prescottのスムージングを描きます。描き直しています。

現在のバーでは、接線は上を向いています。次のバーでは、接線は下を向いています - インジケータは、現在の変化を考慮して再描画します。予想一歩前進-下降。

2.タンジェントを描画する

現在のバーでは、接線は上向きになっています。次のバーでは、接線は上向きで、インジケータはまだ変化に到達していません。

HPインジケータは、10-15バーのどこかで再描画を停止することを考慮してください。

あなたの選択とその理由は?

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

あなたの選択とその理由は?

手持ち取引では - この2つの指標を使った良い戦略があると推測できます。私はそのような戦略を知らないので、取引することはないでしょう。

機械学習では--ウィザードを選ぶ。どんな再描画のインジケーターよりも、間抜けな遅行インジケーターの方が良い。

 
Dr.トレーダー

確認したところ、過抽選のようです。最後のバーでは、nextCandlePositionインジケータは常にNAを返します。そして、次の小節でNAを必要なものに置き換えるのです。@mytarmailS 最初のコードをもう一度、このインジケータなしで、モデルを訓練してみてください、結果はもっと悪くなると思います。

nextCandlePositionの値を最後ではなく、最後の値を取るようにスクリプトを修正したところ、テーブルの最後の行にNAが発生しなくなりました。

オーバーペイントしそうなものだけを削除するために、ベストプレディクターを6つほど削除したと書きましたが、精度が3%ほど落ちているので、おそらく全部オーバーペイントしているのでしょう.

一度に50kを数えるのではなく、まずは数千から試してみてはいかがでしょうか?

 
そこで何が描画できるかはわかりませんが、ローソク足フォーメーションの大部分には、TRUE,FALSE,NAの3つの出力オプションしかありません。
 
mytarmailS:

はい、私は、私はちょうど再描画する可能性があるものを削除するために最高の予測変数の約6を削除したと書いたが、精度は文字通り3%、そこにおそらくすべての再描画が低下している......

あなたのコードを参考に、nextCandlePosition (X27) から得られる6つの指標を削除したところ、精度は100%ではなく52%になりました。学習用の指標を少し変えただけでは、精度が50%を切ることもある。全てにおいて - ランダム

mytarmailS:
何が再描画されるかは分からないが、ローソク足のフォーメーションの大部分では、TRUE,FALSE,NAの3つの出力しかない。

nextCandlePositionを使用すると、次のバーに本当に関連する値を得ることができ、ここでは1ステップのために将来を見る。

だから、うまくいかなかったんです。

 
Dr.Trader(ドクタートレーダー

あなたのコードを参考に、nextCandlePosition (X27) から得られる6つの指標を削除したところ、精度は100%ではなく52%になりました。学習用の指標を少し変えただけでは、精度が50%を切ることもある。一般的には-ランダム。

nextCandlePositionを使用すると、次のバーに本当に関連する値を得ることができ、ここでは1ステップで将来を見通すことができます。

一般的にはうまくいきません。

まあ、全てがクリアになったのは良いことだ、私は本当に聖杯を 信じてなかったんだ。

 

KEELの ゲートウェイには、新しく非常に有望なパッケージRKEELがあります。

グッドラック

KEEL: Software tool. Evolutionary algorithms for Data Mining
  • www.keel.es
KEEL contains classical knowledge extraction algorithms, preprocessing techniques, Computational Intelligence based learning algorithms, evolutionary rule learning algorithms, genetic fuzzy systems, evolutionary neural networks, etc.
理由: