본문 바로가기
  • 데이터야 놀자
데이터 분석 환경

주식차트 이동평균선 Talib SMA 구하고 그래프 그리기

by 데이터랑 2023. 5. 2.
728x90

 

 

일전에 설치한 Talib는 32bit 환경에서 설치 한 관계로

최근에 만든 64Bit 가상환경에서는 실행이 안되기 때문에 새로운 환경에 맞는 Talib버전을 찾아 다운로드하고

가상환경이 동작하는 해당 폴더로 다운로드한 파일을 이동하여

pip install 명령으로 재설치를 했다.

 

1. 맞는 버전의 Talib 찾아 다운로드

 

맞는 버전의 Talib 다운로드
맞는 버전의 Talib 다운로드

 

2. 가상환경을 activate 한 이후 pip install로 talib 설치

가상환경을 activate 하고 Talib 를 설치

 

 

3. Talib로 10일, 60일 이동 평균 계산

### sqlite3 저장된 주식 데이터 로드해서 Talib로 이평 구하는 예제

import pandas as pd
import matplotlib.pyplot as plt
import tensorflow as tf
import sqlite3
import talib

conn = sqlite3.connect("C:\study\data\DBMS\kw_option.db", isolation_level=None)
cur = conn.cursor()  # 커서 획득


sector_code = '201'
table_name = 'sec_price_kospi200'


#####   데이터 로드   ######

sql_option = f"select  date_tr, code_sector,  price_close , volume_tr ,amount_tr \
                    from {table_name} where date_tr > 20220101 and code_sector = {sector_code} order by date_tr, code_sector"  ###

print(sql_option)
df = pd.read_sql(sql_option, conn)
df.set_index("date_tr", inplace=True)

#####    10일, 60일 이동평균선 구하기 ######

sma10 = talib.SMA(df['price_close'], timeperiod=10)
sma60 = talib.SMA(df['price_close'], timeperiod=60)


#####    그래프 그리기  ######

fig, axs = plt.subplots(2, sharex=True, figsize=(10,6), gridspec_kw={'height_ratios': [2, 1]})

# Plot the moving average
axs[0].plot(df.index, df['price_close'], label='Close')
axs[0].plot(df.index, sma10, label='Moving Average10')
axs[0].plot(df.index, sma60, label='Moving Average60')


axs[1].bar(df.index, df['amount_tr'], label='amount')
axs[1].set_title('amount')

axs[0].tick_params(axis='x', which='both', bottom=False, top=False, labelbottom=False)
axs[1].tick_params(axis='x', which='both', rotation=60)
axs[1].xaxis.set_major_locator(ticker.MultipleLocator(7))   ### MultipleLocator 클래스는 x축 간격을 설정하는 데 사용

plt.legend(fontsize=8)      ### 범례 글자 크기  조정
plt.tight_layout()      ### figure 크기 자동 조정

plt.show()

 

3. Talib로 이동평균 적용한 결과 그래프로 확인해 보기

 

Talib 이동평균선 구하기
Talib로 10일이동평균선, 60일이동평균선 구하기

 

 


https://datawith.tistory.com/63

 

주식차트 주가 기술적 지표 분석을 위한 TA-Lib 설치

주식, 선물 옵션과 같은 금융데이터 수집하는 시스템이 구축되면 이를 분석하고 시각화 하는 작업은 어떤 툴로 할까 고민하고 있었는데 TA-Lib 패키지가 눈에 띄었다. TA-Lib은 사실 분석툴이라기

datawith.tistory.com


 

 

728x90
728x90

댓글