Commit fcca9df3 authored by 赵杰's avatar 赵杰

默认收益和回撤评价

parent 80e62fb9
......@@ -684,16 +684,17 @@ class PortfolioDiagnose(object):
total_profit = round(group_result[group_name]["cumulative_profit"] / 10000, 2)
# 整体表现 回撤能力
fund_rank_data = fund_rank[fund_rank["fund_id"].isin(self.portfolio)]
z_score = fund_rank_data["z_score"].mean()
drawdown_rank = group_result[group_name]["max_drawdown"][0]
z_score = (group_result[group_name]["cumulative_return"] - 1)*100
drawdown_rank = group_result[group_name]["max_drawdown"][0]*100
return_rank_df = fund_rank_data["annual_return_rank"]
z_score_level = np.select([z_score >= 80,
50 <= z_score < 80,
z_score < 50], [0, 1, 2]).item()
drawdown_level = np.select([drawdown_rank <= 0.05,
0.05 <= drawdown_rank < 0.1,
0.1 <= drawdown_rank < 0.15,
drawdown_rank > 0.15], [0, 1, 2, 3]).item()
z_score_level = np.select([z_score > 20,
15 <= z_score < 20,
10 <= z_score < 15,
z_score < 10], [0, 1, 2, 3]).item()
drawdown_level = np.select([drawdown_rank <= 5,
5 <= drawdown_rank < 7,
7 <= drawdown_rank < 10,
drawdown_rank > 10], [0, 1, 2, 3]).item()
# 收益稳健
fund_rank_re = fund_rank_data[fund_rank_data["annual_return_rank"] > 0.8]
return_rank_evaluate = ""
......@@ -748,7 +749,7 @@ class PortfolioDiagnose(object):
fund_corr_evaluate = ";"
num_fund = len(self.portfolio)
evaluate_enum = [["优秀", "良好", "一般"],
evaluate_enum = [["优秀", "良好", "一般", "较差"],
["优秀", "良好", "合格", "较差"]]
if data_adaptor.total_result_data["cumulative_profit"] < 0 and z_score_level == 0:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment