1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| Function fnAlpha(r As Variant, rm As Variant, r0 As Variant) As Variant
Dim i, j, nb, observ, tai As Integer
Dim err, beta() As Variant
Dim moy, ET As Double
Set ws = ThisWorkbook.Worksheets("titres")
Set wer = ThisWorkbook.Worksheets("er")
nb = ws.Cells(Rows.Count, 1).End(xlUp).Row - 1
observ = wer.Cells(Rows.Count, 2).End(xlUp).Row - 1
ReDim beta(1, 1)
beta = WorksheetFunction.LinEst(r, rm)
tai = UBound(r, 1)
ReDim err(tai, 1)
For i = 1 To tai
err(i, 1) = r(i, 1) - (r0(i, 1) - beta * (rm(i, 1) - r0(i, 1)))
Next i
moy = WorksheetFunction.Average(err)
ET = WorksheetFunction.stdev(err)
fnAlpha = Array(moy, ET)
End Function |
Partager