framework: database: host: ${MYSQL_HOST:127.0.0.1} 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 portfolios: level: DEBUG root: level: INFO handlers: [ console ] main: start-date: 2022-09-01 basic: 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: builder: 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: navs: risk: [1, 2] exclude-asset-type: ['STOCK', 'BALANCED'] mpt: quantile: 0.3 crisis_1: navs: risk: [1, 2] mpt: quantile: 0.1 crisis_2: navs: risk: [ 1, 2 ] mpt: quantile: 0.1