Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in
Toggle navigation
F
fund_report
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
彭熊
fund_report
Commits
d08762ef
Commit
d08762ef
authored
Dec 03, 2020
by
pengxiong@wealthgrow.cn
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
相关性分析
parent
159d5ea8
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
53 additions
and
160 deletions
+53
-160
portfolio_diagnose.py
app/service/portfolio_diagnose.py
+8
-3
monthReport.html
app/templates/monthReport.html
+33
-155
jinjia2html.py
jinjia2html.py
+12
-2
No files found.
app/service/portfolio_diagnose.py
View file @
d08762ef
...
@@ -747,9 +747,14 @@ portfolio_diagnose = PortfolioDiagnose(client_type=1, portfolio=portfolio, inves
...
@@ -747,9 +747,14 @@ portfolio_diagnose = PortfolioDiagnose(client_type=1, portfolio=portfolio, inves
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)
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.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())
app/templates/monthReport.html
View file @
d08762ef
...
@@ -3123,124 +3123,49 @@
...
@@ -3123,124 +3123,49 @@
<div
class=
"rc_chart clearfix"
>
<div
class=
"rc_chart clearfix"
>
<div
class=
"rcc_left fl"
>
<div
class=
"rcc_left fl"
>
<table
border=
"1"
style=
"border-color: transparent;margin-right: 20px;"
>
<table
border=
"1"
style=
"border-color: transparent;margin-right: 20px;"
>
{% for correlation in old_correlation %}
<tr>
<tr>
<td>
<td>
<span
class=
"rcc_index"
>
1
</span>
<span
class=
"rcc_index"
>
{{correlation[0]}}
</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>
</td>
</td>
</tr>
</tr>
{% endfor %}
</table>
</table>
</div>
</div>
<div
class=
"rcc_right fr"
>
<div
class=
"rcc_right fr"
>
<table
border=
"1"
>
<table
border=
"1"
>
{% for correlation in old_correlation %}
<tr>
<tr>
{% for i in range(correlation[2]|length) %}
{% if i == correlation[0] - 1 %}
<td>
<td>
<span
class=
"rcc_index"
>
1
</span>
<span
class=
"rcc_index"
>
{{correlation[0]}}
</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>
</td>
</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>
</tr>
{% endfor %}
</table>
</table>
</div>
</div>
...
@@ -3265,67 +3190,20 @@
...
@@ -3265,67 +3190,20 @@
</div>
</div>
</div>
</div>
<div
class=
"rc_label clearfix"
>
<div
class=
"rc_label clearfix"
>
{% for correlation in old_correlation %}
<div
class=
"rcl_item fl"
>
<div
class=
"rcl_item fl"
>
<div
class=
"rcl_item_number"
>
<div
class=
"rcl_item_number"
>
1
{{correlation[0]}}
</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
</div>
</div>
<div
class=
"rcl_item_name"
>
<div
class=
"rcl_item_name"
>
基金名称7
{{correlation[1]}}
</div>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"aim_table"
>
<div
class=
"aim_table"
>
<div
class=
"aim_head clearfix"
>
<div
class=
"aim_head clearfix"
>
<div
class=
"aim_title fl"
>
<div
class=
"aim_title fl"
>
...
...
jinjia2html.py
View file @
d08762ef
...
@@ -54,6 +54,17 @@ for i in range(len(portfolio_evaluation)):
...
@@ -54,6 +54,17 @@ for i in range(len(portfolio_evaluation)):
'radar_chart_path'
:
gen_radar_chart
(
radar_chart_data
[
i
])
'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 -- 新增基金
# 优化组合建议1 -- 新增基金
propose_fund_data_list
=
[]
propose_fund_data_list
=
[]
propose_fund_evaluation
=
portfolio_diagnose
.
propose_fund_evaluation
()
propose_fund_evaluation
=
portfolio_diagnose
.
propose_fund_evaluation
()
...
@@ -65,8 +76,6 @@ for i in range(len(propose_fund_evaluation)):
...
@@ -65,8 +76,6 @@ for i in range(len(propose_fund_evaluation)):
'evaluation'
:
propose_fund_evaluation
[
i
][
'data'
],
'evaluation'
:
propose_fund_evaluation
[
i
][
'data'
],
'radar_chart_path'
:
gen_radar_chart
(
propose_radar_chart_data
[
i
])
'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_month_income
=
int
(
group_result
[
"cur_month_profit"
])
# 本月收益
now_year_income
=
int
(
group_result
[
"cur_year_profit"
])
# 今年累计收益
now_year_income
=
int
(
group_result
[
"cur_year_profit"
])
# 今年累计收益
...
@@ -114,6 +123,7 @@ data = {'customer_name':'成龙', 'customer_gender':'女',
...
@@ -114,6 +123,7 @@ data = {'customer_name':'成龙', 'customer_gender':'女',
'old_evaluation'
:
old_evaluation
,
'old_evaluation'
:
old_evaluation
,
'contribution_decomposition'
:
contribution_decomposition
,
'contribution_decomposition'
:
contribution_decomposition
,
'single_fund_data_list'
:
single_fund_data_list
,
'single_fund_data_list'
:
single_fund_data_list
,
'old_correlation'
:
old_correlation
,
'propose_fund_data_list'
:
propose_fund_data_list
'propose_fund_data_list'
:
propose_fund_data_list
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment