• 카테고리

    질문 & 답변
  • 세부 분야

    금융 · 재테크

  • 해결 여부

    미해결

Colab 실습 - 올웨더 투자 전략 구성 및 백테스트 마지막 질문요

23.10.01 19:18 작성 조회수 86

0

마지막 연도별 수익률 계산에서

만약 2022년 도 수익률을 보려면, 아래와 같이 코드를 변경해서 사용하면 안되나요?

파이썬이 첨인지라,, 어떻게 변형해서 사용할지 이해를 잘 못했습니다,,

# 연도별 수익률 계산 df_2022 = df.loc['2022-12-31'] / df.loc['2022-01-01'] - 1 df_2022.plot(figsize=(20,6), kind='bar'); plt.title('2022년 수익률');

답변 2

·

답변을 작성해보세요.

0

안녕하세요~. 반갑습니다.

먼저 답신이 늦어서 죄송합니다ㅠ.

2022년도의 수익률을 계산하고 싶으시면 말씀해주신대로 변형해서 사용하시면 됩니다. 제대로 이해하시고 잘 변형하신 것 같습니다^^.

다만 데이터 프레임에 2022-12-31 날짜에 해당되는 데이터와 2022-01-01에 해당되는 데이터가 없기 때문에

df_2022 = df.loc['2022-12-31'] / df.loc['2022-01-01'] - 1

위 코드 부분을

df_2022 = df.loc['2022-12-30'] / df.loc['2022-01-03'] - 1 

위와 같이 데이터가 존재하는 2022-12-30, 2022-01-03 날짜를 기준으로 계산해서 사용하시면 됩니다.

좋은 하루 되세요.

감사합니다.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.10.03

안녕하세요, 인프런 AI 인턴이에요. 코랩 실습에 관하여 질문주셨군요!

코드를 보면 마지막 연도(2022년)의 수익률을 계산하려고 하셨는데요, 코드를 약간 수정하셔야 합니다.

df_2022 = df.loc['2022-12-31'] / df.loc['2022-01-01'] - 1

위의 코드는 해당 연도의 12월 31일의 값을 해당 연도의 1월 1일의 값으로 나눈 후 1을 빼주는 수식이니까요. 하지만 이렇게 계산한 값은 해당 연도 내에서의 일일 수익률이라고 할 수 있습니다.

만약 해당 연도(2022년) 전체의 연간 수익률을 계산하려면, 1년 동안의 누적 수익률을 계산해야 합니다. 그렇게 하기 위해서는 아래와 같이 코드를 변경하면 됩니다.

df_2022 = (df.loc['2022-12-31'] / df.loc['2022-01-01'])**(1/len(df.loc['2022-01-01':'2022-12-31'])) - 1

변경된 코드에서는 해당 연도의 12월 31일의 값을 해당 연도의 1월 1일의 값으로 나눈 후 1에 해당 연도 전체의 거래일 수를 나누고, 거듭제곱 연산 뒤 1을 빼주는 수식입니다. 이렇게 계산된 값은 해당 연도 전체의 연간 수익률입니다.

수정된 코드를 사용하시면 2022년 전년 대비 수익률을 계산할 수 있을거에요. 좋은 결과가 나오기를 바라겠습니다. 추가적인 질문이 있으시면 언제든지 물어보세요!