我有以下名为 df_cam_cb_days 的数据框:
3m 6m 9m 1y 18m 24m Effective
2021-03-30 49 49 49 49 49 49 2021-03-31
2021-05-13 40 44 44 44 44 44 2021-05-14
2021-06-08 0 26 26 26 26 26 2021-06-09
2021-07-14 0 36 36 36 36 36 2021-07-15
2021-08-31 0 26 48 48 48 48 2021-09-01
2021-10-13 0 0 43 43 43 43 2021-10-14
2021-12-14 0 0 27 62 62 62 2021-12-15
2022-01-26 0 0 0 43 43 43 2022-01-27
2022-03-30 0 0 0 14 63 63 2022-03-31
2022-05-11 0 0 0 0 42 42 2022-05-12
2022-06-08 0 0 0 0 28 28 2022-06-09
2022-07-13 0 0 0 0 35 35 2022-07-14
2022-08-31 0 0 0 0 27 49 2022-09-01
2022-10-12 0 0 0 0 0 42 2022-10-13
2022-12-14 0 0 0 0 0 63 2022-12-15
2023-01-25 0 0 0 0 0 42 2023-01-26
2023-02-10 0 0 0 0 0 15 2023-02-11
我有以下接收数据帧和数组的函数:
mon_policy =np.array([.5,
.75,
.75,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1])
#returns numpy array with Breakeven info
def cam_be_mon(mp,df):
columns = ['3m','6m','9m','1y','18m','24m']
days_array = np.array([0,0,0,0,0,0])
days_array = df_cam_cb_days[columns].sum(axis=0).values
data_array= df_cam_cb_days[columns].values.T
c= np.log(mp/36000+1)
be = np.dot(data_array,c)
be = (np.exp(be[0:])-1)*36000/days_array
return be
target = np.array([.3525,.415,.475,.56,.715,.916366])
cam_be_mon(mon_policy,df_cam_cb_days)
函数原样返回解决方案: array([0.61281788, 0.76943154, 0.84886388, 0.88890188, 0.92955637, 0.95151633])
我需要找到将解决方案 = 返回到 target 的
答案 0 :(得分:1)
我用 scipy.optimize 找到了答案