aboutsummaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/intex_prices.py58
1 files changed, 58 insertions, 0 deletions
diff --git a/python/intex_prices.py b/python/intex_prices.py
new file mode 100644
index 00000000..160e9b86
--- /dev/null
+++ b/python/intex_prices.py
@@ -0,0 +1,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()