aboutsummaryrefslogtreecommitdiffstats
path: root/python/insert_index.py
blob: ce130fcd00cf00faa09c2a61a1b5de3aec42ad0c (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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
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=183000
index = [[offset, 'EU', 21, datetime.date(2017, 6, 20), 'Y3', 100, 0],
         [offset, 'EU', 21, datetime.date(2019, 6, 20), 'Y5', 100, 0],
         [offset, 'EU', 21, datetime.date(2021, 6, 20), 'Y7', 100, 0],
         [offset, 'EU', 21, datetime.date(2024, 6, 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)

eubasketid = 183000
euattach = [0, 3, 6, 12, 100]
eutenors = ['Y3', 'Y5']
for tenor in eutenors:
    for i, (attach, detach) in enumerate(zip(euattach[:-1], euattach[1:])):
        with engine.begin() as conn:
            conn.execute(tranche_ins,
                         trancheid =eubasketid+i,
                         basketid = eubasketid,
                         tenor = tenor,
                         attach = attach,
                         detach = detach)