diff options
Diffstat (limited to 'python/globeop_reports.py')
| -rw-r--r-- | python/globeop_reports.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/python/globeop_reports.py b/python/globeop_reports.py index 1d798677..3e7eb3df 100644 --- a/python/globeop_reports.py +++ b/python/globeop_reports.py @@ -66,3 +66,27 @@ def get_net_navs(): df = pd.read_csv('/home/serenitas/edwin/Python/subscription_fee_data.csv', parse_dates=['date'], index_col =['date']) df.index = df.index.to_period('M').to_timestamp('M') return df.join(nav) + +def calc_trade_performance_stats(): + df = trade_performance().set_index('trade_date') + df.days_held = df.days_held.dt.days + df['winners'] = df.apply(lambda df: True if df.percent_gain > 0 else False, axis = 1) + df['curr_face'] = df.principal_payment/(df.price/100) + + index = ['All','2017','2016','2015','2014','2013'] + results = pd.DataFrame(index = index) + + win_per = len(df[df.winners].index)/len(df) + loss_per = 1- win_per + temp = {} + temp1 = {} + for x, df1 in df.groupby('winners'): + for y, df2 in df1.groupby(pd.TimeGrouper(freq='A')): + import pdb; pdb.set_trace() + y = y.date().year + results.loc[y] = df2[df2.days_held.notnull()].mean()[['curr_face','initialinvestment', 'days_held']] + results.loc[] = len(df2[df2.winners == x].index)/len(df) + + + df[df.days_held.notnull()]['days_held'].groupby(pd.TimeGrouper(freq='A')).mean() + |
