def setMoneySupplyBal(self, isSave=False, tableName=MACROECONOMIC_MONEY_SUPPLY_BAL): df = ts.get_money_supply_bal() if isSave is True: df.to_sql(tableName, self.engine_sql, if_exists='append') return df
def get_money_supply_bal_info(): df = ts.get_money_supply_bal() if df is not None: res = df.to_sql(microE_money_supply_bal, engine, if_exists='replace') msg = 'ok' if res is None else res print('获取货币供应量(年底余额): ' + msg + '\n') else: print('获取货币供应量(年底余额): ' + 'None' + '\n')
def return_money_supply_bal(self): ''' 货币供应量(年底余额) ''' df = ts.get_money_supply_bal() detail = {} for col in df.columns: lt = df[col].values.tolist() lt.reverse() detail[col] = lt self.reply(detail=detail)
def stat_all(tmp_datetime): # 存款利率 data = ts.get_deposit_rate() common.insert_db(data, "ts_deposit_rate", False, "`date`,`deposit_type`") # 贷款利率 data = ts.get_loan_rate() common.insert_db(data, "ts_loan_rate", False, "`date`,`loan_type`") # 存款准备金率 data = ts.get_rrr() common.insert_db(data, "ts_rrr", False, "`date`") # 货币供应量 data = ts.get_money_supply() common.insert_db(data, "ts_money_supply", False, "`month`") # 货币供应量(年底余额) data = ts.get_money_supply_bal() common.insert_db(data, "ts_money_supply_bal", False, "`year`") # 国内生产总值(年度) data = ts.get_gdp_year() common.insert_db(data, "ts_gdp_year", False, "`year`") # 国内生产总值(季度) data = ts.get_gdp_quarter() common.insert_db(data, "ts_get_gdp_quarter", False, "`quarter`") # 三大需求对GDP贡献 data = ts.get_gdp_for() common.insert_db(data, "ts_gdp_for", False, "`year`") # 三大产业对GDP拉动 data = ts.get_gdp_pull() common.insert_db(data, "ts_gdp_pull", False, "`year`") # 三大产业贡献率 data = ts.get_gdp_contrib() common.insert_db(data, "ts_gdp_contrib", False, "`year`") # 居民消费价格指数 data = ts.get_cpi() common.insert_db(data, "ts_cpi", False, "`month`") # 工业品出厂价格指数 data = ts.get_ppi() common.insert_db(data, "ts_ppi", False, "`month`") #############################基本面数据 http://tushare.org/fundamental.html # 股票列表 data = ts.get_stock_basics() print(data.index) common.insert_db(data, "ts_stock_basics", True, "`code`")
def get_macro(): Macro={} Macro['Depo']=ts.get_deposit_rate() Macro['Loan']=ts.get_loan_rate() Macro['RRR']=ts.get_rrr() Macro['MoneySupply']=ts.get_money_supply() Macro['MoneyBalance']=ts.get_money_supply_bal() Macro['GDPYOY']=ts.get_gdp_year() Macro['GDPQOQ']=ts.get_gdp_quarter() Macro['GDPFOR']=ts.get_gdp_for() Macro['GDPPULL']=ts.get_gdp_pull() Macro['GDPCON']=ts.get_gdp_contrib() Macro['CPI']=ts.get_cpi() Macro['PPI']=ts.get_ppi() Macro['SHIBO']=ts.shibor_data() return Macro
def core_function(self, type): self.set_data() print(type) mongo = MongoClient("127.0.0.1", 27017) if (type == 'gdp_year'): print("gdp_year") df = fd.get_gdp_year() elif (type == 'gdp_quarter'): print("gdp_quarter") df = fd.get_gdp_quarter() elif (type == 'gdp_for'): print("gdp_for") df = fd.get_gdp_for() elif (type == 'gdp_pull'): print("gdp_pull") df = fd.get_gdp_pull() elif (type == 'get_money_supply_bal'): print("get_money_supply_bal") df = fd.get_money_supply_bal() elif (type == 'gdp_contrib'): print("gdp_contrib") df = fd.get_gdp_contrib() elif (type == 'get_cpi'): print("get_cpi") df = ts.get_cpi() elif (type == 'get_ppi'): print("get_ppi") df = ts.get_ppi() elif (type == 'get_rrr'): print("get_rrr") df = ts.get_rrr() elif (type == 'money_supply'): print("money_supply") df = ts.get_money_supply() elif (type == 'money_supply_bal'): print("money_supply_bal") df = ts.get_money_supply_bal() else: df = {} print(df) insert_string = df.to_json(orient='records') items = json.loads(insert_string) mongo.macro.gdp_year.insert(items)
def get_money_supply_bal(): """得到货币供应量(年底余额)""" logger.info('Begin get MoneySupplyBal.') try: data_df = ts.get_money_supply_bal() except Exception as e: logger.exception('Error get MoneySupplyBal.') return None else: data_dicts = [] if data_df.empty: logger.warn('Empty get MoneySupplyBal.') else: data_dicts = [{'year': row[0], 'm2': row[1], 'm1': row[2], 'm0': row[3], 'cd': row[4], 'qm': row[5], 'ftd': row[6], 'sd': row[7], 'rests': row[8]} for row in data_df.values] logger.info('Success get MoneySupplyBal.') return data_dicts
def __call__(self, conns): self.base = Base() self.financial_data = conns['financial_data'] '''存款利率''' deposit_rate = ts.get_deposit_rate() self.base.batchwri(deposit_rate, 'deposit_rate', self.financial_data) '''贷款利率''' loan_rate = ts.get_loan_rate() self.base.batchwri(loan_rate, 'loan_rate', self.financial_data) '''存款准备金率''' rrr = ts.get_rrr() self.base.batchwri(rrr, 'RatioOfDeposit', self.financial_data) '''货币供应量''' money_supply = ts.get_money_supply() self.base.batchwri(money_supply, 'money_supply', self.financial_data) '''货币供应量(年底余额)''' money_supply_bal = ts.get_money_supply_bal() self.base.batchwri(money_supply_bal, 'money_supply_bal', self.financial_data) '''国内生产总值(年度)''' gdp_year = ts.get_gdp_year() self.base.batchwri(gdp_year, 'gdp_year', self.financial_data) '''国内生产总值(季度)''' gdp_quarter = ts.get_gdp_quarter() self.base.batchwri(gdp_quarter, 'gdp_quarter', self.financial_data) '''三大需求对GDP贡献''' gdp_for = ts.get_gdp_for() self.base.batchwri(gdp_for, 'gdp_for', self.financial_data) '''三大产业对GDP拉动''' gdp_pull = ts.get_gdp_pull() self.base.batchwri(gdp_pull, 'gdp_pull', self.financial_data) '''三大产业贡献率''' gdp_contrib = ts.get_gdp_contrib() self.base.batchwri(gdp_contrib, 'gdp_contrib', self.financial_data) '''居民消费价格指数''' cpi = ts.get_cpi() self.base.batchwri(cpi, 'cpi', self.financial_data) '''工业品出场价格指数''' ppi = ts.get_ppi() self.base.batchwri(ppi, 'ppi', self.financial_data)
def getMoneySupplyBal(self): file_name = 'money_supply_bal.csv' path = self.index + self.index_money_supply_bal + file_name data = ts.get_money_supply_bal() data.to_csv(path, encoding='utf-8') print(file_name)
if __name__ =='__main__': deposit_rate=ts.get_deposit_rate() deposit_rate .to_csv('D:\\ts\\macro\\deposit_rate.csv',encoding='gbk') loan_rate=ts.get_loan_rate() loan_rate.to_csv('D:\\ts\\macro\\loan_rate.csv', encoding='gbk') rrr=ts.get_rrr() rrr.to_csv('D:\\ts\\macro\\rrr.csv', encoding='gbk') money_supply=ts.get_money_supply() money_supply.to_csv('D:\\ts\\macro\\money_supply.csv', encoding='gbk') money_supply_bal=ts.get_money_supply_bal() money_supply_bal.to_csv('D:\\ts\\macro\\money_supply_bal.csv', encoding='gbk') gdp_year=ts.get_gdp_year() gdp_year.to_csv('D:\\ts\\macro\\gdp_year.csv', encoding='gbk') gdp_quater=ts.get_gdp_quarter() gdp_quater.to_csv('D:\\ts\\macro\\gdp_quater.csv', encoding='gbk') gdp_for=ts.get_gdp_for() gdp_for.to_csv('D:\\ts\\macro\\gdp_for.csv', encoding='gbk') gdp_pull=ts.get_gdp_pull() gdp_pull.to_csv('D:\\ts\\macro\\gdp_pull.csv', encoding='gbk') gdp_contrib=ts.get_gdp_contrib()
# HisPrice.to_csv('price.csv') # pro = ts.pro_api() # ts.set_token('2ea046a36dbb32e269770c7cb28bd826164adb2588936cefc04dc3e3') # df = pro.top_list(trade_date='20190315') # print(df) # pro = ts.pro_api() # ts.set_token('2ea046a36dbb32e269770c7cb28bd826164adb2588936cefc04dc3e3') # df = pro.daily(ts_code='600115.SH') # # print(df) # from datetime import datetime,timedelta # v_yestoday=(datetime.now() - timedelta(1)).strftime('%Y-%m-%d') # df=ts.get_hist_data('000686',v_yestoday) # print(df) import tushare as ts import numpy as np df = ts.get_money_supply_bal()[::-1] print(df.head()) df['m2'] = df['m2'].astype(float) df['rate'] = df['m2'].apply(np.log).diff().apply(lambda x: format(x, '+.2%')) print(df[['year', 'm2', 'rate']]) # destTable = srcTable.loc[srcTable.tid == 1, ['ts1', 'ts2']].sort_values(by='ts1') # destTable.columns = ['deltaTs1', 'deltaTs2'] # destTable = destTable.diff() # destTable = destTable.fillna(0) # destTable['delay'] = destTable['deltaTs2'] - destTable['deltaTs1'] # print(destTable)
def job_5(): try: print("I'm working......宏观经济数据") # 存款利率 deposit_rate = ts.get_deposit_rate() data = pd.DataFrame(deposit_rate) data.to_sql('deposit_rate',engine,index=True,if_exists='replace') print("存款利率......done") # 贷款利率 loan_rate = ts.get_loan_rate() data = pd.DataFrame(loan_rate) data.to_sql('loan_rate',engine,index=True,if_exists='replace') print("贷款利率......done") # 存款准备金率 rrr = ts.get_rrr() data = pd.DataFrame(rrr) data.to_sql('rrr',engine,index=True,if_exists='replace') print("存款准备金率......done") # 货币供应量 money_supply = ts.get_money_supply() data = pd.DataFrame(money_supply) data.to_sql('money_supply',engine,index=True,if_exists='replace') print("货币供应量......done") # 货币供应量(年底余额) money_supply_bal = ts.get_money_supply_bal() data = pd.DataFrame(money_supply_bal) data.to_sql('money_supply_bal',engine,index=True,if_exists='replace') print("货币供应量(年底余额)......done") # 国内生产总值(年度) gdp_year = ts.get_gdp_year() data = pd.DataFrame(gdp_year) data.to_sql('gdp_year',engine,index=True,if_exists='replace') print("国内生产总值(年度)......done") # 国内生产总值(季度) gdp_quarter = ts.get_gdp_quarter() data = pd.DataFrame(gdp_quarter) data.to_sql('gdp_quarter',engine,index=True,if_exists='replace') print("国内生产总值(季度)......done") # 三大需求对GDP贡献 gdp_for = ts.get_gdp_for() data = pd.DataFrame(gdp_for) data.to_sql('gdp_for',engine,index=True,if_exists='replace') print("三大需求对GDP贡献......done") # 三大产业对GDP拉动 gdp_pull = ts.get_gdp_pull() data = pd.DataFrame(gdp_pull) data.to_sql('gdp_pull',engine,index=True,if_exists='replace') print("三大产业对GDP拉动......done") # 三大产业贡献率 gdp_contrib = ts.get_gdp_contrib() data = pd.DataFrame(gdp_contrib) data.to_sql('gdp_contrib',engine,index=True,if_exists='replace') print("三大产业贡献率......done") # 居民消费价格指数 cpi = ts.get_cpi() data = pd.DataFrame(cpi) data.to_sql('cpi',engine,index=True,if_exists='replace') print("居民消费价格指数......done") # 工业品出厂价格指数 ppi = ts.get_ppi() data = pd.DataFrame(ppi) data.to_sql('ppi',engine,index=True,if_exists='replace') print("工业品出厂价格指数......done") except Exception as e: print(e)
def getmoneysupplybaldb(): moneysupplybal = ts.get_money_supply_bal() moneysupplybal.to_sql('moneysupplybal_data',ENGINE,if_exists='append')
def init(engine, session): tbl = "macro_deposit" tsl.log(tbl + " start...") df = ts.get_deposit_rate() df.to_sql(tbl,engine,if_exists='replace') tsl.log(tbl + " done") tbl = "macro_loan" tsl.log(tbl + " start...") df = ts.get_loan_rate() df.to_sql(tbl,engine,if_exists='replace') tsl.log(tbl + " done") tbl = "macro_rrr" tsl.log(tbl + " start...") df = ts.get_rrr() df.to_sql(tbl,engine,if_exists='replace') tsl.log(tbl + " done") tbl = "macro_money_supply" tsl.log(tbl + " start...") df = ts.get_money_supply() df.to_sql(tbl,engine,if_exists='replace') tsl.log(tbl + " done") tbl = "macro_money_supply_year" tsl.log(tbl + " start...") df = ts.get_money_supply_bal() df.to_sql(tbl,engine,if_exists='replace') tsl.log(tbl + " done") tbl = "macro_gdp_year" tsl.log(tbl + " start...") df = ts.get_gdp_year() df.to_sql(tbl,engine,if_exists='replace') tsl.log(tbl + " done") tbl = "macro_gdp_quarter" tsl.log(tbl + " start...") df = ts.get_gdp_quarter() df.to_sql(tbl,engine,if_exists='replace') tsl.log(tbl + " done") tbl = "macro_gdp_for" tsl.log(tbl + " start...") df = ts.get_gdp_for() df.to_sql(tbl,engine,if_exists='replace') tsl.log(tbl + " done") tbl = "macro_gdp_pull" tsl.log(tbl + " start...") df = ts.get_gdp_pull() df.to_sql(tbl,engine,if_exists='replace') tsl.log(tbl + " done") tbl = "macro_gdp_contrib" tsl.log(tbl + " start...") df = ts.get_gdp_contrib() df.to_sql(tbl,engine,if_exists='replace') tsl.log(tbl + " done") tbl = "macro_cpi" tsl.log(tbl + " start...") df = ts.get_cpi() df.to_sql(tbl,engine,if_exists='replace') tsl.log(tbl + " done") tbl = "macro_ppi" tsl.log(tbl + " start...") df = ts.get_ppi() df.to_sql(tbl,engine,if_exists='replace') tsl.log(tbl + " done") tbl = "gold_and_foreign_reserves" tsl.log(tbl + " start...") df = ts.get_gold_and_foreign_reserves() df.to_sql(tbl,engine,if_exists='replace') tsl.log(tbl + " done")
def macro_type(macros_type): if macros_type == 'deposit_rate': deposit_rate = ts.get_deposit_rate() if deposit_rate is not None: deposit_rate.to_sql('macros_deposit_rate', engine, flavor='mysql', if_exists='replace') elif macros_type == 'loan_rate': loan_rate = ts.get_loan_rate() if loan_rate is not None: loan_rate.to_sql('macros_loan_rate', engine, flavor='mysql', if_exists='replace') elif macros_type == 'rrr': rrr = ts.get_rrr() if rrr is not None: rrr.to_sql('macros_rrr', engine, flavor='mysql', if_exists='replace') elif macros_type == 'money_supply': money_supply = ts.get_money_supply() if money_supply is not None: money_supply.to_sql('macros_money_supply', engine, flavor='mysql', if_exists='replace') elif macros_type == 'money_supply_bal': money_supply_bal = ts.get_money_supply_bal() if money_supply_bal is not None: money_supply_bal.to_sql('macros_money_supply_bal', engine, flavor='mysql', if_exists='replace') elif macros_type == 'gdp_year': gdp_year = ts.get_gdp_year() if gdp_year is not None: gdp_year.to_sql('macros_gdp_year', engine, flavor='mysql', if_exists='replace') elif macros_type == 'gdp_quater': gdp_quater = ts.get_gdp_quarter() if gdp_quater is not None: gdp_quater.to_sql('macros_gdp_quater', engine, flavor='mysql', if_exists='replace') elif macros_type == 'gdp_for': gdp_for = ts.get_gdp_for() if gdp_for is not None: gdp_for.to_sql('macros_gdp_for', engine, flavor='mysql', if_exists='replace') elif macros_type == 'gdp_pull': gdp_pull = ts.get_gdp_pull() if gdp_pull is not None: gdp_pull.to_sql('macros_gdp_pull', engine, flavor='mysql', if_exists='replace') elif macros_type == 'gdp_contrib': gdp_contrib = ts.get_gdp_contrib() if gdp_contrib is not None: gdp_contrib.to_sql('macros_gdp_contrib', engine, flavor='mysql', if_exists='replace') elif macros_type == 'cpi': cpi = ts.get_cpi() if cpi is not None: cpi.to_sql('macros_cpi', engine, flavor='mysql', if_exists='replace') elif macros_type == 'ppi': ppi = ts.get_ppi() if ppi is not None: ppi.to_sql('macros_ppi', engine, flavor='mysql', if_exists='replace')
def Get_money_supply_bal(self): dt = ts.get_money_supply_bal() dt.to_csv('货币供应量(年底余额).csv') print(dt)
__author__ = 'Shawn Li' import tushare as ts from sklearn.neural_network import MLPRegressor from sklearn.preprocessing import MinMaxScaler import pandas as pd from pandas import Series, DataFrame import numpy as np import matplotlib.pyplot as plt import seaborn as sns money_supply = ts.get_money_supply_bal() gdp_year = ts.get_gdp_year() gdp_for = ts.get_gdp_for() length = len(money_supply) def float_array(array): float_arr = np.array(array) float_arr = float_arr.astype(np.float64) return float_arr m2 = float_array(money_supply['m2'])[0:length] m1 = float_array(money_supply['m1'])[0:length] m0 = float_array(money_supply['m0'])[0:length] cd = float_array(money_supply['cd'])[0:length] gdp = float_array(gdp_year['gdp'])[0:length] pi = float_array(gdp_year['pi'])[0:length]
def load_macro_economy(): # 下载存款利率 try: rs = ts.get_deposit_rate() pd.DataFrame.to_sql(rs, "deposit_rate", con=conn_macro_economy, flavor="mysql", if_exists="replace", index=True) print("下载存款利率ok") except: print("下载存款利率出错") # 下载贷款利率 try: rs = ts.get_loan_rate() pd.DataFrame.to_sql(rs, "loan_rate", con=conn_macro_economy, flavor="mysql", if_exists="replace", index=True) print("下载贷款利率ok") except: print("下载贷款利率出错") # 下载存款准备金率 try: rs = ts.get_rrr() pd.DataFrame.to_sql(rs, "rrr", con=conn_macro_economy, flavor="mysql", if_exists="replace", index=True) print("下载存款准备金率ok") except: print("下载存款准备金率出错") # 下载货币供应量 try: rs = ts.get_money_supply() pd.DataFrame.to_sql(rs, "money_supply", con=conn_macro_economy, flavor="mysql", if_exists="replace", index=True) print("下载货币供应量ok") except: print("下载货币供应量出错") # 下载货币供应量(年底余额) try: rs = ts.get_money_supply_bal() pd.DataFrame.to_sql( rs, "money_supply_bal", con=conn_macro_economy, flavor="mysql", if_exists="replace", index=True ) print("下载货币供应量(年底余额)ok") except: print("下载货币供应量(年底余额)出错") # 下载国内生产总值(年度) try: rs = ts.get_gdp_year() pd.DataFrame.to_sql(rs, "gdp_year", con=conn_macro_economy, flavor="mysql", if_exists="replace", index=True) print("下载国内生产总值(年度)ok") except: print("下载国内生产总值(年度)出错") # 下载国内生产总值(季度) try: rs = ts.get_gdp_quarter() pd.DataFrame.to_sql(rs, "gdp_quarter", con=conn_macro_economy, flavor="mysql", if_exists="replace", index=True) print("下载国内生产总值(季度)ok") except: print("下载国内生产总值(季度)出错") # 下载三大需求对GDP贡献 try: rs = ts.get_gdp_for() pd.DataFrame.to_sql(rs, "gdp_for", con=conn_macro_economy, flavor="mysql", if_exists="replace", index=True) print("下载三大需求对GDP贡献ok") except: print("下载三大需求对GDP贡献出错") # 下载三大产业对GDP拉动 try: rs = ts.get_gdp_pull() pd.DataFrame.to_sql(rs, "gdp_pull", con=conn_macro_economy, flavor="mysql", if_exists="replace", index=True) print("下载三大产业对GDP拉动ok") except: print("下载三大产业对GDP拉动出错") # 下载三大产业贡献率 try: rs = ts.get_gdp_contrib() pd.DataFrame.to_sql(rs, "gdp_contrib", con=conn_macro_economy, flavor="mysql", if_exists="replace", index=True) print("下载三大产业贡献率ok") except: print("下载三大产业贡献率出错") # 下载居民消费价格指数 try: rs = ts.get_cpi() pd.DataFrame.to_sql(rs, "gdp_cpi", con=conn_macro_economy, flavor="mysql", if_exists="replace", index=True) print("下载居民消费价格指数ok") except: print("下载居民消费价格指数出错") # 下载工业品出厂价格指数 try: rs = ts.get_ppi() pd.DataFrame.to_sql(rs, "gdp_ppi", con=conn_macro_economy, flavor="mysql", if_exists="replace", index=True) print("下载工业品出厂价格指数ok") except: print("下载工业品出厂价格指数出错")