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

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

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