def getRMCovarianceShort(self, i): if self.fre_type == 'short': data = DataAPI.RMCovarianceShortGet(tradeDate="%s" % i, beginDate=u"", \ endDate=u"", Factor=u"", field=u"", pandas="1") elif self.fre_type == 'long': data = DataAPI.RMCovarianceLongGet(tradeDate="%s" % i, beginDate=u"", \ endDate=u"", Factor=u"", field=u"", pandas="1") del data['tradeDate'] del data['FactorID'] del data['updateTime'] path = '%s/Covariance' % self.dirpath if not os.path.exists(path): os.mkdir(path) if not data.empty: df1 = pd.DataFrame([np.nan] + data.columns[1:].tolist()) df1 = df1.T df1.columns = data.columns df_new = pd.concat([df1, data]) df_new.iloc[1:, 1:] = df_new.iloc[1:, 1:] / 10000.0 df_new.to_csv('%s/Covariance_%s.csv' % (path, i), encoding='gb18030', index=None, header=None) self.check1 = df_new
def getRMCovarianceShort(self, i): if self.fre_type == 'short': data = DataAPI.RMCovarianceShortGet(tradeDate="%s"%i,beginDate=u"",\ endDate=u"",Factor=u"",field=u"",pandas="1") elif self.fre_type == 'long': data = DataAPI.RMCovarianceLongGet(tradeDate="%s"%i,beginDate=u"",\ endDate=u"",Factor=u"",field=u"",pandas="1") del data['tradeDate'] del data['FactorID'] path = '%s/getRMCovariance' % self.dirpath if not os.path.exists(path): os.mkdir(path) if not data.empty: data.to_csv('%s/%s.csv' % (path, i), encoding='gb18030', index=None)
def update_uqer_risk_model(ds, **kwargs): ref_date, this_date = process_date(ds) flag = check_holiday(this_date) if not flag: return df = api.RMExposureDayGet(tradeDate=ref_date) df.rename(columns={ 'tradeDate': 'trade_date', 'ticker': 'code' }, inplace=True) df.code = df.code.astype(int) del df['secID'] engine.execute( delete(RiskExposure).where(RiskExposure.trade_date == this_date)) data_info_log(df, RiskExposure) format_data(df) df.to_sql(RiskExposure.__table__.name, engine, index=False, if_exists='append') df = api.RMFactorRetDayGet(tradeDate=ref_date) df.rename(columns={'tradeDate': 'trade_date'}, inplace=True) engine.execute( delete(RiskReturn).where(RiskReturn.trade_date == this_date)) data_info_log(df, RiskReturn) format_data(df) df.to_sql(RiskReturn.__table__.name, engine, index=False, if_exists='append') df = api.RMSpecificRetDayGet(tradeDate=ref_date) df.rename(columns={ 'tradeDate': 'trade_date', 'ticker': 'code' }, inplace=True) df.code = df.code.astype(int) del df['secID'] engine.execute( delete(SpecificReturn).where(SpecificReturn.trade_date == this_date)) data_info_log(df, SpecificReturn) format_data(df) df.to_sql(SpecificReturn.__table__.name, engine, index=False, if_exists='append') df = api.RMCovarianceDayGet(tradeDate=ref_date) df.rename(columns={'tradeDate': 'trade_date'}, inplace=True) engine.execute( delete(RiskCovDay).where(RiskCovDay.trade_date == this_date)) data_info_log(df, RiskCovDay) format_data(df) df.to_sql(RiskCovDay.__table__.name, engine, index=False, if_exists='append') df = api.RMCovarianceShortGet(tradeDate=ref_date) df.rename(columns={'tradeDate': 'trade_date'}, inplace=True) engine.execute( delete(RiskCovShort).where(RiskCovShort.trade_date == this_date)) data_info_log(df, RiskCovShort) format_data(df) df.to_sql(RiskCovShort.__table__.name, engine, index=False, if_exists='append') df = api.RMCovarianceLongGet(tradeDate=ref_date) df.rename(columns={'tradeDate': 'trade_date'}, inplace=True) engine.execute( delete(RiskCovLong).where(RiskCovLong.trade_date == this_date)) data_info_log(df, RiskCovLong) format_data(df) df.to_sql(RiskCovLong.__table__.name, engine, index=False, if_exists='append') df = api.RMSriskDayGet(tradeDate=ref_date) df.rename(columns={ 'tradeDate': 'trade_date', 'ticker': 'code' }, inplace=True) df.code = df.code.astype(int) del df['secID'] engine.execute( delete(SpecificRiskDay).where(SpecificRiskDay.trade_date == this_date)) data_info_log(df, SpecificRiskDay) format_data(df) df.to_sql(SpecificRiskDay.__table__.name, engine, index=False, if_exists='append') df = api.RMSriskShortGet(tradeDate=ref_date) df.rename(columns={ 'tradeDate': 'trade_date', 'ticker': 'code' }, inplace=True) df.code = df.code.astype(int) del df['secID'] engine.execute( delete(SpecificRiskShort).where( SpecificRiskShort.trade_date == this_date)) data_info_log(df, SpecificRiskShort) format_data(df) df.to_sql(SpecificRiskShort.__table__.name, engine, index=False, if_exists='append') df = api.RMSriskLongGet(tradeDate=ref_date) df.rename(columns={ 'tradeDate': 'trade_date', 'ticker': 'code' }, inplace=True) df.code = df.code.astype(int) del df['secID'] engine.execute( delete(SpecificRiskLong).where( SpecificRiskLong.trade_date == this_date)) data_info_log(df, SpecificRiskLong) format_data(df) df.to_sql(SpecificRiskLong.__table__.name, engine, index=False, if_exists='append')
def update_uqer_risk_model(ds, **kwargs): ref_date, this_date = process_date(ds) table = 'risk_exposure' df = api.RMExposureDayGet(tradeDate=ref_date) df.rename(columns={'tradeDate': 'Date', 'ticker': 'Code'}, inplace=True) df.Code = df.Code.astype(int) del df['secID'] engine2.execute("delete from {0} where Date = '{1}';".format(table, ref_date)) df.to_sql(table, engine2, index=False, if_exists='append') table = 'risk_return' df = api.RMFactorRetDayGet(tradeDate=ref_date) df.rename(columns={'tradeDate': 'Date'}, inplace=True) engine2.execute("delete from {0} where Date = '{1}';".format(table, ref_date)) df.to_sql(table, engine2, index=False, if_exists='append') table = 'specific_return' df = api.RMSpecificRetDayGet(tradeDate=ref_date) df.rename(columns={'tradeDate': 'Date', 'ticker': 'Code'}, inplace=True) df.Code = df.Code.astype(int) del df['secID'] engine2.execute("delete from {0} where Date = '{1}';".format(table, ref_date)) df.to_sql(table, engine2, index=False, if_exists='append') table = 'risk_cov_day' df = api.RMCovarianceDayGet(tradeDate=ref_date) df.rename(columns={'tradeDate': 'Date'}, inplace=True) engine2.execute("delete from {0} where Date = '{1}';".format(table, ref_date)) df.to_sql(table, engine2, index=False, if_exists='append') table = 'risk_cov_short' df = api.RMCovarianceShortGet(tradeDate=ref_date) df.rename(columns={'tradeDate': 'Date'}, inplace=True) engine2.execute("delete from {0} where Date = '{1}';".format(table, ref_date)) df.to_sql(table, engine2, index=False, if_exists='append') table = 'risk_cov_long' df = api.RMCovarianceLongGet(tradeDate=ref_date) df.rename(columns={'tradeDate': 'Date'}, inplace=True) engine2.execute("delete from {0} where Date = '{1}';".format(table, ref_date)) df.to_sql(table, engine2, index=False, if_exists='append') table = 'specific_risk_day' df = api.RMSriskDayGet(tradeDate=ref_date) df.rename(columns={'tradeDate': 'Date', 'ticker': 'Code'}, inplace=True) df.Code = df.Code.astype(int) del df['secID'] engine2.execute("delete from {0} where Date = '{1}';".format(table, ref_date)) df.to_sql(table, engine2, index=False, if_exists='append') table = 'specific_risk_short' df = api.RMSriskShortGet(tradeDate=ref_date) df.rename(columns={'tradeDate': 'Date', 'ticker': 'Code'}, inplace=True) df.Code = df.Code.astype(int) del df['secID'] engine2.execute("delete from {0} where Date = '{1}';".format(table, ref_date)) df.to_sql(table, engine2, index=False, if_exists='append') table = 'specific_risk_long' df = api.RMSriskLongGet(tradeDate=ref_date) df.rename(columns={'tradeDate': 'Date', 'ticker': 'Code'}, inplace=True) df.Code = df.Code.astype(int) del df['secID'] engine2.execute("delete from {0} where Date = '{1}';".format(table, ref_date)) df.to_sql(table, engine2, index=False, if_exists='append')