Commit 2436c59b authored by jichao's avatar jichao

回测报告增加基金池

parent bbec713b
...@@ -131,11 +131,11 @@ rebalance: # 再平衡模块 ...@@ -131,11 +131,11 @@ rebalance: # 再平衡模块
high-weight: # 高风险资产权重drift相关 high-weight: # 高风险资产权重drift相关
coef: 0.2 # drift系数 coef: 0.2 # drift系数
ruler: # 再平衡信号选用规则 ruler: # 再平衡信号选用规则
disable-period: # 禁止买入期,交易日 disable-period: 10 # 禁止买入期,交易日
normal: 10 # 标准投组禁止买入期 # normal: 10 # 标准投组禁止买入期
crisis_1: 15 # 危机1投组禁止买入期 # crisis_1: 15 # 危机1投组禁止买入期
crisis_2: 15 # 危机2投组禁止买入期 # crisis_2: 15 # 危机2投组禁止买入期
right_side: 15 # 右侧投组禁止买入期 # right_side: 15 # 右侧投组禁止买入期
signals: # 信号相关 signals: # 信号相关
crisis-signal: # 危机信号相关 crisis-signal: # 危机信号相关
exp-years: 3 # 预警期时长,单位自然年,点到点计算 exp-years: 3 # 预警期时长,单位自然年,点到点计算
......
...@@ -20,8 +20,7 @@ class DateCurve(DriftSolver): ...@@ -20,8 +20,7 @@ class DateCurve(DriftSolver):
def get_drift(self, day, risk: PortfoliosRisk): def get_drift(self, day, risk: PortfoliosRisk):
last_re = rrs.get_last_one(max_date=day, risk=risk, effective=True) 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 self.diff_threshold - self.init_factor * (day - last_re['date']).days ** 4
return max(0, result)
@component(bean_name='high-weight') @component(bean_name='high-weight')
......
...@@ -34,7 +34,10 @@ class LevelRebalanceRuler(RebalanceRuler): ...@@ -34,7 +34,10 @@ class LevelRebalanceRuler(RebalanceRuler):
@property @property
def disable_period(self): def disable_period(self):
result = self._config['disable-period'] result = self._config['disable-period']
return {PortfoliosType(x[0]): x[1] for x in result.items()} 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): def take_next_signal(self, day, risk: PortfoliosRisk):
last_re = rrs.get_last_one(max_date=day, risk=risk, effective=True) last_re = rrs.get_last_one(max_date=day, risk=risk, effective=True)
......
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