aboutsummaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/bbg_helpers.py34
1 files changed, 17 insertions, 17 deletions
diff --git a/python/bbg_helpers.py b/python/bbg_helpers.py
index 26f6a94a..96390fdd 100644
--- a/python/bbg_helpers.py
+++ b/python/bbg_helpers.py
@@ -3,33 +3,33 @@ import sys
import pandas as pd
from contextlib import contextmanager
import logging
-# Fill SessionOptions
import datetime
logger = logging.getLogger(__name__)
-BBG_IP = '192.168.0.4'
+BBG_IP = ['192.168.0.4', '192.168.0.10', '192.168.0.12']
@contextmanager
-def init_bbg_session(ipaddr, port=8194):
+def init_bbg_session(ip_list, port=8194):
sessionOptions = blpapi.SessionOptions()
- sessionOptions.setServerHost(ipaddr)
sessionOptions.setServerPort(port)
- session = blpapi.Session(sessionOptions)
- try:
+ for ip in ip_list:
# Start a Session
+ sessionOptions.setServerHost(ip)
+ session = blpapi.Session(sessionOptions)
if not session.start():
- raise NameError("Failed to start session")
-
- if not session.openService("//blp/refdata"):
- raise NameError("Failed to open //blp/refdata")
- yield session
- except NameError as e:
- logger.error(e.message)
- raise
- finally:
- session.stop()
+ logger.info("Failed to open session with {0}".format(ip))
+ continue
+ try:
+ if not session.openService("//blp/refdata"):
+ raise NameError("Failed to open //blp/refdata")
+ yield session
+ except NameError as e:
+ logger.error(e.message)
+ raise
+ finally:
+ session.stop()
def append_overrides(request, d):
overrides = request.getElement('overrides')
@@ -114,7 +114,7 @@ if __name__=="__main__":
hist_fields = ['PX_LAST']
securities = ['38145BAA9 Mtge', '75157EAE2 Mtge', 'XS0295516776 Mtge']
fields = ['CUR_CPN', 'START_ACC_DT']
- with init_bbg_session(BBG_IP, 8194) as session:
+ with init_bbg_session(BBG_IP) as session:
hist_data = retrieve_data(session, hist_securities, hist_fields, start_date=testdate)
overrides={'SETTLE_DT': testdate}
ref_data = retrieve_data(session, securities, fields, overrides=overrides)