Commit e36c4580 authored by 李宗熹's avatar 李宗熹

新组合评价

parent 6c75e21f
...@@ -732,9 +732,25 @@ class PortfolioDiagnose(object): ...@@ -732,9 +732,25 @@ class PortfolioDiagnose(object):
exc = excess_return(sim, BANK_RATE, n_freq) exc = excess_return(sim, BANK_RATE, n_freq)
new_sharpe = sharpe_ratio(exc, sim, n_freq) new_sharpe = sharpe_ratio(exc, sim, n_freq)
propose_fund_id_list_name = [] # 基金名称,策略分级
return suggestions_result, suggestions_result_asset sentence = "在保留{}的基础上,建议赎回{},并增配{}后,整体组合波动率大幅降低,最大回撤从{}降到不足{},年化收益率提升{}个点"
hold_fund = set(self.portfolio) - set(self.abandon_fund_score + self.abandon_fund_corr)
abandon_fund = (self.abandon_fund_score + self.abandon_fund_corr)
proposal_fund = self.proposal_fund
sentence= ""
if hold_fund is not None:
sentence.join("在保留".join(hold_fund) + "的基础上,")
if abandon_fund is not None:
sentence.join("建议赎回".join(abandon_fund) + ",")
if proposal_fund is not None:
sentence.join("增配".join(proposal_fund) + "后,")
if new_drawdown < old_max_drawdown:
sentence.join("整体组合波动率大幅降低,")
if new_return_ratio_year > old_return_ratio_year:
sentence.join("年化收益率提升{}个点。".format(round(new_return_ratio_year-old_return_ratio_year, 1)))
return suggestions_result, suggestions_result_asset, sentence
def single_evaluation(self, fund_id): def single_evaluation(self, fund_id):
""" """
...@@ -884,10 +900,10 @@ portfolio = ['HF00002JJ2', 'HF00005DBQ', 'HF0000681Q', 'HF00006693', 'HF00006AZF ...@@ -884,10 +900,10 @@ portfolio = ['HF00002JJ2', 'HF00005DBQ', 'HF0000681Q', 'HF00006693', 'HF00006AZF
portfolio_diagnose = PortfolioDiagnose(client_type=1, portfolio=portfolio, invest_amount=10000000) portfolio_diagnose = PortfolioDiagnose(client_type=1, portfolio=portfolio, invest_amount=10000000)
portfolio_diagnose.optimize() portfolio_diagnose.optimize()
if __name__ == '__main__': if __name__ == '__main__':
# print(portfolio_diagnose.single_fund_radar()) print(portfolio_diagnose.single_fund_radar())
# print(portfolio_diagnose.propose_fund_radar()) print(portfolio_diagnose.propose_fund_radar())
# print(portfolio_diagnose.old_portfolio_evaluation()) print(portfolio_diagnose.old_portfolio_evaluation())
# print('旧组合相关性:', portfolio_diagnose.old_correlation) print('旧组合相关性:', portfolio_diagnose.old_correlation)
# print('新组合相关性:', portfolio_diagnose.new_correlation) print('新组合相关性:', portfolio_diagnose.new_correlation)
print('旧组合个基评价:', portfolio_diagnose.old_portfolio_evaluation()) print('旧组合个基评价:', portfolio_diagnose.old_portfolio_evaluation())
print('新组合个基评价:', portfolio_diagnose.propose_fund_evaluation()) print('新组合个基评价:', portfolio_diagnose.propose_fund_evaluation())
\ No newline at end of file
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