diff options
| -rw-r--r-- | python/intex/intex_scenarios.py | 33 |
1 files changed, 12 insertions, 21 deletions
diff --git a/python/intex/intex_scenarios.py b/python/intex/intex_scenarios.py index 7842694b..64d9bfd7 100644 --- a/python/intex/intex_scenarios.py +++ b/python/intex/intex_scenarios.py @@ -48,7 +48,7 @@ def get_recovery(conn, dealname, workdate, defaultrecovery=50): with conn.cursor() as c: try: c.execute(sqlstr, (defaultrecovery, dealname, workdate)) - recovery, = c.fetchone() + (recovery,) = c.fetchone() except (TypeError, psycopg2.DataError): recovery = defaultrecovery finally: @@ -62,7 +62,7 @@ def get_reinvenddate(conn, dealname, workdate): sqlstr = "SELECT reinv_end_date FROM historical_clo_universe(%s, %s)" with conn.cursor() as c: c.execute(sqlstr, (dealname, workdate)) - reinvenddate, = c.fetchone() + (reinvenddate,) = c.fetchone() conn.commit() if reinvenddate: return reinvenddate.strftime("%Y%m%d") @@ -146,7 +146,7 @@ def generate_scenarios(workdate, dealname, conn): line = line.rstrip() if "DEAL_NAME" in line: - newline = "DEAL_NAME=" + dealname.upper() + "\r\n" + newline = f"DEAL_NAME={dealname.upper()}\r\n" fhsss.write(newline) continue if not reinvflag and pattern8.match(line): @@ -156,8 +156,7 @@ def generate_scenarios(workdate, dealname, conn): if not reinvflag and "DO_REINV" in line: fhsss.write("DO_REINV=0" + "\r\n") continue - m = pattern1.match(line) - if reinvflag and m: + if reinvflag and (m := pattern1.match(line)): reinv_number, scen_number = m.groups() key = "REINV_TBA" + reinv_number if key in reinv_assets: @@ -173,7 +172,7 @@ def generate_scenarios(workdate, dealname, conn): coupon, rollingmat ) if liborfloor is not None: - line += "|ARM_LIFE_FLOOR={}".format(liborfloor) + line += f"|ARM_LIFE_FLOOR={liborfloor}" fhsss.write(line + "\r\n") continue if reinvflag and pattern2.match(line): @@ -182,15 +181,8 @@ def generate_scenarios(workdate, dealname, conn): ) fhsss.write(line + "\r\n") continue - m = pattern3.match(line) - if reinvflag and m: + if reinvflag and (m := pattern3.match(line)): reinv_number, scen_number = m.groups() - if dealname == "litpt3" and reinv_number == "1": - line = "STANDARD_VAR[LITPT3::#REINVLOANP100,{0}]".format( - scen_number - ) + "={0}".format(" ".join(reinvprices["REINV_TBA1"])) - fhsss.write(line + "\r\n") - continue reinv_name = "REINV_TBA" + reinv_number if reinv_name in reinvprices: line = "STANDARD_VAR[{0}::#PRICE100_TBA{1},{2}]={3}".format( @@ -201,8 +193,7 @@ def generate_scenarios(workdate, dealname, conn): ) fhsss.write(line + "\r\n") continue - m = pattern5.match(line) - if reinvflag and m: + if reinvflag and (m := pattern5.match(line)): reinv_number, scen_number = m.groups() reinv_name = "REINV_TBA" + reinv_number if reinv_number == "1": @@ -240,12 +231,12 @@ def generate_scenarios(workdate, dealname, conn): line = re.sub(pattern7, dealname.upper(), line) fhsss.write(line + "\r\n") continue - if "LOSS_RATE[DEAL,{0}]".format(i) in line: - newcdrline = "LOSS_RATE[DEAL,{0}]=".format(i) + cdrline + if (begin := f"LOSS_RATE[DEAL,{i}]") in line: + newcdrline = begin + cdrline fhsss.write(newcdrline + "\r\n") continue - if "LOSS_SEVERITY[DEAL,{0}]".format(i) in line: - newrecoveryline = "LOSS_SEVERITY[DEAL,{0}]=".format(i) + recoveryline + if (begin := f"LOSS_SEVERITY[DEAL,{i}]") in line: + newrecoveryline = begin + recoveryline fhsss.write(newrecoveryline + "\r\n") i = i + 1 if i <= n_scenarios: @@ -271,7 +262,7 @@ def generate_scenarios(workdate, dealname, conn): fhsss.close() fhrecovery.close() fhcdr.close() - logger.info("generated scenarios for: {0}".format(dealname)) + logger.info(f"generated scenarios for: {dealname}") if __name__ == "__main__": |
