From d08762ef0630ba8fdc4728fb9e96f239cb4b97db Mon Sep 17 00:00:00 2001
From: "pengxiong@wealthgrow.cn" <18163159080@163.com>
Date: Thu, 3 Dec 2020 16:29:36 +0800
Subject: [PATCH] =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=80=A7=E5=88=86=E6=9E=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 app/service/portfolio_diagnose.py |  11 +-
 app/templates/monthReport.html    | 188 ++++++------------------------
 jinjia2html.py                    |  14 ++-
 3 files changed, 53 insertions(+), 160 deletions(-)

diff --git a/app/service/portfolio_diagnose.py b/app/service/portfolio_diagnose.py
index cb30c5a..50dc288 100644
--- a/app/service/portfolio_diagnose.py
+++ b/app/service/portfolio_diagnose.py
@@ -747,9 +747,14 @@ portfolio_diagnose = PortfolioDiagnose(client_type=1, portfolio=portfolio, inves
 portfolio_diagnose.optimize()
 if __name__ == '__main__':
     # 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_correlation)
+    old_correlation = portfolio_diagnose.old_correlation
+    old_correlation_columns = old_correlation.columns.tolist()
+    old_correlation_values = old_correlation.values.tolist()
+    old_correlation = zip(range(1, len(old_correlation_columns) + 1), old_correlation.columns.tolist(),
+                          old_correlation.values.tolist())
+    print('旧组合相关性:', list(old_correlation))
     # print('新组合相关性:', portfolio_diagnose.new_correlation)
     # print('旧组合个基评价:', portfolio_diagnose.old_portfolio_evaluation())
-    print('新组合个基评价:', portfolio_diagnose.propose_fund_evaluation())
+    # print('新组合个基评价:', portfolio_diagnose.propose_fund_evaluation())
diff --git a/app/templates/monthReport.html b/app/templates/monthReport.html
index a78eff5..eb4884b 100644
--- a/app/templates/monthReport.html
+++ b/app/templates/monthReport.html
@@ -3123,124 +3123,49 @@
                 <div class="rc_chart clearfix">
                   <div class="rcc_left fl">
                     <table border="1" style="border-color: transparent;margin-right: 20px;">
+                    {% for correlation in old_correlation %}
                       <tr>
                         <td>
-                          <span class="rcc_index">1</span>
-                        </td>
-                      </tr>
-                      <tr>
-                        <td>
-                          <span class="rcc_index">2</span>
-                        </td>
-                      </tr>
-                      <tr>
-                        <td>
-                          <span class="rcc_index">3</span>
-                        </td>
-                      </tr>
-                      <tr>
-                        <td>
-                          <span class="rcc_index">4</span>
-                        </td>
-                      </tr>
-                      <tr>
-                        <td>
-                          <span class="rcc_index">5</span>
-                        </td>
-                      </tr>
-                      <tr>
-                        <td>
-                          <span class="rcc_index">6</span>
-                        </td>
-                      </tr>
-                      <tr>
-                        <td>
-                          <span class="rcc_index">7</span>
+                          <span class="rcc_index">{{correlation[0]}}</span>
                         </td>
                       </tr>
+                      {% endfor %}
                     </table>
                   </div>
 
                   <div class="rcc_right fr">
 
                     <table border="1">
+                      {% for correlation in old_correlation %}
                       <tr>
+                        {% for i in range(correlation[2]|length) %}
+                        {% if i ==  correlation[0] - 1 %}
                         <td>
-                          <span class="rcc_index">1</span>
-                        </td>
-                        <td class="level_color1">0.56</td>
-                        <td class="level_color2">0.56</td>
-                        <td class="level_color3">0.56</td>
-                        <td class="level_color4">0.56</td>
-                        <td class="level_color5">0.56</td>
-                        <td class="level_color6">0.56</td>
-                      </tr>
-                      <tr>
-                        <td>0.56</td>
-                        <td>
-                          <span class="rcc_index">2</span>
-                        </td>
-                        <td class="level_color1">0.56</td>
-                        <td class="level_color2">0.56</td>
-                        <td class="level_color3">0.56</td>
-                        <td class="level_color4">0.56</td>
-                        <td class="level_color5">0.56</td>
-                      </tr>
-                      <tr>
-                        <td>0.56</td>
-                        <td>0.56</td>
-                        <td>
-                          <span class="rcc_index">3</span>
-                        </td>
-                        <td class="level_color1">0.56</td>
-                        <td class="level_color2">0.56</td>
-                        <td class="level_color3">0.56</td>
-                        <td class="level_color4">0.56</td>
-                      </tr>
-                      <tr>
-                        <td>0.56</td>
-                        <td>0.56</td>
-                        <td>0.56</td>
-                        <td>
-                          <span class="rcc_index">4</span>
-                        </td>
-                        <td class="level_color1">0.56</td>
-                        <td class="level_color2">0.56</td>
-                        <td class="level_color3">0.56</td>
-                      </tr>
-                      <tr>
-                        <td>0.56</td>
-                        <td>0.56</td>
-                        <td>0.56</td>
-                        <td>0.56</td>
-                        <td>
-                          <span class="rcc_index">5</span>
-                        </td>
-                        <td class="level_color1">0.56</td>
-                        <td class="level_color2">0.56</td>
-                      </tr>
-                      <tr>
-                        <td>0.56</td>
-                        <td>0.56</td>
-                        <td>0.56</td>
-                        <td>0.56</td>
-                        <td>0.56</td>
-                        <td>
-                          <span class="rcc_index">6</span>
-                        </td>
-                        <td class="level_color1">0.56</td>
-                      </tr>
-                      <tr>
-                        <td>0.56</td>
-                        <td>0.56</td>
-                        <td>0.56</td>
-                        <td>0.56</td>
-                        <td>0.56</td>
-                        <td>0.56</td>
-                        <td>
-                          <span class="rcc_index">7</span>
+                          <span class="rcc_index">{{correlation[0]}}</span>
                         </td>
+                        {% elif -1 <= correlation[2][i] < -0.5 %}
+                        <td class="level_color6">{{correlation[2][i]}}</td>
+
+                        {% elif -0.5 <= correlation[2][i] < -0.25 %}
+                        <td class="level_color6">{{correlation[2][i]}}</td>
+                        {% elif -0.25 <= correlation[2][i] < 0 %}
+                        <td class="level_color5">{{correlation[2][i]}}</td>
+
+                        {% elif 0 <= correlation[2][i] < 0.25 %}
+                        <td class="level_color4">{{correlation[2][i]}}</td>
+
+                        {% elif 0.25 <= correlation[2][i] < 0.5 %}
+                        <td class="level_color3">{{correlation[2][i]}}</td>
+
+                        {% elif 0.5 <= correlation[2][i] < 0.75 %}
+                        <td class="level_color2">{{correlation[2][i]}}</td>
+
+                        {% elif 0.75 <= correlation[2][i] <= 1 %}
+                        <td class="level_color1">{{correlation[2][i]}}</td>
+                        {% endif %}
+                        {% endfor %}
                       </tr>
+                      {% endfor %}
                     </table>
 
                   </div>
@@ -3265,67 +3190,20 @@
                   </div>
                 </div>
                 <div class="rc_label clearfix">
+                  {% for correlation in old_correlation %}
                   <div class="rcl_item fl">
                     <div class="rcl_item_number">
-                      1
-                    </div>
-                    <div class="rcl_item_name">
-                      基金名称1
-                    </div>
-                  </div>
-                  <div class="rcl_item fl">
-                    <div class="rcl_item_number">
-                      2
-                    </div>
-                    <div class="rcl_item_name">
-                      基金名称2
-                    </div>
-                  </div>
-                  <div class="rcl_item fl">
-                    <div class="rcl_item_number">
-                      3
-                    </div>
-                    <div class="rcl_item_name">
-                      基金名称3
-                    </div>
-                  </div>
-                  <div class="rcl_item fl">
-                    <div class="rcl_item_number">
-                      4
-                    </div>
-                    <div class="rcl_item_name">
-                      基金名称4
-                    </div>
-                  </div>
-                  <div class="rcl_item fl">
-                    <div class="rcl_item_number">
-                      5
-                    </div>
-                    <div class="rcl_item_name">
-                      基金名称5
-                    </div>
-                  </div>
-                  <div class="rcl_item fl">
-                    <div class="rcl_item_number">
-                      6
-                    </div>
-                    <div class="rcl_item_name">
-                      基金名称6
-                    </div>
-                  </div>
-                  <div class="rcl_item fl">
-                    <div class="rcl_item_number">
-                      7
+                      {{correlation[0]}}
                     </div>
                     <div class="rcl_item_name">
-                      基金名称7
+                      {{correlation[1]}}
                     </div>
                   </div>
+                  {% endfor %}
                 </div>
               </div>
             </div>
           </div>
-
           <div class="aim_table">
             <div class="aim_head clearfix">
               <div class="aim_title fl">
diff --git a/jinjia2html.py b/jinjia2html.py
index 3eb1383..2466031 100644
--- a/jinjia2html.py
+++ b/jinjia2html.py
@@ -54,6 +54,17 @@ for i in range(len(portfolio_evaluation)):
         'radar_chart_path': gen_radar_chart(radar_chart_data[i])
     })
 
