我有以下计算:np.maximum(0, np.prod([perf_asset, calc_arr['val']]) - amt_payout - np.prod([exposure, calc_arr['delta_1']]))
如果写出来,这将是:
MAX(0, 0.8 × 105.015038 - 80 - TRUE × 5.3135)
MAX(0, 84.0120307692 - 80 - 5.3135)
= 0
如果我打印此文件,输出实际上可以工作,但如果我想将其存储在数据帧中,则不会:
calc_arr['added_amt'] = np.maximum(0, np.prod([perf_asset, calc_arr['val']]) - amt_payout - np.prod([exposure, calc_arr['delta_1']]))
计算突然停止了。在此之前,我甚至不必使用np.prod
和np.sum
。老实说,我完全糊涂了
完整循环:
j = 1
for i in [0.0627,0.0627,0.0627,0.0627,0.0627,0.0627,0.0627,0.0627,0.0627,0.0627,0.0627,0.0627,0.0627,0.0627,0.0627,-0.053,-0.0698,-0.1011,-0.1767,-0.6271,-0.6271,-0.6271,-0.6271,-0.6271,-0.6271,-0.6271,-0.6271,-0.6271,-0.6271,-0.6271]:
risky_return = i
risk_free_return = (-0.0125/260)
stock_val = stock_calc(j, stock_val['amt_payout'], stock_val['alloc_risky'], stock_val['alloc_risk_free'], stock_val['delta_1'], risky_return, risk_free_return)
stock_vals = stock_vals.append(stock_val)
j = j + 1
并且calc_arr['val']
被检索:
calc_arr['val'] = np.sum([np.prod([(1 + perf_risky), alloc_risky]), np.prod([(1 + perf_risk_free), alloc_risk_free])])
我认为您需要
append
值来list
-stock_vals
,然后将其分配给列:我尝试将其重写以列出理解:
相关问题 更多 >
编程相关推荐