Spaces:
Runtime error
Runtime error
File size: 905 Bytes
e664a97 |
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 |
import pandas as pd
from json_loader import *
import re
def calCulateReturn(pnl,cap):
try:
fc=float(cap)
fp=float(pnl)
except ValueError:
return 0
if(not re.search('\d',str(pnl)) or not re.search('\d',str(cap))):
return 0
elif (fc==0 or fp==0):
return 0
else:
return 100*float(pnl)/float(cap)
def agg_df(pnlDf,capDf):
returnsColumns=[c+' Returns' for c in capDf.columns]
capDf.columns=[c+' Capital' for c in capDf.columns]
pnlDf.columns=[c+' PnL' for c in pnlDf.columns]
result = pd.concat([capDf, pnlDf], axis=1, join="inner")
for r in returnsColumns:
stratName=r.split(' Returns')[0];
capColumnName=stratName+' Capital'
pnlColumnName=stratName+' PnL'
result[r]=result.apply(lambda x:calCulateReturn(x[pnlColumnName],x[capColumnName]),axis=1)
return result
|