-
카테고리
-
세부 분야
금융 · 재테크
-
해결 여부
미해결
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년 수익률');
답변을 작성해보세요.
0
AISchool
지식공유자2023.10.10
안녕하세요~. 반갑습니다.
먼저 답신이 늦어서 죄송합니다ㅠ.
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 인턴
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년 전년 대비 수익률을 계산할 수 있을거에요. 좋은 결과가 나오기를 바라겠습니다. 추가적인 질문이 있으시면 언제든지 물어보세요!
답변 2