#%% terms = LD.term.unique() #set of unique loan terms for term in terms: #for each possible loan term #get relevant set of loans cur_loans = LD.term == term cur_LD = LD[cur_loans] (NAR, net_returns, p_csum) = LCH.get_NARs(cur_LD, term) LD.ix[cur_loans,'ROI'] = NAR #measured performance of each loan LD.ix[cur_loans,'net_returns'] = net_returns #principal weighted avg monthly returns LD.ix[cur_loans,'prnc_weight'] = p_csum #principal weighted avg monthly returns LD.ix[cur_loans,'default_prob'] = LD.ix[cur_loans,'is_observed'].astype(float) #principal weighted avg monthly returns (exp_NAR, tot_default_prob, exp_num_pymnts, exp_net_returns, exp_csum) = \ LCH.get_expected_NARs(cur_LD, term, all_hazards[term]) LD.ix[cur_loans,'ROI'] = exp_NAR LD.ix[cur_loans,'default_prob'] = tot_default_prob LD.ix[cur_loans,'exp_num_pymnts'] = exp_num_pymnts LD.ix[cur_loans,'net_returns'] = exp_net_returns LD.ix[cur_loans,'prnc_weight'] = exp_csum LD.ix[cur_loans, 'best_NAR'] = LCH.get_best_returns(cur_LD, term) LD.ix[LD.is_observed,'exp_num_pymnts'] = LD.ix[LD.is_observed,'num_pymnts'] #%% save_columns = ['ROI', 'acc_now_delinq', 'addr_state', 'annual_inc',
for term in terms: #for each possible loan term #get relevant set of loans cur_loans = LD.term == term cur_LD = LD[cur_loans] (NAR, net_returns, p_csum) = LCH.get_NARs(cur_LD, term) LD.ix[cur_loans, 'ROI'] = NAR #measured performance of each loan LD.ix[cur_loans, 'net_returns'] = net_returns #principal weighted avg monthly returns LD.ix[cur_loans, 'prnc_weight'] = p_csum #principal weighted avg monthly returns LD.ix[cur_loans, 'default_prob'] = LD.ix[cur_loans, 'is_observed'].astype( float) #principal weighted avg monthly returns (exp_NAR, tot_default_prob, exp_num_pymnts, exp_net_returns, exp_csum) = \ LCH.get_expected_NARs(cur_LD, term, all_hazards[term]) LD.ix[cur_loans, 'ROI'] = exp_NAR LD.ix[cur_loans, 'default_prob'] = tot_default_prob LD.ix[cur_loans, 'exp_num_pymnts'] = exp_num_pymnts LD.ix[cur_loans, 'net_returns'] = exp_net_returns LD.ix[cur_loans, 'prnc_weight'] = exp_csum LD.ix[cur_loans, 'best_NAR'] = LCH.get_best_returns(cur_LD, term) LD.ix[LD.is_observed, 'exp_num_pymnts'] = LD.ix[LD.is_observed, 'num_pymnts'] #%% save_columns = [ 'ROI', 'acc_now_delinq', 'addr_state', 'annual_inc', 'annual_inc_joint', 'best_NAR', 'collections_12_mths_ex_med', 'cr_line_dur', 'delinq_2yrs', 'desc_length', 'default_prob', 'dti', 'dti_joint', 'emp_length',