1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
import os
import os.path
import csv
import psycopg2
import pdb
if os.name =='nt':
root = "//WDsentinel/share/CorpCDOs"
elif os.name == 'posix':
root = '/home/share/CorpCDOs'
conn = psycopg2.connect(database="ET",
user="et_user",
password="Serenitas1",
host="192.168.1.108")
cursor = conn.cursor()
def cusips_from_dealname(dealname, curr = cursor):
curr.execute("SELECT \"Deal Cusip List\" from latest_clo_universe "
" where dealname = %s", (dealname,))
return curr.fetchone()[0]
for dealname in ["abcl071", "ammcclo5", "atr5cdo", "blumt3", "callid6"]:
cusips = cusips_from_dealname(dealname)
price = []
wal = []
duration = []
for cusip in cusips:
filename = cusip + "-PY.txt"
i = 1
with open(os.path.join(root, "Scenarios", "Prices", filename)) as fh:
csvinput = csv.DictReader(fh, dialect = 'excel-tab')
for line in csvinput:
if i==1:
price.append(line)
elif i==5:
wal.append(line)
elif i==6:
duration.append(line)
i = i+1
with open(os.path.join(root, "Scenarios", "Prices", dealname + "-price.csv"), "wb") as fh:
csvoutput = csv.writer(fh)
for i in range(100):
csvoutput.writerow([price[j]['Scenario {0}'.format(i+1)] for j in range(len(cusips))])
with open(os.path.join(root, "Scenarios", "Prices", dealname + "-wal.csv"), "wb") as fh:
csvoutput = csv.writer(fh)
for i in range(100):
csvoutput.writerow([wal[j]['Scenario {0}'.format(i+1)] for j in range(len(cusips))])
with open(os.path.join(root, "Scenarios", "Prices", dealname + "-duration.csv"), "wb") as fh:
csvoutput = csv.writer(fh)
for i in range(100):
csvoutput.writerow([duration[j]['Scenario {0}'.format(i+1)] for j in range(len(cusips))])
cursor.close()
conn.close()
|