Commit 119de222 authored by stephen.wang's avatar stephen.wang

优化solver.py中compute_cash_uarc/UARC/LARC,更新6组config

--Brody
parent 4da54d37
This diff is collapsed.
...@@ -204,6 +204,7 @@ reports: # 报告模块相关 ...@@ -204,6 +204,7 @@ reports: # 报告模块相关
include-report: include-report:
# - daily-hold-report # - daily-hold-report
- daily-signal-report - daily-signal-report
# - daily-mpt-report
email: email:
receives: receives:
- brody_wu@chifufund.com - brody_wu@chifufund.com
...@@ -250,7 +251,7 @@ robo-executor: # 执行器相关 ...@@ -250,7 +251,7 @@ robo-executor: # 执行器相关
sync-data: ${SYNC_DATA:on} # 是否开启同步资料数据 sync-data: ${SYNC_DATA:on} # 是否开启同步资料数据
backtest: # 回测执行器相关 backtest: # 回测执行器相关
start-date: 2013-01-02 # 回测起始日期 start-date: 2013-01-02 # 回测起始日期
end-date: 2023-12-29 # 回测截止日期 end-date: 2024-10-01 # 回测截止日期
sealing-period: 10 #调仓封闭期 sealing-period: 10 #调仓封闭期
start-step: ${BACKTEST_START_STEP:1} # 回测从哪一步开始执行 1:计算资产池;2:计算最优投组:3:计算再平衡信号以及持仓投组 start-step: ${BACKTEST_START_STEP:1} # 回测从哪一步开始执行 1:计算资产池;2:计算最优投组:3:计算再平衡信号以及持仓投组
end-step: ${BACKTEST_END_STEP:3} # 回测从哪一步执行完成后结束执行 1:计算资产池;2:计算最优投组:3:计算再平衡信号以及持仓投组 end-step: ${BACKTEST_END_STEP:3} # 回测从哪一步执行完成后结束执行 1:计算资产池;2:计算最优投组:3:计算再平衡信号以及持仓投组
......
This diff is collapsed.
...@@ -204,10 +204,10 @@ reports: # 报告模块相关 ...@@ -204,10 +204,10 @@ reports: # 报告模块相关
- signal-report # 信号报告 - signal-report # 信号报告
# - benckmark-report # benckmark报告 # - benckmark-report # benckmark报告
# - combo-report # 持仓对比 # - combo-report # 持仓对比
# - indicators-report # 各种特殊指标报告 - indicators-report # 各种特殊指标报告
# - fixed-range-report # 固定区间收益报告 - fixed-range-report # 固定区间收益报告
# - relative-range-report # 相对区间收益报告 - relative-range-report # 相对区间收益报告
# - year-range-report # 单年区间业绩报告 - year-range-report # 单年区间业绩报告
# - month-div-rate-report # 月度配息率比较 # - month-div-rate-report # 月度配息率比较
# - year-div-rate-report # 年度配息率比较 # - year-div-rate-report # 年度配息率比较
real-daily: real-daily:
...@@ -215,7 +215,7 @@ reports: # 报告模块相关 ...@@ -215,7 +215,7 @@ reports: # 报告模块相关
include-report: include-report:
# - daily-hold-report # - daily-hold-report
- daily-signal-report - daily-signal-report
- daily-mpt-report # - daily-mpt-report
email: email:
receives: receives:
- brody_wu@chifufund.com - brody_wu@chifufund.com
...@@ -259,17 +259,17 @@ reports: # 报告模块相关 ...@@ -259,17 +259,17 @@ reports: # 报告模块相关
subject: "SVROBO6-实盘版-每日监测_{today}" subject: "SVROBO6-实盘版-每日监测_{today}"
content: "Dear All: 附件是今天生成的监测数据,請驗收,謝謝! 注>:該郵件為自動發送,如有問題請聯繫矽谷團隊 telan_qian@chifufund.com" content: "Dear All: 附件是今天生成的监测数据,請驗收,謝謝! 注>:該郵件為自動發送,如有問題請聯繫矽谷團隊 telan_qian@chifufund.com"
robo-executor: # 执行器相关 robo-executor: # 执行器相关
use: ${ROBO_EXECUTOR:real} # 执行哪个执行器,优先取系统环境变量ROBO_EXECUTOR的值,默认backtest use: ${ROBO_EXECUTOR:backtest} # 执行哪个执行器,优先取系统环境变量ROBO_EXECUTOR的值,默认backtest
sync-data: ${SYNC_DATA:on} # 是否开启同步资料数据 sync-data: ${SYNC_DATA:on} # 是否开启同步资料数据
backtest: # 回测执行器相关 backtest: # 回测执行器相关
start-date: 2024-01-02 # 回测起始日期 start-date: 2013-01-02 # 回测起始日期
end-date: 2024-08-26 # 回测截止日期 end-date: 2024-10-01 # 回测截止日期
sealing-period: 10 #调仓封闭期 sealing-period: 10 #调仓封闭期
start-step: ${BACKTEST_START_STEP:1} # 回测从哪一步开始执行 1:计算资产池;2:计算最优投组:3:计算再平衡信号以及持仓投组 start-step: ${BACKTEST_START_STEP:1} # 回测从哪一步开始执行 1:计算资产池;2:计算最优投组:3:计算再平衡信号以及持仓投组
end-step: ${BACKTEST_END_STEP:3} # 回测从哪一步执行完成后结束执行 1:计算资产池;2:计算最优投组:3:计算再平衡信号以及持仓投组 end-step: ${BACKTEST_END_STEP:3} # 回测从哪一步执行完成后结束执行 1:计算资产池;2:计算最优投组:3:计算再平衡信号以及持仓投组
clean-up: off clean-up: off
real: # 实盘执行器 real: # 实盘执行器
export: ${EXPORT_ENABLE:off} # 是否开启报告 export: ${EXPORT_ENABLE:on} # 是否开启报告
start-date: 2023-05-08 # 实盘开始时间 start-date: 2023-05-08 # 实盘开始时间
include-date: [] include-date: []
web: web:
......
...@@ -166,12 +166,14 @@ reports: # 报告模块相关 ...@@ -166,12 +166,14 @@ reports: # 报告模块相关
end: 2013-06-24 end: 2013-06-24
- start: 2014-09-03 - start: 2014-09-03
end: 2014-12-16 end: 2014-12-16
- start: 2015-04-28 - start: 2015-05-21
end: 2016-01-21 end: 2016-02-11
- start: 2018-01-26 - start: 2018-09-20
end: 2018-10-29 end: 2018-12-24
- start: 2020-01-20 - start: 2020-02-19
end: 2020-03-23 end: 2020-03-23
- start: 2022-01-03
end: 2022-10-12
relative-range: # 相对区间收益率 relative-range: # 相对区间收益率
range-dates: # 相对时间周期 range-dates: # 相对时间周期
- days: 1 - days: 1
...@@ -219,6 +221,7 @@ reports: # 报告模块相关 ...@@ -219,6 +221,7 @@ reports: # 报告模块相关
include-report: include-report:
# - daily-hold-report # - daily-hold-report
- daily-signal-report - daily-signal-report
# - daily-mpt-report
email: email:
receives: receives:
- brody_wu@chifufund.com - brody_wu@chifufund.com
...@@ -262,17 +265,17 @@ reports: # 报告模块相关 ...@@ -262,17 +265,17 @@ reports: # 报告模块相关
subject: "SVROBO6-实盘版-每日监测_{today}" subject: "SVROBO6-实盘版-每日监测_{today}"
content: "Dear All: 附件是今天生成的监测数据,請驗收,謝謝! 注>:該郵件為自動發送,如有問題請聯繫矽谷團隊 telan_qian@chifufund.com" content: "Dear All: 附件是今天生成的监测数据,請驗收,謝謝! 注>:該郵件為自動發送,如有問題請聯繫矽谷團隊 telan_qian@chifufund.com"
robo-executor: # 执行器相关 robo-executor: # 执行器相关
use: ${ROBO_EXECUTOR:real} # 执行哪个执行器,优先取系统环境变量ROBO_EXECUTOR的值,默认backtest use: ${ROBO_EXECUTOR:backtest} # 执行哪个执行器,优先取系统环境变量ROBO_EXECUTOR的值,默认backtest
sync-data: ${SYNC_DATA:on} # 是否开启同步资料数据 sync-data: ${SYNC_DATA:on} # 是否开启同步资料数据
backtest: # 回测执行器相关 backtest: # 回测执行器相关
start-date: 2013-01-02 # 回测起始日期 start-date: 2013-01-02 # 回测起始日期
end-date: 2024-08-26 # 回测截止日期 end-date: 2024-10-01 # 回测截止日期
sealing-period: 10 #调仓封闭期 sealing-period: 10 #调仓封闭期
start-step: ${BACKTEST_START_STEP:1} # 回测从哪一步开始执行 1:计算资产池;2:计算最优投组:3:计算再平衡信号以及持仓投组 start-step: ${BACKTEST_START_STEP:1} # 回测从哪一步开始执行 1:计算资产池;2:计算最优投组:3:计算再平衡信号以及持仓投组
end-step: ${BACKTEST_END_STEP:3} # 回测从哪一步执行完成后结束执行 1:计算资产池;2:计算最优投组:3:计算再平衡信号以及持仓投组 end-step: ${BACKTEST_END_STEP:3} # 回测从哪一步执行完成后结束执行 1:计算资产池;2:计算最优投组:3:计算再平衡信号以及持仓投组
clean-up: on clean-up: off
real: # 实盘执行器 real: # 实盘执行器
export: ${EXPORT_ENABLE:off} # 是否开启报告 export: ${EXPORT_ENABLE:on} # 是否开启报告
start-date: 2023-05-08 # 实盘开始时间 start-date: 2023-05-08 # 实盘开始时间
include-date: [] include-date: []
web: web:
......
...@@ -113,6 +113,12 @@ portfolios: # 投组模块 ...@@ -113,6 +113,12 @@ portfolios: # 投组模块
risk: [] # 资产风险等级要求,可分开写也可以合并写,e.g. risk:[ 2, 3 ] 则表示 所有投组资产风险等级都是 2 或 3 risk: [] # 资产风险等级要求,可分开写也可以合并写,e.g. risk:[ 2, 3 ] 则表示 所有投组资产风险等级都是 2 或 3
LARC: [0.40, 0.00, 0.00, 0.00] #低阈值 LARC: [0.40, 0.00, 0.00, 0.00] #低阈值
UARC: [0.60, 0.50, 0.50, 0.20] #高阈值 UARC: [0.60, 0.50, 0.50, 0.20] #高阈值
# fix-w: 0
# fdtr-w: 0.02
# cpiyoy-w: 0.1
# cpi-expect: 2
# max-w: 0.40
# uarc-index: 2
matrix-rtn-days: 20 # 计算回报率矩阵时,回报率滚动天数 matrix-rtn-days: 20 # 计算回报率矩阵时,回报率滚动天数
asset-count: [5,5] # 投组资产个数。e.g. count 或 [min, max] 分别表示 最大最小都为count 或 最小为min 最大为max,另外这里也可以类似上面给不同风险等级分别配置 asset-count: [5,5] # 投组资产个数。e.g. count 或 [min, max] 分别表示 最大最小都为count 或 最小为min 最大为max,另外这里也可以类似上面给不同风险等级分别配置
mpt: # mpt计算相关 mpt: # mpt计算相关
...@@ -204,6 +210,7 @@ reports: # 报告模块相关 ...@@ -204,6 +210,7 @@ reports: # 报告模块相关
include-report: include-report:
# - daily-hold-report # - daily-hold-report
- daily-signal-report - daily-signal-report
# - daily-mpt-report
email: email:
receives: receives:
- brody_wu@chifufund.com - brody_wu@chifufund.com
...@@ -247,17 +254,17 @@ reports: # 报告模块相关 ...@@ -247,17 +254,17 @@ reports: # 报告模块相关
subject: "SVROBO6-实盘版-每日监测_{today}" subject: "SVROBO6-实盘版-每日监测_{today}"
content: "Dear All: 附件是今天生成的监测数据,請驗收,謝謝! 注>:該郵件為自動發送,如有問題請聯繫矽谷團隊 telan_qian@chifufund.com" content: "Dear All: 附件是今天生成的监测数据,請驗收,謝謝! 注>:該郵件為自動發送,如有問題請聯繫矽谷團隊 telan_qian@chifufund.com"
robo-executor: # 执行器相关 robo-executor: # 执行器相关
use: ${ROBO_EXECUTOR:real} # 执行哪个执行器,优先取系统环境变量ROBO_EXECUTOR的值,默认backtest use: ${ROBO_EXECUTOR:backtest} # 执行哪个执行器,优先取系统环境变量ROBO_EXECUTOR的值,默认backtest
sync-data: ${SYNC_DATA:on} # 是否开启同步资料数据 sync-data: ${SYNC_DATA:on} # 是否开启同步资料数据
backtest: # 回测执行器相关 backtest: # 回测执行器相关
start-date: 2013-01-02 # 回测起始日期 start-date: 2013-01-02 # 回测起始日期
end-date: 2024-08-26 # 回测截止日期 end-date: 2024-10-01 # 回测截止日期
sealing-period: 10 #调仓封闭期 sealing-period: 10 #调仓封闭期
start-step: ${BACKTEST_START_STEP:1} # 回测从哪一步开始执行 1:计算资产池;2:计算最优投组:3:计算再平衡信号以及持仓投组 start-step: ${BACKTEST_START_STEP:1} # 回测从哪一步开始执行 1:计算资产池;2:计算最优投组:3:计算再平衡信号以及持仓投组
end-step: ${BACKTEST_END_STEP:3} # 回测从哪一步执行完成后结束执行 1:计算资产池;2:计算最优投组:3:计算再平衡信号以及持仓投组 end-step: ${BACKTEST_END_STEP:3} # 回测从哪一步执行完成后结束执行 1:计算资产池;2:计算最优投组:3:计算再平衡信号以及持仓投组
clean-up: off clean-up: off
real: # 实盘执行器 real: # 实盘执行器
export: ${EXPORT_ENABLE:off} # 是否开启报告 export: ${EXPORT_ENABLE:on} # 是否开启报告
start-date: 2023-05-08 # 实盘开始时间 start-date: 2023-05-08 # 实盘开始时间
include-date: [] include-date: []
web: web:
......
...@@ -347,7 +347,7 @@ class ARCSolver(DefaultSolver): ...@@ -347,7 +347,7 @@ class ARCSolver(DefaultSolver):
@property @property
def LARC(self): def LARC(self):
if not self._config.get('larc-index'): if self._config.get('larc-index', -1) < 0:
return self._config['LARC'] return self._config['LARC']
cash_uarc = self.compute_cash_uarc cash_uarc = self.compute_cash_uarc
LARC = self._config['LARC'] LARC = self._config['LARC']
...@@ -370,9 +370,10 @@ class ARCSolver(DefaultSolver): ...@@ -370,9 +370,10 @@ class ARCSolver(DefaultSolver):
@property @property
def UARC(self): def UARC(self):
if not self._config.get('uarc-index'): if self._config.get('uarc-index', -1) < 0:
return self._config['UARC'] return self._config['UARC']
cash_uarc = self.compute_cash_uarc cash_uarc = self.compute_cash_uarc
cash_uarc = self.get_config('mpt.low-weight') if cash_uarc < self.get_config('mpt.low-weight') else cash_uarc
UARC = self._config['UARC'] UARC = self._config['UARC']
UARC[self._config['uarc-index']] = cash_uarc UARC[self._config['uarc-index']] = cash_uarc
return UARC return UARC
......
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