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
59
60
61
62
63
64
65
66
67
68
|
import datetime
from sqlalchemy import MetaData, create_engine, Table
engine = create_engine('postgresql://mlpdb_user:Serenitas1@debian/mlpdb')
metadata = MetaData(bind = engine)
index_desc = Table('index_desc', metadata, autoload=True)
index_ins = index_desc.insert()
offset=182970
# index = [[offset, 'EU', 19, datetime.date(2016, 06, 20), 'Y3', 100, 0],
# [offset, 'EU', 19, datetime.date(2018, 06, 20), 'Y5', 100, 0],
# [offset, 'EU', 19, datetime.date(2020, 06, 20), 'Y7', 100, 0],
# [offset, 'EU', 19, datetime.date(2023, 06, 20), 'Y10', 100, 0]]
# index = [[offset, 'HY', 21, datetime.date(2016, 12, 20), 'Y3', 100, 0],
# [offset, 'HY', 21, datetime.date(2018, 12, 20), 'Y5', 100, 0],
# [offset, 'HY', 21, datetime.date(2020, 12, 20), 'Y7', 100, 0],
# [offset+10, 'EU', 20, datetime.date(2016, 12, 20), 'Y3', 100, 0],
# [offset+10, 'EU', 20, datetime.date(2018, 12, 20), 'Y5', 100, 0],
# [offset+10, 'EU', 20, datetime.date(2020, 12, 20), 'Y7', 100, 0],
# [offset+10, 'EU', 20, datetime.date(2023, 12, 20), 'Y10', 100, 0],
# [offset+20, 'IG', 21, datetime.date(2016, 12, 20), 'Y3', 100, 0],
# [offset+20, 'IG', 21, datetime.date(2018, 12, 20), 'Y5', 100, 0],
# [offset+20, 'IG', 21, datetime.date(2020, 12, 20), 'Y7', 100, 0],
# [offset+20, 'IG', 21, datetime.date(2023, 12, 20), 'Y10', 100, 0]
# ];
for line in index:
with engine.begin() as conn:
conn.execute(index_ins, basketid = line[0],
index = line[1],
series = line[2],
maturity = line[3],
tenor = line[4],
indexfactor = line[5],
cumulativeloss = line[6])
tranche_desc = Table('tranche_desc', metadata, autoload = True)
tranche_ins = tranche_desc.insert()
igbasketid = 182990
igattach = [0, 3, 7, 15, 100]
igtenors = ['Y3', 'Y5', 'Y7', 'Y10']
for tenor in igtenors:
for i, (attach, detach) in enumerate(zip(igattach[:-1], igattach[1:])):
with engine.begin() as conn:
conn.execute(tranche_ins,
trancheid = igbasketid+i,
basketid = igbasketid,
tenor = tenor,
attach=attach,
detach = detach)
hybasketid = 182970
hyattach = [0, 15, 25, 35, 100]
hytenors = ['Y3', 'Y5', 'Y7']
for tenor in hytenors:
for i, (attach, detach) in enumerate(zip(hyattach[:-1], hyattach[1:])):
with engine.begin() as conn:
conn.execute(tranche_ins,
trancheid = hybasketid+i,
basketid = hybasketid,
tenor = tenor,
attach = attach,
detach = detach)
# euattach = [0, 3, 6, 9, 12, 22, 100]
# eutenors = ['Y3', 'Y5', 'Y7']
|