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
7475a98e
Commit
7475a98e
authored
Dec 25, 2020
by
赵杰
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
净值百分比
parent
f12cdea4
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
48 additions
and
22 deletions
+48
-22
result_service_v2.py
app/service/result_service_v2.py
+48
-22
No files found.
app/service/result_service_v2.py
View file @
7475a98e
...
@@ -341,29 +341,55 @@ class UserCustomerResultAdaptor(UserCustomerDataAdaptor):
...
@@ -341,29 +341,55 @@ class UserCustomerResultAdaptor(UserCustomerDataAdaptor):
for
index
,
row
in
p_order_df
.
iterrows
():
for
index
,
row
in
p_order_df
.
iterrows
():
cur_fund_id
=
str
(
row
[
"fund_id"
])
cur_fund_id
=
str
(
row
[
"fund_id"
])
cur_fund_performance
=
self
.
all_fund_performance
[
cur_fund_id
]
cur_fund_performance
=
self
.
all_fund_performance
[
cur_fund_id
]
cur_fund_info_series
=
cur_fund_performance
.
iloc
[
-
1
]
if
len
(
cur_fund_performance
)
<=
0
:
# 基金净值数据
fund_basic_info
=
{
"fund_name"
:
row
[
"fund_name"
],
"confirm_nav"
:
round
(
row
[
"nav"
],
4
)}
fund_basic_info
=
{
"fund_name"
:
row
[
"fund_name"
],
"confirm_nav"
:
round
(
row
[
"nav"
],
4
)}
fund_basic_info
[
"cur_nav"
]
=
round
(
float
(
self
.
fund_nav_total
[
cur_fund_id
]
.
dropna
()
.
values
[
-
1
]),
4
)
fund_basic_info
[
"cur_nav"
]
=
round
(
float
(
self
.
fund_nav_total
[
cur_fund_id
]
.
dropna
()
.
values
[
-
1
]),
4
)
fund_basic_info
[
"cur_cnav"
]
=
round
(
float
(
self
.
fund_cnav_total
[
cur_fund_id
]
.
dropna
()
.
values
[
-
1
]),
4
)
fund_basic_info
[
"cur_cnav"
]
=
round
(
float
(
self
.
fund_cnav_total
[
cur_fund_id
]
.
dropna
()
.
values
[
-
1
]),
4
)
fund_basic_info
[
"ret_1w"
]
=
"-"
# 上周
fund_basic_info
[
"ret_1w"
]
=
round
(
cur_fund_info_series
[
"ret_1w"
]
*
100
,
2
)
if
cur_fund_info_series
[
"ret_1w"
]
is
not
None
else
"-"
# 上周
fund_basic_info
[
"ret_cum_1m"
]
=
"-"
# 最近一个月
fund_basic_info
[
"ret_cum_1m"
]
=
round
(
cur_fund_info_series
[
"ret_cum_1m"
]
*
100
,
2
)
if
cur_fund_info_series
[
"ret_cum_1m"
]
is
not
None
else
"-"
# 最近一个月
fund_basic_info
[
"ret_cum_6m"
]
=
"-"
# 最近半年
fund_basic_info
[
"ret_cum_6m"
]
=
round
(
cur_fund_info_series
[
"ret_cum_6m"
]
*
100
,
2
)
if
cur_fund_info_series
[
"ret_cum_6m"
]
is
not
None
else
"-"
# 最近半年
fund_basic_info
[
"ret_cum_1y"
]
=
"-"
# 最近一年
fund_basic_info
[
"ret_cum_1y"
]
=
round
(
cur_fund_info_series
[
"ret_cum_1y"
]
*
100
,
2
)
if
cur_fund_info_series
[
"ret_cum_1y"
]
is
not
None
else
"-"
# 最近一年
fund_basic_info
[
"ret_cum_ytd"
]
=
"-"
# 今年以来
fund_basic_info
[
"ret_cum_ytd"
]
=
round
(
cur_fund_info_series
[
"ret_cum_ytd"
]
*
100
,
2
)
if
cur_fund_info_series
[
"ret_cum_ytd"
]
is
not
None
else
"-"
# 今年以来
fund_basic_info
[
"ret_cum_incep"
]
=
"-"
# 成立以来
fund_basic_info
[
"ret_cum_incep"
]
=
round
(
cur_fund_info_series
[
"ret_cum_incep"
]
*
100
,
2
)
if
cur_fund_info_series
[
"ret_cum_incep"
]
is
not
None
else
"-"
# 成立以来
# 申购以来
# 申购以来
confirm_date
=
pd
.
to_datetime
(
row
[
"confirm_share_date"
])
confirm_date
=
pd
.
to_datetime
(
row
[
"confirm_share_date"
])
confirm_cnav
=
float
(
p_result_cnav_data
.
loc
[
confirm_date
,
cur_fund_id
])
confirm_cnav
=
float
(
p_result_cnav_data
.
loc
[
confirm_date
,
cur_fund_id
])
fund_basic_info
[
"ret_after_confirm"
]
=
round
((
fund_basic_info
[
"cur_cnav"
]
-
confirm_cnav
)
/
confirm_cnav
*
100
,
2
)
fund_basic_info
[
"ret_after_confirm"
]
=
round
(
# 分红
(
fund_basic_info
[
"cur_cnav"
]
-
confirm_cnav
)
/
confirm_cnav
*
100
,
2
)
distribution_df
=
self
.
all_fund_distribution
[
cur_fund_id
]
# 分红
if
distribution_df
.
empty
:
distribution_df
=
self
.
all_fund_distribution
[
cur_fund_id
]
fund_basic_info
[
"distribution"
]
=
"-"
if
distribution_df
.
empty
:
fund_basic_info
[
"distribution"
]
=
"-"
else
:
distribution_df
[
"price_date"
]
=
pd
.
to_datetime
(
distribution_df
[
"price_date"
])
distribution
=
float
(
distribution_df
[
distribution_df
[
"price_date"
]
>
confirm_date
][
"distribution"
]
.
sum
())
fund_basic_info
[
"distribution"
]
=
round
(
distribution
,
4
)
if
distribution
!=
0
else
"-"
else
:
else
:
distribution_df
[
"price_date"
]
=
pd
.
to_datetime
(
distribution_df
[
"price_date"
])
cur_fund_info_series
=
cur_fund_performance
.
iloc
[
-
1
]
distribution
=
float
(
distribution_df
[
distribution_df
[
"price_date"
]
>
confirm_date
][
"distribution"
]
.
sum
())
# 基金净值数据
fund_basic_info
[
"distribution"
]
=
round
(
distribution
,
4
)
if
distribution
!=
0
else
"-"
fund_basic_info
=
{
"fund_name"
:
row
[
"fund_name"
],
"confirm_nav"
:
round
(
row
[
"nav"
],
4
)}
fund_basic_info
[
"cur_nav"
]
=
round
(
float
(
self
.
fund_nav_total
[
cur_fund_id
]
.
dropna
()
.
values
[
-
1
]),
4
)
fund_basic_info
[
"cur_cnav"
]
=
round
(
float
(
self
.
fund_cnav_total
[
cur_fund_id
]
.
dropna
()
.
values
[
-
1
]),
4
)
fund_basic_info
[
"ret_1w"
]
=
str
(
round
(
cur_fund_info_series
[
"ret_1w"
]
*
100
,
2
))
+
"
%
"
if
cur_fund_info_series
[
"ret_1w"
]
is
not
None
else
"-"
# 上周
fund_basic_info
[
"ret_cum_1m"
]
=
str
(
round
(
cur_fund_info_series
[
"ret_cum_1m"
]
*
100
,
2
))
+
"
%
"
if
cur_fund_info_series
[
"ret_cum_1m"
]
is
not
None
else
"-"
# 最近一个月
fund_basic_info
[
"ret_cum_6m"
]
=
str
(
round
(
cur_fund_info_series
[
"ret_cum_6m"
]
*
100
,
2
))
+
"
%
"
if
cur_fund_info_series
[
"ret_cum_6m"
]
is
not
None
else
"-"
# 最近半年
fund_basic_info
[
"ret_cum_1y"
]
=
str
(
round
(
cur_fund_info_series
[
"ret_cum_1y"
]
*
100
,
2
))
+
"
%
"
if
cur_fund_info_series
[
"ret_cum_1y"
]
is
not
None
else
"-"
# 最近一年
fund_basic_info
[
"ret_cum_ytd"
]
=
str
(
round
(
cur_fund_info_series
[
"ret_cum_ytd"
]
*
100
,
2
))
+
"
%
"
if
cur_fund_info_series
[
"ret_cum_ytd"
]
is
not
None
else
"-"
# 今年以来
fund_basic_info
[
"ret_cum_incep"
]
=
str
(
round
(
cur_fund_info_series
[
"ret_cum_incep"
]
*
100
,
2
))
+
"
%
"
if
cur_fund_info_series
[
"ret_cum_incep"
]
is
not
None
else
"-"
# 成立以来
# 申购以来
confirm_date
=
pd
.
to_datetime
(
row
[
"confirm_share_date"
])
confirm_cnav
=
float
(
p_result_cnav_data
.
loc
[
confirm_date
,
cur_fund_id
])
fund_basic_info
[
"ret_after_confirm"
]
=
str
(
round
((
fund_basic_info
[
"cur_cnav"
]
-
confirm_cnav
)
/
confirm_cnav
*
100
,
2
))
+
"
%
"
# 分红
distribution_df
=
self
.
all_fund_distribution
[
cur_fund_id
]
if
distribution_df
.
empty
:
fund_basic_info
[
"distribution"
]
=
"-"
else
:
distribution_df
[
"price_date"
]
=
pd
.
to_datetime
(
distribution_df
[
"price_date"
])
distribution
=
float
(
distribution_df
[
distribution_df
[
"price_date"
]
>
confirm_date
][
"distribution"
]
.
sum
())
fund_basic_info
[
"distribution"
]
=
round
(
distribution
,
4
)
if
distribution
!=
0
else
"-"
group_fund_basic_info
.
append
(
fund_basic_info
)
group_fund_basic_info
.
append
(
fund_basic_info
)
...
...
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