본문 바로가기
반응형

파이썬/주식25

Python으로 볼린저밴드 Bollinger Bands 보조지표 계산 Bollinger Bands는 미 재무분석가인 존 볼린저가 1983년 개발한 기술적 분석(TA) 도구입니다. 이동평균선을 중심으로 주가가 일정한 범위 내에 있다는 가정으로 다음과 같은 공식을 적용합니다. (1)중간 선 : 20 일 이동 평균 (2)상단 밴드 : 20 일 이동 평균 + (20 일 표준 편차 x2) (3)하단 밴드 : 20 일 이동 평균- (20 일 표준 편차 x2) 주가는 상단 밴드, 하단 밴드 사이에 있을 확률이 95.4% 이기 때문에 주가가 이선 근처에 있을 때 변동성을 추측해볼 수 있는 도구입니다. 캔들스틱 차트를 그린 상태에서 상단 밴드와 하단 밴드를 추가해보겠습니다. from mpl_finance import candlestick2_ohlc import matplotlib.pypl.. 2019. 11. 3.
Python으로 캔들스틱 차트 Candlestick chart 그리기 이번에는 봉차트라고 불리는 캔들 차트 그리기입니다. 캔들 차트란 이렇게 생긴 캔들로 구성된 차트입니다. High부터 Low란 당일 주가가 최고가, 최저가를 나타내고 Real Body란 전일가와 종가를 연결한 부분입니다. 당일 종가가 전일가보다 낮아졌다면 파란색, 높아졌다면 빨간색으로 표시합니다. 이를 나타내기 위해서는 그림 그대로 주가의 High, Open, Close, Low 정보가 필요합니다. 주가 정보를 갖고 오는 것은 지난 번과 마찬가지로 pandas_datareader를 사용했습니다. 모든 Line 별로까지는 아니어도 맥락을 파악할 수 있도록 주석을 달아두었습니다. from mpl_finance import candlestick2_ohlc import matplotlib.pyplot as plt.. 2019. 11. 2.
Python으로 주가 이동평균선 그리기 이전까지 구한 값들을 가지고 차트를 그리기 위해 matplotlib 패키지를 설치해줍니다. pip install matplotlib 아래는 전체 코드입니다. import pandas_datareader.data as web import datetime import matplotlib.pyplot as plt start = datetime.datetime(2019, 1, 1) end = datetime.datetime(2019, 10, 29) ds = web.DataReader("035250.KS", "yahoo", start, end) ma5 = ds['Adj Close'].rolling(window=5).mean() ma20 = ds['Adj Close'].rolling(window=20).mean().. 2019. 10. 29.
Python으로 주가 이동평균 구하기 자주 접할 수 있는 기술적 분석지표인 이동평균선을 구하는 방법입니다. 대부분의 증권사가 5일,20일,60일,120일의 이동평균선을 제공되고 있으며 이 이동평균선(이하 이평선)을 바탕으로 골든크로스와 같은 순간을 포착할 수 있습니다. 이동평균선이란 일정 기간의 주가를 산술 평균한 값입니다. 5일 동안의 주가의 평균을 구하면 5일 주가이동평균선이고 60일이 기준이면 60일 주가이동평균선입니다. 주로 20일 이평선까지는 단기이평선 60일은 중기, 120일 초과 이평선은 장기 이평선으로 구분합니다. 흔히 말하는 골든크로스는 단기이평선이 장기이평선과 교차하여 상승하는 국면을 말합니다. 이는 최근의 주가가 과거의 평균보다 급격하게 상승하고 있다는 의미입니다. 따라서 현재 추세를 상승추세로 판단하고 매수 타이밍으로 .. 2019. 10. 29.
Python으로 주식 데이터 받아오기 pandas_datareader 패키지에 있는 DataReader를 이용하여 받은 데이터를 DataFrame 객체로 만들 수 있습니다. 코드에서 쓰일 pandas_datareader는 따로 설치를 해야하는 패키지이고 datatime은 내장되어있습니다. import pandas_datareader.data as web import datetime start = datetime.datetime(2019, 1, 1) end = datetime.datetime(2019, 10, 29) ds = web.DataReader("068270.KS", "yahoo", start, end) print(ds) 2019-01-01부터 2019-10-29까의 셀트리온(068270)의 가격을 가져옵니다. High Low Open.. 2019. 10. 29.
반응형