Why not use something like Welford’s algorithm?
function cumvar(x)
sumsqr = (prevmean = zero(eltype(x)) / 1)^2
v = Vector{typeof(sumsqr)}(undef, length(x))
for (n, x) in enumerate(x)
mean = (prevmean*(n-1) + x) / n
sumsqr += (x - prevmean) * (x - mean)
v[n] = sumsqr / n
prevmean = mean
end
return v
end