In this article I want to show you how to apply all of the knowledge gained in the previous time series analysis posts to a trading strategy on the S&P500 US stock market index. We will see that by combining the ARIMA and GARCH models we can significantly outperform a "Buy-and-Hold" approach over the long term. Strategy Overview The idea of the...
> summary(diff(eur))
Index diff(eur)
Min. :2016-01-0400:00:00 Min. :-0.02301001 st Qu.:2016-04-1419:00:001 st Qu.:-0.0005300
Median :2016-07-2712:00:00 Median : 0.0000100
Mean :2016-07-2712:01:14 Mean :-0.00000363 rd Qu.:2016-11-0806:00:003 rd Qu.: 0.0005200
Max. :2017-02-1723:00:00 Max. : 0.0143400
> summary((diff(eur, log=T)))
Index (diff(eur, log = T))
Min. :2016-01-04 00:00:00 Min. :-0.0206443
1st Qu.:2016-04-14 19:00:00 1st Qu.:-0.0004810
Median :2016-07-27 12:00:00 Median : 0.0000090
Mean :2016-07-27 12:01:14 Mean :-0.0000034
3rd Qu.:2016-11-08 06:00:00 3rd Qu.: 0.0004755
Max. :2017-02-17 23:00:00 Max. : 0.0127862
NA's :1
私もよく考えています。
回帰モデルがバーごとの価格上昇を予測し、フロントテストとバックテストでR2スコアがゼロ以上であれば、それはすでに良いスタートです。問題は、安定はしているものの、結果が小さいこと、スプレッドに勝てないことです。
分析的には、R2は大きな誤差に対してより大きなペナルティをモデルに与え、小さな誤差や間違った取引 方向を無視するという問題があります。利益の分布を見ると、ほとんどの値動きが数ピップスしかない。そして、モデルは、そのような小さな動きの正しい方向を予測するのではなく、より高いR2を得ることができる分布のロングテールを予測するように学習するのである。その結果、このモデルは大きな動きは何とか予測できるのですが、小さな動きでは必ず方向を間違えてしまい、スプレッドを失ってしまうのです。
結論 - FXの標準回帰推定値は悪い。取引の両方向を考慮し、スプレッドや精度も考慮するように、何らかのフィットネス関数を作成する必要があります。そうすると、50%強の精度でも儲かる可能性がある。
精度、シャープ比、リカバリーファクターなど、トレードチャートを分析する機能が離散的すぎると、通常のバックプロップによるニューロニックではローカルミニマムを抜け出せず、うまく学習できない。
もう一つの結論は、ニューロンの弱い信号を完全に無視することである。強いものだけを取引する。問題は、バックテストでは良い結果が得られるが、フロントテストでは良い結果が得られない閾値を常に定義できることである。ここでも、何か考えなければならない。
それにしても、機械学習に回帰モデルを使うという発想は、かなり疑問が残る。そして、特にインクリメンタルな予測には、そうです。NSは、ある意味ブラックボックスであり、いくつかの層とペルセプトロンがあるのです。これらの言葉には、どのような経済的、統計的な意味があるのでしょうか。
結局のところ、GARCHモデルがインクリメントに使われるのは無意味なことではありません。非定常系列を経済的・統計的に非常に意味のある成分に分解することで非定常性を打ち消すという基本的な考え方は、非常に魅力的である。
GARCHでは、モデルは以下のステップで構成される。
すべて意味のある、有意義な仕事です。
外部リグレッサーを追加する可能性を加えると、非常に豊富なツールを得ることができますが、残念ながら非常に多様であるため、労働集約的です。
何が問題なのか?
https://www.quantstart.com/articles/ARIMA-GARCH-Trading-Strategy-on-the-SP500-Stock-Market-Index-Using-R
コピーペーストとフペレット
何のために?
それにしても、機械学習に回帰モデルを使うという発想は、かなり疑問が残る。そして、これは特に漸進的な予測に当てはまります。NSは、ブラックボックスのようなもので、いくつかの層とペルセプトロンがあります。これらの言葉には、どのような経済的、統計的な意味があるのでしょうか。
結局のところ、GARCHモデルがインクリメントに使われるのは無意味なことではありません。非定常系列を経済的・統計的にかなり意味のある 成分に分解して非定常性を打ち消すという基本的な考え方は非常に魅力 的である。
あなたはSanSanychの間違いです。NSはファジーロジックに相当するようなものです。学習できる。個人的には、何も不思議なことはないと思っています。他の例えを使ってもいい。
まあ、それと非定常性。どんなプロセスも、塊に分解すれば非定常となり、そうでなければランダムとはならない。
ちなみに、さまざまな長期間(3ヶ月以上のものもある)の分布を見る限り、両者に大きな違いは感じられない。
経済的な意味については......まあ、わからないですね。市場は観察者にとってランダムであることを前提にしています。実際にランダムかどうかは、あまり重要ではありません。ここでキーワードとなるのは、「観察者向け」です。
何が問題なのか?
https://www.quantstart.com/articles/ARIMA-GARCH-Trading-Strategy-on-the-SP500-Stock-Market-Index-Using-R
をコピーペーストして、FPretしてください。
面白い人ですねー。何でも知っていることが判明!?
何のために?
ログがあるのですが、何か違いがあるのでしょうか?
ログがあるのですが、何か違いがあるのでしょうか?
この場合、対数では異常値を取り除くことができないからです。n-lagで増分値を計算すると異常値が取り除かれます。
対数は、単に0を基準としてグラフを中央に配置します。
で、対数による外れ値を取り除くには、対数スケールを導入する必要があります。
単純増分
増分値の対数(自然数)
この場合、対数では異常値を回避できないからです:n-lagで増分を計算すると異常値を回避できます
対数は、0を基準にしてグラフの中心を決めるだけです。
で、対数による外れ値を取り除くには、対数スケールを導入する必要がある
単純増分
インクリメントの対数(自然数)。
排ガスは厄介なものです。過度に大きな排出量は、より許容範囲の広い最大値に置き換えるのがベストです。
排ガスを完全になくすことはできません。しかし、分布への影響を最小限に抑えるために、対数で行うことができるだけでなく、そうする必要があります。
引用符10と2が隣接している場合を仮に考えてみると
10/2 = 5
ログ(10/2)=0.69
この場合、対数では外れ値を回避できないため、n-lagで 増分を計算すると外れ値が回避できる。
n-lagはTFの増加であり、TFが大きいほど増分は大きくなる。
ラグ50はn8で、TF=8時間足が通常のチャートと違って1分ごとに始まるという意味で、より正確です。
排ガスは厄介なものです。高すぎる排出量を、より許容範囲の広い最大値に完全に置き換える方が良い。
排ガスを完全になくすことはできません。しかし、分布への影響を小さくすることは可能であるばかりでなく、必要であり、それを対数で行うのである。
引用符10と2が隣接している場合を仮に考えてみると
10/2 = 5
ログ(10/2)=0.69
まあいいや、元の増分の値を得るためにeの べき乗を求めたんだろう。
が、異常値を取り除けなかったんですね。
上に2枚の写真を引用しました。