+# 调仓建议
+
+# 收益比较
+
+# 旧相关性分析
+old_correlation = portfolio_diagnose.old_correlation
+old_correlation_columns = old_correlation.columns.tolist()
+old_correlation_values = old_correlation.values.tolist()
+old_correlation = list(zip(range(1, len(old_correlation_columns)+1), old_correlation_columns, old_correlation_values))
+print(old_correlation)
+
 # 优化组合建议1 -- 新增基金
 propose_fund_data_list = []
 propose_fund_evaluation = portfolio_diagnose.propose_fund_evaluation()
@@ -65,8 +76,6 @@ for i in range(len(propose_fund_evaluation)):
         'evaluation': propose_fund_evaluation[i]['data'],
         'radar_chart_path': gen_radar_chart(propose_radar_chart_data[i])
     })
-print(propose_fund_data_list)
-print(len(propose_fund_data_list))
 
 now_month_income = int(group_result["cur_month_profit"])   # 本月收益
 now_year_income = int(group_result["cur_year_profit"])   # 今年累计收益
@@ -114,6 +123,7 @@ data = {'customer_name':'成龙', 'customer_gender':'女',
         'old_evaluation': old_evaluation,
         'contribution_decomposition': contribution_decomposition,
         'single_fund_data_list': single_fund_data_list,
+        'old_correlation': old_correlation,
         'propose_fund_data_list': propose_fund_data_list
         }
 
-- 
2.18.1