투자.재테크
[백테스트] KODEX 200 | 양봉 시 종가 매수, 다음날 시가 매도
헬로덱
2024. 9. 28. 15:36
반응형
KODEX 200 데이터를 이용해서 당일 양봉 시에 종가에 매수하여 다음날 시가에 매도하는 백테스트를 수행해 보았습니다.
매수매도 전략
매수 : 양봉시 종가 매수
매도 : 매수 다음날 시가 매도
파이썬으로 데이터 받기
import yfinance as yf
def save_stock_data_to_excel(ticker: str, file_name: str):
try:
# 주식 데이터를 가져옵니다.
stock = yf.Ticker(ticker)
# 과거 최대치 데이터를 다운로드합니다.
data = stock.history(period='max')
# 시간대 정보를 제거합니다.
data.index = data.index.tz_localize(None)
# 3일 종가기준 이동평균 계산
data['3-Day MA'] = data['Close'].rolling(window=3).mean()
# 5일 종가기준 이동평균 계산
data['5-Day MA'] = data['Close'].rolling(window=5).mean()
# 20일 종가기준 이동평균 계산
data['20-Day MA'] = data['Close'].rolling(window=20).mean()
# 데이터프레임을 엑셀 파일로 저장합니다.
data.to_excel(file_name, sheet_name=ticker)
print(f"Data for {ticker} saved to {file_name}")
except Exception as e:
print(f"An error occurred: {e}")
# 사용자로부터 티커 입력 받기
ticker_symbol = input("Enter the stock ticker symbol (e.g., AAPL for US stocks or 005930 for Korean stocks): ")
# 한국 주식이면 KOSPI/KOSDAQ 형식으로 변경
if ticker_symbol.isdigit() and len(ticker_symbol) == 6:
# KOSPI로 가정하고 .KS 추가 (필요에 따라 .KQ로 변경 가능)
ticker_symbol += ".KS"
# 파일 이름 생성
file_name = f"{ticker_symbol}_historical_data2.xlsx"
# 주가 데이터를 엑셀로 저장
save_stock_data_to_excel(ticker_symbol, file_name)
KODEX 200 티커인 069500 입력
엑셀로 추가 테스트
위 파이썬 프로그램으로 받은 엑셀파일에서 양봉 시에 종가로 매수하고 다음날 시가에 매도하는 백테스트를 해보았습니다.
다음에는 프로그램을 수정해서 바로 나올 수 있게 하면 될 것 같습니다.
백테스트 결과
2017년 1월 29일~2024년 9월 27일 데이터에 대한 수행결과
누적수익률 : 2.78배(수수료 적용 X)
바이 앤 홀드 : 2.65배
결론
KODEX 200에는 먹히지 않는 전략
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
반응형