[
  {
    "signal_date": "20181207",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20181214",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20181221",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20181228",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20190104",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20190111",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20190118",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20190125",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "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": "20190201",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512880.SH",
        "fund": "国泰中证全指证券公司ETF",
        "group": "金融",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20190215",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512880.SH",
        "fund": "国泰中证全指证券公司ETF",
        "group": "金融",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20190222",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512880.SH",
        "fund": "国泰中证全指证券公司ETF",
        "group": "金融",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20190228",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8327574051524858,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 41.637870257624286
      },
      {
        "code": "512880.SH",
        "fund": "国泰中证全指证券公司ETF",
        "group": "金融",
        "target_pct": 41.637870257624286
      }
    ]
  },
  {
    "signal_date": "20190301",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 100.0
      }
    ]
  },
  {
    "signal_date": "20190308",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7901892016416436,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 39.509460082082185
      },
      {
        "code": "512900.SH",
        "fund": "南方中证全指证券公司ETF",
        "group": "金融",
        "target_pct": 39.509460082082185
      }
    ]
  },
  {
    "signal_date": "20190315",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.784604325685005,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 39.230216284250254
      },
      {
        "code": "512900.SH",
        "fund": "南方中证全指证券公司ETF",
        "group": "金融",
        "target_pct": 39.230216284250254
      }
    ]
  },
  {
    "signal_date": "20190322",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7692612665457799,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 38.46306332728899
      },
      {
        "code": "512900.SH",
        "fund": "南方中证全指证券公司ETF",
        "group": "金融",
        "target_pct": 38.46306332728899
      }
    ]
  },
  {
    "signal_date": "20190329",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "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": "20190404",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8693481748049763,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 43.467408740248814
      },
      {
        "code": "512980.SH",
        "fund": "广发中证传媒ETF",
        "group": "传媒游戏",
        "target_pct": 43.467408740248814
      }
    ]
  },
  {
    "signal_date": "20190412",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7627982196923799,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 76.27982196923799
      }
    ]
  },
  {
    "signal_date": "20190419",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7855148787224622,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 78.55148787224621
      }
    ]
  },
  {
    "signal_date": "20190426",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7928332283092075,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 79.28332283092075
      }
    ]
  },
  {
    "signal_date": "20190430",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7928547179865978,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 79.28547179865978
      }
    ]
  },
  {
    "signal_date": "20190510",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7215868167194855,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 72.15868167194856
      }
    ]
  },
  {
    "signal_date": "20190517",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6887650747233499,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 68.87650747233499
      }
    ]
  },
  {
    "signal_date": "20190524",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.681849635358029,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 68.1849635358029
      }
    ]
  },
  {
    "signal_date": "20190531",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6970492217186772,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 69.70492217186772
      }
    ]
  },
  {
    "signal_date": "20190606",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7020713989792383,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 70.20713989792384
      }
    ]
  },
  {
    "signal_date": "20190614",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6814636660462394,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 68.14636660462395
      }
    ]
  },
  {
    "signal_date": "20190621",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7374433481970099,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 73.74433481970098
      }
    ]
  },
  {
    "signal_date": "20190628",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7233737075375942,
    "holdings": [
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 72.33737075375942
      }
    ]
  },
  {
    "signal_date": "20190705",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7666275964195165,
    "holdings": [
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 76.66275964195165
      }
    ]
  },
  {
    "signal_date": "20190712",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7750538882631899,
    "holdings": [
      {
        "code": "512000.SH",
        "fund": "华宝中证全指证券公司ETF",
        "group": "金融",
        "target_pct": 38.752694413159496
      },
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 38.752694413159496
      }
    ]
  },
  {
    "signal_date": "20190719",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7887508064132777,
    "holdings": [
      {
        "code": "512000.SH",
        "fund": "华宝中证全指证券公司ETF",
        "group": "金融",
        "target_pct": 39.437540320663885
      },
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 39.437540320663885
      }
    ]
  },
  {
    "signal_date": "20190726",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.9210626388273443,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 46.05313194136721
      },
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 46.05313194136721
      }
    ]
  },
  {
    "signal_date": "20190731",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159928.SZ",
        "fund": "汇添富中证主要消费ETF",
        "group": "消费",
        "target_pct": 50.0
      },
      {
        "code": "512660.SH",
        "fund": "国泰中证军工ETF",
        "group": "军工航天",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20190802",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512660.SH",
        "fund": "国泰中证军工ETF",
        "group": "军工航天",
        "target_pct": 100.0
      }
    ]
  },
  {
    "signal_date": "20190809",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512660.SH",
        "fund": "国泰中证军工ETF",
        "group": "军工航天",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20190816",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512660.SH",
        "fund": "国泰中证军工ETF",
        "group": "军工航天",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20190823",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512660.SH",
        "fund": "国泰中证军工ETF",
        "group": "军工航天",
        "target_pct": 50.0
      },
      {
        "code": "512700.SH",
        "fund": "南方中证银行ETF",
        "group": "金融",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20190830",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 100.0
      }
    ]
  },
  {
    "signal_date": "20190906",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 100.0
      }
    ]
  },
  {
    "signal_date": "20190912",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159938.SZ",
        "fund": "广发中证全指医药卫生ETF",
        "group": "医药",
        "target_pct": 50.0
      },
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20190920",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159938.SZ",
        "fund": "广发中证全指医药卫生ETF",
        "group": "医药",
        "target_pct": 50.0
      },
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20190927",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159938.SZ",
        "fund": "广发中证全指医药卫生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,
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159938.SZ",
        "fund": "广发中证全指医药卫生ETF",
        "group": "医药",
        "target_pct": 50.0
      },
      {
        "code": "512980.SH",
        "fund": "广发中证传媒ETF",
        "group": "传媒游戏",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20191011",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159938.SZ",
        "fund": "广发中证全指医药卫生ETF",
        "group": "医药",
        "target_pct": 50.0
      },
      {
        "code": "512980.SH",
        "fund": "广发中证传媒ETF",
        "group": "传媒游戏",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20191018",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159938.SZ",
        "fund": "广发中证全指医药卫生ETF",
        "group": "医药",
        "target_pct": 50.0
      },
      {
        "code": "512980.SH",
        "fund": "广发中证传媒ETF",
        "group": "传媒游戏",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20191025",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512700.SH",
        "fund": "南方中证银行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": "512700.SH",
        "fund": "南方中证银行ETF",
        "group": "金融",
        "target_pct": 50.0
      },
      {
        "code": "512800.SH",
        "fund": "华宝中证银行ETF",
        "group": "金融",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20191101",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512800.SH",
        "fund": "华宝中证银行ETF",
        "group": "金融",
        "target_pct": 100.0
      }
    ]
  },
  {
    "signal_date": "20191108",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512800.SH",
        "fund": "华宝中证银行ETF",
        "group": "金融",
        "target_pct": 100.0
      }
    ]
  },
  {
    "signal_date": "20191115",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512800.SH",
        "fund": "华宝中证银行ETF",
        "group": "金融",
        "target_pct": 100.0
      }
    ]
  },
  {
    "signal_date": "20191122",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "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,
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20191206",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512010.SH",
        "fund": "易方达沪深300医药卫生ETF",
        "group": "医药",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20191213",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512010.SH",
        "fund": "易方达沪深300医药卫生ETF",
        "group": "医药",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20191220",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20191227",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 50.0
      }
    ]
  },
  {
    "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": "20200103",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 100.0
      }
    ]
  },
  {
    "signal_date": "20200110",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 100.0
      }
    ]
  },
  {
    "signal_date": "20200117",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 100.0
      }
    ]
  },
  {
    "signal_date": "20200123",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 100.0
      }
    ]
  },
  {
    "signal_date": "20200207",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20200214",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159938.SZ",
        "fund": "广发中证全指医药卫生ETF",
        "group": "医药",
        "target_pct": 50.0
      },
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20200221",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.9969965962160964,
    "holdings": [
      {
        "code": "159938.SZ",
        "fund": "广发中证全指医药卫生ETF",
        "group": "医药",
        "target_pct": 49.84982981080482
      },
      {
        "code": "512400.SH",
        "fund": "南方中证申万有色金属ETF",
        "group": "材料",
        "target_pct": 49.84982981080482
      }
    ]
  },
  {
    "signal_date": "20200228",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20200306",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159938.SZ",
        "fund": "广发中证全指医药卫生ETF",
        "group": "医药",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20200313",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20200320",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20200327",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "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": "20200403",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20200410",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20200417",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20200424",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20200430",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20200508",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512290.SH",
        "fund": "国泰中证生物医药ETF",
        "group": "医药",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20200515",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20200522",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20200529",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20200605",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20200612",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20200619",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20200624",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 50.0
      }
    ]
  },
  {
    "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": "20200703",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "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": "20200710",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "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": "20200717",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8690883767315132,
    "holdings": [
      {
        "code": "512290.SH",
        "fund": "国泰中证生物医药ETF",
        "group": "医药",
        "target_pct": 43.454418836575655
      },
      {
        "code": "512900.SH",
        "fund": "南方中证全指证券公司ETF",
        "group": "金融",
        "target_pct": 43.454418836575655
      }
    ]
  },
  {
    "signal_date": "20200724",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7861739223966818,
    "holdings": [
      {
        "code": "512290.SH",
        "fund": "国泰中证生物医药ETF",
        "group": "医药",
        "target_pct": 39.30869611983409
      },
      {
        "code": "512900.SH",
        "fund": "南方中证全指证券公司ETF",
        "group": "金融",
        "target_pct": 39.30869611983409
      }
    ]
  },
  {
    "signal_date": "20200731",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.629234789566968,
    "holdings": [
      {
        "code": "512710.SH",
        "fund": "富国中证军工龙头ETF",
        "group": "军工航天",
        "target_pct": 62.9234789566968
      }
    ]
  },
  {
    "signal_date": "20200807",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.559219473576692,
    "holdings": [
      {
        "code": "512710.SH",
        "fund": "富国中证军工龙头ETF",
        "group": "军工航天",
        "target_pct": 55.9219473576692
      }
    ]
  },
  {
    "signal_date": "20200814",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5423573287744345,
    "holdings": [
      {
        "code": "512710.SH",
        "fund": "富国中证军工龙头ETF",
        "group": "军工航天",
        "target_pct": 54.23573287744345
      }
    ]
  },
  {
    "signal_date": "20200821",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5338828392098657,
    "holdings": [
      {
        "code": "512710.SH",
        "fund": "富国中证军工龙头ETF",
        "group": "军工航天",
        "target_pct": 53.38828392098657
      }
    ]
  },
  {
    "signal_date": "20200828",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5204833018354201,
    "holdings": [
      {
        "code": "512710.SH",
        "fund": "富国中证军工龙头ETF",
        "group": "军工航天",
        "target_pct": 52.048330183542014
      }
    ]
  },
  {
    "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": "20200904",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.787478842414907,
    "holdings": [
      {
        "code": "510630.SH",
        "fund": "华夏上证主要消费ETF",
        "group": "消费",
        "target_pct": 39.37394212074535
      },
      {
        "code": "512710.SH",
        "fund": "富国中证军工龙头ETF",
        "group": "军工航天",
        "target_pct": 39.37394212074535
      }
    ]
  },
  {
    "signal_date": "20200911",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7541906021604455,
    "holdings": [
      {
        "code": "510630.SH",
        "fund": "华夏上证主要消费ETF",
        "group": "消费",
        "target_pct": 37.70953010802228
      },
      {
        "code": "512710.SH",
        "fund": "富国中证军工龙头ETF",
        "group": "军工航天",
        "target_pct": 37.70953010802228
      }
    ]
  },
  {
    "signal_date": "20200918",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7486009255792861,
    "holdings": [
      {
        "code": "510630.SH",
        "fund": "华夏上证主要消费ETF",
        "group": "消费",
        "target_pct": 37.430046278964305
      },
      {
        "code": "512710.SH",
        "fund": "富国中证军工龙头ETF",
        "group": "军工航天",
        "target_pct": 37.430046278964305
      }
    ]
  },
  {
    "signal_date": "20200925",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.739386794005612,
    "holdings": [
      {
        "code": "510630.SH",
        "fund": "华夏上证主要消费ETF",
        "group": "消费",
        "target_pct": 36.9693397002806
      },
      {
        "code": "512710.SH",
        "fund": "富国中证军工龙头ETF",
        "group": "军工航天",
        "target_pct": 36.9693397002806
      }
    ]
  },
  {
    "signal_date": "20200930",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.795883055974908,
    "holdings": [
      {
        "code": "510630.SH",
        "fund": "华夏上证主要消费ETF",
        "group": "消费",
        "target_pct": 39.7941527987454
      },
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 39.7941527987454
      }
    ]
  },
  {
    "signal_date": "20201009",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.794322463762263,
    "holdings": [
      {
        "code": "510630.SH",
        "fund": "华夏上证主要消费ETF",
        "group": "消费",
        "target_pct": 39.71612318811315
      },
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 39.71612318811315
      }
    ]
  },
  {
    "signal_date": "20201016",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.9602716524570257,
    "holdings": [
      {
        "code": "510630.SH",
        "fund": "华夏上证主要消费ETF",
        "group": "消费",
        "target_pct": 48.01358262285129
      },
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 48.01358262285129
      }
    ]
  },
  {
    "signal_date": "20201023",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.9724187444246615,
    "holdings": [
      {
        "code": "512070.SH",
        "fund": "易方达沪深300非银行金融ETF",
        "group": "金融",
        "target_pct": 48.62093722123307
      },
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 48.62093722123307
      }
    ]
  },
  {
    "signal_date": "20201030",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "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": "20201106",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8234884913991463,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 82.34884913991462
      }
    ]
  },
  {
    "signal_date": "20201113",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7829997763776573,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 78.29997763776572
      }
    ]
  },
  {
    "signal_date": "20201120",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7778363564961732,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 77.78363564961732
      }
    ]
  },
  {
    "signal_date": "20201127",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7742152206707557,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 77.42152206707557
      }
    ]
  },
  {
    "signal_date": "20201130",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7858102581010048,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 78.58102581010048
      }
    ]
  },
  {
    "signal_date": "20201204",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7808550843546763,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 78.08550843546763
      }
    ]
  },
  {
    "signal_date": "20201211",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8212786784142005,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 82.12786784142006
      }
    ]
  },
  {
    "signal_date": "20201218",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8346666491235644,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 83.46666491235644
      }
    ]
  },
  {
    "signal_date": "20201225",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.835748450908592,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 83.5748450908592
      }
    ]
  },
  {
    "signal_date": "20201231",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7917402939443531,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 79.17402939443531
      }
    ]
  },
  {
    "signal_date": "20210108",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7714136048191658,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 77.14136048191658
      }
    ]
  },
  {
    "signal_date": "20210115",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7834738528827316,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 39.17369264413658
      },
      {
        "code": "515700.SH",
        "fund": "平安中证新能源汽车产业ETF",
        "group": "新能源",
        "target_pct": 39.17369264413658
      }
    ]
  },
  {
    "signal_date": "20210122",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7718611877023489,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 38.59305938511744
      },
      {
        "code": "515700.SH",
        "fund": "平安中证新能源汽车产业ETF",
        "group": "新能源",
        "target_pct": 38.59305938511744
      }
    ]
  },
  {
    "signal_date": "20210129",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5931529900028275,
    "holdings": [
      {
        "code": "515700.SH",
        "fund": "平安中证新能源汽车产业ETF",
        "group": "新能源",
        "target_pct": 59.31529900028275
      }
    ]
  },
  {
    "signal_date": "20210205",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5805924865982627,
    "holdings": [
      {
        "code": "515700.SH",
        "fund": "平安中证新能源汽车产业ETF",
        "group": "新能源",
        "target_pct": 58.05924865982627
      }
    ]
  },
  {
    "signal_date": "20210210",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8127115077825413,
    "holdings": [
      {
        "code": "512170.SH",
        "fund": "华宝中证医疗ETF",
        "group": "医药",
        "target_pct": 40.63557538912706
      },
      {
        "code": "515700.SH",
        "fund": "平安中证新能源汽车产业ETF",
        "group": "新能源",
        "target_pct": 40.63557538912706
      }
    ]
  },
  {
    "signal_date": "20210219",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8102181572861515,
    "holdings": [
      {
        "code": "512170.SH",
        "fund": "华宝中证医疗ETF",
        "group": "医药",
        "target_pct": 40.510907864307576
      },
      {
        "code": "515700.SH",
        "fund": "平安中证新能源汽车产业ETF",
        "group": "新能源",
        "target_pct": 40.510907864307576
      }
    ]
  },
  {
    "signal_date": "20210226",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512730.SH",
        "fund": "鹏华中证银行ETF",
        "group": "金融",
        "target_pct": 100.0
      }
    ]
  },
  {
    "signal_date": "20210305",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512730.SH",
        "fund": "鹏华中证银行ETF",
        "group": "金融",
        "target_pct": 100.0
      }
    ]
  },
  {
    "signal_date": "20210312",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512730.SH",
        "fund": "鹏华中证银行ETF",
        "group": "金融",
        "target_pct": 100.0
      }
    ]
  },
  {
    "signal_date": "20210319",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512730.SH",
        "fund": "鹏华中证银行ETF",
        "group": "金融",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20210326",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "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": "20210402",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "515210.SH",
        "fund": "国泰中证钢铁ETF",
        "group": "材料",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20210409",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20210416",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20210423",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20210430",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20210507",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20210514",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20210521",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20210528",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512170.SH",
        "fund": "华宝中证医疗ETF",
        "group": "医药",
        "target_pct": 50.0
      }
    ]
  },
  {
    "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": "20210604",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7040107399557233,
    "holdings": [
      {
        "code": "159806.SZ",
        "fund": "国泰中证新能源汽车ETF",
        "group": "新能源",
        "target_pct": 35.200536997786166
      },
      {
        "code": "515700.SH",
        "fund": "平安中证新能源汽车产业ETF",
        "group": "新能源",
        "target_pct": 35.200536997786166
      }
    ]
  },
  {
    "signal_date": "20210611",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7126298778165426,
    "holdings": [
      {
        "code": "159806.SZ",
        "fund": "国泰中证新能源汽车ETF",
        "group": "新能源",
        "target_pct": 35.63149389082713
      },
      {
        "code": "515700.SH",
        "fund": "平安中证新能源汽车产业ETF",
        "group": "新能源",
        "target_pct": 35.63149389082713
      }
    ]
  },
  {
    "signal_date": "20210618",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159806.SZ",
        "fund": "国泰中证新能源汽车ETF",
        "group": "新能源",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20210625",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6927063986906747,
    "holdings": [
      {
        "code": "159806.SZ",
        "fund": "国泰中证新能源汽车ETF",
        "group": "新能源",
        "target_pct": 34.63531993453374
      },
      {
        "code": "515700.SH",
        "fund": "平安中证新能源汽车产业ETF",
        "group": "新能源",
        "target_pct": 34.63531993453374
      }
    ]
  },
  {
    "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": "20210702",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512480.SH",
        "fund": "国联安中证全指半导体产品与设备ETF",
        "group": "半导体",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20210709",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512480.SH",
        "fund": "国联安中证全指半导体产品与设备ETF",
        "group": "半导体",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20210716",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512480.SH",
        "fund": "国联安中证全指半导体产品与设备ETF",
        "group": "半导体",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20210723",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512480.SH",
        "fund": "国联安中证全指半导体产品与设备ETF",
        "group": "半导体",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20210730",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20210806",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20210813",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20210820",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20210827",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "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": "20210903",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20210910",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20210917",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20210924",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20210930",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20211008",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20211015",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20211022",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20211029",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20211105",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20211112",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20211119",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20211126",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "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": "20211203",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20211210",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "515250.SH",
        "fund": "富国中证智能汽车主题ETF",
        "group": "汽车",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20211217",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "515250.SH",
        "fund": "富国中证智能汽车主题ETF",
        "group": "汽车",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20211224",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20211231",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8932317819878569,
    "holdings": [
      {
        "code": "159855.SZ",
        "fund": "银华中证影视主题ETF",
        "group": "传媒游戏",
        "target_pct": 89.3231781987857
      }
    ]
  },
  {
    "signal_date": "20220107",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159855.SZ",
        "fund": "银华中证影视主题ETF",
        "group": "传媒游戏",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20220114",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159855.SZ",
        "fund": "银华中证影视主题ETF",
        "group": "传媒游戏",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20220121",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159855.SZ",
        "fund": "银华中证影视主题ETF",
        "group": "传媒游戏",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20220128",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20220211",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20220218",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20220225",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "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": "20220304",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20220311",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20220318",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20220325",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "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": "20220401",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20220408",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20220415",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20220422",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20220429",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20220506",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20220513",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20220520",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20220527",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "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": "20220602",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20220610",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20220617",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20220624",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159767.SZ",
        "fund": "兴银国证新能源车电池ETF",
        "group": "新能源",
        "target_pct": 50.0
      }
    ]
  },
  {
    "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": "20220701",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5682564674274325,
    "holdings": [
      {
        "code": "159767.SZ",
        "fund": "兴银国证新能源车电池ETF",
        "group": "新能源",
        "target_pct": 56.82564674274325
      }
    ]
  },
  {
    "signal_date": "20220708",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5932096320754129,
    "holdings": [
      {
        "code": "159767.SZ",
        "fund": "兴银国证新能源车电池ETF",
        "group": "新能源",
        "target_pct": 59.32096320754129
      }
    ]
  },
  {
    "signal_date": "20220715",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159767.SZ",
        "fund": "兴银国证新能源车电池ETF",
        "group": "新能源",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20220722",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6238408391152531,
    "holdings": [
      {
        "code": "159767.SZ",
        "fund": "兴银国证新能源车电池ETF",
        "group": "新能源",
        "target_pct": 31.192041955762654
      },
      {
        "code": "562880.SH",
        "fund": "嘉实中证电池主题ETF",
        "group": "新能源",
        "target_pct": 31.192041955762654
      }
    ]
  },
  {
    "signal_date": "20220729",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20220805",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20220812",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512560.SH",
        "fund": "易方达中证军工ETF",
        "group": "军工航天",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20220819",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20220826",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "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": "20220902",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20220909",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20220916",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20220923",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20220930",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20221014",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20221021",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20221028",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "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": "20221104",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20221111",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20221118",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20221125",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "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": "20221202",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20221209",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20221216",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20221223",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20221230",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20230106",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20230113",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20230120",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 50.0
      }
    ]
  },
  {
    "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": "20230203",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8455576652513783,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 84.55576652513783
      }
    ]
  },
  {
    "signal_date": "20230210",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 50.0
      },
      {
        "code": "516510.SH",
        "fund": "易方达中证云计算与大数据主题ETF",
        "group": "软件AI",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20230217",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 50.0
      },
      {
        "code": "516510.SH",
        "fund": "易方达中证云计算与大数据主题ETF",
        "group": "软件AI",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20230224",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159869.SZ",
        "fund": "华夏中证动漫游戏ETF",
        "group": "传媒游戏",
        "target_pct": 50.0
      },
      {
        "code": "512690.SH",
        "fund": "鹏华中证酒ETF",
        "group": "消费",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20230228",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.9764981829226277,
    "holdings": [
      {
        "code": "159869.SZ",
        "fund": "华夏中证动漫游戏ETF",
        "group": "传媒游戏",
        "target_pct": 97.64981829226276
      }
    ]
  },
  {
    "signal_date": "20230303",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.9265848981608896,
    "holdings": [
      {
        "code": "159869.SZ",
        "fund": "华夏中证动漫游戏ETF",
        "group": "传媒游戏",
        "target_pct": 92.65848981608896
      }
    ]
  },
  {
    "signal_date": "20230310",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.9416624542061492,
    "holdings": [
      {
        "code": "159869.SZ",
        "fund": "华夏中证动漫游戏ETF",
        "group": "传媒游戏",
        "target_pct": 47.083122710307464
      },
      {
        "code": "515400.SH",
        "fund": "富国中证大数据产业ETF",
        "group": "软件AI",
        "target_pct": 47.083122710307464
      }
    ]
  },
  {
    "signal_date": "20230317",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159619.SZ",
        "fund": "国泰中证基建ETF",
        "group": "地产基建",
        "target_pct": 50.0
      },
      {
        "code": "159869.SZ",
        "fund": "华夏中证动漫游戏ETF",
        "group": "传媒游戏",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20230324",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159619.SZ",
        "fund": "国泰中证基建ETF",
        "group": "地产基建",
        "target_pct": 50.0
      },
      {
        "code": "159869.SZ",
        "fund": "华夏中证动漫游戏ETF",
        "group": "传媒游戏",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20230331",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6796416568911057,
    "holdings": [
      {
        "code": "159869.SZ",
        "fund": "华夏中证动漫游戏ETF",
        "group": "传媒游戏",
        "target_pct": 67.96416568911057
      }
    ]
  },
  {
    "signal_date": "20230407",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6136900873706874,
    "holdings": [
      {
        "code": "159869.SZ",
        "fund": "华夏中证动漫游戏ETF",
        "group": "传媒游戏",
        "target_pct": 61.36900873706874
      }
    ]
  },
  {
    "signal_date": "20230414",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5335032647011765,
    "holdings": [
      {
        "code": "159869.SZ",
        "fund": "华夏中证动漫游戏ETF",
        "group": "传媒游戏",
        "target_pct": 53.35032647011765
      }
    ]
  },
  {
    "signal_date": "20230421",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5068637133181256,
    "holdings": [
      {
        "code": "159869.SZ",
        "fund": "华夏中证动漫游戏ETF",
        "group": "传媒游戏",
        "target_pct": 50.686371331812566
      }
    ]
  },
  {
    "signal_date": "20230428",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.4463213029357516,
    "holdings": [
      {
        "code": "159869.SZ",
        "fund": "华夏中证动漫游戏ETF",
        "group": "传媒游戏",
        "target_pct": 44.63213029357516
      }
    ]
  },
  {
    "signal_date": "20230505",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.4254961459338175,
    "holdings": [
      {
        "code": "159869.SZ",
        "fund": "华夏中证动漫游戏ETF",
        "group": "传媒游戏",
        "target_pct": 42.549614593381754
      }
    ]
  },
  {
    "signal_date": "20230512",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 0.8237426248922559,
    "holdings": [
      {
        "code": "159869.SZ",
        "fund": "华夏中证动漫游戏ETF",
        "group": "传媒游戏",
        "target_pct": 41.18713124461279
      }
    ]
  },
  {
    "signal_date": "20230519",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 0.8158388278956719,
    "holdings": [
      {
        "code": "159869.SZ",
        "fund": "华夏中证动漫游戏ETF",
        "group": "传媒游戏",
        "target_pct": 40.79194139478359
      }
    ]
  },
  {
    "signal_date": "20230526",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 0.814709033623233,
    "holdings": [
      {
        "code": "159869.SZ",
        "fund": "华夏中证动漫游戏ETF",
        "group": "传媒游戏",
        "target_pct": 40.73545168116165
      }
    ]
  },
  {
    "signal_date": "20230531",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20230602",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20230609",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20230616",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20230621",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20230630",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20230707",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20230714",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20230721",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20230728",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "516110.SH",
        "fund": "国泰中证800汽车与零部件ETF",
        "group": "汽车",
        "target_pct": 50.0
      }
    ]
  },
  {
    "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": 100.0
      }
    ]
  },
  {
    "signal_date": "20230804",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "516110.SH",
        "fund": "国泰中证800汽车与零部件ETF",
        "group": "汽车",
        "target_pct": 100.0
      }
    ]
  },
  {
    "signal_date": "20230811",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "516110.SH",
        "fund": "国泰中证800汽车与零部件ETF",
        "group": "汽车",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20230818",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "516110.SH",
        "fund": "国泰中证800汽车与零部件ETF",
        "group": "汽车",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20230825",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "516110.SH",
        "fund": "国泰中证800汽车与零部件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": "20230901",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20230908",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20230915",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20230922",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20230928",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20231013",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20231020",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20231027",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "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": "20231103",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20231110",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20231117",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20231124",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "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": "20231201",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20231208",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20231215",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20231222",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20231229",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20240105",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20240112",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20240119",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20240126",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "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": "20240202",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20240208",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20240223",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20240229",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159887.SZ",
        "fund": "富国中证800银行ETF",
        "group": "金融",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20240301",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159887.SZ",
        "fund": "富国中证800银行ETF",
        "group": "金融",
        "target_pct": 100.0
      }
    ]
  },
  {
    "signal_date": "20240308",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159887.SZ",
        "fund": "富国中证800银行ETF",
        "group": "金融",
        "target_pct": 100.0
      }
    ]
  },
  {
    "signal_date": "20240315",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159887.SZ",
        "fund": "富国中证800银行ETF",
        "group": "金融",
        "target_pct": 50.0
      },
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20240322",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159887.SZ",
        "fund": "富国中证800银行ETF",
        "group": "金融",
        "target_pct": 50.0
      },
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20240329",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5311340559636388,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 53.11340559636388
      }
    ]
  },
  {
    "signal_date": "20240403",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.744782323203318,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 37.2391161601659
      },
      {
        "code": "561330.SH",
        "fund": "国泰中证有色金属矿业主题ETF",
        "group": "材料",
        "target_pct": 37.2391161601659
      }
    ]
  },
  {
    "signal_date": "20240412",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.751755443645588,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 37.5877721822794
      },
      {
        "code": "561330.SH",
        "fund": "国泰中证有色金属矿业主题ETF",
        "group": "材料",
        "target_pct": 37.5877721822794
      }
    ]
  },
  {
    "signal_date": "20240419",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7226923873596492,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 36.13461936798246
      },
      {
        "code": "561330.SH",
        "fund": "国泰中证有色金属矿业主题ETF",
        "group": "材料",
        "target_pct": 36.13461936798246
      }
    ]
  },
  {
    "signal_date": "20240426",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7236653494796099,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 36.18326747398049
      },
      {
        "code": "516650.SH",
        "fund": "华夏中证细分有色金属产业主题ETF",
        "group": "材料",
        "target_pct": 36.18326747398049
      }
    ]
  },
  {
    "signal_date": "20240430",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8430735336343606,
    "holdings": [
      {
        "code": "516650.SH",
        "fund": "华夏中证细分有色金属产业主题ETF",
        "group": "材料",
        "target_pct": 84.30735336343605
      }
    ]
  },
  {
    "signal_date": "20240510",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8624935201875338,
    "holdings": [
      {
        "code": "516650.SH",
        "fund": "华夏中证细分有色金属产业主题ETF",
        "group": "材料",
        "target_pct": 86.24935201875338
      }
    ]
  },
  {
    "signal_date": "20240517",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159730.SZ",
        "fund": "博时国证龙头家电ETF",
        "group": "消费",
        "target_pct": 50.0
      },
      {
        "code": "516650.SH",
        "fund": "华夏中证细分有色金属产业主题ETF",
        "group": "材料",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20240524",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "516650.SH",
        "fund": "华夏中证细分有色金属产业主题ETF",
        "group": "材料",
        "target_pct": 50.0
      },
      {
        "code": "516910.SH",
        "fund": "富国中证现代物流ETF",
        "group": "地产基建",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20240531",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "516910.SH",
        "fund": "富国中证现代物流ETF",
        "group": "地产基建",
        "target_pct": 100.0
      }
    ]
  },
  {
    "signal_date": "20240607",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "516910.SH",
        "fund": "富国中证现代物流ETF",
        "group": "地产基建",
        "target_pct": 100.0
      }
    ]
  },
  {
    "signal_date": "20240614",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159707.SZ",
        "fund": "华宝中证800地产ETF",
        "group": "地产基建",
        "target_pct": 50.0
      },
      {
        "code": "516910.SH",
        "fund": "富国中证现代物流ETF",
        "group": "地产基建",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20240621",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "516910.SH",
        "fund": "富国中证现代物流ETF",
        "group": "地产基建",
        "target_pct": 50.0
      },
      {
        "code": "561560.SH",
        "fund": "华泰柏瑞中证全指电力公用事业ETF",
        "group": "能源",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20240628",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20240705",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20240712",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159994.SZ",
        "fund": "银华中证5G通信主题ETF",
        "group": "通信",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20240719",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159994.SZ",
        "fund": "银华中证5G通信主题ETF",
        "group": "通信",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20240726",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "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": "20240802",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20240809",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20240816",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20240823",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20240830",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20240906",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20240913",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20240920",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20240927",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "512070.SH",
        "fund": "易方达沪深300非银行金融ETF",
        "group": "金融",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20240930",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7234578384029935,
    "holdings": [
      {
        "code": "512070.SH",
        "fund": "易方达沪深300非银行金融ETF",
        "group": "金融",
        "target_pct": 72.34578384029935
      }
    ]
  },
  {
    "signal_date": "20241011",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5540283287079836,
    "holdings": [
      {
        "code": "512070.SH",
        "fund": "易方达沪深300非银行金融ETF",
        "group": "金融",
        "target_pct": 27.701416435399178
      },
      {
        "code": "516100.SH",
        "fund": "华夏中证金融科技主题ETF",
        "group": "金融",
        "target_pct": 27.701416435399178
      }
    ]
  },
  {
    "signal_date": "20241018",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5248004982722083,
    "holdings": [
      {
        "code": "512070.SH",
        "fund": "易方达沪深300非银行金融ETF",
        "group": "金融",
        "target_pct": 26.240024913610416
      },
      {
        "code": "516100.SH",
        "fund": "华夏中证金融科技主题ETF",
        "group": "金融",
        "target_pct": 26.240024913610416
      }
    ]
  },
  {
    "signal_date": "20241025",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5253965002074364,
    "holdings": [
      {
        "code": "512070.SH",
        "fund": "易方达沪深300非银行金融ETF",
        "group": "金融",
        "target_pct": 26.26982501037182
      },
      {
        "code": "516100.SH",
        "fund": "华夏中证金融科技主题ETF",
        "group": "金融",
        "target_pct": 26.26982501037182
      }
    ]
  },
  {
    "signal_date": "20241031",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.4302024348958008,
    "holdings": [
      {
        "code": "516100.SH",
        "fund": "华夏中证金融科技主题ETF",
        "group": "金融",
        "target_pct": 21.51012174479004
      },
      {
        "code": "516860.SH",
        "fund": "博时中证金融科技主题ETF",
        "group": "金融",
        "target_pct": 21.51012174479004
      }
    ]
  },
  {
    "signal_date": "20241101",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.4203595851145077,
    "holdings": [
      {
        "code": "516100.SH",
        "fund": "华夏中证金融科技主题ETF",
        "group": "金融",
        "target_pct": 21.017979255725386
      },
      {
        "code": "516860.SH",
        "fund": "博时中证金融科技主题ETF",
        "group": "金融",
        "target_pct": 21.017979255725386
      }
    ]
  },
  {
    "signal_date": "20241108",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.39646447199702955,
    "holdings": [
      {
        "code": "516100.SH",
        "fund": "华夏中证金融科技主题ETF",
        "group": "金融",
        "target_pct": 19.823223599851477
      },
      {
        "code": "516860.SH",
        "fund": "博时中证金融科技主题ETF",
        "group": "金融",
        "target_pct": 19.823223599851477
      }
    ]
  },
  {
    "signal_date": "20241115",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.38830318965123534,
    "holdings": [
      {
        "code": "516100.SH",
        "fund": "华夏中证金融科技主题ETF",
        "group": "金融",
        "target_pct": 19.415159482561766
      },
      {
        "code": "516860.SH",
        "fund": "博时中证金融科技主题ETF",
        "group": "金融",
        "target_pct": 19.415159482561766
      }
    ]
  },
  {
    "signal_date": "20241122",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.3768029224128717,
    "holdings": [
      {
        "code": "516100.SH",
        "fund": "华夏中证金融科技主题ETF",
        "group": "金融",
        "target_pct": 18.840146120643585
      },
      {
        "code": "516860.SH",
        "fund": "博时中证金融科技主题ETF",
        "group": "金融",
        "target_pct": 18.840146120643585
      }
    ]
  },
  {
    "signal_date": "20241129",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.3732411685762106,
    "holdings": [
      {
        "code": "516100.SH",
        "fund": "华夏中证金融科技主题ETF",
        "group": "金融",
        "target_pct": 18.66205842881053
      },
      {
        "code": "516860.SH",
        "fund": "博时中证金融科技主题ETF",
        "group": "金融",
        "target_pct": 18.66205842881053
      }
    ]
  },
  {
    "signal_date": "20241206",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5062414835940859,
    "holdings": [
      {
        "code": "516620.SH",
        "fund": "国泰中证影视主题ETF",
        "group": "传媒游戏",
        "target_pct": 25.312074179704297
      },
      {
        "code": "516860.SH",
        "fund": "博时中证金融科技主题ETF",
        "group": "金融",
        "target_pct": 25.312074179704297
      }
    ]
  },
  {
    "signal_date": "20241213",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5070222323721885,
    "holdings": [
      {
        "code": "516620.SH",
        "fund": "国泰中证影视主题ETF",
        "group": "传媒游戏",
        "target_pct": 25.351111618609423
      },
      {
        "code": "516860.SH",
        "fund": "博时中证金融科技主题ETF",
        "group": "金融",
        "target_pct": 25.351111618609423
      }
    ]
  },
  {
    "signal_date": "20241220",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.50153877958141,
    "holdings": [
      {
        "code": "516620.SH",
        "fund": "国泰中证影视主题ETF",
        "group": "传媒游戏",
        "target_pct": 25.0769389790705
      },
      {
        "code": "516860.SH",
        "fund": "博时中证金融科技主题ETF",
        "group": "金融",
        "target_pct": 25.0769389790705
      }
    ]
  },
  {
    "signal_date": "20241227",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5221583169379219,
    "holdings": [
      {
        "code": "516620.SH",
        "fund": "国泰中证影视主题ETF",
        "group": "传媒游戏",
        "target_pct": 26.107915846896095
      },
      {
        "code": "516860.SH",
        "fund": "博时中证金融科技主题ETF",
        "group": "金融",
        "target_pct": 26.107915846896095
      }
    ]
  },
  {
    "signal_date": "20241231",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.9310366095250546,
    "holdings": [
      {
        "code": "516310.SH",
        "fund": "易方达中证银行ETF",
        "group": "金融",
        "target_pct": 46.55183047625273
      },
      {
        "code": "516620.SH",
        "fund": "国泰中证影视主题ETF",
        "group": "传媒游戏",
        "target_pct": 46.55183047625273
      }
    ]
  },
  {
    "signal_date": "20250103",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "516310.SH",
        "fund": "易方达中证银行ETF",
        "group": "金融",
        "target_pct": 100.0
      }
    ]
  },
  {
    "signal_date": "20250110",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "516310.SH",
        "fund": "易方达中证银行ETF",
        "group": "金融",
        "target_pct": 100.0
      }
    ]
  },
  {
    "signal_date": "20250117",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "516310.SH",
        "fund": "易方达中证银行ETF",
        "group": "金融",
        "target_pct": 100.0
      }
    ]
  },
  {
    "signal_date": "20250124",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "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,
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "516310.SH",
        "fund": "易方达中证银行ETF",
        "group": "金融",
        "target_pct": 100.0
      }
    ]
  },
  {
    "signal_date": "20250207",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "516310.SH",
        "fund": "易方达中证银行ETF",
        "group": "金融",
        "target_pct": 100.0
      }
    ]
  },
  {
    "signal_date": "20250214",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159732.SZ",
        "fund": "华夏国证消费电子主题ETF",
        "group": "电子",
        "target_pct": 50.0
      },
      {
        "code": "516310.SH",
        "fund": "易方达中证银行ETF",
        "group": "金融",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20250221",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "516310.SH",
        "fund": "易方达中证银行ETF",
        "group": "金融",
        "target_pct": 50.0
      },
      {
        "code": "562500.SH",
        "fund": "华夏中证机器人ETF",
        "group": "高端制造",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20250228",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6095663797292311,
    "holdings": [
      {
        "code": "562500.SH",
        "fund": "华夏中证机器人ETF",
        "group": "高端制造",
        "target_pct": 60.95663797292311
      }
    ]
  },
  {
    "signal_date": "20250307",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6247713159895195,
    "holdings": [
      {
        "code": "516000.SH",
        "fund": "华夏中证大数据产业ETF",
        "group": "软件AI",
        "target_pct": 31.238565799475975
      },
      {
        "code": "562500.SH",
        "fund": "华夏中证机器人ETF",
        "group": "高端制造",
        "target_pct": 31.238565799475975
      }
    ]
  },
  {
    "signal_date": "20250314",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6181848588541203,
    "holdings": [
      {
        "code": "516000.SH",
        "fund": "华夏中证大数据产业ETF",
        "group": "软件AI",
        "target_pct": 30.909242942706015
      },
      {
        "code": "562500.SH",
        "fund": "华夏中证机器人ETF",
        "group": "高端制造",
        "target_pct": 30.909242942706015
      }
    ]
  },
  {
    "signal_date": "20250321",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.9066704324811523,
    "holdings": [
      {
        "code": "560280.SH",
        "fund": "广发中证工程机械主题ETF",
        "group": "高端制造",
        "target_pct": 45.33352162405762
      },
      {
        "code": "562500.SH",
        "fund": "华夏中证机器人ETF",
        "group": "高端制造",
        "target_pct": 45.33352162405762
      }
    ]
  },
  {
    "signal_date": "20250328",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "562500.SH",
        "fund": "华夏中证机器人ETF",
        "group": "高端制造",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20250331",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20250403",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20250411",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20250418",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20250425",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20250430",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20250509",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20250516",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "562550.SH",
        "fund": "华夏中证绿色电力ETF",
        "group": "能源",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20250523",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "516310.SH",
        "fund": "易方达中证银行ETF",
        "group": "金融",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20250530",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20250606",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20250613",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "516080.SH",
        "fund": "易方达中证创新药产业ETF",
        "group": "医药",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20250620",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "516080.SH",
        "fund": "易方达中证创新药产业ETF",
        "group": "医药",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20250627",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 50.0
      }
    ]
  },
  {
    "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": "20250704",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.9682696051379376,
    "holdings": [
      {
        "code": "159869.SZ",
        "fund": "华夏中证动漫游戏ETF",
        "group": "传媒游戏",
        "target_pct": 48.41348025689688
      },
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 48.41348025689688
      }
    ]
  },
  {
    "signal_date": "20250711",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.916615182218053,
    "holdings": [
      {
        "code": "159851.SZ",
        "fund": "华宝中证金融科技主题ETF",
        "group": "金融",
        "target_pct": 45.830759110902655
      },
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 45.830759110902655
      }
    ]
  },
  {
    "signal_date": "20250718",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8696524492157547,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 86.96524492157548
      }
    ]
  },
  {
    "signal_date": "20250725",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8995509342091691,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 89.95509342091691
      }
    ]
  },
  {
    "signal_date": "20250731",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8893652167172159,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 88.9365216717216
      }
    ]
  },
  {
    "signal_date": "20250801",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.9045425320859241,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 90.4542532085924
      }
    ]
  },
  {
    "signal_date": "20250808",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.9474065031675815,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 94.74065031675815
      }
    ]
  },
  {
    "signal_date": "20250815",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.8338829811455963,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 83.38829811455963
      }
    ]
  },
  {
    "signal_date": "20250822",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7994926523519849,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 79.94926523519848
      }
    ]
  },
  {
    "signal_date": "20250829",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6682164230406066,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 66.82164230406066
      }
    ]
  },
  {
    "signal_date": "20250905",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5297787250074225,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 52.97787250074225
      }
    ]
  },
  {
    "signal_date": "20250912",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.47356027428304653,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 47.35602742830466
      }
    ]
  },
  {
    "signal_date": "20250919",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.4716137299838635,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 47.161372998386355
      }
    ]
  },
  {
    "signal_date": "20250926",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7015750235922827,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 35.07875117961414
      },
      {
        "code": "561910.SH",
        "fund": "招商中证电池主题ETF",
        "group": "新能源",
        "target_pct": 35.07875117961414
      }
    ]
  },
  {
    "signal_date": "20250930",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.7446880526831621,
    "holdings": [
      {
        "code": "561910.SH",
        "fund": "招商中证电池主题ETF",
        "group": "新能源",
        "target_pct": 74.4688052683162
      }
    ]
  },
  {
    "signal_date": "20251010",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6711623149877587,
    "holdings": [
      {
        "code": "561910.SH",
        "fund": "招商中证电池主题ETF",
        "group": "新能源",
        "target_pct": 67.11623149877587
      }
    ]
  },
  {
    "signal_date": "20251017",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6161641608331009,
    "holdings": [
      {
        "code": "561910.SH",
        "fund": "招商中证电池主题ETF",
        "group": "新能源",
        "target_pct": 61.616416083310085
      }
    ]
  },
  {
    "signal_date": "20251024",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6149392177272749,
    "holdings": [
      {
        "code": "561160.SH",
        "fund": "富国中证电池主题ETF",
        "group": "新能源",
        "target_pct": 30.746960886363745
      },
      {
        "code": "561910.SH",
        "fund": "招商中证电池主题ETF",
        "group": "新能源",
        "target_pct": 30.746960886363745
      }
    ]
  },
  {
    "signal_date": "20251031",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5480588825830418,
    "holdings": [
      {
        "code": "159558.SZ",
        "fund": "易方达中证半导体材料设备主题ETF",
        "group": "半导体",
        "target_pct": 54.80588825830418
      }
    ]
  },
  {
    "signal_date": "20251107",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159558.SZ",
        "fund": "易方达中证半导体材料设备主题ETF",
        "group": "半导体",
        "target_pct": 50.0
      },
      {
        "code": "515220.SH",
        "fund": "国泰中证煤炭ETF",
        "group": "能源",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20251114",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.99106736294804,
    "holdings": [
      {
        "code": "159558.SZ",
        "fund": "易方达中证半导体材料设备主题ETF",
        "group": "半导体",
        "target_pct": 49.553368147402
      },
      {
        "code": "515220.SH",
        "fund": "国泰中证煤炭ETF",
        "group": "能源",
        "target_pct": 49.553368147402
      }
    ]
  },
  {
    "signal_date": "20251121",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.9653257137820117,
    "holdings": [
      {
        "code": "159558.SZ",
        "fund": "易方达中证半导体材料设备主题ETF",
        "group": "半导体",
        "target_pct": 48.266285689100584
      },
      {
        "code": "159697.SZ",
        "fund": "鹏华国证石油天然气ETF",
        "group": "能源",
        "target_pct": 48.266285689100584
      }
    ]
  },
  {
    "signal_date": "20251128",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "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": "20251205",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "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": "20251212",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "516120.SH",
        "fund": "富国中证细分化工产业主题ETF",
        "group": "材料",
        "target_pct": 50.0
      },
      {
        "code": "562510.SH",
        "fund": "华夏中证旅游主题ETF",
        "group": "消费",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20251219",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.9750145690364739,
    "holdings": [
      {
        "code": "159583.SZ",
        "fund": "富国中证通信设备主题ETF",
        "group": "通信",
        "target_pct": 48.7507284518237
      },
      {
        "code": "562510.SH",
        "fund": "华夏中证旅游主题ETF",
        "group": "消费",
        "target_pct": 48.7507284518237
      }
    ]
  },
  {
    "signal_date": "20251226",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.9608642627849779,
    "holdings": [
      {
        "code": "159583.SZ",
        "fund": "富国中证通信设备主题ETF",
        "group": "通信",
        "target_pct": 48.0432131392489
      },
      {
        "code": "562510.SH",
        "fund": "华夏中证旅游主题ETF",
        "group": "消费",
        "target_pct": 48.0432131392489
      }
    ]
  },
  {
    "signal_date": "20251231",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5904371236662829,
    "holdings": [
      {
        "code": "159583.SZ",
        "fund": "富国中证通信设备主题ETF",
        "group": "通信",
        "target_pct": 59.043712366628284
      }
    ]
  },
  {
    "signal_date": "20260109",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6226593188145183,
    "holdings": [
      {
        "code": "159583.SZ",
        "fund": "富国中证通信设备主题ETF",
        "group": "通信",
        "target_pct": 62.26593188145183
      }
    ]
  },
  {
    "signal_date": "20260116",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6028915261583778,
    "holdings": [
      {
        "code": "159583.SZ",
        "fund": "富国中证通信设备主题ETF",
        "group": "通信",
        "target_pct": 60.28915261583778
      }
    ]
  },
  {
    "signal_date": "20260123",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6521964036775738,
    "holdings": [
      {
        "code": "159206.SZ",
        "fund": "永赢国证商用卫星通信产业ETF",
        "group": "通信",
        "target_pct": 32.60982018387869
      },
      {
        "code": "159583.SZ",
        "fund": "富国中证通信设备主题ETF",
        "group": "通信",
        "target_pct": 32.60982018387869
      }
    ]
  },
  {
    "signal_date": "20260130",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.47580745894518545,
    "holdings": [
      {
        "code": "159206.SZ",
        "fund": "永赢国证商用卫星通信产业ETF",
        "group": "通信",
        "target_pct": 47.58074589451854
      }
    ]
  },
  {
    "signal_date": "20260206",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.46330160992882874,
    "holdings": [
      {
        "code": "159206.SZ",
        "fund": "永赢国证商用卫星通信产业ETF",
        "group": "通信",
        "target_pct": 46.330160992882874
      }
    ]
  },
  {
    "signal_date": "20260213",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6295634484581245,
    "holdings": [
      {
        "code": "159206.SZ",
        "fund": "永赢国证商用卫星通信产业ETF",
        "group": "通信",
        "target_pct": 31.478172422906226
      },
      {
        "code": "560860.SH",
        "fund": "万家中证工业有色金属主题ETF",
        "group": "材料",
        "target_pct": 31.478172422906226
      }
    ]
  },
  {
    "signal_date": "20260227",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.942036730599804,
    "holdings": [
      {
        "code": "159697.SZ",
        "fund": "鹏华国证石油天然气ETF",
        "group": "能源",
        "target_pct": 94.2036730599804
      }
    ]
  },
  {
    "signal_date": "20260306",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6173339293368132,
    "holdings": [
      {
        "code": "159697.SZ",
        "fund": "鹏华国证石油天然气ETF",
        "group": "能源",
        "target_pct": 61.733392933681316
      }
    ]
  },
  {
    "signal_date": "20260313",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6009640793955344,
    "holdings": [
      {
        "code": "159697.SZ",
        "fund": "鹏华国证石油天然气ETF",
        "group": "能源",
        "target_pct": 60.096407939553444
      }
    ]
  },
  {
    "signal_date": "20260320",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159697.SZ",
        "fund": "鹏华国证石油天然气ETF",
        "group": "能源",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20260327",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "159697.SZ",
        "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": "20260403",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20260410",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20260417",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20260424",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 1.0,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 50.0
      }
    ]
  },
  {
    "signal_date": "20260430",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.593941479485241,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 59.3941479485241
      }
    ]
  },
  {
    "signal_date": "20260508",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5872284096302961,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 58.72284096302961
      }
    ]
  },
  {
    "signal_date": "20260515",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5954316122213016,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 59.54316122213016
      }
    ]
  },
  {
    "signal_date": "20260522",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.6501111394065583,
    "holdings": [
      {
        "code": "515880.SH",
        "fund": "国泰中证全指通信设备ETF",
        "group": "通信",
        "target_pct": 32.505556970327916
      },
      {
        "code": "588810.SH",
        "fund": "富国上证科创板芯片ETF",
        "group": "半导体",
        "target_pct": 32.505556970327916
      }
    ]
  },
  {
    "signal_date": "20260529",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.5262503304745512,
    "holdings": [
      {
        "code": "588710.SH",
        "fund": "华泰柏瑞上证科创板半导体材料设备主题ETF",
        "group": "半导体",
        "target_pct": 52.62503304745512
      }
    ]
  },
  {
    "signal_date": "20260605",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.513573093020127,
    "holdings": [
      {
        "code": "588710.SH",
        "fund": "华泰柏瑞上证科创板半导体材料设备主题ETF",
        "group": "半导体",
        "target_pct": 51.3573093020127
      }
    ]
  },
  {
    "signal_date": "20260612",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.4755138866849304,
    "holdings": [
      {
        "code": "588710.SH",
        "fund": "华泰柏瑞上证科创板半导体材料设备主题ETF",
        "group": "半导体",
        "target_pct": 47.55138866849304
      }
    ]
  },
  {
    "signal_date": "20260618",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.459911039134574,
    "holdings": [
      {
        "code": "588710.SH",
        "fund": "华泰柏瑞上证科创板半导体材料设备主题ETF",
        "group": "半导体",
        "target_pct": 45.9911039134574
      }
    ]
  },
  {
    "signal_date": "20260626",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.4637080697377286,
    "holdings": [
      {
        "code": "588710.SH",
        "fund": "华泰柏瑞上证科创板半导体材料设备主题ETF",
        "group": "半导体",
        "target_pct": 46.37080697377286
      }
    ]
  },
  {
    "signal_date": "20260630",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.4458244792491377,
    "holdings": [
      {
        "code": "588710.SH",
        "fund": "华泰柏瑞上证科创板半导体材料设备主题ETF",
        "group": "半导体",
        "target_pct": 44.58244792491377
      }
    ]
  },
  {
    "signal_date": "20260703",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.4077240194536011,
    "holdings": [
      {
        "code": "588710.SH",
        "fund": "华泰柏瑞上证科创板半导体材料设备主题ETF",
        "group": "半导体",
        "target_pct": 40.77240194536011
      }
    ]
  },
  {
    "signal_date": "20260710",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 100.0,
    "risk_factor": 0.3820620949246554,
    "holdings": [
      {
        "code": "588710.SH",
        "fund": "华泰柏瑞上证科创板半导体材料设备主题ETF",
        "group": "半导体",
        "target_pct": 38.20620949246554
      }
    ]
  },
  {
    "signal_date": "20260717",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 0.6862448873979794,
    "holdings": [
      {
        "code": "588710.SH",
        "fund": "华泰柏瑞上证科创板半导体材料设备主题ETF",
        "group": "半导体",
        "target_pct": 34.31224436989897
      }
    ]
  },
  {
    "signal_date": "20260724",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 50.0,
    "risk_factor": 0.596988329564351,
    "holdings": [
      {
        "code": "588710.SH",
        "fund": "华泰柏瑞上证科创板半导体材料设备主题ETF",
        "group": "半导体",
        "target_pct": 29.84941647821755
      }
    ]
  },
  {
    "signal_date": "20260731",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      0,
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  },
  {
    "signal_date": "20260807",
    "reason": [
      "calendar_update"
    ],
    "slots_updated": [
      1
    ],
    "raw_budget_pct": 0.0,
    "risk_factor": 1.0,
    "holdings": []
  }
]