You may pad the result with the value of your choice

padding is a keyword argument

  • if you assign e.g. padding = missing, the result will be padded
  • you may pad using any defined value and all types except Nothing
  • example pads(missing, 0, nothing, NaN, 'โˆ…', AbstractString)
using RollingFunctions

๐ท๐‘Ž๐‘ก๐‘Žโ‚ = [1, 2, 3, 4, 5]
๐ท๐‘Ž๐‘ก๐‘Žโ‚‚ = [5, 4, 3, 2, 1]

๐น๐‘ข๐‘›๐‘ = cov
๐‘†๐‘๐‘Ž๐‘› = 3

result = rolling(๐น๐‘ข๐‘›๐‘, ๐ท๐‘Ž๐‘ก๐‘Žโ‚, ๐ท๐‘Ž๐‘ก๐‘Žโ‚‚, ๐‘†๐‘๐‘Ž๐‘›; padding = zero(eltype(๐‘€)))

#=
julia> result
5 element Vector {Float64}:
  0.0
  0.0
 -1.0
 -1.0
 -1.0
=#

Give me the real values first, pad to the end.

result = rolling(๐น๐‘ข๐‘›๐‘, ๐ท๐‘Ž๐‘ก๐‘Žโ‚, ๐ท๐‘Ž๐‘ก๐‘Žโ‚‚, ๐‘†๐‘๐‘Ž๐‘›; padding = missing, padlast=true)

#=
5 element Vector {Float64}:
 -1.0
 -1.0
 -1.0
  missing
  missing
=#

technical aside: this is not the same as reverse(rolling(๐น๐‘ข๐‘›๐‘,๐ท๐‘Ž๐‘ก๐‘Žโ‚, ๐ท๐‘Ž๐‘ก๐‘Žโ‚‚, ๐‘†๐‘๐‘Ž๐‘›; padding = missing).