aboutsummaryrefslogtreecommitdiffstats
path: root/python/intex_prices.py
blob: 160e9b86157bb3dcaa2e7b4f78d4d9bf94ffcdb3 (plain)
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()