[
  {
    "signal_date": "20181228",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20190131",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20190228",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.9167860967469337,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 45.83930483734668
      },
      {
        "code": "512070.SH",
        "fund": "易方达沪深300非银行金融ETF",
        "group": "金融",
        "target_pct": 45.83930483734668
      }
    ]
  },
  {
    "signal_date": "20190329",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8853072026734607,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 44.265360133673035
      },
      {
        "code": "512980.SH",
        "fund": "广发中证传媒ETF",
        "group": "传媒游戏",
        "target_pct": 44.265360133673035
      }
    ]
  },
  {
    "signal_date": "20190430",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7861865439932796,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 39.30932719966398
      },
      {
        "code": "512070.SH",
        "fund": "易方达沪深300非银行金融ETF",
        "group": "金融",
        "target_pct": 39.30932719966398
      }
    ]
  },
  {
    "signal_date": "20190531",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7961458747589274,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 39.80729373794637
      },
      {
        "code": "512070.SH",
        "fund": "易方达沪深300非银行金融ETF",
        "group": "金融",
        "target_pct": 39.80729373794637
      }
    ]
  },
  {
    "signal_date": "20190628",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 50.0
      },
      {
        "code": "512800.SH",
        "fund": "华宝中证银行ETF",
        "group": "金融",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20190731",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512010.SH",
        "fund": "易方达沪深300医药卫生ETF",
        "group": "医药",
        "target_pct": 50.0
      },
      {
        "code": "512660.SH",
        "fund": "国泰中证军工ETF",
        "group": "军工航天",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20190830",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512010.SH",
        "fund": "易方达沪深300医药卫生ETF",
        "group": "医药",
        "target_pct": 50.0
      },
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20190930",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512010.SH",
        "fund": "易方达沪深300医药卫生ETF",
        "group": "医药",
        "target_pct": 50.0
      },
      {
        "code": "512980.SH",
        "fund": "广发中证传媒ETF",
        "group": "传媒游戏",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20191031",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512010.SH",
        "fund": "易方达沪深300医药卫生ETF",
        "group": "医药",
        "target_pct": 50.0
      },
      {
        "code": "512800.SH",
        "fund": "华宝中证银行ETF",
        "group": "金融",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20191129",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20191231",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 50.0
      },
      {
        "code": "512980.SH",
        "fund": "广发中证传媒ETF",
        "group": "传媒游戏",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20200123",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 50.0
      },
      {
        "code": "512980.SH",
        "fund": "广发中证传媒ETF",
        "group": "传媒游戏",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20200228",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20200331",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20200430",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20200529",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20200630",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512290.SH",
        "fund": "国泰中证生物医药ETF",
        "group": "医药",
        "target_pct": 50.0
      },
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20200731",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.843281261960057,
    "holdings": [
      {
        "code": "512290.SH",
        "fund": "国泰中证生物医药ETF",
        "group": "医药",
        "target_pct": 42.16406309800285
      },
      {
        "code": "512710.SH",
        "fund": "富国中证军工龙头ETF",
        "group": "军工航天",
        "target_pct": 42.16406309800285
      }
    ]
  },
  {
    "signal_date": "20200831",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8045300425710377,
    "holdings": [
      {
        "code": "510630.SH",
        "fund": "华夏上证主要消费ETF",
        "group": "消费",
        "target_pct": 40.226502128551886
      },
      {
        "code": "512710.SH",
        "fund": "富国中证军工龙头ETF",
        "group": "军工航天",
        "target_pct": 40.226502128551886
      }
    ]
  },
  {
    "signal_date": "20200930",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8794528827054218,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 43.97264413527109
      },
      {
        "code": "512980.SH",
        "fund": "广发中证传媒ETF",
        "group": "传媒游戏",
        "target_pct": 43.97264413527109
      }
    ]
  },
  {
    "signal_date": "20201030",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 50.0
      },
      {
        "code": "512800.SH",
        "fund": "华宝中证银行ETF",
        "group": "金融",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20201130",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.9557331319905894,
    "holdings": [
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 47.78665659952947
      },
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 47.78665659952947
      }
    ]
  },
  {
    "signal_date": "20201231",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8718091926434358,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 43.59045963217179
      },
      {
        "code": "515030.SH",
        "fund": "华夏中证新能源汽车ETF",
        "group": "新能源",
        "target_pct": 43.59045963217179
      }
    ]
  },
  {
    "signal_date": "20210129",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7872652836415884,
    "holdings": [
      {
        "code": "512170.SH",
        "fund": "华宝中证医疗ETF",
        "group": "医药",
        "target_pct": 39.36326418207942
      },
      {
        "code": "515700.SH",
        "fund": "平安中证新能源汽车产业ETF",
        "group": "新能源",
        "target_pct": 39.36326418207942
      }
    ]
  },
  {
    "signal_date": "20210226",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512170.SH",
        "fund": "华宝中证医疗ETF",
        "group": "医药",
        "target_pct": 50.0
      },
      {
        "code": "512730.SH",
        "fund": "鹏华中证银行ETF",
        "group": "金融",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20210331",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20210430",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20210531",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7927614398209607,
    "holdings": [
      {
        "code": "159806.SZ",
        "fund": "国泰中证新能源汽车ETF",
        "group": "新能源",
        "target_pct": 39.63807199104804
      },
      {
        "code": "512170.SH",
        "fund": "华宝中证医疗ETF",
        "group": "医药",
        "target_pct": 39.63807199104804
      }
    ]
  },
  {
    "signal_date": "20210630",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8259135806911171,
    "holdings": [
      {
        "code": "512480.SH",
        "fund": "国联安中证全指半导体产品与设备ETF",
        "group": "半导体",
        "target_pct": 41.29567903455585
      },
      {
        "code": "515700.SH",
        "fund": "平安中证新能源汽车产业ETF",
        "group": "新能源",
        "target_pct": 41.29567903455585
      }
    ]
  },
  {
    "signal_date": "20210730",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20210831",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20210930",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20211029",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20211130",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20211231",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.9042429366071711,
    "holdings": [
      {
        "code": "159855.SZ",
        "fund": "银华中证影视主题ETF",
        "group": "传媒游戏",
        "target_pct": 45.212146830358556
      },
      {
        "code": "515220.SH",
        "fund": "国泰中证煤炭ETF",
        "group": "能源",
        "target_pct": 45.212146830358556
      }
    ]
  },
  {
    "signal_date": "20220128",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20220228",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20220331",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20220429",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20220531",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20220630",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159767.SZ",
        "fund": "兴银国证新能源车电池ETF",
        "group": "新能源",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20220729",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20220831",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20220930",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20221031",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20221130",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20221230",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20230131",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.9960396005069005,
    "holdings": [
      {
        "code": "512010.SH",
        "fund": "易方达沪深300医药卫生ETF",
        "group": "医药",
        "target_pct": 49.801980025345024
      },
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 49.801980025345024
      }
    ]
  },
  {
    "signal_date": "20230228",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159869.SZ",
        "fund": "华夏中证动漫游戏ETF",
        "group": "传媒游戏",
        "target_pct": 50.0
      },
      {
        "code": "515980.SH",
        "fund": "华富中证人工智能产业ETF",
        "group": "软件AI",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20230331",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.766475425540027,
    "holdings": [
      {
        "code": "159869.SZ",
        "fund": "华夏中证动漫游戏ETF",
        "group": "传媒游戏",
        "target_pct": 38.32377127700135
      },
      {
        "code": "516630.SH",
        "fund": "华夏中证云计算与大数据主题ETF",
        "group": "软件AI",
        "target_pct": 38.32377127700135
      }
    ]
  },
  {
    "signal_date": "20230428",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5346453613601003,
    "holdings": [
      {
        "code": "159869.SZ",
        "fund": "华夏中证动漫游戏ETF",
        "group": "传媒游戏",
        "target_pct": 26.732268068005016
      },
      {
        "code": "516630.SH",
        "fund": "华夏中证云计算与大数据主题ETF",
        "group": "软件AI",
        "target_pct": 26.732268068005016
      }
    ]
  },
  {
    "signal_date": "20230531",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20230630",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20230731",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "516110.SH",
        "fund": "国泰中证800汽车与零部件ETF",
        "group": "汽车",
        "target_pct": 50.0
      },
      {
        "code": "516810.SH",
        "fund": "华夏中证农业主题ETF",
        "group": "农业养殖",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20230831",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20230928",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20231031",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20231130",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20231229",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20240131",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20240229",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159887.SZ",
        "fund": "富国中证800银行ETF",
        "group": "金融",
        "target_pct": 50.0
      },
      {
        "code": "510650.SH",
        "fund": "华夏上证金融地产ETF",
        "group": "地产基建",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20240329",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7456520637684966,
    "holdings": [
      {
        "code": "159652.SZ",
        "fund": "汇添富中证细分有色金属产业主题ETF",
        "group": "材料",
        "target_pct": 37.28260318842483
      },
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 37.28260318842483
      }
    ]
  },
  {
    "signal_date": "20240430",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159635.SZ",
        "fund": "华夏中证基建ETF",
        "group": "地产基建",
        "target_pct": 50.0
      },
      {
        "code": "516650.SH",
        "fund": "华夏中证细分有色金属产业主题ETF",
        "group": "材料",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20240531",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "516310.SH",
        "fund": "易方达中证银行ETF",
        "group": "金融",
        "target_pct": 50.0
      },
      {
        "code": "516910.SH",
        "fund": "富国中证现代物流ETF",
        "group": "地产基建",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20240628",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20240731",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20240830",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20240930",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512070.SH",
        "fund": "易方达沪深300非银行金融ETF",
        "group": "金融",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20241031",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 0.8769853799202915,
    "holdings": [
      {
        "code": "516860.SH",
        "fund": "博时中证金融科技主题ETF",
        "group": "金融",
        "target_pct": 43.84926899601457
      }
    ]
  },
  {
    "signal_date": "20241129",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.4508261658367143,
    "holdings": [
      {
        "code": "515400.SH",
        "fund": "富国中证大数据产业ETF",
        "group": "软件AI",
        "target_pct": 22.541308291835715
      },
      {
        "code": "516860.SH",
        "fund": "博时中证金融科技主题ETF",
        "group": "金融",
        "target_pct": 22.541308291835715
      }
    ]
  },
  {
    "signal_date": "20241231",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.9219773230307828,
    "holdings": [
      {
        "code": "159770.SZ",
        "fund": "天弘中证机器人ETF",
        "group": "高端制造",
        "target_pct": 46.09886615153914
      },
      {
        "code": "516310.SH",
        "fund": "易方达中证银行ETF",
        "group": "金融",
        "target_pct": 46.09886615153914
      }
    ]
  },
  {
    "signal_date": "20250127",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159994.SZ",
        "fund": "银华中证5G通信主题ETF",
        "group": "通信",
        "target_pct": 50.0
      },
      {
        "code": "516310.SH",
        "fund": "易方达中证银行ETF",
        "group": "金融",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20250228",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6201397608169007,
    "holdings": [
      {
        "code": "516000.SH",
        "fund": "华夏中证大数据产业ETF",
        "group": "软件AI",
        "target_pct": 31.006988040845034
      },
      {
        "code": "562500.SH",
        "fund": "华夏中证机器人ETF",
        "group": "高端制造",
        "target_pct": 31.006988040845034
      }
    ]
  },
  {
    "signal_date": "20250331",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20250430",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20250530",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20250630",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7529578452085224,
    "holdings": [
      {
        "code": "159869.SZ",
        "fund": "华夏中证动漫游戏ETF",
        "group": "传媒游戏",
        "target_pct": 37.64789226042612
      },
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 37.64789226042612
      }
    ]
  },
  {
    "signal_date": "20250731",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159608.SZ",
        "fund": "广发中证稀有金属主题ETF",
        "group": "材料",
        "target_pct": 50.0
      },
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20250829",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8269863348608587,
    "holdings": [
      {
        "code": "159715.SZ",
        "fund": "易方达中证稀土产业ETF",
        "group": "材料",
        "target_pct": 41.349316743042934
      },
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 41.349316743042934
      }
    ]
  },
  {
    "signal_date": "20250930",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7488853428258496,
    "holdings": [
      {
        "code": "515050.SH",
        "fund": "华夏中证5G通信主题ETF",
        "group": "通信",
        "target_pct": 37.44426714129248
      },
      {
        "code": "561910.SH",
        "fund": "招商中证电池主题ETF",
        "group": "新能源",
        "target_pct": 37.44426714129248
      }
    ]
  },
  {
    "signal_date": "20251031",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6742819051045903,
    "holdings": [
      {
        "code": "159558.SZ",
        "fund": "易方达中证半导体材料设备主题ETF",
        "group": "半导体",
        "target_pct": 33.714095255229516
      },
      {
        "code": "159796.SZ",
        "fund": "汇添富中证电池主题ETF",
        "group": "新能源",
        "target_pct": 33.714095255229516
      }
    ]
  },
  {
    "signal_date": "20251128",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159697.SZ",
        "fund": "鹏华国证石油天然气ETF",
        "group": "能源",
        "target_pct": 50.0
      },
      {
        "code": "562510.SH",
        "fund": "华夏中证旅游主题ETF",
        "group": "消费",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20251231",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8884503807886512,
    "holdings": [
      {
        "code": "159583.SZ",
        "fund": "富国中证通信设备主题ETF",
        "group": "通信",
        "target_pct": 44.422519039432565
      },
      {
        "code": "159638.SZ",
        "fund": "嘉实中证高端装备细分50ETF",
        "group": "高端制造",
        "target_pct": 44.422519039432565
      }
    ]
  },
  {
    "signal_date": "20260130",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7166973970171745,
    "holdings": [
      {
        "code": "159206.SZ",
        "fund": "永赢国证商用卫星通信产业ETF",
        "group": "通信",
        "target_pct": 35.83486985085872
      },
      {
        "code": "561330.SH",
        "fund": "国泰中证有色金属矿业主题ETF",
        "group": "材料",
        "target_pct": 35.83486985085872
      }
    ]
  },
  {
    "signal_date": "20260227",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159697.SZ",
        "fund": "鹏华国证石油天然气ETF",
        "group": "能源",
        "target_pct": 50.0
      },
      {
        "code": "560280.SH",
        "fund": "广发中证工程机械主题ETF",
        "group": "高端制造",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20260331",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20260430",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20260529",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "588710.SH",
        "fund": "华泰柏瑞上证科创板半导体材料设备主题ETF",
        "group": "半导体",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20260630",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5685846400564332,
    "holdings": [
      {
        "code": "159811.SZ",
        "fund": "博时中证5G产业50ETF",
        "group": "通信",
        "target_pct": 28.429232002821657
      },
      {
        "code": "588710.SH",
        "fund": "华泰柏瑞上证科创板半导体材料设备主题ETF",
        "group": "半导体",
        "target_pct": 28.429232002821657
      }
    ]
  },
  {
    "signal_date": "20260731",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  }
]