framework: database: host: ${MYSQL_HOST:localhost} port: ${MYSQL_PORT:3306} user: ${MYSQL_USER:root} password: ${MYSQL_PWD:123456} dbname: ${MYSQL_DBNAME:jftech_robo} injectable: types: api.PortfoliosBuilder: portfolios.builder.PoemPortfoliosBuilder email: server: smtphz.qiye.163.com user: jft-ra@thizgroup.com password: 5dbb#30ec6d3 mulit-process: max-workers: 8 logger: version: 1 use: ${LOG_NAME} 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: logs/info.log interval: 1 backupCount: 30 encoding: utf8 when: D loggers: prod: handlers: [ console, file ] level: INFO propagate: no root: level: INFO handlers: [ console ] basic: datum: excludes: - 'FKUQX US Equity' - 'FTAAUSH LX Equity' - 'FTJAPAU LX Equity' - 'TEGAUH1 LX Equity' - 'TMEEAAU LX Equity' - 'TEUSAAU LX Equity' - 'FTEAUH1 LX Equity' - 'TFIAAUS LX Equity' navs: exrate: - from: EUR ticker: EURUSD BGN Curncy asset-pool: asset-optimize: sortino-weight: - months: 3 weight: 0.5 - months: 6 weight: 0.3 - years: 1 weight: 0.2 asset-risk: advance-months: 3 rtn-days: 5 ewma: condition-total: 6 condition-meet: 4 factor: 0.3 threshold: 0 cvar: min-volume: 30 threshold: -0.03 coef: 0.95 portfolios: holder: init-nav: 100 min-interval-days: 10 solver: tol: 1E-10 navs: months: 3 max-nan: asset: 8 day: 0.5 risk: ft3: [ 2, 3 ] ft6: [ 2, 3, 4 ] ft9: [ 2, 3, 4, 5 ] matrix-rtn-days: 21 asset-count: 5 # count or [min, max] mpt: cvar-beta: 0.2 quantile: 0.9 low-weight: 0.05 high-weight: [ 1, 0.6, 0.35 ] poem: cvar-scale-factor: 0.1 right_side: asset-count: [3, 5] navs: risk: [1, 2] exclude-asset-type: ['STOCK', 'BALANCED'] mpt: quantile: 0.3 crisis_1: asset-count: [3, 5] navs: risk: [1, 2] mpt: quantile: 0.1 crisis_2: asset-count: [3, 5] navs: risk: [ 1, 2 ] mpt: quantile: 0.1 rebalance: drift-solver: date-curve: diff-threshold: 0.4 init-factor: 0.000000002 high-weight: coef: 0.2 ruler: disable-period: normal: 10 crisis_1: 15 crisis_2: 15 right_side: 15 signals: init-signal: date: 2022-09-01 crisis-signal: exp-years: 3 exp-init: 2008-01-01 inversion-years: 1 inversion-threshold: 0.3 crisis-1: mean-count: 850 consecut-days: 5 crisis-2: negative-growth: 1 fed-months: 3 fed-threshold: 0.75 right-side: rtn-days: 5 min-threshold: -0.05 coef: 0.95 cvar-min-volume: 30 curve-drift: diff-threshold: 0.4 init-factor: 0.000000002 high-low-buy: threshold: [ 0.5, 0.8 ] robo-executor: use: ${ROBO_EXECUTOR:backtest} backtest: start-date: 2008-01-02 end-date: 2009-01-01