Guest User

Untitled

a guest
Mar 20th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.14 KB | None | 0 0
  1. beginning = dt.datetime.now()
  2. sql_query = '''select s_info_windcode as BondCD, S_INFO_INDUSTRYNAME as industry
  3. from wind.dbo.CBondIndustryWind where s_info_windcode in %s
  4. '''%('(\''+'\', \''.join(code_list) +'\')')
  5. industry = pd.read_sql(sql_query, self.quantbase)
  6. bank_bond_inv = bank_bond_inv.merge(industry, how='left', left_on='BondCD', right_on='BondCD')
  7. print(str(dt.datetime.now()-beginning) + "秒")
  8.  
  9. beginning = dt.datetime.now()
  10. sql_query = '''select s_info_windcode as BondCD, trade_dt as FDATE, b_anal_duration as duration, b_anal_ytm as ytm
  11. from wind.dbo.CBondValuation where s_info_windcode in %s and trade_dt >=%s and trade_dt <=%s order by FDATE asc
  12. '''%('(\''+'\', \''.join(code_list) +'\')', bank_bond_inv['FDATE'].min().strftime('%Y%m%d'),
  13. bank_bond_inv['FDATE'].max().strftime('%Y%m%d'))
  14. valuation = pd.read_sql(sql_query, self.quantbase, parse_dates=['FDATE'])
  15. bank_bond_inv = bank_bond_inv.merge(valuation, how='left', left_on=['BondCD','FDATE'], right_on=['BondCD','FDATE'])
  16. print(str(dt.datetime.now()-beginning) + "秒")
  17.  
  18. beginning = dt.datetime.now()
  19. sql_query = '''select s_info_windcode as BondCD, ann_dt as FDATE, b_info_creditrating as rating
  20. from wind.dbo.CBondRating where s_info_windcode in %s and ann_dt <=%s order by FDATE asc
  21. '''%('(\''+'\', \''.join(code_list) +'\')',bank_bond_inv['FDATE'].max().strftime('%Y%m%d'))
  22. rating = pd.read_sql(sql_query, self.quantbase,index_col=['FDATE', 'BondCD'],parse_dates=['FDATE'])
  23. rating = rating.unstack().fillna(method='ffill')
  24. rating = rating.reindex(index=self.trade_days['trade_days'],method='ffill')
  25. rating = rating.stack()
  26. rating.reset_index(inplace=True)
  27. rating.rename(columns={'trade_days':'FDATE'}, inplace=True)
  28. bank_bond_inv = bank_bond_inv.merge(rating, how='left', left_on=['BondCD','FDATE'], right_on=['BondCD','FDATE'])
  29. print(str(dt.datetime.now()-beginning) + "秒")
Add Comment
Please, Sign In to add comment