Är det möjligt att skriva en script i NAT så att den skall göra exact som VBA kod nedan?
Window, sigma, offset är variabla parametrar.
VBA Excel specifika anrop som days, prisKolumn, Cells() är inte relevanta:
Days anger i min VBA Excel hur mångar dagar bakåt vill jag se kurvan.
prisKolumn anger i vilken kolumn finns CLOSE kurser.
Hoppas någon kan klura ut koden. Detta 21-dagars medelvärde kurvan fäljer väldigt bra CLOSE kurvan och samtidigt är mycker smooth.
Mvh
Thomas
*********************************************
Window = 21
sigma = 8
offset = 1
m = (offset * (Window - 1))
s = Window / sigma
prisKolumn = 1
days = 400
For i = 1 To days - Window
WtdSum = 0
CumWtd = 0
Wtd = 0
For k = 0 To Window - 1
Price = Cells(i + k, prisKolumn)
Wtd = Exp(-((k - m) * (k - m)) / (2 * s * s))
WtdSum = WtdSum + Wtd * Price
CumWtd = CumWtd + Wtd
Next
alAv = WtdSum / CumWtd
Cells(i + Window - 1, 2).Value = alAv
Next
************************************************
Window, sigma, offset är variabla parametrar.
VBA Excel specifika anrop som days, prisKolumn, Cells() är inte relevanta:
Days anger i min VBA Excel hur mångar dagar bakåt vill jag se kurvan.
prisKolumn anger i vilken kolumn finns CLOSE kurser.
Hoppas någon kan klura ut koden. Detta 21-dagars medelvärde kurvan fäljer väldigt bra CLOSE kurvan och samtidigt är mycker smooth.
Mvh
Thomas
*********************************************
Window = 21
sigma = 8
offset = 1
m = (offset * (Window - 1))
s = Window / sigma
prisKolumn = 1
days = 400
For i = 1 To days - Window
WtdSum = 0
CumWtd = 0
Wtd = 0
For k = 0 To Window - 1
Price = Cells(i + k, prisKolumn)
Wtd = Exp(-((k - m) * (k - m)) / (2 * s * s))
WtdSum = WtdSum + Wtd * Price
CumWtd = CumWtd + Wtd
Next
alAv = WtdSum / CumWtd
Cells(i + Window - 1, 2).Value = alAv
Next
************************************************
Comment