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
2591fee9
Commit
2591fee9
authored
Dec 27, 2020
by
赵杰
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修复重采样后的数据日期超前的bug
parent
05619743
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
21 additions
and
2 deletions
+21
-2
result_service_v2.py
app/service/result_service_v2.py
+21
-2
No files found.
app/service/result_service_v2.py
View file @
2591fee9
...
...
@@ -11,6 +11,7 @@ import numpy as np
import
datetime
from
decimal
import
Decimal
from
app.service.data_service_v2_1
import
UserCustomerDataAdaptor
from
app.utils.fund_rank
import
get_frequency
from
app.utils.week_evaluation
import
*
...
...
@@ -30,7 +31,11 @@ class UserCustomerResultAdaptor(UserCustomerDataAdaptor):
cur_folio_result_cnav_data
=
self
.
group_data
[
folio
][
"result_cnav_data"
]
cur_folio_order_data
=
self
.
group_data
[
folio
][
"order_df"
]
.
copy
()
freq_max
=
cur_folio_order_data
[
"freq"
]
.
max
()
# freq_max = cur_folio_order_data["freq"].max()
freq_list
=
[
get_frequency
(
cur_folio_result_cnav_data
[[
p_nav
]])
for
p_nav
in
cur_folio_result_cnav_data
.
columns
]
freq_dict
=
{
250
:
1
,
52
:
2
,
24
:
4
,
12
:
3
,
4
:
5
}
freq_max
=
freq_dict
[
min
(
freq_list
)]
first_trade_date
=
cur_folio_order_data
[
"confirm_share_date"
]
.
min
()
fund_id_list
=
list
(
cur_folio_order_data
[
"fund_id"
]
.
unique
())
...
...
@@ -43,6 +48,11 @@ class UserCustomerResultAdaptor(UserCustomerDataAdaptor):
# return_ratio_df, contribution_decomposition= self.combination_yield(cur_folio_result_cnav_data, fund_id_list)
# resample_df = resample(return_ratio_df, self.trade_cal_date, freq_max)
resample_cur_folio_result_cnav_data
=
resample
(
cur_folio_result_cnav_data
,
self
.
trade_cal_date
,
freq_max
)
if
resample_cur_folio_result_cnav_data
.
index
.
values
[
-
1
]
>
self
.
end_date
:
last
=
resample_cur_folio_result_cnav_data
.
index
.
values
[
-
1
]
resample_cur_folio_result_cnav_data
[
"index_date"
]
=
resample_cur_folio_result_cnav_data
.
index
resample_cur_folio_result_cnav_data
.
loc
[
last
,
"index_date"
]
=
self
.
end_date
resample_cur_folio_result_cnav_data
.
set_index
(
"index_date"
,
inplace
=
True
)
resample_cur_folio_result_cnav_data
=
resample_cur_folio_result_cnav_data
[
resample_cur_folio_result_cnav_data
.
index
<=
self
.
end_date
]
return_ratio_df
,
month_return_ratio_df
,
contribution_decomposition
=
self
.
combination_yield
(
resample_cur_folio_result_cnav_data
,
fund_id_list
)
...
...
@@ -183,7 +193,11 @@ class UserCustomerResultAdaptor(UserCustomerDataAdaptor):
cur_folio_result_cnav_data
=
self
.
total_customer_order_cnav_df
.
copy
()
cur_folio_order_data
=
self
.
user_customer_order_df
.
copy
()
freq_max
=
cur_folio_order_data
[
"freq"
]
.
max
()
# freq_max = cur_folio_order_data["freq"].max()
freq_list
=
[
get_frequency
(
cur_folio_result_cnav_data
[[
p_nav
]])
for
p_nav
in
cur_folio_result_cnav_data
.
columns
]
freq_dict
=
{
250
:
1
,
52
:
2
,
24
:
4
,
12
:
3
,
4
:
5
}
freq_max
=
freq_dict
[
min
(
freq_list
)]
#
fund_id_list
=
list
(
cur_folio_order_data
[
"fund_id"
]
.
unique
())
fund_id_list_earn
=
[
i
+
"_earn"
for
i
in
fund_id_list
]
...
...
@@ -201,6 +215,11 @@ class UserCustomerResultAdaptor(UserCustomerDataAdaptor):
# resample_df = resample(return_ratio_df, self.trade_cal_date, freq_max)
resample_cur_folio_result_cnav_data
=
resample
(
cur_folio_result_cnav_data
,
self
.
trade_cal_date
,
freq_max
)
if
resample_cur_folio_result_cnav_data
.
index
.
values
[
-
1
]
>
self
.
end_date
:
last
=
resample_cur_folio_result_cnav_data
.
index
.
values
[
-
1
]
resample_cur_folio_result_cnav_data
[
"index_date"
]
=
resample_cur_folio_result_cnav_data
.
index
resample_cur_folio_result_cnav_data
.
loc
[
last
,
"index_date"
]
=
self
.
end_date
resample_cur_folio_result_cnav_data
.
set_index
(
"index_date"
,
inplace
=
True
)
resample_cur_folio_result_cnav_data
=
resample_cur_folio_result_cnav_data
[
resample_cur_folio_result_cnav_data
.
index
<=
self
.
end_date
]
return_ratio_df
,
month_return_ratio_df
,
contribution_decomposition
=
self
.
combination_yield
(
resample_cur_folio_result_cnav_data
,
fund_id_list
)
resample_df
=
resample
(
return_ratio_df
,
self
.
trade_cal_date
,
freq_max
)
...
...
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