diff options
Diffstat (limited to 'python/intex_scenarios.py')
| -rw-r--r-- | python/intex_scenarios.py | 53 |
1 files changed, 26 insertions, 27 deletions
diff --git a/python/intex_scenarios.py b/python/intex_scenarios.py index 68519b3c..bc4a64cf 100644 --- a/python/intex_scenarios.py +++ b/python/intex_scenarios.py @@ -4,12 +4,10 @@ import datetime import csv
from csv import reader
import json
-import codecs
import re
import psycopg2
import common
import sys
-import pdb
pattern11 = re.compile("(REINVEST\[)\w+(::REINV_TBA1\]\[DEAL,\d+\]=)(.*$)")
pattern12 = re.compile("(REINVEST\[)\w+(::REINV_TBA2\]\[DEAL,\d+\]=)(.*$)")
@@ -104,40 +102,41 @@ def generate_scenarios(workdate, dealnames, conn, cursor): csvcdr = reader(fhcdr)
csvrecovery = reader(fhrecovery)
cdrline = csvcdr.next()
- cdrline = "\t".join(["{0:.3f}".format(float(cdr)) for cdr in cdrline]) +"\n"
+ cdrline = "\t".join(["{0:.3f}".format(float(cdr)) for cdr in cdrline])
recoveryline = csvrecovery.next()
- recoveryline = "\t".join(["{0:.3f}".format(float(recovery)) for recovery in recoveryline]) + "\n"
+ recoveryline = "\t".join(["{0:.3f}".format(float(recovery)) for recovery in recoveryline])
i=1
with open(prometheus) as fh:
for line in fh:
+ line = line.rstrip()
if "DEAL_NAME" in line:
- newline = "DEAL_NAME=" + dealname.upper() + "\n"
+ newline = "DEAL_NAME=" + dealname.upper() + "\r\n"
fh2.write(newline)
continue
if not reinvflag and "DO_REINV" in line:
- fh2.write("DO_REINV[DEAL]=0\n")
+ fh2.write("DO_REINV[DEAL]=0\r\n")
continue
if reinvflag:
if pattern11.match(line):
- line = re.sub(pattern11, r"\1{0}\2", line).format(dealname.upper()).rstrip()
+ line = re.sub(pattern11, r"\1{0}\2", line).format(dealname.upper())
if reinv_assets["REINV_TBA1"] == "Float":
- line = line + "COUP_SPR=2.5|AMORT=Bullet|USE_REINVEST_PIP=1|MAT_DATE=84|\n"
+ line = line + "COUP_SPR=2.5|AMORT=Bullet|USE_REINVEST_PIP=1|MAT_DATE=84|"
elif reinv_assets["REINV_TBA1"] == "Fixed":
- line = line + "COUP_SPR=7|AMORT=Bullet|USE_REINVEST_PIP=1|MAT_DATE=84|\n"
- fh2.write(line)
+ line = line + "COUP_SPR=7|AMORT=Bullet|USE_REINVEST_PIP=1|MAT_DATE=84|"
+ fh2.write(line + "\r\n")
continue
if pattern12.match(line):
- line = re.sub(pattern12, r"\1{0}\2", line).format(dealname.upper()).rstrip()
+ line = re.sub(pattern12, r"\1{0}\2", line).format(dealname.upper())
if reinv_assets["REINV_TBA2"] == "Float":
- line = line + "COUP_SPR=2.5|AMORT=Bullet|USE_REINVEST_PIP=1|MAT_DATE=84|\n"
+ line = line + "COUP_SPR=2.5|AMORT=Bullet|USE_REINVEST_PIP=1|MAT_DATE=84|"
elif reinv_assets["REINV_TBA2"] == "Fixed":
- line = line + "COUP_SPR=7|AMORT=Bullet|USE_REINVEST_PIP=1|MAT_DATE=84|\n"
- fh2.write(line)
+ line = line + "COUP_SPR=7|AMORT=Bullet|USE_REINVEST_PIP=1|MAT_DATE=84|"
+ fh2.write(line + "\r\n")
continue
if pattern2.match(line):
line = re.sub(pattern2, r"\1{0}\2{1}", line).format(dealname.upper(), reinvenddate)
- fh2.write(line)
+ fh2.write(line + "\r\n")
continue
if pattern3.match(line):
if reinv_assets['REINV_TBA1'] == 'Fixed':
@@ -146,7 +145,7 @@ def generate_scenarios(workdate, dealnames, conn, cursor): elif reinv_assets['REINV_TBA1'] == 'Float':
line = re.sub(pattern3, r"\1{0}\2{1}", line).format(dealname.upper(),
" ".join(floatreinvprices[i-2]))
- fh2.write(line)
+ fh2.write(line + "\r\n")
continue
if pattern4.match(line):
if reinv_assets['REINV_TBA2'] == 'Fixed':
@@ -155,23 +154,23 @@ def generate_scenarios(workdate, dealnames, conn, cursor): elif reinv_assets['REINV_TBA2'] == 'Float':
line = re.sub(pattern4, r"\1{0}\2{1}", line).format(dealname.upper(),
" ".join(floatreinvprices[i-2]))
- fh2.write(line)
+ fh2.write(line + "\r\n")
continue
if pattern5.match(line):
if reinv_assets['REINV_TBA1']:
line = re.sub(pattern5, r"\1{0}\2{1}", line).format(
- dealname.upper(), perct_reinv_assets['REINV_TBA1'])
- fh2.write(line)
+ dealname.upper(), perct_reinv_assets['REINV_TBA1']).rstrip()
+ fh2.write(line + "\r\n")
continue
if pattern6.match(line):
if reinv_assets['REINV_TBA2']:
line = re.sub(pattern6, r"\1{0}\2{1}", line).format(
- dealname.upper(), perct_reinv_assets['REINV_TBA2'])
- fh2.write(line)
+ dealname.upper(), perct_reinv_assets['REINV_TBA2']).rstrip()
+ fh2.write(line + "\r\n")
continue
if pattern7.search(line):
line = re.sub(pattern7, dealname.upper(), line)
- fh2.write(line)
+ fh2.write(line + "\r\n")
continue
# if "STANDARD_VAR" in line:
# newline = "STANDARD_VAR[REINVEST_PRICE,1]=" + " ".join(reinvprices)
@@ -179,20 +178,20 @@ def generate_scenarios(workdate, dealnames, conn, cursor): # continue
if "LOSS_RATE[DEAL,{0}]".format(i) in line:
newcdrline = "LOSS_RATE[DEAL,{0}]=".format(i) + cdrline
- fh2.write(newcdrline)
+ fh2.write(newcdrline + "\r\n")
continue
if "LOSS_SEVERITY[DEAL,{0}]".format(i) in line:
newrecoveryline = "LOSS_SEVERITY[DEAL,{0}]=".format(i) + recoveryline
- fh2.write(newrecoveryline)
+ fh2.write(newrecoveryline + "\r\n")
i = i + 1
if i <= n_scenarios:
cdrline = csvcdr.next()
- cdrline = "\t".join(["{0:.3f}".format(float(cdr)) for cdr in cdrline]) + "\n"
+ cdrline = "\t".join(["{0:.3f}".format(float(cdr)) for cdr in cdrline]) + "\r\n"
recoveryline = csvrecovery.next()
recoveryline = "\t".join(["{0:.3f}".format(float(recovery)) \
- for recovery in recoveryline]) + "\n"
+ for recovery in recoveryline]) + "\r\n"
continue
- fh2.write(line)
+ fh2.write(line + "\r\n")
fh2.close()
fhrecovery.close()
fhcdr.close()
|
