我需要帮助打印出一份声明,该声明提供夏普比率最高的 A 和 B 各自分配的权重;这是从数据框派生的。
到目前为止我做了什么:
输入
efficient_df = pd.DataFrame({'Weights_A':weighted_A,
'Weights_B':weighted_B,
'Portfolio Return': port_ret,
'Portfolio Std Dev': port_std,
'Sharpe Ratio': sharpe_ratio
})
print (efficient_df.head())
print('\n')
sharpe_highest = efficient_df[efficient_df['Sharpe Ratio'] == efficient_df['Sharpe Ratio'].max()]
print('Optimal portfolio details: ')
print(sharpe_highest)
输出
Weights_A Weights_B Portfolio Return Portfolio Std Dev Sharpe Ratio
0 0.00 1.00 0.001933 0.017561 0.110081
1 0.01 0.99 0.001928 0.017386 0.110916
2 0.02 0.98 0.001924 0.017212 0.111760
3 0.03 0.97 0.001919 0.017040 0.112612
4 0.04 0.96 0.001914 0.016869 0.113472
Optimal portfolio details :
Weights_A Weights_B Portfolio Return Portfolio Std Dev Sharpe Ratio
51 0.51 0.49 0.001692 0.01148 0.147348
我需要的是这样的声明:
The best allocation is 0.51 of A and 0.49 of B.
但是,下面的代码没有按预期工作。
print('The best allocation is ', weighted_A == efficient_df['Sharpe Ratio'].max(), 'of A and ', weighted_B == efficient_df['Sharpe Ratio'].max(), ' of B.')
结果
The best allocation is False of A and False of B.
斯蒂芬大帝
jeck猫
相关分类