728x90
일전에 설치한 Talib는 32bit 환경에서 설치 한 관계로
최근에 만든 64Bit 가상환경에서는 실행이 안되기 때문에 새로운 환경에 맞는 Talib버전을 찾아 다운로드하고
가상환경이 동작하는 해당 폴더로 다운로드한 파일을 이동하여
pip install 명령으로 재설치를 했다.
1. 맞는 버전의 Talib 찾아 다운로드
2. 가상환경을 activate 한 이후 pip install로 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로 이동평균 적용한 결과 그래프로 확인해 보기
https://datawith.tistory.com/63
728x90
728x90
'데이터 분석 환경' 카테고리의 다른 글
Talib로 파라볼릭 PSAR, RSI ,DMI 그래프 그리기 (0) | 2023.05.06 |
---|---|
스토캐스틱 Stochastics과 RSI 계산 방법 (0) | 2023.05.02 |
텐서플로우 로그레벨 TF_CPP_MIN_LOG_LEVEL 설정 (0) | 2023.04.27 |
아나콘다 Anaconda 가상환경 생성 및 사용 방법 (0) | 2023.04.21 |
댓글