[
  {
    "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.8986622411782479,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 89.86622411782479
      }
    ]
  },
  {
    "signal_date": "20190301",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8666202355672147,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 86.66202355672146
      }
    ]
  },
  {
    "signal_date": "20190307",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8234331263204403,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 82.34331263204403
      }
    ]
  },
  {
    "signal_date": "20190308",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8008959508872443,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 80.08959508872444
      }
    ]
  },
  {
    "signal_date": "20190318",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6518834009485942,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 65.18834009485943
      }
    ]
  },
  {
    "signal_date": "20190329",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.642746210135117,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 64.2746210135117
      }
    ]
  },
  {
    "signal_date": "20190401",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.621449698228756,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 62.144969822875595
      }
    ]
  },
  {
    "signal_date": "20190411",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5977701501484998,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 59.77701501484998
      }
    ]
  },
  {
    "signal_date": "20190430",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7928547179865978,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 79.28547179865978
      }
    ]
  },
  {
    "signal_date": "20190506",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7472680882773987,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 74.72680882773986
      }
    ]
  },
  {
    "signal_date": "20190510",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7215868167194855,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 72.15868167194856
      }
    ]
  },
  {
    "signal_date": "20190515",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6802841252717444,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 68.02841252717444
      }
    ]
  },
  {
    "signal_date": "20190517",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6547751941848072,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 65.47751941848072
      }
    ]
  },
  {
    "signal_date": "20190522",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6210100609516129,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 62.101006095161296
      }
    ]
  },
  {
    "signal_date": "20190527",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5964440677761466,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 59.644406777614655
      }
    ]
  },
  {
    "signal_date": "20190531",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6011284027829433,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 60.112840278294335
      }
    ]
  },
  {
    "signal_date": "20190628",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7233737075375942,
    "holdings": [
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 72.33737075375942
      }
    ]
  },
  {
    "signal_date": "20190731",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512660.SH",
        "fund": "国泰中证军工ETF",
        "group": "军工航天",
        "target_pct": 100.0
      }
    ]
  },
  {
    "signal_date": "20190830",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 100.0
      }
    ]
  },
  {
    "signal_date": "20190930",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.9740644832372989,
    "holdings": [
      {
        "code": "512980.SH",
        "fund": "广发中证传媒ETF",
        "group": "传媒游戏",
        "target_pct": 97.40644832372989
      }
    ]
  },
  {
    "signal_date": "20191031",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512800.SH",
        "fund": "华宝中证银行ETF",
        "group": "金融",
        "target_pct": 100.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": 100.0
      }
    ]
  },
  {
    "signal_date": "20200109",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.9672662086626338,
    "holdings": [
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 96.72662086626337
      }
    ]
  },
  {
    "signal_date": "20200114",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.9433499634729597,
    "holdings": [
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 94.33499634729597
      }
    ]
  },
  {
    "signal_date": "20200115",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.901944697063106,
    "holdings": [
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 90.1944697063106
      }
    ]
  },
  {
    "signal_date": "20200121",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8673304299393286,
    "holdings": [
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 86.73304299393287
      }
    ]
  },
  {
    "signal_date": "20200123",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.9207594862412419,
    "holdings": [
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 92.0759486241242
      }
    ]
  },
  {
    "signal_date": "20200203",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.560467445405295,
    "holdings": [
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 56.0467445405295
      }
    ]
  },
  {
    "signal_date": "20200210",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5240093298157591,
    "holdings": [
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 52.400932981575906
      }
    ]
  },
  {
    "signal_date": "20200214",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.4998523419877028,
    "holdings": [
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 49.98523419877028
      }
    ]
  },
  {
    "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": 0.9394624828527027,
    "holdings": [
      {
        "code": "512290.SH",
        "fund": "国泰中证生物医药ETF",
        "group": "医药",
        "target_pct": 93.94624828527027
      }
    ]
  },
  {
    "signal_date": "20200709",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.9048971369124045,
    "holdings": [
      {
        "code": "512290.SH",
        "fund": "国泰中证生物医药ETF",
        "group": "医药",
        "target_pct": 90.48971369124045
      }
    ]
  },
  {
    "signal_date": "20200713",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8584312299148641,
    "holdings": [
      {
        "code": "512290.SH",
        "fund": "国泰中证生物医药ETF",
        "group": "医药",
        "target_pct": 85.84312299148641
      }
    ]
  },
  {
    "signal_date": "20200714",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8367967724686569,
    "holdings": [
      {
        "code": "512290.SH",
        "fund": "国泰中证生物医药ETF",
        "group": "医药",
        "target_pct": 83.6796772468657
      }
    ]
  },
  {
    "signal_date": "20200716",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6534129127425689,
    "holdings": [
      {
        "code": "512290.SH",
        "fund": "国泰中证生物医药ETF",
        "group": "医药",
        "target_pct": 65.34129127425689
      }
    ]
  },
  {
    "signal_date": "20200724",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5436804085423397,
    "holdings": [
      {
        "code": "512290.SH",
        "fund": "国泰中证生物医药ETF",
        "group": "医药",
        "target_pct": 54.36804085423397
      }
    ]
  },
  {
    "signal_date": "20200729",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5167016787197473,
    "holdings": [
      {
        "code": "512290.SH",
        "fund": "国泰中证生物医药ETF",
        "group": "医药",
        "target_pct": 51.670167871974726
      }
    ]
  },
  {
    "signal_date": "20200731",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.3891421988671724,
    "holdings": [
      {
        "code": "512710.SH",
        "fund": "富国中证军工龙头ETF",
        "group": "军工航天",
        "target_pct": 38.91421988671724
      }
    ]
  },
  {
    "signal_date": "20200804",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.36447825099655606,
    "holdings": [
      {
        "code": "512710.SH",
        "fund": "富国中证军工龙头ETF",
        "group": "军工航天",
        "target_pct": 36.4478250996556
      }
    ]
  },
  {
    "signal_date": "20200831",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5214605882361253,
    "holdings": [
      {
        "code": "512710.SH",
        "fund": "富国中证军工龙头ETF",
        "group": "军工航天",
        "target_pct": 52.14605882361253
      }
    ]
  },
  {
    "signal_date": "20200922",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5011333338365397,
    "holdings": [
      {
        "code": "512710.SH",
        "fund": "富国中证军工龙头ETF",
        "group": "军工航天",
        "target_pct": 50.113333383653966
      }
    ]
  },
  {
    "signal_date": "20200930",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6916244105128251,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 69.16244105128251
      }
    ]
  },
  {
    "signal_date": "20201012",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6665737147775402,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 66.65737147775403
      }
    ]
  },
  {
    "signal_date": "20201030",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8278459771777927,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 82.78459771777928
      }
    ]
  },
  {
    "signal_date": "20201106",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7934401434077387,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 79.34401434077387
      }
    ]
  },
  {
    "signal_date": "20201113",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7321010076454268,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 73.21010076454269
      }
    ]
  },
  {
    "signal_date": "20201116",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7030841897728553,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 70.30841897728553
      }
    ]
  },
  {
    "signal_date": "20201125",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6734380632867102,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 67.34380632867102
      }
    ]
  },
  {
    "signal_date": "20201130",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6972561348865356,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 69.72561348865356
      }
    ]
  },
  {
    "signal_date": "20201231",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7917402939443531,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 79.17402939443531
      }
    ]
  },
  {
    "signal_date": "20210108",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7581571561971394,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 75.81571561971394
      }
    ]
  },
  {
    "signal_date": "20210111",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6800374021261951,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 68.00374021261952
      }
    ]
  },
  {
    "signal_date": "20210114",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6341390400105699,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 63.413904001056984
      }
    ]
  },
  {
    "signal_date": "20210118",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6127976703669797,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 61.279767036697976
      }
    ]
  },
  {
    "signal_date": "20210125",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5402421562798855,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 54.024215627988546
      }
    ]
  },
  {
    "signal_date": "20210129",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.49831475623588206,
    "holdings": [
      {
        "code": "515700.SH",
        "fund": "平安中证新能源汽车产业ETF",
        "group": "新能源",
        "target_pct": 49.831475623588204
      }
    ]
  },
  {
    "signal_date": "20210226",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512730.SH",
        "fund": "鹏华中证银行ETF",
        "group": "金融",
        "target_pct": 100.0
      }
    ]
  },
  {
    "signal_date": "20210303",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8753046130722235,
    "holdings": [
      {
        "code": "512730.SH",
        "fund": "鹏华中证银行ETF",
        "group": "金融",
        "target_pct": 87.53046130722235
      }
    ]
  },
  {
    "signal_date": "20210311",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8232049870781475,
    "holdings": [
      {
        "code": "512730.SH",
        "fund": "鹏华中证银行ETF",
        "group": "金融",
        "target_pct": 82.32049870781475
      }
    ]
  },
  {
    "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.6669167477587854,
    "holdings": [
      {
        "code": "159806.SZ",
        "fund": "国泰中证新能源汽车ETF",
        "group": "新能源",
        "target_pct": 66.69167477587854
      }
    ]
  },
  {
    "signal_date": "20210618",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6102069829228457,
    "holdings": [
      {
        "code": "159806.SZ",
        "fund": "国泰中证新能源汽车ETF",
        "group": "新能源",
        "target_pct": 61.02069829228457
      }
    ]
  },
  {
    "signal_date": "20210630",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5855781622701337,
    "holdings": [
      {
        "code": "512480.SH",
        "fund": "国联安中证全指半导体产品与设备ETF",
        "group": "半导体",
        "target_pct": 58.55781622701337
      }
    ]
  },
  {
    "signal_date": "20210705",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5482909533128489,
    "holdings": [
      {
        "code": "512480.SH",
        "fund": "国联安中证全指半导体产品与设备ETF",
        "group": "半导体",
        "target_pct": 54.8290953312849
      }
    ]
  },
  {
    "signal_date": "20210709",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5250879319840118,
    "holdings": [
      {
        "code": "512480.SH",
        "fund": "国联安中证全指半导体产品与设备ETF",
        "group": "半导体",
        "target_pct": 52.50879319840118
      }
    ]
  },
  {
    "signal_date": "20210713",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.48472450065900247,
    "holdings": [
      {
        "code": "512480.SH",
        "fund": "国联安中证全指半导体产品与设备ETF",
        "group": "半导体",
        "target_pct": 48.47245006590025
      }
    ]
  },
  {
    "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.7511769332015349,
    "holdings": [
      {
        "code": "159855.SZ",
        "fund": "银华中证影视主题ETF",
        "group": "传媒游戏",
        "target_pct": 75.11769332015349
      }
    ]
  },
  {
    "signal_date": "20220105",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.727399703190328,
    "holdings": [
      {
        "code": "159855.SZ",
        "fund": "银华中证影视主题ETF",
        "group": "传媒游戏",
        "target_pct": 72.73997031903279
      }
    ]
  },
  {
    "signal_date": "20220106",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6954948925272404,
    "holdings": [
      {
        "code": "159855.SZ",
        "fund": "银华中证影视主题ETF",
        "group": "传媒游戏",
        "target_pct": 69.54948925272404
      }
    ]
  },
  {
    "signal_date": "20220107",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6662931024091654,
    "holdings": [
      {
        "code": "159855.SZ",
        "fund": "银华中证影视主题ETF",
        "group": "传媒游戏",
        "target_pct": 66.62931024091654
      }
    ]
  },
  {
    "signal_date": "20220125",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5929396410575136,
    "holdings": [
      {
        "code": "159855.SZ",
        "fund": "银华中证影视主题ETF",
        "group": "传媒游戏",
        "target_pct": 59.293964105751364
      }
    ]
  },
  {
    "signal_date": "20220127",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5710506760499263,
    "holdings": [
      {
        "code": "159855.SZ",
        "fund": "银华中证影视主题ETF",
        "group": "传媒游戏",
        "target_pct": 57.105067604992634
      }
    ]
  },
  {
    "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": 100.0,
    "risk_factor": 0.5636329560328122,
    "holdings": [
      {
        "code": "159767.SZ",
        "fund": "兴银国证新能源车电池ETF",
        "group": "新能源",
        "target_pct": 56.363295603281216
      }
    ]
  },
  {
    "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.7723521602344916,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 77.23521602344915
      }
    ]
  },
  {
    "signal_date": "20230228",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7460920588289821,
    "holdings": [
      {
        "code": "159869.SZ",
        "fund": "华夏中证动漫游戏ETF",
        "group": "传媒游戏",
        "target_pct": 74.60920588289821
      }
    ]
  },
  {
    "signal_date": "20230301",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6877459134074291,
    "holdings": [
      {
        "code": "159869.SZ",
        "fund": "华夏中证动漫游戏ETF",
        "group": "传媒游戏",
        "target_pct": 68.7745913407429
      }
    ]
  },
  {
    "signal_date": "20230317",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6493929117502835,
    "holdings": [
      {
        "code": "159869.SZ",
        "fund": "华夏中证动漫游戏ETF",
        "group": "传媒游戏",
        "target_pct": 64.93929117502834
      }
    ]
  },
  {
    "signal_date": "20230324",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5891816605429007,
    "holdings": [
      {
        "code": "159869.SZ",
        "fund": "华夏中证动漫游戏ETF",
        "group": "传媒游戏",
        "target_pct": 58.91816605429007
      }
    ]
  },
  {
    "signal_date": "20230331",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5252349559635335,
    "holdings": [
      {
        "code": "159869.SZ",
        "fund": "华夏中证动漫游戏ETF",
        "group": "传媒游戏",
        "target_pct": 52.52349559635336
      }
    ]
  },
  {
    "signal_date": "20230403",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.47787806807564487,
    "holdings": [
      {
        "code": "159869.SZ",
        "fund": "华夏中证动漫游戏ETF",
        "group": "传媒游戏",
        "target_pct": 47.787806807564486
      }
    ]
  },
  {
    "signal_date": "20230410",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.41085049415084796,
    "holdings": [
      {
        "code": "159869.SZ",
        "fund": "华夏中证动漫游戏ETF",
        "group": "传媒游戏",
        "target_pct": 41.0850494150848
      }
    ]
  },
  {
    "signal_date": "20230413",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.3831956541411468,
    "holdings": [
      {
        "code": "159869.SZ",
        "fund": "华夏中证动漫游戏ETF",
        "group": "传媒游戏",
        "target_pct": 38.319565414114685
      }
    ]
  },
  {
    "signal_date": "20230421",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.35424116690575247,
    "holdings": [
      {
        "code": "159869.SZ",
        "fund": "华夏中证动漫游戏ETF",
        "group": "传媒游戏",
        "target_pct": 35.42411669057525
      }
    ]
  },
  {
    "signal_date": "20230428",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.3107507468599061,
    "holdings": [
      {
        "code": "159869.SZ",
        "fund": "华夏中证动漫游戏ETF",
        "group": "传媒游戏",
        "target_pct": 31.07507468599061
      }
    ]
  },
  {
    "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": 0.839117578613179,
    "holdings": [
      {
        "code": "516110.SH",
        "fund": "国泰中证800汽车与零部件ETF",
        "group": "汽车",
        "target_pct": 83.91175786131791
      }
    ]
  },
  {
    "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": 100.0
      }
    ]
  },
  {
    "signal_date": "20240329",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5311340559636388,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 53.11340559636388
      }
    ]
  },
  {
    "signal_date": "20240430",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7304905408036776,
    "holdings": [
      {
        "code": "516650.SH",
        "fund": "华夏中证细分有色金属产业主题ETF",
        "group": "材料",
        "target_pct": 73.04905408036775
      }
    ]
  },
  {
    "signal_date": "20240531",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "516910.SH",
        "fund": "富国中证现代物流ETF",
        "group": "地产基建",
        "target_pct": 100.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": 100.0,
    "risk_factor": 0.4853282808375872,
    "holdings": [
      {
        "code": "512070.SH",
        "fund": "易方达沪深300非银行金融ETF",
        "group": "金融",
        "target_pct": 48.53282808375872
      }
    ]
  },
  {
    "signal_date": "20241008",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.42528983543248955,
    "holdings": [
      {
        "code": "512070.SH",
        "fund": "易方达沪深300非银行金融ETF",
        "group": "金融",
        "target_pct": 42.528983543248955
      }
    ]
  },
  {
    "signal_date": "20241009",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.3717148774079036,
    "holdings": [
      {
        "code": "512070.SH",
        "fund": "易方达沪深300非银行金融ETF",
        "group": "金融",
        "target_pct": 37.17148774079036
      }
    ]
  },
  {
    "signal_date": "20241018",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.34990573966306027,
    "holdings": [
      {
        "code": "512070.SH",
        "fund": "易方达沪深300非银行金融ETF",
        "group": "金融",
        "target_pct": 34.99057396630603
      }
    ]
  },
  {
    "signal_date": "20241031",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.3122512365495019,
    "holdings": [
      {
        "code": "516860.SH",
        "fund": "博时中证金融科技主题ETF",
        "group": "金融",
        "target_pct": 31.22512365495019
      }
    ]
  },
  {
    "signal_date": "20241129",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.37539954011058657,
    "holdings": [
      {
        "code": "516860.SH",
        "fund": "博时中证金融科技主题ETF",
        "group": "金融",
        "target_pct": 37.539954011058654
      }
    ]
  },
  {
    "signal_date": "20241231",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "516310.SH",
        "fund": "易方达中证银行ETF",
        "group": "金融",
        "target_pct": 100.0
      }
    ]
  },
  {
    "signal_date": "20250127",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "516310.SH",
        "fund": "易方达中证银行ETF",
        "group": "金融",
        "target_pct": 100.0
      }
    ]
  },
  {
    "signal_date": "20250228",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.4951929787204546,
    "holdings": [
      {
        "code": "562500.SH",
        "fund": "华夏中证机器人ETF",
        "group": "高端制造",
        "target_pct": 49.519297872045456
      }
    ]
  },
  {
    "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.6958835313047578,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 69.58835313047578
      }
    ]
  },
  {
    "signal_date": "20250731",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7676627275835888,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 76.76627275835888
      }
    ]
  },
  {
    "signal_date": "20250819",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7289597763473219,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 72.89597763473219
      }
    ]
  },
  {
    "signal_date": "20250822",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.698451482421439,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 69.84514824214389
      }
    ]
  },
  {
    "signal_date": "20250825",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6214909555258012,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 62.14909555258012
      }
    ]
  },
  {
    "signal_date": "20250828",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5077401258581561,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 50.77401258581561
      }
    ]
  },
  {
    "signal_date": "20250829",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5191555631823072,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 51.91555631823071
      }
    ]
  },
  {
    "signal_date": "20250902",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.43753028006991096,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 43.753028006991094
      }
    ]
  },
  {
    "signal_date": "20250904",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.36248769349155274,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 36.248769349155275
      }
    ]
  },
  {
    "signal_date": "20250908",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.33340228523767235,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 33.34022852376724
      }
    ]
  },
  {
    "signal_date": "20250912",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.310628681425075,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 31.0628681425075
      }
    ]
  },
  {
    "signal_date": "20250930",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5591081420628328,
    "holdings": [
      {
        "code": "561910.SH",
        "fund": "招商中证电池主题ETF",
        "group": "新能源",
        "target_pct": 55.91081420628328
      }
    ]
  },
  {
    "signal_date": "20251010",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.4706484266652551,
    "holdings": [
      {
        "code": "561910.SH",
        "fund": "招商中证电池主题ETF",
        "group": "新能源",
        "target_pct": 47.06484266652551
      }
    ]
  },
  {
    "signal_date": "20251031",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.547670922421616,
    "holdings": [
      {
        "code": "159558.SZ",
        "fund": "易方达中证半导体材料设备主题ETF",
        "group": "半导体",
        "target_pct": 54.767092242161596
      }
    ]
  },
  {
    "signal_date": "20251128",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.9431538201751162,
    "holdings": [
      {
        "code": "562510.SH",
        "fund": "华夏中证旅游主题ETF",
        "group": "消费",
        "target_pct": 94.31538201751162
      }
    ]
  },
  {
    "signal_date": "20251201",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8949696411511613,
    "holdings": [
      {
        "code": "562510.SH",
        "fund": "华夏中证旅游主题ETF",
        "group": "消费",
        "target_pct": 89.49696411511613
      }
    ]
  },
  {
    "signal_date": "20251231",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5904371236662829,
    "holdings": [
      {
        "code": "159583.SZ",
        "fund": "富国中证通信设备主题ETF",
        "group": "通信",
        "target_pct": 59.043712366628284
      }
    ]
  },
  {
    "signal_date": "20260130",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.32716333856477703,
    "holdings": [
      {
        "code": "159206.SZ",
        "fund": "永赢国证商用卫星通信产业ETF",
        "group": "通信",
        "target_pct": 32.7163338564777
      }
    ]
  },
  {
    "signal_date": "20260227",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6195400847220276,
    "holdings": [
      {
        "code": "159697.SZ",
        "fund": "鹏华国证石油天然气ETF",
        "group": "能源",
        "target_pct": 61.95400847220276
      }
    ]
  },
  {
    "signal_date": "20260302",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.4865443606195222,
    "holdings": [
      {
        "code": "159697.SZ",
        "fund": "鹏华国证石油天然气ETF",
        "group": "能源",
        "target_pct": 48.654436061952225
      }
    ]
  },
  {
    "signal_date": "20260303",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.4222948268323429,
    "holdings": [
      {
        "code": "159697.SZ",
        "fund": "鹏华国证石油天然气ETF",
        "group": "能源",
        "target_pct": 42.22948268323429
      }
    ]
  },
  {
    "signal_date": "20260304",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.3901963223032323,
    "holdings": [
      {
        "code": "159697.SZ",
        "fund": "鹏华国证石油天然气ETF",
        "group": "能源",
        "target_pct": 39.01963223032323
      }
    ]
  },
  {
    "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": 100.0,
    "risk_factor": 0.5653236866446552,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 56.532368664465515
      }
    ]
  },
  {
    "signal_date": "20260529",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.42538650284787094,
    "holdings": [
      {
        "code": "588710.SH",
        "fund": "华泰柏瑞上证科创板半导体材料设备主题ETF",
        "group": "半导体",
        "target_pct": 42.538650284787096
      }
    ]
  },
  {
    "signal_date": "20260601",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.3930101408454205,
    "holdings": [
      {
        "code": "588710.SH",
        "fund": "华泰柏瑞上证科创板半导体材料设备主题ETF",
        "group": "半导体",
        "target_pct": 39.301014084542054
      }
    ]
  },
  {
    "signal_date": "20260609",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.36342081256987013,
    "holdings": [
      {
        "code": "588710.SH",
        "fund": "华泰柏瑞上证科创板半导体材料设备主题ETF",
        "group": "半导体",
        "target_pct": 36.342081256987015
      }
    ]
  },
  {
    "signal_date": "20260630",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.42154095765452976,
    "holdings": [
      {
        "code": "588710.SH",
        "fund": "华泰柏瑞上证科创板半导体材料设备主题ETF",
        "group": "半导体",
        "target_pct": 42.15409576545298
      }
    ]
  },
  {
    "signal_date": "20260702",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.32850942216699724,
    "holdings": [
      {
        "code": "588710.SH",
        "fund": "华泰柏瑞上证科创板半导体材料设备主题ETF",
        "group": "半导体",
        "target_pct": 32.85094221669972
      }
    ]
  },
  {
    "signal_date": "20260710",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.30291330353337453,
    "holdings": [
      {
        "code": "588710.SH",
        "fund": "华泰柏瑞上证科创板半导体材料设备主题ETF",
        "group": "半导体",
        "target_pct": 30.291330353337454
      }
    ]
  },
  {
    "signal_date": "20260715",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.27723033344356235,
    "holdings": [
      {
        "code": "588710.SH",
        "fund": "华泰柏瑞上证科创板半导体材料设备主题ETF",
        "group": "半导体",
        "target_pct": 27.723033344356235
      }
    ]
  },
  {
    "signal_date": "20260721",
    "reason": [
      "risk_reduce_at_least_2pp"
    ],
    "slots_updated": [],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.21304008837124516,
    "holdings": [
      {
        "code": "588710.SH",
        "fund": "华泰柏瑞上证科创板半导体材料设备主题ETF",
        "group": "半导体",
        "target_pct": 21.304008837124517
      }
    ]
  },
  {
    "signal_date": "20260731",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  }
]