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
1d8be969
Commit
1d8be969
authored
Dec 27, 2020
by
赵杰
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修复大周期数据重采样手日期超前的bug
parent
b2db96ec
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
21 additions
and
3 deletions
+21
-3
result_service_v2.py
app/service/result_service_v2.py
+21
-3
No files found.
app/service/result_service_v2.py
View file @
1d8be969
...
@@ -11,7 +11,7 @@ import numpy as np
...
@@ -11,7 +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.service.portfolio_diagnose
import
cal_correlation
,
get_fund_name
,
get_frequency
from
app.utils.week_evaluation
import
*
from
app.utils.week_evaluation
import
*
...
@@ -30,7 +30,11 @@ class UserCustomerResultAdaptor(UserCustomerDataAdaptor):
...
@@ -30,7 +30,11 @@ class UserCustomerResultAdaptor(UserCustomerDataAdaptor):
cur_folio_result_cnav_data
=
self
.
group_data
[
folio
][
"result_cnav_data"
]
cur_folio_result_cnav_data
=
self
.
group_data
[
folio
][
"result_cnav_data"
]
cur_folio_order_data
=
self
.
group_data
[
folio
][
"order_df"
]
cur_folio_order_data
=
self
.
group_data
[
folio
][
"order_df"
]
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
()
first_trade_date
=
cur_folio_order_data
[
"confirm_share_date"
]
.
min
()
fund_id_list
=
list
(
cur_folio_order_data
[
"fund_id"
]
.
unique
())
fund_id_list
=
list
(
cur_folio_order_data
[
"fund_id"
]
.
unique
())
...
@@ -43,6 +47,11 @@ class UserCustomerResultAdaptor(UserCustomerDataAdaptor):
...
@@ -43,6 +47,11 @@ class UserCustomerResultAdaptor(UserCustomerDataAdaptor):
# return_ratio_df, contribution_decomposition= self.combination_yield(cur_folio_result_cnav_data, fund_id_list)
# 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_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
)
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
]
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
,
return_ratio_df
,
month_return_ratio_df
,
contribution_decomposition
=
self
.
combination_yield
(
resample_cur_folio_result_cnav_data
,
fund_id_list
)
fund_id_list
)
...
@@ -190,7 +199,11 @@ class UserCustomerResultAdaptor(UserCustomerDataAdaptor):
...
@@ -190,7 +199,11 @@ class UserCustomerResultAdaptor(UserCustomerDataAdaptor):
cur_folio_result_cnav_data
=
self
.
total_customer_order_cnav_df
.
copy
()
cur_folio_result_cnav_data
=
self
.
total_customer_order_cnav_df
.
copy
()
cur_folio_order_data
=
self
.
user_customer_order_df
cur_folio_order_data
=
self
.
user_customer_order_df
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
=
list
(
cur_folio_order_data
[
"fund_id"
]
.
unique
())
fund_id_list_earn
=
[
i
+
"_earn"
for
i
in
fund_id_list
]
fund_id_list_earn
=
[
i
+
"_earn"
for
i
in
fund_id_list
]
...
@@ -208,6 +221,11 @@ class UserCustomerResultAdaptor(UserCustomerDataAdaptor):
...
@@ -208,6 +221,11 @@ class UserCustomerResultAdaptor(UserCustomerDataAdaptor):
# resample_df = resample(return_ratio_df, self.trade_cal_date, freq_max)
# 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
)
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
]
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
)
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
)
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