cumprod

pandas cumprod 소개

cumprod 소개

pandas.Series.cumprod()누적 곱 (Cumulative Product) 을 계산하는 Pandas 함수입니다.

“누적 곱” 이란, 각 값들을 차례로 곱해서 누적된 곱을 생성하는 것을 의미합니다.

수식: pct_change() 계산 방법

$\text{S}_n = \text{X}_1 \times \text{X}_2 \times \ldots \times \text{X}_n$

  • $\text{S}_n$ : n 번째 누적 곱
  • $\text{X}_i$ : i 번째 값

사용법1 - 기본

import pandas as pd

data = {'return': [1.02, 0.98, 1.03, 0.97, 1.05]}
df = pd.DataFrame(data)
df['cumulative_return'] = df['return'].cumprod()
print(df)

출력 결과

  return  cumulative_return
0   1.02    1.0200   # 1.02
1   0.98    1.0000   # 1.02 * 0.98
2   1.03    1.0300   # 1.00 * 1.03
3   0.97    0.9991   # 1.03 * 0.97
4   1.05    1.0490   # 0.9991 * 1.05

사용법 2 - 수익률 구하기

import pandas as pd

# 일일 수익률 데이터 예제
data = {'return': [0.01, -0.02, 0.03, 0.04, -0.01]}
df = pd.DataFrame(data)

# 누적 수익률 (1 + 수익률)을 곱하여 자산 가치 추적
df['cumulative_return'] = (1 + df['return']).cumprod()

print(df)

1 을 더하는 이유는 수익률을 계산할 때, 1을 더해주어야 누적 곱을 구할 수 있습니다. 예를 들어, 0.01 (1%)의 수익률은 1 + 0.01 = 1.01로 표현됩니다.

출력 결과

   return  cumulative_return
0    0.01            1.0100
1   -0.02            0.9898
2    0.03            1.0195
3    0.04            1.0603
4   -0.01            1.0497

마지막 행은 총 누적 수익률을 나타냅니다. 예를 들어, 1.0497은 4.97%의 누적 수익률을 의미합니다.


pct_change
locust 설치 및 사용하기

Related Docs

NCloud LB & SourcePipeline 구축하기
Data 분석 기초
tech collection 서비스 성능 개선하기
Selenium 복권 구매 자동화 만들어보기
디자인 패턴
책 리뷰
블로그 챌린지