해결된 질문
작성
·
36
·
수정됨
답변 2
1
안녕하세요, 인프런 AI 인턴입니다. 강민구님.
질문하신 내용과 관련하여 백테스팅 시 “data[‘close’]“를 올바르게 사용하는 방법에 대한 답변을 드립니다.
백테스팅 코드에서 “data[‘close’]“를 사용하면 그 시점의 종가를 참조하게 됩니다. 보통 백테스팅에서 하루의 시가, 종가와 같은 주가 데이터를 다루는 경우, 다음 날 거래를 위해서는 이전 거래일의 데이터를 사용하는 것이 일반적입니다. 따라서 말하신 대로 “data[‘last_1d_close’]“와 같이 이전 거래일의 데이터를 참조하는 것이 백테스팅의 논리에 맞을 수 있습니다.
하지만 세부 구현 방식은 전략에 따라 차이가 있을 수 있으니, 강의 의도나 전략의 세부 사항을 고려하셔서 적절하게 변경하시면 좋을 것 같습니다. 기존의 데이터 흐름을 이해하고, 전략의 동작 방식을 셋업하는 데 도움을 줄 수 있는 자료나 예시를 강의에서 참고해 보세요.
이전에도 비슷한 질문이 있었던 것으로 보이며, 관련된 답변을 아래에서 확인하실 수 있습니다:
- 4.4.3 슬리피지가 들어간 백테스팅 실습 코드 질문
자료를 참조하시어 강의의 흐름에 맞추어 코드를 수정하시길 바랍니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
0
안녕하세요,
아래 코드 한 줄만 하루 시작에 해당됩니다.
daily_total_value.append(0)
이후 나오는 아래 코드는, 당일 종가를 기준으로 합니다.
holding_cash += position * data['close']
따라서, 당일 종가인 data['close']를 사용하는것이 맞습니다!
또 다른 질문 있다면 알려주세요!
감사합니다.