Commit 58c6bd58 authored by 纪超's avatar 纪超

完善依赖注入可配置

parent 8166842f
...@@ -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 ]
......
...@@ -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}')
......
...@@ -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: ")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment