def loadIndex(self): data=pd.read_csv(self.indexPath,engine='python') data=data[-self.date_duration-1:-1] data=data.reset_index() data=data.fillna(method='ffill') data=np.array(data['Open']) data=np.reshape(data,(-1,1)) data=self.indexScaler.fit_transform(data) data=pd.DataFrame(np.squeeze(data)) print('IndexPrice shape: ',data.shape) return data
def BiznesRadarParse(content): ''' Parse file HTML content to get stocks table ''' table = GetHTMLElement(content, 'table', 'qTableFull') #DebugSave('table.html', table) data = pd.read_html(table, thousands=' ', decimal='.', displayed_only=False)[0] # Remove separator lines data = data[data.ROE != 'ROE'] data = data.reset_index() data = data.rename( columns={ 'Cena / Wartość księgowa': 'C/WK', 'Cena / Przychody ze sprzedaży': 'C/P', 'Cena / Zysk': 'C/Z', 'Aktualny kurs': 'Kurs', 'Średni obrót z 5 sesji [zł]': 'Obrot', 'Piotroski F-Score': 'Piotroski', 'Trend 6m': 'T6M', 'Trend 12m': 'T12M', 'Trend 24m': 'T24M', 'Zmiana kursu 3m [%]': 'Z3', 'Zmiana kursu 6m [%]': 'Z6', 'Zmiana kursu 12m [%]': 'Z12' }) # Convert string values to float/int values for i in (range(len(data['Profil']))): data['ROE'][i] = float(data['ROE'][i].replace(' ', '').strip('%')) data['ROA'][i] = float(data['ROA'][i].replace(' ', '').strip('%')) data['C/WK'][i] = float(data['C/WK'][i]) data['C/P'][i] = float(data['C/P'][i]) data['C/Z'][i] = float(data['C/Z'][i]) data['Kurs'][i] = float(data['Kurs'][i]) data['Obrot'][i] = int(data['Obrot'][i]) data['Piotroski'][i] = int(data['Piotroski'][i]) data['Z3'][i] = float(data['Z3'][i].replace(' ', '').strip('%')) data['Z6'][i] = float(data['Z6'][i].replace(' ', '').strip('%')) data['Z12'][i] = float(data['Z12'][i].replace(' ', '').strip('%')) return data
def prophet(data): """takes in df and produces df of results""" from fbprophet import Prophet data = data.reset_index() data = data.rename(columns={'index': 'ds', 'close': 'y'}) prophet = Prophet(interval_width=0.95) prophet.fit(data) future = prophet.make_future_dataframe(periods=(365), freq='D') forecast = prophet.predict(future) results_df = forecast[['ds', 'yhat', 'yhat_lower', 'yhat_upper']].iloc[-365:] results_df.rename(columns={ 'ds': 'date', 'yhat': 'predicted', 'yhat_lower': 'lower_bound', 'yhat_upper': 'upper_bound' }, inplace=True) results_df.set_index('date', inplace=True) return results_df
def loadCSV(self): """ csv파일이 있는 폴더를 입력으로 받아 데이터를 읽어옴. """ csvList=os.listdir(self.folderPath) dataframe = pd.DataFrame([]) for csv in csvList: data=pd.read_csv(self.folderPath+'/'+csv,engine='python') if(len(data)>self.date_duration): data=data[-self.date_duration-1:-1] data=data.reset_index() data=data['시가'] dataframe=dataframe.append(data,ignore_index=True) dataT=np.array(dataframe).T self.scaler.fit(dataT) dataT=self.scaler.transform(dataT) dataT=dataT.T dataframe=pd.DataFrame(dataT) dataframe=dataframe.transpose() print('StockPrice shape: ',dataframe.shape) return dataframe
###EQUATION: ############### y=-7.018333333333211e-06x+10254.897027666497 ############# ##############################OR y=4.120264489871436e-06x + -5250.689416195902######### # n_samples = 30 epochs = 200 training_rate = 0.01 n_samples = 1570 start_date = '2013-12-01' end_date = '2020-03-01' # Set the ticker ticker = 'GOOGL' # Get the data data = data.get_data_yahoo(ticker, start_date, end_date) data.reset_index(level=0, inplace=True) #data.to_csv("stocks.csv") data = data.iloc[::-1] # x= np.linspace(0,1570,100) # y = 4.120264489871436e-06*x + -5250.689416195902 # plt.plot(x,y) plt.show() print(data.shape) # test_x = np.linspace(0,35, n_samples) # test_y = 5* test_x + 5 * np.random.randn(n_samples) # plt.plot(test_x, test_y, 'o') data['Timestamp'] = data['Date'].apply(lambda date: time.mktime(
data.head() # create a new dataframe with 'date' column as index new = data.set_index('date') # use pandas pivot function to sort adj_close by tickers clean_data = new.pivot(columns='ticker') # check the head of the output clean_data.head() import quandl import pandas as pd import datetime from datetime import timedelta from pandas import ExcelWriter quandl.ApiConfig.api_key = 'NL6weZFnRNw5q_L5-Nve' tickers = ['BA', 'MSFT', 'ACN'] data = quandl.get_table('WIKI/PRICES', ticker=tickers, qopts={'columns': ['ticker', 'date', 'open', 'close']}, date={ 'gte': '2000-01-01', 'lte': '2018-04-16' }, paginate=True) data.reset_index() data.set_index('date')