マクロ経済指標に基づく市場予測 - ページ 51

 
Vladimir:
そうですね、自分もここのどこかでそんなことを書いたことがあるくらいです。すべての履歴で予測因子を選び、同じ履歴からフォワードテストを行うことは、トレーダーから科学者まで誰もが行う自己欺瞞である。景気予測について書かれた多くの記事は、選択された予測因子のリストから始まり、「素晴らしい」結果を報告しています。過去にうまくいったから」という理由でリバウンドやブレイクアウトなどのストラテジーを選択し、将来もうまくいくことを願い、フォワードテストのための履歴を含むすべての履歴を研究した上でストラテジーを選択したことに気づかずに過去のフォワードテストを示している。私にとって、GDPと市場モデルのフォワードテストは、将来的に、だから私はこのスレッドを開いた - 予測を投稿し、彼らがリアルタイムで実現した方法を参照してください。作品は完成していません。非線形データ変換のアイデアはたくさんあります。例えば、HOUSTのような予測変数は、ある閾値関数を通じてGDP成長率に影響を与える。

非直線性、そうですね。

しかし、非線形関数はどのように求めるのでしょうか?さまざまなバリエーションを試すことで、ですか?それともニューラルネットワークを 使うだけ?

 
Дмитрий:

非直線性、そうですね。

しかし、非線形関数はどのように求めるのでしょうか?さまざまなバリエーションを試すことで、ですか?それともニューラルネットワークを使うだけ?

Random Forestも試してみてください。使いやすいし、非線形性をシミュレートすることもできます。

https://www.quora.com/How-does-random-forest-work-for-regression-1

また、出来上がった関数の外観は、内蔵のツールで評価することができます。

How does random forest work for regression? - Quora
  • www.quora.com
I think the first step would be to understand how decision trees work in a regression problem. You might be aware of CART - Classification and Regression Trees. When dealing with regression problem you try to predict real valued numbers at the leaf nodes which would look something like this for singular scale feature: Now the question comes how...
 
Alexey Burnakov:

また、Random Forestはより使いやすく、非線形性をシミュレートすることもできますので、お試しください。

https://www.quora.com/How-does-random-forest-work-for-regression-1

また、出来上がった関数の外観は、内蔵のツールで評価することができます。

ありがとうございます。Random Forestは身近な存在です。
 
Дмитрий:

非直線性、そうですね。

しかし、非線形関数はどのように求めるのでしょうか?さまざまなバリエーションを試すことで、ですか?それともニューラルネットワークを使うだけ?

だから、一緒に考えよう。シンプルなステップ機能を選びたかったんです。

out = 入力 < しきい値なら -1、入力 > しきい値なら +1

ここで、thresholdは我々の未知の閾値であり、異なる予測因子に対して異なる。例えば、S&P500やGDPの増分は閾値=0、つまりこれらの指標の下落そのものが重要であり、閾値は重要ではない。他の経済指標については、それほど単純ではありません。閾値を調整する必要があります。モデリングはこんな感じでしょうか。

1. データの種類を決定する:歴史の最初と最後の値を比較して、上昇(S&P500、GDP、...)または範囲(失業率、連邦金利、...) - データの堅牢な自動決定方法を考える必要があります。

2.データが増加している場合は、x[i] - x[i-1]の増分で置き換えます。範囲なら、変えないこと。

3.GDPの増分(成長)のようなシミュレーション出力を選び、それにゼロ閾値のステップ関数を適用する。つまり、GDPの成長を±1の2値系列に置き換える。

4.このようにして、予測能力に関するすべての予測因子とその遅延バージョンの列挙を開始する。ポイント2によって予測因子またはその増分を取り、履歴全体にわたるその範囲を測定し、この範囲を例えば10で割って9つの閾値を得る。9つのしきい値のそれぞれを使用して,予測器を+/-のバイナリ系列に置き換え,我々のシミュレーション系列(GDP)の+1および-1と一致する予測器の+1および-1の数をカウントし,履歴のN個の完全なバーについて M個の一致を得る.9つのプログについて、ヒットした頻度M/Nの関数を計算し、ヒットした頻度が最も高くなる閾値を残すようにした。そして、これを各予測子について繰り返す。これはすぐに計算できるはずです。

どなたか、数ページ前に私がここに投稿したデータを参考に、試してみてください。とりあえず線形モデルを終わらせてから、非線形モデルに移りたいと思います。

追記:S&P500とGDPの一連の増分は、マイナス(-1)よりもプラス(+1)の方が多いので、上記の方法を修正して、マイナスの値の一致をより重視し、これらの指標の増加よりも減少を強調する方法を思いつくことができます。例えば、適合度の指標は次のようなものである。

j = m(+1)/n + w*m(-1)/n

ここで、WはGDP成長率に正の値より負の値がどれだけ少ないかを反映した>1の重み付けである。

2つ以上の予測変数からなるモデルを見つけたい場合、大きな問題が発生します。これらの予測器をどのように接続するか、AND、OR、XOR関数で考える必要があります。接続した場合は、再度閾値を最適化する必要があります。

 
Vladimir:

2つ以上の予測変数からなるモデルを見つけたい場合、大きな問題が発生します。ここで、これらの予測器をどのように接続するかを考える必要がある。AND、OR、XOR関数である。接続した場合は、再度閾値を最適化する必要があります。

グリッドにデータを供給すると、入力ベクトルに含まれるすべての予測因子について、「自動的に」一度にしきい値を見つけることができます。
 
Vladimir:

どなたか、数ページ前にここに掲載したデータを持って行って、試してみてください。

同じデータをcsvに変換することはできますか?
 
Stanislav Korotky:
同じデータをcsvに変換することはできますか?
付属しています。最初の列は、1959年第1四半期から2015年第4四半期までの日付をMatlabフォーマットで表示しています。残りの欄は未変換の経済・財務数値 です。GDPは1168列目です。
ファイル:
Data.zip  1037 kb
 

リニアGDPの予測を終了しました。ここでは、2つの四半期先をご紹介します。


モデル中の予測変数は4つですが、3つで十分です。3-4個の予測変数の後、残りはノイズのように見えます。GDPと同じ手法でS&P500を予測すると、非常にうまくいきません。ここにも表示されないんです。早速、先ほどのステップ関数を使った非線形変換も試してみました。線形回帰よりも悪い働きをする。

4月末の新GDP値の発表を待っている。とりあえず休養。

 
Vladimir:
付属しています。最初の列は、1959年第1四半期から2015年第4四半期までの日付をMatlabフォーマットで表示しています。残りの欄は未変換の経済・財務数値です。GDPは1168列目です。
ありがとうございます。しかし、すべての列の名前があることが望ましい。また、私が理解する限り、日付がかなり正確にコピーされていない(数字の正確 さが失われている)ため、エントリーは同じ日付の11のグループになっています。
 
Vladimir:

リニアGDPの予測を終了しました。ここで2四半期先まで

絵はいいのですが、その代わりに、各ステップで予測された変化と実際の変化の積を計算し、全期間で合計して同じ積で割る、ただし、予測された変化と実際の変化はモジュロで取る、ということはできないでしょうか?