aboutsummaryrefslogtreecommitdiffstats
path: root/python/position.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/position.py')
-rw-r--r--python/position.py31
1 files changed, 15 insertions, 16 deletions
diff --git a/python/position.py b/python/position.py
index d1e289e6..ff0a7fc3 100644
--- a/python/position.py
+++ b/python/position.py
@@ -1,4 +1,4 @@
-from bbg_helpers import init_bbg_session, retreive_data, process_msgs
+from bbg_helpers import init_bbg_session, retreive_data
import pandas as pd
from sqlalchemy import create_engine
from pandas.tseries.offsets import BDay
@@ -14,15 +14,6 @@ def get_list(workdate, asset_class=None, include_unsettled=True):
positions.loc[positions.identifier.str.len() == 12, 'isin'] = positions.identifier
return positions
-def get_bbg_numbers(session, workdate, fields):
- positions = get_list(workdate)
- positions['bbg_id'] = positions.cusip.where(positions.cusip.notnull(), positions['isin']) + \
- ' ' + positions.bbg_type
- data = retreive_data(session, positions.bbg_id.tolist(), fields, workdate)
- df = process_msgs(data)
- df = pd.DataFrame.from_dict(df, orient='index')
- return positions.merge(df, left_on='bbg_id', right_index=True)
-
def backpopulate_marks(begin_str='2015-01-15', end_str='2015-07-15'):
pattern = re.compile("\d{4}-\d{2}-\d{2}")
list_of_daily_folder = (fullpath for (fullpath, _, _) in os.walk('/home/share/Daily')
@@ -48,17 +39,24 @@ def update_securities(session, fields):
securities['bbg_id'] = securities.cusip.where(securities.cusip.notnull(), securities['isin']) + \
' ' + securities.bbg_type
data = retreive_data(session, securities.bbg_id.tolist(), fields)
- df = process_msgs(data)
- df = pd.DataFrame.from_dict(df, orient='index')
+ df = pd.DataFrame.from_dict(data, orient='index')
return securities.merge(df, left_on='bbg_id', right_index=True)
+def init_fx(session, startdate):
+ currencies = ['EURUSD', 'CADUSD']
+ securities = [c + ' Curncy' for c in currencies]
+ data = retreive_data(session, securities, ['PX_LAST'], start_date=startdate)
+ data = data['CADUSD Curncy'].merge(data['CADUSD Curncy'], left_on='date', right_on='date')
+ data.rename(columns={'PX_LAST_x': 'eurusd',
+ 'PX_LAST_y': 'cadusd'}, inplace=True)
+ data.to_sql('fx', engine, index=False, if_exists='append')
+
def update_fx(session, conn, currencies):
securities = [c + ' Curncy' for c in currencies]
data = retreive_data(session, securities, ['FIXED_CLOSING_PRICE_NY'])
- d = process_msgs(data)
colnames = ['date']
values = [pd.datetime.today()]
- for k, v in d.items():
+ for k, v in data.items():
currency_pair = k.split(' ')[0].lower()
colnames.append(currency_pair)
values.append(v['FIXED_CLOSING_PRICE_NY'])
@@ -74,8 +72,7 @@ def populate_cashflow_history(session, conn, workdate):
' ' + securities.bbg_type
securities.set_index('bbg_id', inplace=True)
data = retreive_data(session, securities.index.tolist(), ['HIST_CASH_FLOW'])
- df = process_msgs(data)
- for k, v in df.items():
+ for k, v in data.items():
to_insert = v.get('HIST_CASH_FLOW')
if to_insert is not None:
identifier = securities.loc[k,'identifier']
@@ -108,3 +105,5 @@ if __name__=="__main__":
",coupon=%(CUR_CPN)s WHERE identifier=%(identifier)s",
df.to_dict('records'))
conn.commit()
+ # with init_bbg_session('192.168.0.4', 8194) as session:
+ # init_fx(session, pd.datetime(2013, 1, 1))