1) 백테스팅
📖 백테스팅이란? - 이전 주가의 추이에 전략을 대입해보는 것
2) 백테스팅 전략 세우기 & 주가 가져오기
(1) 전략 세우기
🎢 이동평균선이란? - 이전 며칠(3일, 5일, 20일, 50일 등) 간의 가격을 평균하여 움직이는 선!
⇒ 일수가 커질수록 곡선이 완만해질 수밖에 없겠죠!
💡 우리가 쓸 전략 - 골든 크로스 : 주가가 높아질 가능성이 있다는 신호
- 데드크로스 : 주가가 낮아질 가능성이 있다는 신호
(2) 주가 가져오기
1. 라이브러리 설치
!pip install yfinance pandas-datareader finance-datareader
2. 주가 가져오기
from pandas_datareader import data as pdr
import yfinance as yf
yf.pdr_override()
import numpy as np
import pandas as pd
import FinanceDataReader as fdr
df = fdr.DataReader('종목번호','시작년도')
df.head()
3.살펴보기
Open: 시초가 High: 고가 Low: 저가 Close: 종가 Volume: 거래량 Change: 변동
ex) 종가만 가져오기 => df[['Close']]
ex) 변동이 20% 이상인 날들만 가져오기 => df[abs(df['Change']) > 0.05] # df[df['보고 싶은 항복'] > 몇 %]
3) 간단한 그래프 그려보기
(1) 주가 그래프 그려보기
.plot(y=['컬럼명'])
df = fdr.DataReader('066570','2018')
df.plot(y=['Close'])

# 좀더 크게 그리기
df = fdr.DataReader('066570','2018')
df.plot(y=['Close'],figsize=[15,8])
# 격자 추가하기
df = fdr.DataReader('066570','2018')
df.plot(y=['Close'],figsize=[15,8],grid=True)

# 만약 다양한 항목을 한번에 나타내고 싶다
df = fdr.DataReader('066570','2018')
df.plot(y=['Open','Close'],figsize=[15,8],grid=True)
# 삼성전자와 LG전자를 같이 나타내고 싶다
df_1 = fdr.DataReader('005930','2018')
df_2 = fdr.DataReader('066570','2018')
df = pd.DataFrame()
df['Samsung'] = df_1['Change'] # 변동(Change)을 기준으로 나타내고 싶다
df['LG'] = df_2['Change']
df.tail(100).plot(figsize=[15,8]). # 최근 100일을 기준으로 [15,8] 크기로 표현해라
'스파르타 > 파이썬' 카테고리의 다른 글
파이썬 _ 04주차 _ 백테스팅1 _ 수익률 구하기 (0) | 2023.01.17 |
---|---|
파이썬 _ 04주차 _ 백테스팅1 _ 이동평균값 (0) | 2023.01.17 |
파이썬_03주차_ 종목 분석하기 (0) | 2023.01.09 |
파이썬_03주차_ dart API (0) | 2023.01.09 |
파이썬_02주차_분석하기 (0) | 2023.01.06 |