py-jftech: logger: version: 1 formatters: brief: format: "%(asctime)s - %(levelname)s - %(message)s" simple: format: "%(asctime)s - %(filename)s - %(levelname)s - %(message)s" handlers: console: class: logging.StreamHandler formatter: simple level: DEBUG stream: ext://sys.stdout file: class: logging.handlers.TimedRotatingFileHandler level: INFO formatter: brief filename: ${LOG_FILE:logs/info.log} interval: 1 backupCount: 30 encoding: utf8 when: D # loggers: # basic.sync: # level: DEBUG # handlers: [console] # propagate: no root: level: ${LOG_LEVEL:INFO} handlers: ${LOG_HANDLERS:[ console ]} database: host: ${MYSQL_HOST:192.168.68.85} port: ${MYSQL_PORT:3306} user: ${MYSQL_USER:root} password: ${MYSQL_PWD:changeit} dbname: ${MYSQL_DBNAME:stable_prr3} # stable_prr3 injectable: names: backtest: robo_executor.BacktestExecutor datum: basic.datum.DefaultDatum hold-report: portfolios.holder.DivHoldReportor mpt: portfolios.builder.RiskParityARCPortfoliosBuilder # PoemARCPortfoliosBuilder dividend-holder: portfolios.holder.InvTrustPortfoliosHolder navs-sync: basic.sync.FundNavSync email: server: smtphz.qiye.163.com user: jft-ra@thizgroup.com password: 5dbb#30ec6d3 mulit-process: max-workers: ${MAX_PROCESS:1} basic: # 基础信息模块 sync: start-date: 1990-01-01 # 同步数据开始日期 datum: # 资料模块 change: date: ${DATUM_CHANGE_DATE} file: ${DATUM_CHANGE_FILE} excludes: # 排除的资料彭博ticker backtest: - 'LCUAGAA ID Equity' # 美盛凱利美國積極成長基金 A 美元 累積 - 'TEMASAA LX Equity' # 富蘭克林坦伯頓全球投資系列-亞洲債券基金 美元A(acc)股 - 'TEMEMAU LX Equity' # 富蘭克林坦伯頓全球投資系列-新興國家固定收益基金 美元A(acc)股 - 'FTGBFAC LX Equity' # 富蘭克林坦伯頓全球投資系列-全球債券基金 美元A(acc)股 - 'TGTRFAA LX Equity' # 富蘭克林坦伯頓全球投資系列-全球債券總報酬基金 美元A(acc)股 - 'TGHYACU LX Equity' # 富蘭克林坦伯頓全球投資系列-全球非投資等級債券基金美元A(acc)股 - 'LEGOUAA ID Equity' # 美盛布蘭迪全球固定收益基金 A 美元 累積 - 'LGBOAAU ID Equity' # 美盛布蘭迪全球機會固定收益基金 A 美元 累積 # - 'TEMFHAC LX Equity' # 富蘭克林坦伯頓全球投資系列-公司債基金 美元A(acc)股 -> 20240722起可一般申购 real: - 'LCUAGAA ID Equity' # 美盛凱利美國積極成長基金 A 美元 累積 - 'TEMASAA LX Equity' # 富蘭克林坦伯頓全球投資系列-亞洲債券基金 美元A(acc)股 - 'TEMEMAU LX Equity' # 富蘭克林坦伯頓全球投資系列-新興國家固定收益基金 美元A(acc)股 - 'FTGBFAC LX Equity' # 富蘭克林坦伯頓全球投資系列-全球債券基金 美元A(acc)股 - 'TGTRFAA LX Equity' # 富蘭克林坦伯頓全球投資系列-全球債券總報酬基金 美元A(acc)股 - 'TGHYACU LX Equity' # 富蘭克林坦伯頓全球投資系列-全球非投資等級債券基金美元A(acc)股 - 'LEGOUAA ID Equity' # 美盛布蘭迪全球固定收益基金 A 美元 累積 - 'LGBOAAU ID Equity' # 美盛布蘭迪全球機會固定收益基金 A 美元 累積 navs: # 净值模块 exrate: # 汇率,如果不开启,整个这块注释掉 - from: EUR # 需要转换的货币类型 ticker: EURUSD BGN Curncy # 汇率值的彭博ticker asset-pool: # 资产池模块 asset-optimize: # 资产优选模块 sortino-weight: # sortino计算需要的权重,下面每一条为一次计算,e.g. months: 3, weight: 0.5 表示 3个月数据使用权重0.5来计算分值 - months: 3 weight: 0.5 - months: 6 weight: 0.3 - years: 1 weight: 0.2 asset-include: {'customType':[1,2,3,4]} optimize-count: 4 #基金优选个数 annual-volatility-filter: #1各资产年化波动率末exclude位 2各资产年化波动率大于volatility - customType: 2 # none min-retain: 4 exclude: 0 volatility: 1000 - customType: 3 # none min-retain: 4 exclude: 0 volatility: 1000 annual-volatility-section: # 波动率时间区间 - years: 1 portfolios: # 投组模块 holder: # 持仓投组相关 init-nav: 100 # 初始金额 min-interval-days: 10 # 两次实际调仓最小间隔期,单位交易日 dividend-rate: 0.0 #设定年化配息率 dividend-date: 15 #配息日,每月15号 dividend-adjust-day: [1,4,7,10] #每年的首个季度调整配息 warehouse-frequency: 1 #每隔1个月调一次仓 warehouse-transfer-date: 1 #调仓日 redeem-list: [ 'TEUSAAU LX Equity', 'LIGTRAA ID Equity', 'TEMFHAC LX Equity', 'LUSHUAA ID Equity' ] #从持仓中的低风险资产“直接”按序赎回 solver: # 解算器相关 model: prr # 结算模型 ARC ,PRR, ~ 标准解算器 arc: on #是否开启ARC brr: 0.0 #误差补偿值 trr: 3 tol: 1E-10 # 误差满足条件 navs: # 净值要求 range: # 需要净值数据的区间, days: 90 表示90自然日,months: 3 表示3个自然月 days: 90 max-nan: # 最大缺失净值条件 asset: 8 # 单一资产最多缺少多少交易日数据,则踢出资产池 day: 0.5 # 单一交易日最多缺少百分之多少净值,则删除该交易日 risk: [] # 资产风险等级要求,可分开写也可以合并写,e.g. risk:[ 2, 3 ] 则表示 所有投组资产风险等级都是 2 或 3 LARC: [0.15, 0.00, 0.00] #低阈值 UARC: [0.35, 0.75, 0.75] #高阈值 matrix-rtn-days: 20 # 计算回报率矩阵时,回报率滚动天数 asset-count: [5,5] # 投组资产个数。e.g. count 或 [min, max] 分别表示 最大最小都为count 或 最小为min 最大为max,另外这里也可以类似上面给不同风险等级分别配置 mpt: # mpt计算相关 cvar-beta: 0.2 # 计算Kbeta 需要用到 quantile: 0.9 # 分位点,也可以给不同风险等级分别配置 low-weight: 0.05 # 最低权重 high-weight: [ 0.50 ] # 最高权重比例,可给一个值,也可以给多个值,当多个值时,第一个表示只有一个资产时权重,第二个表示只有两个资产时权重,以此类推,最后一个表示其他资产个数时的权重 poem: # poem相关 cvar-scale-factor: 0.1 # 计算时用到的系数 checker: #投组检测模块 switch: off #是否开启检查 custom-type-priority: [3,2,1,4] # 检测优先级 month-fund-filter: {4:['XXX ID Equity']} # 'LMAOMPU ID Equity' 根据月份删除某几档基金,51勞動節:美盛西方資產亞洲機會債券基金 A 增益配息 (M) 美元 reports: # 报告模块相关 navs: type: FUND tickers: - TEMTECI LX Equity - TEPLX US Equity - FRDPX US Equity - FKRCX US Equity - FTNRACU LX Equity benchmark: # benchmark报告 ft: init-amount: 100 # 初始金额 stock-rate: # stock型基金比例 RR3: 0.3 RR4: 0.5 RR5: 0.7 fixed-range: # 固定区间收益率 range-dates: # 固定起始截止日期 - start: 2008-01-01 end: 2008-10-27 - start: 2011-05-02 end: 2011-10-04 - start: 2013-05-08 end: 2013-06-24 - start: 2014-09-03 end: 2014-12-16 - start: 2015-04-28 end: 2016-01-21 - start: 2018-01-26 end: 2018-10-29 - start: 2020-01-20 end: 2020-03-23 relative-range: # 相对区间收益率 range-dates: # 相对时间周期 - days: 1 name: '一天' - weeks: 1 name: '一周' - months: 1 name: '一月' - months: 3 name: '三月' - months: 6 name: '六月' - years: 1 name: '一年' - years: 2 name: '两年' - years: 3 name: '三年' - years: 5 name: '五年' - years: 10 name: '十年' - dates: ~ name: '成立以来' exports: backtest: # 回测导出曹策略 save-path: ${EXPORT_PATH:excels} # 导出报告文件存放路径,如果以./或者../开头,则会以执行python文件为根目录,如果以/开头,则为系统绝对路径,否则,以项目目录为根目录 file-name: ${EXPORT_FILENAME:real} # 导出报告的文件名 save-config: ${EXPORT_CONFIG:off} # 是否保存配置文件 include-report: # 需要导出的报告类型列表,下面的顺序,也代表了excel中sheet的顺序 # - funds-report # 基金资料 # - navs-report # 净值报告 - hold-report # 持仓报告 - signal-report # 信号报告 # - benckmark-report # benckmark报告 # - combo-report # 持仓对比 - indicators-report # 各种特殊指标报告 - fixed-range-report # 固定区间收益报告 - relative-range-report # 相对区间收益报告 - year-range-report # 单年区间业绩报告 # - month-div-rate-report # 月度配息率比较 # - year-div-rate-report # 年度配息率比较 real-daily: file-name: SteadyFoF_prr3(實盤)-每月投組推薦 include-report: # - daily-hold-report - daily-signal-report email: receives: - jlin@ftfintech.com.tw - YYang1@ftsice.com.tw copies: - brody_wu@chifufund.com - wenwen.tang@thizgroup.com subject: # default: "SteadyFoF_prr3(實盤)-每日投組推薦_{today}" rebalance: "SteadyFoF_prr3(實盤)-每月投組推薦_{today}" content: # default: "Dear All: 附檔為今日投資組合推薦,請驗收,謝謝! 注>:該郵件為自動發送,如有問題請聯繫矽谷團隊 brody_wu@chifufund.com" rebalance: "Dear All: 附檔為每月投資組合推薦,請驗收,謝謝! 注>:該郵件為自動發送,如有問題請聯繫矽谷團隊 brody_wu@chifufund.com" daily-monitor: file-name: svROBO6_monitor include-report: - name: relative-range-report # 相对区间收益报告 min-date: ~ - name: contribution-report # 贡献率报告 min-date: {days: 30} - name: high-weight-report # 高风险资产占比 min-date: {days: 30} - name: asset-pool-report # 基金池 min-date: {days: 30} - name: combo-report # 持仓报告 min-date: {days: 40} - name: mpt-report min-date: {days: 30} - name: signal-report min-date: ~ - name: crisis-one-report min-date: {days: 30} - name: crisis-two-report min-date: {days: 30} - name: market-right-report min-date: {days: 30} - name: drift-buy-report min-date: {days: 30} email: receives: - wenwen.tang@thizgroup.com copies: ${MONITOR_EMAIL_COPIES} subject: "SVROBO6-实盘版-每日监测_{today}" content: "Dear All: 附件是今天生成的监测数据,請驗收,謝謝! 注>:該郵件為自動發送,如有問題請聯繫矽谷團隊 telan_qian@chifufund.com" robo-executor: # 执行器相关 use: ${ROBO_EXECUTOR:real} # 执行哪个执行器,优先取系统环境变量ROBO_EXECUTOR的值,默认backtest sync-data: ${SYNC_DATA:on} # 是否开启同步资料数据 backtest: # 回测执行器相关 start-date: 2013-01-02 # 回测起始日期 end-date: 2024-08-26 # 回测截止日期 sealing-period: 10 #调仓封闭期 start-step: ${BACKTEST_START_STEP:1} # 回测从哪一步开始执行 1:计算资产池;2:计算最优投组:3:计算再平衡信号以及持仓投组 end-step: ${BACKTEST_END_STEP:3} # 回测从哪一步执行完成后结束执行 1:计算资产池;2:计算最优投组:3:计算再平衡信号以及持仓投组 clean-up: on real: # 实盘执行器 export: ${EXPORT_ENABLE:off} # 是否开启报告 start-date: 2023-05-08 # 实盘开始时间 include-date: [] web: guid: AB088E61-FAB1-4466-B6AD-6E8AE253391E port: 8081