aboutsummaryrefslogtreecommitdiffstats
path: root/python/globeop_reports.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/globeop_reports.py')
-rw-r--r--python/globeop_reports.py14
1 files changed, 5 insertions, 9 deletions
diff --git a/python/globeop_reports.py b/python/globeop_reports.py
index cffe58ba..d491a61d 100644
--- a/python/globeop_reports.py
+++ b/python/globeop_reports.py
@@ -7,15 +7,12 @@ import load_globeop_report as load_globeop
def get_monthly_pnl():
sql_string = "SELECT * FROM pnl_reports"
- df_pnl = pd.read_sql_query(sql_string, dbengine('dawndb'), parse_dates=['date'])
- df_pnl = df_pnl.set_index('date')
- zero_factor = df_pnl[df_pnl.invid.str.match('^.{9}_A$')]['invid'].unique()
- df_pnl.invid = df_pnl.invid.apply(lambda x: x[:9] if x in zero_factor.tolist() else x)
+ df_pnl = pd.read_sql_query(sql_string, dbengine('dawndb'), parse_dates=['date'],
+ index_col=['date'])
+ df_pnl.invid = df_pnl.invid.str.replace("_A$", "")
pnl_cols = ['bookunrealmtm', 'bookrealmtm', 'bookrealincome', 'bookunrealincome', 'totalbookpl']
- df_pnl = df_pnl.reset_index().groupby(['date','invid']).sum().reset_index('invid')
- df_pnl = df_pnl.groupby('invid').resample('M').last()[['mtd'+col for col in pnl_cols]]
- df_pnl.index.names = ['identifier','date']
- return df_pnl.reset_index()
+ monthend_pnl = df_pnl.groupby(pd.TimeGrouper('M')).apply(lambda df: df.loc[df.index[-1]])
+ return monthend_pnl.groupby(['date', 'invid'])[['mtd' + col for col in pnl_cols]].sum()
def curr_port_PNL(date = datetime.date.today(), asset_class='Subprime'):
sql_string = "SELECT * FROM risk_positions(%s, %s) WHERE notional > 0"
@@ -66,4 +63,3 @@ if __name__=='__main__':
nav = check_valuation()
df_pnl = trade_performance()
df_curr_port = curr_port_PNL()
-