Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- beginning = dt.datetime.now()
- sql_query = '''select s_info_windcode as BondCD, S_INFO_INDUSTRYNAME as industry
- from wind.dbo.CBondIndustryWind where s_info_windcode in %s
- '''%('(\''+'\', \''.join(code_list) +'\')')
- industry = pd.read_sql(sql_query, self.quantbase)
- bank_bond_inv = bank_bond_inv.merge(industry, how='left', left_on='BondCD', right_on='BondCD')
- print(str(dt.datetime.now()-beginning) + "秒")
- beginning = dt.datetime.now()
- sql_query = '''select s_info_windcode as BondCD, trade_dt as FDATE, b_anal_duration as duration, b_anal_ytm as ytm
- from wind.dbo.CBondValuation where s_info_windcode in %s and trade_dt >=%s and trade_dt <=%s order by FDATE asc
- '''%('(\''+'\', \''.join(code_list) +'\')', bank_bond_inv['FDATE'].min().strftime('%Y%m%d'),
- bank_bond_inv['FDATE'].max().strftime('%Y%m%d'))
- valuation = pd.read_sql(sql_query, self.quantbase, parse_dates=['FDATE'])
- bank_bond_inv = bank_bond_inv.merge(valuation, how='left', left_on=['BondCD','FDATE'], right_on=['BondCD','FDATE'])
- print(str(dt.datetime.now()-beginning) + "秒")
- beginning = dt.datetime.now()
- sql_query = '''select s_info_windcode as BondCD, ann_dt as FDATE, b_info_creditrating as rating
- from wind.dbo.CBondRating where s_info_windcode in %s and ann_dt <=%s order by FDATE asc
- '''%('(\''+'\', \''.join(code_list) +'\')',bank_bond_inv['FDATE'].max().strftime('%Y%m%d'))
- rating = pd.read_sql(sql_query, self.quantbase,index_col=['FDATE', 'BondCD'],parse_dates=['FDATE'])
- rating = rating.unstack().fillna(method='ffill')
- rating = rating.reindex(index=self.trade_days['trade_days'],method='ffill')
- rating = rating.stack()
- rating.reset_index(inplace=True)
- rating.rename(columns={'trade_days':'FDATE'}, inplace=True)
- bank_bond_inv = bank_bond_inv.merge(rating, how='left', left_on=['BondCD','FDATE'], right_on=['BondCD','FDATE'])
- print(str(dt.datetime.now()-beginning) + "秒")
Add Comment
Please, Sign In to add comment