Commit 5cb8b014 authored by 赵杰's avatar 赵杰

新版不需要经过计算推荐的客观持仓报告

parent b6115f7f
This diff is collapsed.
......@@ -11,6 +11,7 @@ import numpy as np
import datetime
from decimal import Decimal
from app.service.data_service_v2 import UserCustomerDataAdaptor
from app.service.portfolio_diagnose import cal_correlation, get_fund_name
from app.utils.week_evaluation import *
......@@ -173,6 +174,10 @@ class UserCustomerResultAdaptor(UserCustomerDataAdaptor):
"index")
folio_report_data["index_result"] = index_result
folio_report_data["return_df"] = resample_df
# 对应组合相关性
correlation = self.old_correlation(self.fund_cnav_total[fund_id_list])
folio_report_data["correlation"] = correlation
self.group_result_data[folio] = folio_report_data
return self.group_result_data
......@@ -562,12 +567,9 @@ class UserCustomerResultAdaptor(UserCustomerDataAdaptor):
def get_group_data(self):
return self.group_result_data
# def __month_return(self, folio_cnav_data):
# # 月度回报
# def year_month(x):
# a = x.year
# b = x.month
# return str(a) + "-" + str(b)
# p_folio_cnav_data = folio_cnav_data.copy()
# p_folio_cnav_data["date"] = p_folio_cnav_data.index
# grouped_data = p_folio_cnav_data.groupby(p_folio_cnav_data["date"].apply(year_month))
def old_correlation(self, folio_cnav_data):
old_correlation = cal_correlation(folio_cnav_data)
old_correlation = old_correlation.fillna(1).round(2)
old_correlation.columns = old_correlation.columns.map(lambda x: get_fund_name(x).values[0][0])
old_correlation.index = old_correlation.index.map(lambda x: get_fund_name(x).values[0][0])
return old_correlation
......@@ -959,7 +959,7 @@
</span>
</div>
<img class="cover_img" src={{red-rect}} >
<img class="cover_img" src={{red_rect}} >
<div class="cover_title_text dcell">
资产<br>
存续报告
......
......@@ -54,7 +54,8 @@ class DataIntegrate:
'suggestions_result_asset': {},
'return_compare_pic': [],
'indicator_compare': [],
'new_group_evaluation': []
'new_group_evaluation': [],
"correlation": group_result["correlation"]
}
# 旧持仓组合点评
......@@ -64,11 +65,11 @@ class DataIntegrate:
# 目标与业绩
self.objectives_performance(group_result, cur_group_portfolio_result)
# 个基点评
self.single_fund_comment(portfolio_diagnose, cur_group_portfolio_result)
# self.single_fund_comment(portfolio_diagnose, cur_group_portfolio_result)
# 旧收益比较
self.get_old_compare_pic(cur_group_portfolio_result)
# 旧相关性
self.get_old_correlation(portfolio_diagnose, cur_group_portfolio_result)
self.get_old_correlation(cur_group_portfolio_result)
# # 新增基金
# self.propose_fund(portfolio_diagnose, cur_group_portfolio_result)
# # 新收益比较
......@@ -81,7 +82,7 @@ class DataIntegrate:
def get_portfolio_diagnose(self, portfolio, client_type=1, invest_amount=10000000):
portfolio_diagnose = PortfolioDiagnose(client_type=client_type, portfolio=portfolio, invest_amount=float(invest_amount),
start_date=self.user_customer.start_date)
portfolio_diagnose.optimize()
# portfolio_diagnose.optimize()
return portfolio_diagnose
# 全部数据综述结果
......@@ -169,9 +170,9 @@ class DataIntegrate:
cur_group_portfolio_result["return_compare_data"]["origin_combination"],
cur_group_portfolio_result["return_compare_data"]["index"])
def get_old_correlation(self, portfolio_diagnose, cur_group_portfolio_result):
def get_old_correlation(self, cur_group_portfolio_result):
"""旧相关性分析."""
old_correlation = portfolio_diagnose.old_correlation
old_correlation = cur_group_portfolio_result["correlation"]
old_correlation_columns = old_correlation.columns.tolist()
old_correlation_values = old_correlation.values.tolist()
cur_group_portfolio_result["old_correlation"] = list(zip(range(1, len(old_correlation_columns)+1), old_correlation_columns, old_correlation_values))
......@@ -246,7 +247,7 @@ class DataIntegrate:
'logo': template_folder + '/v2/img/logo.png',
'scene': template_folder + '/v2/img/scene.png',
'team': template_folder + '/v2/img/default-user.png',
'red-rect': template_folder + '/v2/img/red-rect.png',
'red_rect': template_folder + '/v2/img/red-rect.png',
'sh': template_folder + '/v2/img/sh.png',
# 全局数据
'customer_name': self.customer_name,
......
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