Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
R
robo-dividend
Project
Project
Details
Activity
Releases
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
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wenwen.tang
robo-dividend
Commits
2436c59b
Commit
2436c59b
authored
Dec 21, 2022
by
jichao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
回测报告增加基金池
parent
bbec713b
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
10 additions
and
8 deletions
+10
-8
config.yml
config.yml
+5
-5
drift_solver.py
rebalance/drift_solver.py
+1
-2
ruler.py
rebalance/ruler.py
+4
-1
No files found.
config.yml
View file @
2436c59b
...
...
@@ -131,11 +131,11 @@ rebalance: # 再平衡模块
high-weight
:
# 高风险资产权重drift相关
coef
:
0.2
# drift系数
ruler
:
# 再平衡信号选用规则
disable-period
:
# 禁止买入期,交易日
normal
:
10
# 标准投组禁止买入期
crisis_1
:
15
# 危机1投组禁止买入期
crisis_2
:
15
# 危机2投组禁止买入期
right_side
:
15
# 右侧投组禁止买入期
disable-period
:
10
# 禁止买入期,交易日
#
normal: 10 # 标准投组禁止买入期
#
crisis_1: 15 # 危机1投组禁止买入期
#
crisis_2: 15 # 危机2投组禁止买入期
#
right_side: 15 # 右侧投组禁止买入期
signals
:
# 信号相关
crisis-signal
:
# 危机信号相关
exp-years
:
3
# 预警期时长,单位自然年,点到点计算
...
...
rebalance/drift_solver.py
View file @
2436c59b
...
...
@@ -20,8 +20,7 @@ class DateCurve(DriftSolver):
def
get_drift
(
self
,
day
,
risk
:
PortfoliosRisk
):
last_re
=
rrs
.
get_last_one
(
max_date
=
day
,
risk
=
risk
,
effective
=
True
)
result
=
self
.
diff_threshold
-
self
.
init_factor
*
(
day
-
last_re
[
'date'
])
.
days
**
4
return
max
(
0
,
result
)
return
self
.
diff_threshold
-
self
.
init_factor
*
(
day
-
last_re
[
'date'
])
.
days
**
4
@
component
(
bean_name
=
'high-weight'
)
...
...
rebalance/ruler.py
View file @
2436c59b
...
...
@@ -34,7 +34,10 @@ class LevelRebalanceRuler(RebalanceRuler):
@
property
def
disable_period
(
self
):
result
=
self
.
_config
[
'disable-period'
]
if
isinstance
(
result
,
dict
):
return
{
PortfoliosType
(
x
[
0
]):
x
[
1
]
for
x
in
result
.
items
()}
else
:
return
{
t
:
result
for
t
in
PortfoliosType
}
def
take_next_signal
(
self
,
day
,
risk
:
PortfoliosRisk
):
last_re
=
rrs
.
get_last_one
(
max_date
=
day
,
risk
=
risk
,
effective
=
True
)
...
...
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