私はここに新しいです。:) 最初に検索してみましたが、探しているものを正確に見つけることができなかったので、ここに行きます.
Excel ワークシートに、日付の列と N 個の資産の T 日次収益からなるセットがあります。私がやりたいことは、過去 x 日間のすべての資産の収益に基づいて、各月の初めに N*N 共分散行列を作成することです。
ここに共分散行列を作成するためのこのコードがありますが、Excel/VBA で各月の初めにそれらのいくつかを自動的に作成する方法がわかりません。あなたの誰かが私を助けることができれば素晴らしいです。:)
Function VarCovar(Rng As range) As Variant
Dim i As Integer
Dim j As Integer
Dim numcols As Integer
numcols = Rng.Columns.Count
Dim matrix() As Double
ReDim matrix(numcols - 1, numcols - 1)
For i = 1 To numcols
For j = 1 To numcols
matrix(i - 1, j - 1) = Application.WorksheetFunction.Covar(Rng.Columns(i), Rng.Columns(j))
Next j
Next i
VarCovar = matrix
End Function