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
58c6bd58
Commit
58c6bd58
authored
Nov 18, 2022
by
纪超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
完善依赖注入可配置
parent
8166842f
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
6 additions
and
6 deletions
+6
-6
config.yml
config.yml
+1
-1
builder.py
portfolios/builder.py
+4
-4
test_case.py
portfolios/test_case.py
+1
-1
No files found.
config.yml
View file @
58c6bd58
...
@@ -43,7 +43,7 @@ framework:
...
@@ -43,7 +43,7 @@ framework:
level
:
INFO
level
:
INFO
propagate
:
no
propagate
:
no
portfolios
:
portfolios
:
level
:
INFO
level
:
DEBUG
root
:
root
:
level
:
INFO
level
:
INFO
handlers
:
[
console
]
handlers
:
[
console
]
...
...
portfolios/builder.py
View file @
58c6bd58
...
@@ -109,8 +109,8 @@ class MptSolver:
...
@@ -109,8 +109,8 @@ class MptSolver:
return
min_rtn
,
min_var
,
maxCVaR_whenMinV
return
min_rtn
,
min_var
,
maxCVaR_whenMinV
def
solve_mpt
(
self
,
min_rtn
,
max_rtn
):
def
solve_mpt
(
self
,
min_rtn
,
max_rtn
):
logger
.
debug
(
logger
.
debug
(
f
'...... ...... ...... ...... ...... ...... ...... ...... '
f
'...... ...... ...... ...... ...... ...... ...... ......
MPT ... sub risk : pct_value = {self.pct_value}'
)
f
'
MPT ... sub risk : pct_value = {self.pct_value}'
)
big_y
=
min_rtn
+
self
.
pct_value
*
(
max_rtn
-
min_rtn
)
big_y
=
min_rtn
+
self
.
pct_value
*
(
max_rtn
-
min_rtn
)
logger
.
debug
(
f
'big_Y = target_Return = {big_y}'
)
logger
.
debug
(
f
'big_Y = target_Return = {big_y}'
)
model
=
self
.
create_model
()
model
=
self
.
create_model
()
...
@@ -129,8 +129,8 @@ class MptSolver:
...
@@ -129,8 +129,8 @@ class MptSolver:
def
solve_poem
(
self
,
min_rtn
,
max_rtn
,
base_cvar
,
max_cvar
):
def
solve_poem
(
self
,
min_rtn
,
max_rtn
,
base_cvar
,
max_cvar
):
k_history
=
len
(
self
.
rtn_history
)
k_history
=
len
(
self
.
rtn_history
)
quantile
=
self
.
pct_value
quantile
=
self
.
pct_value
logger
.
debug
(
logger
.
debug
(
f
'...... ...... ...... ...... ...... ...... ...... ...... '
f
'...... ...... ...... ...... ...... ...... ...... ......
POEM With CVaR constraints ... sub risk : pct_value = {quantile}'
)
f
'
POEM With CVaR constraints ... sub risk : pct_value = {quantile}'
)
big_y
=
min_rtn
+
quantile
*
(
max_rtn
-
min_rtn
)
big_y
=
min_rtn
+
quantile
*
(
max_rtn
-
min_rtn
)
small_y
=
base_cvar
+
(
max_cvar
-
base_cvar
)
*
self
.
get_config
(
'poem.cvar-scale-factor'
)
*
quantile
small_y
=
base_cvar
+
(
max_cvar
-
base_cvar
)
*
self
.
get_config
(
'poem.cvar-scale-factor'
)
*
quantile
logger
.
debug
(
f
'big_Y = target_Return = {big_y} | small_y = target_cvar = {small_y}'
)
logger
.
debug
(
f
'big_Y = target_Return = {big_y} | small_y = target_cvar = {small_y}'
)
...
...
portfolios/test_case.py
View file @
58c6bd58
...
@@ -7,7 +7,7 @@ class PortfoliosTest(unittest.TestCase):
...
@@ -7,7 +7,7 @@ class PortfoliosTest(unittest.TestCase):
logger
=
get_logger
(
__name__
)
logger
=
get_logger
(
__name__
)
@
autowired
(
names
=
{
'builder'
:
'
mpt
'
})
@
autowired
(
names
=
{
'builder'
:
'
poem
'
})
def
test_portfolio_builder
(
self
,
builder
:
PortfoliosBuilder
=
None
):
def
test_portfolio_builder
(
self
,
builder
:
PortfoliosBuilder
=
None
):
result
,
detail
=
builder
.
build_portfolio
(
parse_date
(
'2011-11-07'
),
PortfoliosType
.
NORMAL
)
result
,
detail
=
builder
.
build_portfolio
(
parse_date
(
'2011-11-07'
),
PortfoliosType
.
NORMAL
)
self
.
logger
.
info
(
"portfolios: "
)
self
.
logger
.
info
(
"portfolios: "
)
...
...
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