from keras import optimizers
from keras.models import Sequential
from keras.layers import Dense
from keras.utils import np_utils
import pandas as pd
import numpy as np
from sklearn.utils import shuffle
import matplotlib.pyplot as plt
from MyUtil import YahooData, FeatureSet

# Yahoo site로부터 삼성전자 주가 데이터를 수집한다
# sam = YahooData.getStockData('005930.KS', '2007-01-01')
sam = YahooData.getStockDataYahoo('^KS11', '2007-01-01')
# 저장된 파일을 읽어온다
#sam = pd.read_pickle('StockData/005930.KS')

# 주가 데이터 (OHLCV)로부터 기술적분석 지표들을 추출한다
# u = 0.8 : 수익률 표준편차의 0.8 배 이상이면 주가 상승 (class = 2)
# d = -0.8 : 수익률 표준편차의 -0.8배 이하이면 주가 하락 (class = 1)
# 아니면 주가 횡보 (classs = 0)
# ft = FeatureSet.getFeatureSet(sam, u=0.8, d=-0.7, period=20)
ft = FeatureSet.getFeatureSet(sam, u=0.6, d=-0.6, period=20)
# 분석할 데이터를 읽어와서 적당히 섞은 후 80%는 학습데이터로, 20%는 시험 데이터로 사용한다
ft = shuffle(ft)
nLen = len(ft)
n = int(nLen * 0.8) - 1
trainX = ft.iloc[0:n, 0:6].values
trainY = np_utils.to_categorical(ft.iloc[0:n, 6].values)
testX = ft.iloc[n:(nLen - 1), 0:6].values
testY = np_utils.to_categorical(ft.iloc[n:(nLen - 1), 6].values)
def getStockData(stockCode=stockCode, start='2007-01-01'):
    YahooData.getStockDataYahoo(stockCode + '.KS', start=start)
Esempio n. 3
0
def getData(stockList=stocks, start='2007-01-01'):
    YahooData.getStockDataList(stockList, start=start)