def get_risk_free_rate_daily(): c() start = start_date1 end = end_date1 source_two = 'fred' code = 'DGS10' rfr = DataReader(code, source_two, start, end) rfr = rfr.dropna() rfr = rfr.mean() / 100 d_rfr = rfr / 252 return np.float64(d_rfr)
#avg hourly earnings (Fred: CES0500000003 - from Mar 2006) from statsmodels.tsa.vector_ar.vecm import select_order from statsmodels.tsa.vector_ar.vecm import select_coint_rank from statsmodels.tsa.vector_ar.vecm import VECM from dateutil.relativedelta import relativedelta start_data = datetime.now() - relativedelta(years=66) today = datetime.now() from pandas_datareader.data import DataReader consumer_df = DataReader([ 'PCE', 'UMCSENT', 'UNRATE', 'LCEAMN01USM189S', 'TOTALSL', 'MRTSSM44X72USS', 'HOUST' ], 'fred', start_data, today) consumer_df = consumer_df.dropna() consumer_df.columns = [ 'PCE', 'ConConf', 'Unempl', 'HourlyEarning', 'CCredit', 'RetSales', 'HouseStarts' ] consumer_df = consumer_df.resample('1M').mean() type(consumer_df) # lag order selection lag_order = select_order(data=consumer_df, maxlags=10, deterministic="ci", seasons=12) print(lag_order.summary()) print(lag_order)
# -*- coding: utf-8 -*- """ Created on Tue Oct 31 23:46:25 2017 @author: James """ from pandas_datareader.data import DataReader from datetime import date import matplotlib.pyplot as plt import seaborn as sns import pandas as pd ty10 = DataReader('DGS10', 'fred', date(1962, 1, 1)) ty10.dropna(inplace=True) ty10.plot(title='10-year Treasury') plt.tight_layout() plt.show() #using seaborn with Kernal Desnsity Estimate sns.distplot(ty10) ax = sns.distplot(ty10) ax.axvline(ty10['DGS10'].median(), color='blue', ls='-.') plt.close() #visualizing international income distributions #list the poorest and richest countries worldwide
#----------------------------------------------------------------------------------------------------------------------- # INPUT TARGET = "sp500" pDATA = DataReader(TARGET,'fred',datetime(1985,1,1), datetime.today()).dropna(how='any') # STEP 1.2 Build Target Value INVEST_HORIZON = 20 pDATA ['TARGET'] = pDATA[TARGET].pct_change(INVEST_HORIZON).shift(-INVEST_HORIZON) #----------------------------------------------------------------------------------------------------------------------- # FEATURE EXTRACTOR #pDATA = pd.concat([pDATA, moving_average(pDATA, 20), moving_average(pDATA, 60), macd(pDATA,20, 60), signal_noise_ratio(pDATA,60)], axis=1) pDATA = pd.concat([pDATA, macd(pDATA[TARGET].to_frame(),20, 60), signal_noise_ratio(pDATA[TARGET].to_frame(),60)], axis=1) pDATA2 = pDATA.dropna(how='any') #Y = pDATA2['TARGET'].apply(lambda x: 1 if x > 0.0 else 0 ).values Y = pDATA2['TARGET'].apply(lambda x: -1 if x < 0.0 else 1 if x > 0.035 else 0).values #Y = pDATA2['TARGET'].values X = pDATA2[pDATA2.columns[2:]].values #----------------------------------------------------------------------------------------------------------------------- # STEP 2 - MACHINE LEARNING DCTree_classifier = DecisionTreeClassifier(max_depth=3, random_state=0) DCTree_classifier.fit(X, Y) Y_pred = DCTree_classifier.predict(X) print('Decision Tree Accuracy: %.2f' % accuracy_score(Y, Y_pred)) export_graphviz(DCTree_classifier, out_file="decision_tree1.dot",
return dataFrame count_moving_average(df, 5) df['Moving_Average_5'] = pd.Series(df['close'].rolling(5, min_periods=5).mean()) df.head(10) df[['MA_function', 'OBV', 'close']].plot(figsize=(18, 8), title='MU') df[['ROC', 'Momentum', 'MA_function', 'OBV', 'close']].plot(figsize=(18, 8), title='Features') df['label'] = df.close.shift(-1) df = df.dropna() df.head() # %matplotlib inline # import mpld3 # mpld3.enable_notebook() from sklearn import model_selection from sklearn import preprocessing from sklearn.linear_model import LinearRegression, ElasticNetCV, Ridge from sklearn.neural_network import MLPRegressor from sklearn import linear_model X = np.array(df[['ROC', 'Momentum', 'close']]) Y = np.array(df.label)