私はMatlabで何かをコーディングする際にこの問題を抱えています.誰かがこれを解決する方法を知っていることを願っています.
概要: 問題は、いくつかの異なる金融ポートフォリオ (1070 ポートフォリオ) があり、ポートフォリオごとに回帰を実行する必要があることです。次に、最初の回帰からの残差を使用して、それらの残差をブートストラップしたい (約 1000 のブートストラップされた残差サンプルを取得する) が、PER EACH INDIVIDUAL ポートフォリオ。これは、異なるポートフォリオの残差を混合できないためです。
詳細: ポートフォリオ番号を示す 1 つのベクトルがあります。これは乱数ですが、その特定のポートフォリオに固有のものです。次に、ポートフォリオのリターンを 1 つの長いベクトル (14k の観測値) に収集します。そのため、「ローリング ウィンドウ」OLS 回帰のようなものを実行し、個々のポートフォリオに対応するデータのみを回帰させ、定数とベータを抽出し、これらを保存してから、すべての異なるポートフォリオに対してこれを行います。
定数とベータで構成されるマトリックスを取得すると、各行が特定のポートフォリオに対応します。
ポートフォリオには異なる量のデータポイントがあるため、あるポートフォリオには 60 の観測があり、別のポートフォリオには 150 の観測がある場合があります。したがって、一定の間隔だけで個別のポートフォリオに分割することはできません。
ブートストラップされた残差については、上記のように、サンプル全体ではなく、ポートフォリオの残差から置換して引き出す必要があります。さらにデータを操作するには、これらのブートストラップ サンプルが必要ですが、1000 個のブートストラップ サンプルがあり、残りは通常の加算および減算操作です...
誰もこれを行う方法を知っていますか? Stata では、回帰部分では「by()」オプションを使用するだけですが、ブートストラップではそれほど簡単ではありません...
どんな助けにもとても感謝しています!
よろしく、フィリップ