Функция cumsum() в R - вычисление кумулятивной суммы
Функция cumsum() в R используется для вычисления кумулятивной суммы вектора.
Кумулятивная сумма (накопительная сумма) представляет собой последовательность, получаемую путём последовательного прибавления текущего элемента ко всем предыдущим элементам, и широко используется в таких областях, как финансовый анализ и статистика запасов.
Синтаксис функции cumsum() выглядит следующим образом:
cumsum(x)
Описание параметра:
xВходной числовой вектор.
Пример
# Создать вектор
x <- c(1, 2, 3, 4, 5, 6)
# Вычислить кумулятивную сумму
result.cumsum <- cumsum(x)
print(result.cumsum)
# Вычислить кумулятивное произведение
result.cumprod <- cumprod(x)
print(result.cumprod)
x <- c(1, 2, 3, 4, 5, 6)
# Вычислить кумулятивную сумму
result.cumsum <- cumsum(x)
print(result.cumsum)
# Вычислить кумулятивное произведение
result.cumprod <- cumprod(x)
print(result.cumprod)
Результат вывода после выполнения приведённого выше кода:
[1] 1 3 6 10 15 21 [1] 1 2 6 24 120 720
cumsum() очень полезен при моделировании совокупной доходности:
Пример
# Симуляция ежедневных ставок доходности
возвращает <- c(0.02, -0.01, 0.03, 0.015, -0.005, 0.02, -0.01)
# Рассчитать кумулятивную доходность
cumulative <- cumsum(returns)
print(paste("Совокупная доходность:", cumulative))
# Вычислить кумулятивный максимум
print(paste("Кумулятивный максимум:", cummax(cumulative)))
# Вычислить кумулятивный минимум
print(paste("Кумулятивный минимум:", cummin(cumulative)))
возвращает <- c(0.02, -0.01, 0.03, 0.015, -0.005, 0.02, -0.01)
# Рассчитать кумулятивную доходность
cumulative <- cumsum(returns)
print(paste("Совокупная доходность:", cumulative))
# Вычислить кумулятивный максимум
print(paste("Кумулятивный максимум:", cummax(cumulative)))
# Вычислить кумулятивный минимум
print(paste("Кумулятивный минимум:", cummin(cumulative)))
Результат вывода после выполнения приведённого выше кода:
[1] "累计收益: 0.02" "累计收益: 0.01" "累计收益: 0.04" [4] "累计收益: 0.055" "累计收益: 0.05" "累计收益: 0.07" [7] "累计收益: 0.06" [1] "累计最大: 0.02" "累计最大: 0.02" "累计最大: 0.04" [4] "累计最大: 0.055" "累计最大: 0.055" "累计最大: 0.07" [7] "累计最大: 0.07" [1] "累计最小: 0.02" "累计最小: 0.01" "累计最小: 0.01" [4] "累计最小: 0.01" "累计最小: 0.01" "累计最小: 0.01" [7] "累计最小: 0.01"Другие расширения
Примеры на языке R