Colab 실습 - 올웨더 투자 전략 구성 및 백테스트 마지막 질문요
243
投稿した質問数 1
마지막 연도별 수익률 계산에서
만약 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 인턴이에요. 코랩 실습에 관하여 질문주셨군요!
코드를 보면 마지막 연도(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인데 커서아이디 같은거 다운로드 안내같은건 따로없나요??
0
5
1
5. 실습 (1) 개발 환경 준비와 프로젝트 구조 03:11
1
9
1
여태까지 발견한 이슈들 공유드립니다.
1
30
1
수강기간즘연장해주세요
0
15
1
Cursor 실행 문의
1
23
2
슬랙에서 메시지 일부 잘림
1
30
2
API 오류: EGW00201 - 초당 거래건수를 초과
1
38
2
챌린지 인증은 어디서 하나요?
0
27
1
캐글 save version 할 시 md파일과 다름.
1
36
2
FRED API
1
39
1
제가 AWS 에 배포했는데
1
36
1
갑자기 stock_prediction은 어디서 발생한건가요?
1
44
2
pipeline/run-buy-pipeline 실행시 "LLM호출전체실패"에러발생
1
32
2
오늘 처음으로 자동매매가
1
50
2
학습자료는 어디서 받을 수 있을까요?
0
33
1
모의투자 현황
1
41
2
예제 파일 다운 불가
0
34
1
자동으로 계속 돌게하려면
1
52
2
새로운 종목 후보군 추가시 확인해야할 사항들
1
42
2
run.py시 42501 에러
1
51
4
기존 pro 요금제 구독 필요
1
41
2
24강 전체 파이프라인
1
36
1
kospi_plus_kosdaq_list = fdr.StockListing('KRX')
0
264
1
FinanceDataReader 관련 문의드립니다
0
701
2

