{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Learn-to-Rank 排序学习训练流程\n", "\n", "本 Notebook 实现基于 LightGBM LambdaRank 的排序学习训练,用于股票排序任务。\n", "\n", "## 核心特点\n", "\n", "1. **Label 转换**: 将 `future_return_5` 按每日进行 20 分位数划分(qcut)\n", "2. **排序学习**: 使用 LambdaRank 目标函数,学习每日股票排序\n", "3. **NDCG 评估**: 使用 NDCG@1/5/10/20 评估排序质量\n", "4. **策略回测**: 基于排序分数构建 Top-k 选股策略" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. 导入依赖" ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2026-03-10T14:55:40.429719Z", "start_time": "2026-03-10T14:55:39.008639Z" } }, "source": [ "import os\n", "from datetime import datetime\n", "from typing import List, Tuple, Optional\n", "\n", "import numpy as np\n", "import polars as pl\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "from sklearn.metrics import ndcg_score\n", "\n", "from src.factors import FactorEngine\n", "from src.training import (\n", " DateSplitter,\n", " STFilter,\n", " StockPoolManager,\n", " Trainer,\n", " Winsorizer,\n", " NullFiller,\n", " StandardScaler,\n", ")\n", "from src.training.components.models import LightGBMLambdaRankModel\n", "from src.training.config import TrainingConfig" ], "outputs": [], "execution_count": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. 辅助函数" ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2026-03-10T14:55:40.441603Z", "start_time": "2026-03-10T14:55:40.434663Z" } }, "source": [ "def create_factors_with_strings(engine: FactorEngine, factor_definitions: dict, label_factor: dict) -> List[str]:\n", " \"\"\"使用字符串表达式注册因子\"\"\"\n", " print(\"=\" * 80)\n", " print(\"使用字符串表达式定义因子\")\n", " print(\"=\" * 80)\n", "\n", " # 注册所有特征因子\n", " print(\"\\n注册特征因子:\")\n", " for name, expr in factor_definitions.items():\n", " engine.add_factor(name, expr)\n", " print(f\" - {name}: {expr}\")\n", "\n", " # 注册 label 因子\n", " print(\"\\n注册 Label 因子:\")\n", " for name, expr in label_factor.items():\n", " engine.add_factor(name, expr)\n", " print(f\" - {name}: {expr}\")\n", "\n", " # 从字典自动获取特征列\n", " feature_cols = list(factor_definitions.keys())\n", "\n", " print(f\"\\n特征因子数: {len(feature_cols)}\")\n", " print(f\"Label: {list(label_factor.keys())[0]}\")\n", " print(f\"已注册因子总数: {len(engine.list_registered())}\")\n", "\n", " return feature_cols\n", "\n", "\n", "def prepare_data(\n", " engine: FactorEngine,\n", " feature_cols: List[str],\n", " start_date: str,\n", " end_date: str,\n", ") -> pl.DataFrame:\n", " \"\"\"准备数据\"\"\"\n", " print(\"\\n\" + \"=\" * 80)\n", " print(\"准备数据\")\n", " print(\"=\" * 80)\n", "\n", " # 计算因子(全市场数据)\n", " print(f\"\\n计算因子: {start_date} - {end_date}\")\n", " factor_names = feature_cols + [LABEL_NAME] # 包含 label\n", "\n", " data = engine.compute(\n", " factor_names=factor_names,\n", " start_date=start_date,\n", " end_date=end_date,\n", " )\n", "\n", " print(f\"数据形状: {data.shape}\")\n", " print(f\"数据列: {data.columns}\")\n", " print(f\"\\n前5行预览:\")\n", " print(data.head())\n", "\n", " return data\n", "\n", "\n", "def prepare_ranking_data(\n", " df: pl.DataFrame,\n", " label_col: str = \"future_return_5\",\n", " date_col: str = \"trade_date\",\n", " n_quantiles: int = 20,\n", ") -> Tuple[pl.DataFrame, str]:\n", " \"\"\"准备排序学习数据\n", " \n", " 将连续 label 转换为分位数标签,用于排序学习任务。\n", " \n", " Args:\n", " df: 原始数据\n", " label_col: 原始标签列名\n", " date_col: 日期列名\n", " n_quantiles: 分位数数量\n", " \n", " Returns:\n", " (处理后的 DataFrame, 新的标签列名)\n", " \"\"\"\n", " print(\"\\n\" + \"=\" * 80)\n", " print(f\"准备排序学习数据(将 {label_col} 转换为 {n_quantiles} 分位数标签)\")\n", " print(\"=\" * 80)\n", " \n", " # 新的标签列名\n", " rank_col = f\"{label_col}_rank\"\n", " \n", " # 按日期分组进行分位数划分\n", " # 使用 rank 生成 0, 1, 2, ..., n_quantiles-1 的标签\n", " # 方法: 计算每天内的排名,然后映射到 n_quantiles 个分位数组\n", " df_ranked = df.with_columns(\n", " # 计算每天内的排名 (1-based)\n", " pl.col(label_col).rank(method=\"min\").over(date_col).alias(\"_rank\")\n", " ).with_columns(\n", " # 将排名转换为分位数标签 (0 to n_quantiles-1)\n", " ((pl.col(\"_rank\") - 1) / pl.len().over(date_col) * n_quantiles)\n", " .floor()\n", " .cast(pl.Int64)\n", " .clip(0, n_quantiles - 1)\n", " .alias(rank_col)\n", " ).drop(\"_rank\")\n", " \n", " # 检查转换结果\n", " print(f\"\\n原始 {label_col} 统计:\")\n", " print(df_ranked[label_col].describe())\n", " \n", " print(f\"\\n转换后 {rank_col} 统计:\")\n", " print(df_ranked[rank_col].describe())\n", " \n", " # 检查每日样本分布\n", " print(f\"\\n每日样本数统计:\")\n", " daily_counts = df_ranked.group_by(date_col).agg(pl.count().alias(\"count\"))\n", " print(daily_counts[\"count\"].describe())\n", " \n", " # 检查分位数分布(应该是均匀的)\n", " print(f\"\\n分位数标签分布:\")\n", " rank_dist = df_ranked[rank_col].value_counts().sort(rank_col)\n", " print(rank_dist)\n", " \n", " return df_ranked, rank_col\n", "\n", "\n", "def compute_group_array(df: pl.DataFrame, date_col: str = \"trade_date\") -> np.ndarray:\n", " \"\"\"计算 group 数组用于 LambdaRank\n", " \n", " 每个日期作为一个 query,group 数组表示每个 query 的样本数。\n", " \n", " Args:\n", " df: 数据框\n", " date_col: 日期列名\n", " \n", " Returns:\n", " group 数组\n", " \"\"\"\n", " group_counts = df.group_by(date_col, maintain_order=True).agg(\n", " pl.count().alias(\"count\")\n", " )\n", " return group_counts[\"count\"].to_numpy()\n", "\n", "\n", "def evaluate_ndcg_at_k(\n", " y_true: np.ndarray,\n", " y_pred: np.ndarray,\n", " group: np.ndarray,\n", " k_list: List[int] = [1, 5, 10, 20],\n", ") -> dict:\n", " \"\"\"计算 NDCG@k 指标\n", " \n", " Args:\n", " y_true: 真实标签\n", " y_pred: 预测分数\n", " group: 分组数组\n", " k_list: 要计算的 k 值列表\n", " \n", " Returns:\n", " NDCG 指标字典\n", " \"\"\"\n", " results = {}\n", " \n", " # 按 group 拆分数据\n", " start_idx = 0\n", " y_true_groups = []\n", " y_pred_groups = []\n", " \n", " for group_size in group:\n", " end_idx = start_idx + group_size\n", " y_true_groups.append(y_true[start_idx:end_idx])\n", " y_pred_groups.append(y_pred[start_idx:end_idx])\n", " start_idx = end_idx\n", " \n", " # 计算每个 k 值的平均 NDCG\n", " for k in k_list:\n", " ndcg_scores = []\n", " for yt, yp in zip(y_true_groups, y_pred_groups):\n", " if len(yt) > 1:\n", " try:\n", " score = ndcg_score([yt], [yp], k=k)\n", " ndcg_scores.append(score)\n", " except ValueError:\n", " # 标签都相同,无法计算\n", " pass\n", " \n", " results[f\"ndcg@{k}\"] = np.mean(ndcg_scores) if ndcg_scores else 0.0\n", " \n", " return results\n", "\n" ], "outputs": [], "execution_count": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3. 配置参数\n", "\n", "### 3.1 因子定义" ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2026-03-10T14:55:40.451021Z", "start_time": "2026-03-10T14:55:40.444975Z" } }, "source": [ "# 特征因子定义字典(复用 regression.ipynb 的因子定义)\n", "LABEL_NAME = \"future_return_5_rank\"\n", "\n", "FACTOR_DEFINITIONS = {\n", " # ================= 1. 价格、趋势与路径依赖 (Trend, Momentum & Path Dependency) =================\n", " \"ma_5\": \"ts_mean(close, 5)\",\n", " \"ma_20\": \"ts_mean(close, 20)\",\n", " \"ma_ratio_5_20\": \"ts_mean(close, 5) / (ts_mean(close, 20) + 1e-8) - 1\",\n", " \"bias_10\": \"close / (ts_mean(close, 10) + 1e-8) - 1\",\n", " \"high_low_ratio\": \"(close - ts_min(low, 20)) / (ts_max(high, 20) - ts_min(low, 20) + 1e-8)\",\n", " \"bbi_ratio\": \"(ts_mean(close, 3) + ts_mean(close, 6) + ts_mean(close, 12) + ts_mean(close, 24)) / (4 * close + 1e-8)\",\n", " \"return_5\": \"(close / (ts_delay(close, 5) + 1e-8)) - 1\",\n", " \"return_20\": \"(close / (ts_delay(close, 20) + 1e-8)) - 1\",\n", " \"kaufman_ER_20\": \"abs(close - ts_delay(close, 20)) / (ts_sum(abs(close - ts_delay(close, 1)), 20) + 1e-8)\",\n", " \"mom_acceleration_10_20\": \"(close / (ts_delay(close, 10) + 1e-8) - 1) - (ts_delay(close, 10) / (ts_delay(close, 20) + 1e-8) - 1)\",\n", " \"drawdown_from_high_60\": \"close / (ts_max(high, 60) + 1e-8) - 1\",\n", " \"up_days_ratio_20\": \"ts_sum(close > ts_delay(close, 1), 20) / 20\",\n", "\n", " # ================= 2. 波动率、风险调整与高阶矩 =================\n", " \"volatility_5\": \"ts_std(close, 5)\",\n", " \"volatility_20\": \"ts_std(close, 20)\",\n", " \"volatility_ratio\": \"ts_std(close, 5) / (ts_std(close, 20) + 1e-8)\",\n", " \"std_return_20\": \"ts_std((close / (ts_delay(close, 1) + 1e-8)) - 1, 20)\",\n", " \"sharpe_ratio_20\": \"ts_mean(close / (ts_delay(close, 1) + 1e-8) - 1, 20) / (ts_std(close / (ts_delay(close, 1) + 1e-8) - 1, 20) + 1e-8)\",\n", " \"min_ret_20\": \"ts_min(close / (ts_delay(close, 1) + 1e-8) - 1, 20)\",\n", " \"volatility_squeeze_5_60\": \"ts_std(close, 5) / (ts_std(close, 60) + 1e-8)\",\n", "\n", " # ================= 3. 日内微观结构与异象 =================\n", " \"overnight_intraday_diff\": \"(open / (ts_delay(close, 1) + 1e-8) - 1) - (close / (open + 1e-8) - 1)\",\n", " \"upper_shadow_ratio\": \"(high - ((open + close + abs(open - close)) / 2)) / (high - low + 1e-8)\",\n", " \"capital_retention_20\": \"ts_sum(abs(close - open), 20) / (ts_sum(high - low, 20) + 1e-8)\",\n", " \"max_ret_20\": \"ts_max(close / (ts_delay(close, 1) + 1e-8) - 1, 20)\",\n", "\n", " # ================= 4. 量能、流动性与量价背离 =================\n", " \"volume_ratio_5_20\": \"ts_mean(vol, 5) / (ts_mean(vol, 20) + 1e-8)\",\n", " \"turnover_rate_mean_5\": \"ts_mean(turnover_rate, 5)\",\n", " \"turnover_deviation\": \"(turnover_rate - ts_mean(turnover_rate, 10)) / (ts_std(turnover_rate, 10) + 1e-8)\",\n", " \"amihud_illiq_20\": \"ts_mean(abs(close / (ts_delay(close, 1) + 1e-8) - 1) / (amount + 1e-8), 20)\",\n", " \"turnover_cv_20\": \"ts_std(turnover_rate, 20) / (ts_mean(turnover_rate, 20) + 1e-8)\",\n", " \"pv_corr_20\": \"ts_corr(close / (ts_delay(close, 1) + 1e-8) - 1, vol, 20)\",\n", " \"close_vwap_deviation\": \"close / (amount / (vol * 100 + 1e-8) + 1e-8) - 1\",\n", "\n", " # ================= 5. 基本面财务特征 =================\n", " \"roe\": \"n_income / (total_hldr_eqy_exc_min_int + 1e-8)\",\n", " \"roa\": \"n_income / (total_assets + 1e-8)\",\n", " \"profit_margin\": \"n_income / (revenue + 1e-8)\",\n", " \"debt_to_equity\": \"total_liab / (total_hldr_eqy_exc_min_int + 1e-8)\",\n", " \"current_ratio\": \"total_cur_assets / (total_cur_liab + 1e-8)\",\n", " \"net_profit_yoy\": \"(n_income / (ts_delay(n_income, 252) + 1e-8)) - 1\",\n", " \"revenue_yoy\": \"(revenue / (ts_delay(revenue, 252) + 1e-8)) - 1\",\n", " \"healthy_expansion_velocity\": \"(total_assets / (ts_delay(total_assets, 252) + 1e-8) - 1) - (total_liab / (ts_delay(total_liab, 252) + 1e-8) - 1)\",\n", "\n", " # ================= 6. 基本面估值与截面动量共振 =================\n", " \"EP\": \"n_income / (total_mv * 10000 + 1e-8)\",\n", " \"BP\": \"total_hldr_eqy_exc_min_int / (total_mv * 10000 + 1e-8)\",\n", " \"CP\": \"n_cashflow_act / (total_mv * 10000 + 1e-8)\",\n", " \"market_cap_rank\": \"cs_rank(total_mv)\",\n", " \"turnover_rank\": \"cs_rank(turnover_rate)\",\n", " \"return_5_rank\": \"cs_rank((close / (ts_delay(close, 5) + 1e-8)) - 1)\",\n", " \"EP_rank\": \"cs_rank(n_income / (total_mv + 1e-8))\",\n", " \"pe_expansion_trend\": \"(total_mv / (n_income + 1e-8)) / (ts_delay(total_mv, 60) / (ts_delay(n_income, 60) + 1e-8) + 1e-8) - 1\",\n", " \"value_price_divergence\": \"cs_rank((n_income - ts_delay(n_income, 252)) / (abs(ts_delay(n_income, 252)) + 1e-8)) - cs_rank(close / (ts_delay(close, 20) + 1e-8))\",\n", " \"active_market_cap\": \"total_mv * ts_mean(turnover_rate, 20)\",\n", " \"ebit_rank\": \"cs_rank(ebit)\",\n", "}\n", "\n", "# Label 因子定义(不参与训练,用于计算目标)\n", "LABEL_FACTOR = {\n", " LABEL_NAME: \"(ts_delay(close, -5) / ts_delay(open, -1)) - 1\",\n", "}" ], "outputs": [], "execution_count": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.2 训练参数配置" ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2026-03-10T14:55:40.459051Z", "start_time": "2026-03-10T14:55:40.454871Z" } }, "source": [ "# 日期范围配置(正确的 train/val/test 三分法)\n", "TRAIN_START = \"20200101\"\n", "TRAIN_END = \"20231231\"\n", "VAL_START = \"20240101\"\n", "VAL_END = \"20241231\"\n", "TEST_START = \"20250101\"\n", "TEST_END = \"20251231\"\n", "\n", "# LambdaRank 模型参数配置\n", "MODEL_PARAMS = {\n", " \"objective\": \"lambdarank\",\n", " \"metric\": \"ndcg\",\n", " \"ndcg_at\": [1, 5, 10, 20], # 评估 NDCG@k\n", " \"learning_rate\": 0.05,\n", " \"num_leaves\": 31,\n", " \"max_depth\": 6,\n", " \"min_data_in_leaf\": 20,\n", " \"n_estimators\": 1000,\n", " \"early_stopping_rounds\": 50,\n", " \"subsample\": 0.8,\n", " \"colsample_bytree\": 0.8,\n", " \"reg_alpha\": 0.1,\n", " \"reg_lambda\": 1.0,\n", " \"verbose\": -1,\n", " \"random_state\": 42,\n", "}\n", "\n", "# 分位数配置\n", "N_QUANTILES = 20 # 将 label 分为 20 组\n", "\n", "# 特征列(用于数据处理器)\n", "FEATURE_COLS = list(FACTOR_DEFINITIONS.keys())\n", "\n", "# 数据处理器配置\n", "PROCESSORS = [\n", " NullFiller(feature_cols=FEATURE_COLS, strategy=\"mean\"),\n", " Winsorizer(feature_cols=FEATURE_COLS, lower=0.01, upper=0.99),\n", " StandardScaler(feature_cols=FEATURE_COLS),\n", "]\n", "\n", "# 股票池筛选函数\n", "def stock_pool_filter(df: pl.DataFrame) -> pl.Series:\n", " \"\"\"股票池筛选函数(单日数据)\n", " \n", " 筛选条件:\n", " 1. 排除创业板(代码以 300 开头)\n", " 2. 排除科创板(代码以 688 开头)\n", " 3. 排除北交所(代码以 8、9 或 4 开头)\n", " 4. 选取当日市值最小的500只股票\n", " \"\"\"\n", " code_filter = (\n", " ~df[\"ts_code\"].str.starts_with(\"30\") &\n", " ~df[\"ts_code\"].str.starts_with(\"68\") &\n", " ~df[\"ts_code\"].str.starts_with(\"8\") &\n", " ~df[\"ts_code\"].str.starts_with(\"9\") &\n", " ~df[\"ts_code\"].str.starts_with(\"4\")\n", " )\n", " \n", " valid_df = df.filter(code_filter)\n", " n = min(1000, len(valid_df))\n", " small_cap_codes = valid_df.sort(\"total_mv\").head(n)[\"ts_code\"]\n", " \n", " return df[\"ts_code\"].is_in(small_cap_codes)\n", "\n", "STOCK_FILTER_REQUIRED_COLUMNS = [\"total_mv\"]\n", "\n", "# 输出配置\n", "OUTPUT_DIR = \"output\"\n", "SAVE_PREDICTIONS = True\n", "PERSIST_MODEL = False\n", "\n", "# Top N 配置:每日推荐股票数量\n", "TOP_N = 5 # 可调整为 10, 20 等" ], "outputs": [], "execution_count": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4. 训练流程" ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2026-03-10T14:56:04.604292Z", "start_time": "2026-03-10T14:55:40.466222Z" } }, "source": [ "print(\"\\n\" + \"=\" * 80)\n", "print(\"LightGBM LambdaRank 排序学习训练\")\n", "print(\"=\" * 80)\n", "\n", "# 1. 创建 FactorEngine\n", "print(\"\\n[1] 创建 FactorEngine\")\n", "engine = FactorEngine()\n", "\n", "# 2. 使用字符串表达式定义因子\n", "print(\"\\n[2] 定义因子(字符串表达式)\")\n", "feature_cols = create_factors_with_strings(engine, FACTOR_DEFINITIONS, LABEL_FACTOR)\n", "\n", "# 3. 准备数据\n", "print(\"\\n[3] 准备数据\")\n", "data = prepare_data(\n", " engine=engine,\n", " feature_cols=feature_cols,\n", " start_date=TRAIN_START,\n", " end_date=TEST_END,\n", ")\n", "\n", "# 4. 转换为排序学习格式(分位数标签)\n", "print(\"\\n[4] 转换为排序学习格式\")\n", "data, target_col = prepare_ranking_data(\n", " df=data,\n", " label_col=LABEL_NAME,\n", " n_quantiles=N_QUANTILES,\n", ")\n", "\n", "# 5. 打印配置信息\n", "print(f\"\\n[配置] 训练期: {TRAIN_START} - {TRAIN_END}\")\n", "print(f\"[配置] 验证期: {VAL_START} - {VAL_END}\")\n", "print(f\"[配置] 测试期: {TEST_START} - {TEST_END}\")\n", "print(f\"[配置] 特征数: {len(feature_cols)}\")\n", "print(f\"[配置] 目标变量: {target_col}({N_QUANTILES}分位数)\")\n", "\n", "# 6. 创建排序学习模型\n", "model = LightGBMLambdaRankModel(params=MODEL_PARAMS)\n", "\n", "# 7. 创建数据处理器\n", "processors = PROCESSORS\n", "\n", "# 8. 创建数据划分器\n", "splitter = DateSplitter(\n", " train_start=TRAIN_START,\n", " train_end=TRAIN_END,\n", " val_start=VAL_START,\n", " val_end=VAL_END,\n", " test_start=TEST_START,\n", " test_end=TEST_END,\n", ")\n", "\n", "# 9. 创建股票池管理器\n", "pool_manager = StockPoolManager(\n", " filter_func=stock_pool_filter,\n", " required_columns=STOCK_FILTER_REQUIRED_COLUMNS,\n", " data_router=engine.router,\n", ")\n", "\n", "# 10. 创建 ST 过滤器\n", "st_filter = STFilter(data_router=engine.router)\n", "\n", "# 11. 创建训练器\n", "trainer = Trainer(\n", " model=model,\n", " pool_manager=pool_manager,\n", " processors=processors,\n", " filters=[st_filter],\n", " splitter=splitter,\n", " target_col=target_col,\n", " feature_cols=feature_cols,\n", " persist_model=PERSIST_MODEL,\n", ")" ], "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "================================================================================\n", "LightGBM LambdaRank 排序学习训练\n", "================================================================================\n", "\n", "[1] 创建 FactorEngine\n", "\n", "[2] 定义因子(字符串表达式)\n", "================================================================================\n", "使用字符串表达式定义因子\n", "================================================================================\n", "\n", "注册特征因子:\n", " - ma_5: ts_mean(close, 5)\n", " - ma_20: ts_mean(close, 20)\n", " - ma_ratio_5_20: ts_mean(close, 5) / (ts_mean(close, 20) + 1e-8) - 1\n", " - bias_10: close / (ts_mean(close, 10) + 1e-8) - 1\n", " - high_low_ratio: (close - ts_min(low, 20)) / (ts_max(high, 20) - ts_min(low, 20) + 1e-8)\n", " - bbi_ratio: (ts_mean(close, 3) + ts_mean(close, 6) + ts_mean(close, 12) + ts_mean(close, 24)) / (4 * close + 1e-8)\n", " - return_5: (close / (ts_delay(close, 5) + 1e-8)) - 1\n", " - return_20: (close / (ts_delay(close, 20) + 1e-8)) - 1\n", " - kaufman_ER_20: abs(close - ts_delay(close, 20)) / (ts_sum(abs(close - ts_delay(close, 1)), 20) + 1e-8)\n", " - mom_acceleration_10_20: (close / (ts_delay(close, 10) + 1e-8) - 1) - (ts_delay(close, 10) / (ts_delay(close, 20) + 1e-8) - 1)\n", " - drawdown_from_high_60: close / (ts_max(high, 60) + 1e-8) - 1\n", " - up_days_ratio_20: ts_sum(close > ts_delay(close, 1), 20) / 20\n", " - volatility_5: ts_std(close, 5)\n", " - volatility_20: ts_std(close, 20)\n", " - volatility_ratio: ts_std(close, 5) / (ts_std(close, 20) + 1e-8)\n", " - std_return_20: ts_std((close / (ts_delay(close, 1) + 1e-8)) - 1, 20)\n", " - sharpe_ratio_20: ts_mean(close / (ts_delay(close, 1) + 1e-8) - 1, 20) / (ts_std(close / (ts_delay(close, 1) + 1e-8) - 1, 20) + 1e-8)\n", " - min_ret_20: ts_min(close / (ts_delay(close, 1) + 1e-8) - 1, 20)\n", " - volatility_squeeze_5_60: ts_std(close, 5) / (ts_std(close, 60) + 1e-8)\n", " - overnight_intraday_diff: (open / (ts_delay(close, 1) + 1e-8) - 1) - (close / (open + 1e-8) - 1)\n", " - upper_shadow_ratio: (high - ((open + close + abs(open - close)) / 2)) / (high - low + 1e-8)\n", " - capital_retention_20: ts_sum(abs(close - open), 20) / (ts_sum(high - low, 20) + 1e-8)\n", " - max_ret_20: ts_max(close / (ts_delay(close, 1) + 1e-8) - 1, 20)\n", " - volume_ratio_5_20: ts_mean(vol, 5) / (ts_mean(vol, 20) + 1e-8)\n", " - turnover_rate_mean_5: ts_mean(turnover_rate, 5)\n", " - turnover_deviation: (turnover_rate - ts_mean(turnover_rate, 10)) / (ts_std(turnover_rate, 10) + 1e-8)\n", " - amihud_illiq_20: ts_mean(abs(close / (ts_delay(close, 1) + 1e-8) - 1) / (amount + 1e-8), 20)\n", " - turnover_cv_20: ts_std(turnover_rate, 20) / (ts_mean(turnover_rate, 20) + 1e-8)\n", " - pv_corr_20: ts_corr(close / (ts_delay(close, 1) + 1e-8) - 1, vol, 20)\n", " - close_vwap_deviation: close / (amount / (vol * 100 + 1e-8) + 1e-8) - 1\n", " - roe: n_income / (total_hldr_eqy_exc_min_int + 1e-8)\n", " - roa: n_income / (total_assets + 1e-8)\n", " - profit_margin: n_income / (revenue + 1e-8)\n", " - debt_to_equity: total_liab / (total_hldr_eqy_exc_min_int + 1e-8)\n", " - current_ratio: total_cur_assets / (total_cur_liab + 1e-8)\n", " - net_profit_yoy: (n_income / (ts_delay(n_income, 252) + 1e-8)) - 1\n", " - revenue_yoy: (revenue / (ts_delay(revenue, 252) + 1e-8)) - 1\n", " - healthy_expansion_velocity: (total_assets / (ts_delay(total_assets, 252) + 1e-8) - 1) - (total_liab / (ts_delay(total_liab, 252) + 1e-8) - 1)\n", " - EP: n_income / (total_mv * 10000 + 1e-8)\n", " - BP: total_hldr_eqy_exc_min_int / (total_mv * 10000 + 1e-8)\n", " - CP: n_cashflow_act / (total_mv * 10000 + 1e-8)\n", " - market_cap_rank: cs_rank(total_mv)\n", " - turnover_rank: cs_rank(turnover_rate)\n", " - return_5_rank: cs_rank((close / (ts_delay(close, 5) + 1e-8)) - 1)\n", " - EP_rank: cs_rank(n_income / (total_mv + 1e-8))\n", " - pe_expansion_trend: (total_mv / (n_income + 1e-8)) / (ts_delay(total_mv, 60) / (ts_delay(n_income, 60) + 1e-8) + 1e-8) - 1\n", " - value_price_divergence: cs_rank((n_income - ts_delay(n_income, 252)) / (abs(ts_delay(n_income, 252)) + 1e-8)) - cs_rank(close / (ts_delay(close, 20) + 1e-8))\n", " - active_market_cap: total_mv * ts_mean(turnover_rate, 20)\n", " - ebit_rank: cs_rank(ebit)\n", "\n", "注册 Label 因子:\n", " - future_return_5_rank: (ts_delay(close, -5) / ts_delay(open, -1)) - 1\n", "\n", "特征因子数: 49\n", "Label: future_return_5_rank\n", "已注册因子总数: 50\n", "\n", "[3] 准备数据\n", "\n", "================================================================================\n", "准备数据\n", "================================================================================\n", "\n", "计算因子: 20200101 - 20251231\n", "[FinancialLoader] 加载 financial_fina_indicator 失败: Binder Error: Referenced column \"f_ann_date\" not found in FROM clause!\n", "Candidate bindings: \"ann_date\", \"end_date\", \"ocf_to_debt\", \"arturn_days\", \"nca_to_assets\"\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "D:\\PyProject\\ProStock\\src\\data\\financial_loader.py:148: UserWarning: Sortedness of columns cannot be checked when 'by' groups provided\n", " merged = df_price.join_asof(\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "数据形状: (7044952, 70)\n", "数据列: ['ts_code', 'trade_date', 'amount', 'vol', 'turnover_rate', 'close', 'low', 'high', 'open', 'total_assets', 'total_mv', 'f_ann_date', 'n_income', 'revenue', 'total_liab', 'total_cur_assets', 'total_hldr_eqy_exc_min_int', 'total_cur_liab', 'n_cashflow_act', 'ebit', 'ma_5', 'ma_20', 'ma_ratio_5_20', 'bias_10', 'high_low_ratio', 'bbi_ratio', 'return_5', 'return_20', 'kaufman_ER_20', 'mom_acceleration_10_20', 'drawdown_from_high_60', 'up_days_ratio_20', 'volatility_5', 'volatility_20', 'volatility_ratio', 'std_return_20', 'sharpe_ratio_20', 'min_ret_20', 'volatility_squeeze_5_60', 'overnight_intraday_diff', 'upper_shadow_ratio', 'capital_retention_20', 'max_ret_20', 'volume_ratio_5_20', 'turnover_rate_mean_5', 'turnover_deviation', 'amihud_illiq_20', 'turnover_cv_20', 'pv_corr_20', 'close_vwap_deviation', 'roe', 'roa', 'profit_margin', 'debt_to_equity', 'current_ratio', 'net_profit_yoy', 'revenue_yoy', 'healthy_expansion_velocity', 'EP', 'BP', 'CP', 'market_cap_rank', 'turnover_rank', 'return_5_rank', 'EP_rank', 'pe_expansion_trend', 'value_price_divergence', 'active_market_cap', 'ebit_rank', 'future_return_5_rank']\n", "\n", "前5行预览:\n", "shape: (5, 70)\n", "┌───────────┬───────────┬──────────┬───────────┬───┬───────────┬───────────┬───────────┬───────────┐\n", "│ ts_code ┆ trade_dat ┆ amount ┆ vol ┆ … ┆ value_pri ┆ active_ma ┆ ebit_rank ┆ future_re │\n", "│ --- ┆ e ┆ --- ┆ --- ┆ ┆ ce_diverg ┆ rket_cap ┆ --- ┆ turn_5_ra │\n", "│ str ┆ --- ┆ f64 ┆ f64 ┆ ┆ ence ┆ --- ┆ f64 ┆ nk │\n", "│ ┆ str ┆ ┆ ┆ ┆ --- ┆ f64 ┆ ┆ --- │\n", "│ ┆ ┆ ┆ ┆ ┆ f64 ┆ ┆ ┆ f64 │\n", "╞═══════════╪═══════════╪══════════╪═══════════╪═══╪═══════════╪═══════════╪═══════════╪═══════════╡\n", "│ 000001.SZ ┆ 20200102 ┆ 2.5712e6 ┆ 1.5302e6 ┆ … ┆ null ┆ null ┆ null ┆ -0.008857 │\n", "│ 000001.SZ ┆ 20200103 ┆ 1.9145e6 ┆ 1.1162e6 ┆ … ┆ null ┆ null ┆ null ┆ -0.01881 │\n", "│ 000001.SZ ┆ 20200106 ┆ 1.4779e6 ┆ 862083.5 ┆ … ┆ null ┆ null ┆ null ┆ -0.008171 │\n", "│ 000001.SZ ┆ 20200107 ┆ 1.2470e6 ┆ 728607.56 ┆ … ┆ null ┆ null ┆ null ┆ -0.014117 │\n", "│ 000001.SZ ┆ 20200108 ┆ 1.4236e6 ┆ 847824.12 ┆ … ┆ null ┆ null ┆ null ┆ -0.017252 │\n", "└───────────┴───────────┴──────────┴───────────┴───┴───────────┴───────────┴───────────┴───────────┘\n", "\n", "[4] 转换为排序学习格式\n", "\n", "================================================================================\n", "准备排序学习数据(将 future_return_5_rank 转换为 20 分位数标签)\n", "================================================================================\n", "\n", "原始 future_return_5_rank 统计:\n", "shape: (9, 2)\n", "┌────────────┬───────────┐\n", "│ statistic ┆ value │\n", "│ --- ┆ --- │\n", "│ str ┆ f64 │\n", "╞════════════╪═══════════╡\n", "│ count ┆ 7.01659e6 │\n", "│ null_count ┆ 28362.0 │\n", "│ mean ┆ 0.003779 │\n", "│ std ┆ 0.073221 │\n", "│ min ┆ -0.969459 │\n", "│ 25% ┆ -0.033163 │\n", "│ 50% ┆ -0.001483 │\n", "│ 75% ┆ 0.032547 │\n", "│ max ┆ 10.361925 │\n", "└────────────┴───────────┘\n", "\n", "转换后 future_return_5_rank_rank 统计:\n", "shape: (9, 2)\n", "┌────────────┬───────────┐\n", "│ statistic ┆ value │\n", "│ --- ┆ --- │\n", "│ str ┆ f64 │\n", "╞════════════╪═══════════╡\n", "│ count ┆ 7.01659e6 │\n", "│ null_count ┆ 28362.0 │\n", "│ mean ┆ 9.495412 │\n", "│ std ┆ 5.765668 │\n", "│ min ┆ 0.0 │\n", "│ 25% ┆ 4.0 │\n", "│ 50% ┆ 9.0 │\n", "│ 75% ┆ 14.0 │\n", "│ max ┆ 19.0 │\n", "└────────────┴───────────┘\n", "\n", "每日样本数统计:\n", "shape: (9, 2)\n", "┌────────────┬─────────────┐\n", "│ statistic ┆ value │\n", "│ --- ┆ --- │\n", "│ str ┆ f64 │\n", "╞════════════╪═════════════╡\n", "│ count ┆ 1455.0 │\n", "│ null_count ┆ 0.0 │\n", "│ mean ┆ 4841.891409 │\n", "│ std ┆ 560.948186 │\n", "│ min ┆ 3740.0 │\n", "│ 25% ┆ 4369.0 │\n", "│ 50% ┆ 5060.0 │\n", "│ 75% ┆ 5344.0 │\n", "│ max ┆ 5458.0 │\n", "└────────────┴─────────────┘\n", "\n", "分位数标签分布:\n", "shape: (21, 2)\n", "┌───────────────────────────┬────────┐\n", "│ future_return_5_rank_rank ┆ count │\n", "│ --- ┆ --- │\n", "│ i64 ┆ u32 │\n", "╞═══════════════════════════╪════════╡\n", "│ null ┆ 28362 │\n", "│ 0 ┆ 351599 │\n", "│ 1 ┆ 350894 │\n", "│ 2 ┆ 350944 │\n", "│ 3 ┆ 351077 │\n", "│ … ┆ … │\n", "│ 15 ┆ 350910 │\n", "│ 16 ┆ 350835 │\n", "│ 17 ┆ 350848 │\n", "│ 18 ┆ 350871 │\n", "│ 19 ┆ 349137 │\n", "└───────────────────────────┴────────┘\n", "\n", "[配置] 训练期: 20200101 - 20231231\n", "[配置] 验证期: 20240101 - 20241231\n", "[配置] 测试期: 20250101 - 20251231\n", "[配置] 特征数: 49\n", "[配置] 目标变量: future_return_5_rank_rank(20分位数)\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\liaozhaorun\\AppData\\Local\\Temp\\ipykernel_7864\\551043002.py:108: DeprecationWarning: `pl.count()` is deprecated. Please use `pl.len()` instead.\n", "(Deprecated in version 0.20.5)\n", " daily_counts = df_ranked.group_by(date_col).agg(pl.count().alias(\"count\"))\n" ] } ], "execution_count": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.1 股票池筛选" ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2026-03-10T14:56:29.070549Z", "start_time": "2026-03-10T14:56:04.619443Z" } }, "source": [ "print(\"\\n\" + \"=\" * 80)\n", "print(\"股票池筛选\")\n", "print(\"=\" * 80)\n", "\n", "# 先执行 ST 过滤(在股票池筛选之前,与 Trainer.train() 保持一致)\n", "if st_filter:\n", " print(\"\\n[过滤] 应用 ST 过滤器...\")\n", " data = st_filter.filter(data)\n", " print(f\" ST 过滤后数据规模: {data.shape}\")\n", "\n", "if pool_manager:\n", " print(\"\\n执行每日独立筛选股票池...\")\n", " filtered_data = pool_manager.filter_and_select_daily(data)\n", " print(f\" 筛选前数据规模: {data.shape}\")\n", " print(f\" 筛选后数据规模: {filtered_data.shape}\")\n", " print(f\" 筛选前股票数: {data['ts_code'].n_unique()}\")\n", " print(f\" 筛选后股票数: {filtered_data['ts_code'].n_unique()}\")\n", " print(f\" 删除记录数: {len(data) - len(filtered_data)}\")\n", "else:\n", " filtered_data = data\n", " print(\" 未配置股票池管理器,跳过筛选\")" ], "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "================================================================================\n", "股票池筛选\n", "================================================================================\n", "\n", "[过滤] 应用 ST 过滤器...\n", " [20200103] 过滤 129 只 ST 股票\n", " [20200106] 过滤 129 只 ST 股票\n", " [20200107] 过滤 128 只 ST 股票\n", " [20200108] 过滤 128 只 ST 股票\n", " [20200109] 过滤 128 只 ST 股票\n", " [20200110] 过滤 128 只 ST 股票\n", " [20200113] 过滤 129 只 ST 股票\n", " [20200114] 过滤 129 只 ST 股票\n", " [20200115] 过滤 130 只 ST 股票\n", " [20200116] 过滤 130 只 ST 股票\n", " [20200117] 过滤 129 只 ST 股票\n", " [20200120] 过滤 129 只 ST 股票\n", " [20200121] 过滤 131 只 ST 股票\n", " [20200122] 过滤 132 只 ST 股票\n", " [20200123] 过滤 132 只 ST 股票\n", " [20200203] 过滤 132 只 ST 股票\n", " [20200204] 过滤 132 只 ST 股票\n", " [20200205] 过滤 132 只 ST 股票\n", " [20200206] 过滤 132 只 ST 股票\n", " [20200207] 过滤 132 只 ST 股票\n", " [20200210] 过滤 132 只 ST 股票\n", " [20200211] 过滤 132 只 ST 股票\n", " [20200212] 过滤 132 只 ST 股票\n", " [20200213] 过滤 132 只 ST 股票\n", " [20200214] 过滤 132 只 ST 股票\n", " [20200217] 过滤 132 只 ST 股票\n", " [20200218] 过滤 132 只 ST 股票\n", " [20200219] 过滤 132 只 ST 股票\n", " [20200221] 过滤 132 只 ST 股票\n", " [20200224] 过滤 132 只 ST 股票\n", " [20200226] 过滤 132 只 ST 股票\n", " [20200227] 过滤 131 只 ST 股票\n", " [20200228] 过滤 132 只 ST 股票\n", " [20200302] 过滤 132 只 ST 股票\n", " [20200303] 过滤 131 只 ST 股票\n", " [20200304] 过滤 130 只 ST 股票\n", " [20200305] 过滤 129 只 ST 股票\n", " [20200306] 过滤 129 只 ST 股票\n", " [20200309] 过滤 129 只 ST 股票\n", " [20200310] 过滤 129 只 ST 股票\n", " [20200311] 过滤 129 只 ST 股票\n", " [20200312] 过滤 129 只 ST 股票\n", " [20200313] 过滤 129 只 ST 股票\n", " [20200317] 过滤 129 只 ST 股票\n", " [20200318] 过滤 129 只 ST 股票\n", " [20200319] 过滤 130 只 ST 股票\n", " [20200320] 过滤 129 只 ST 股票\n", " [20200323] 过滤 130 只 ST 股票\n", " [20200324] 过滤 130 只 ST 股票\n", " [20200325] 过滤 130 只 ST 股票\n", " [20200326] 过滤 130 只 ST 股票\n", " [20200327] 过滤 130 只 ST 股票\n", " [20200330] 过滤 130 只 ST 股票\n", " [20200331] 过滤 131 只 ST 股票\n", " [20200401] 过滤 133 只 ST 股票\n", " [20200402] 过滤 133 只 ST 股票\n", " [20200403] 过滤 133 只 ST 股票\n", " [20200407] 过滤 133 只 ST 股票\n", " [20200408] 过滤 131 只 ST 股票\n", " [20200409] 过滤 132 只 ST 股票\n", " [20200410] 过滤 131 只 ST 股票\n", " [20200413] 过滤 130 只 ST 股票\n", " [20200414] 过滤 129 只 ST 股票\n", " [20200415] 过滤 130 只 ST 股票\n", " [20200416] 过滤 131 只 ST 股票\n", " [20200417] 过滤 131 只 ST 股票\n", " [20200420] 过滤 127 只 ST 股票\n", " [20200421] 过滤 128 只 ST 股票\n", " [20200422] 过滤 131 只 ST 股票\n", " [20200424] 过滤 132 只 ST 股票\n", " [20200427] 过滤 135 只 ST 股票\n", " [20200428] 过滤 135 只 ST 股票\n", " [20200429] 过滤 139 只 ST 股票\n", " [20200430] 过滤 151 只 ST 股票\n", " [20200506] 过滤 183 只 ST 股票\n", " [20200507] 过滤 184 只 ST 股票\n", " [20200508] 过滤 182 只 ST 股票\n", " [20200511] 过滤 184 只 ST 股票\n", " [20200512] 过滤 182 只 ST 股票\n", " [20200513] 过滤 184 只 ST 股票\n", " [20200514] 过滤 184 只 ST 股票\n", " [20200515] 过滤 184 只 ST 股票\n", " [20200518] 过滤 184 只 ST 股票\n", " [20200519] 过滤 184 只 ST 股票\n", " [20200520] 过滤 183 只 ST 股票\n", " [20200521] 过滤 184 只 ST 股票\n", " [20200522] 过滤 184 只 ST 股票\n", " [20200525] 过滤 183 只 ST 股票\n", " [20200526] 过滤 183 只 ST 股票\n", " [20200527] 过滤 183 只 ST 股票\n", " [20200528] 过滤 181 只 ST 股票\n", " [20200529] 过滤 181 只 ST 股票\n", " [20200601] 过滤 182 只 ST 股票\n", " [20200602] 过滤 184 只 ST 股票\n", " [20200603] 过滤 182 只 ST 股票\n", " [20200604] 过滤 181 只 ST 股票\n", " [20200605] 过滤 180 只 ST 股票\n", " [20200608] 过滤 176 只 ST 股票\n", " [20200609] 过滤 180 只 ST 股票\n", " [20200610] 过滤 179 只 ST 股票\n", " [20200611] 过滤 178 只 ST 股票\n", " [20200612] 过滤 180 只 ST 股票\n", " [20200615] 过滤 182 只 ST 股票\n", " [20200616] 过滤 183 只 ST 股票\n", " [20200617] 过滤 182 只 ST 股票\n", " [20200619] 过滤 183 只 ST 股票\n", " [20200622] 过滤 183 只 ST 股票\n", " [20200623] 过滤 183 只 ST 股票\n", " [20200624] 过滤 186 只 ST 股票\n", " [20200629] 过滤 190 只 ST 股票\n", " [20200630] 过滤 188 只 ST 股票\n", " [20200701] 过滤 196 只 ST 股票\n", " [20200702] 过滤 197 只 ST 股票\n", " [20200703] 过滤 197 只 ST 股票\n", " [20200706] 过滤 197 只 ST 股票\n", " [20200707] 过滤 196 只 ST 股票\n", " [20200709] 过滤 197 只 ST 股票\n", " [20200710] 过滤 196 只 ST 股票\n", " [20200713] 过滤 197 只 ST 股票\n", " [20200714] 过滤 197 只 ST 股票\n", " [20200715] 过滤 197 只 ST 股票\n", " [20200716] 过滤 195 只 ST 股票\n", " [20200717] 过滤 196 只 ST 股票\n", " [20200721] 过滤 195 只 ST 股票\n", " [20200722] 过滤 194 只 ST 股票\n", " [20200723] 过滤 193 只 ST 股票\n", " [20200724] 过滤 194 只 ST 股票\n", " [20200727] 过滤 195 只 ST 股票\n", " [20200728] 过滤 195 只 ST 股票\n", " [20200729] 过滤 195 只 ST 股票\n", " [20200730] 过滤 196 只 ST 股票\n", " [20200731] 过滤 196 只 ST 股票\n", " [20200805] 过滤 194 只 ST 股票\n", " [20200806] 过滤 195 只 ST 股票\n", " [20200807] 过滤 195 只 ST 股票\n", " [20200810] 过滤 194 只 ST 股票\n", " [20200811] 过滤 194 只 ST 股票\n", " [20200812] 过滤 195 只 ST 股票\n", " [20200813] 过滤 194 只 ST 股票\n", " [20200814] 过滤 194 只 ST 股票\n", " [20200817] 过滤 195 只 ST 股票\n", " [20200818] 过滤 195 只 ST 股票\n", " [20200819] 过滤 195 只 ST 股票\n", " [20200820] 过滤 196 只 ST 股票\n", " [20200821] 过滤 196 只 ST 股票\n", " [20200825] 过滤 198 只 ST 股票\n", " [20200826] 过滤 198 只 ST 股票\n", " [20200827] 过滤 198 只 ST 股票\n", " [20200828] 过滤 198 只 ST 股票\n", " [20200831] 过滤 198 只 ST 股票\n", " [20200901] 过滤 199 只 ST 股票\n", " [20200902] 过滤 199 只 ST 股票\n", " [20200903] 过滤 199 只 ST 股票\n", " [20200904] 过滤 198 只 ST 股票\n", " [20200907] 过滤 197 只 ST 股票\n", " [20200908] 过滤 197 只 ST 股票\n", " [20200909] 过滤 197 只 ST 股票\n", " [20200910] 过滤 197 只 ST 股票\n", " [20200911] 过滤 197 只 ST 股票\n", " [20200914] 过滤 197 只 ST 股票\n", " [20200915] 过滤 200 只 ST 股票\n", " [20200916] 过滤 200 只 ST 股票\n", " [20200917] 过滤 199 只 ST 股票\n", " [20200918] 过滤 200 只 ST 股票\n", " [20200921] 过滤 200 只 ST 股票\n", " [20200922] 过滤 201 只 ST 股票\n", " [20200923] 过滤 201 只 ST 股票\n", " [20200924] 过滤 200 只 ST 股票\n", " [20200925] 过滤 200 只 ST 股票\n", " [20200928] 过滤 202 只 ST 股票\n", " [20200929] 过滤 203 只 ST 股票\n", " [20200930] 过滤 204 只 ST 股票\n", " [20201009] 过滤 204 只 ST 股票\n", " [20201012] 过滤 204 只 ST 股票\n", " [20201013] 过滤 204 只 ST 股票\n", " [20201014] 过滤 203 只 ST 股票\n", " [20201015] 过滤 203 只 ST 股票\n", " [20201016] 过滤 203 只 ST 股票\n", " [20201019] 过滤 203 只 ST 股票\n", " [20201020] 过滤 203 只 ST 股票\n", " [20201021] 过滤 203 只 ST 股票\n", " [20201022] 过滤 203 只 ST 股票\n", " [20201023] 过滤 203 只 ST 股票\n", " [20201026] 过滤 203 只 ST 股票\n", " [20201027] 过滤 203 只 ST 股票\n", " [20201028] 过滤 203 只 ST 股票\n", " [20201029] 过滤 203 只 ST 股票\n", " [20201030] 过滤 201 只 ST 股票\n", " [20201102] 过滤 201 只 ST 股票\n", " [20201103] 过滤 203 只 ST 股票\n", " [20201104] 过滤 204 只 ST 股票\n", " [20201105] 过滤 204 只 ST 股票\n", " [20201106] 过滤 204 只 ST 股票\n", " [20201109] 过滤 203 只 ST 股票\n", " [20201110] 过滤 203 只 ST 股票\n", " [20201111] 过滤 203 只 ST 股票\n", " [20201112] 过滤 203 只 ST 股票\n", " [20201113] 过滤 203 只 ST 股票\n", " [20201116] 过滤 204 只 ST 股票\n", " [20201117] 过滤 204 只 ST 股票\n", " [20201118] 过滤 204 只 ST 股票\n", " [20201119] 过滤 204 只 ST 股票\n", " [20201123] 过滤 203 只 ST 股票\n", " [20201124] 过滤 203 只 ST 股票\n", " [20201125] 过滤 201 只 ST 股票\n", " [20201126] 过滤 202 只 ST 股票\n", " [20201127] 过滤 202 只 ST 股票\n", " [20201130] 过滤 202 只 ST 股票\n", " [20201201] 过滤 202 只 ST 股票\n", " [20201202] 过滤 202 只 ST 股票\n", " [20201203] 过滤 202 只 ST 股票\n", " [20201204] 过滤 201 只 ST 股票\n", " [20201207] 过滤 201 只 ST 股票\n", " [20201208] 过滤 201 只 ST 股票\n", " [20201209] 过滤 201 只 ST 股票\n", " [20201210] 过滤 201 只 ST 股票\n", " [20201211] 过滤 201 只 ST 股票\n", " [20201214] 过滤 202 只 ST 股票\n", " [20201215] 过滤 203 只 ST 股票\n", " [20201216] 过滤 203 只 ST 股票\n", " [20201217] 过滤 203 只 ST 股票\n", " [20201218] 过滤 203 只 ST 股票\n", " [20201221] 过滤 203 只 ST 股票\n", " [20201222] 过滤 201 只 ST 股票\n", " [20201223] 过滤 201 只 ST 股票\n", " [20201224] 过滤 200 只 ST 股票\n", " [20201225] 过滤 200 只 ST 股票\n", " [20201228] 过滤 200 只 ST 股票\n", " [20201229] 过滤 201 只 ST 股票\n", " [20201230] 过滤 201 只 ST 股票\n", " [20201231] 过滤 200 只 ST 股票\n", " [20210104] 过滤 199 只 ST 股票\n", " [20210105] 过滤 199 只 ST 股票\n", " [20210106] 过滤 199 只 ST 股票\n", " [20210107] 过滤 199 只 ST 股票\n", " [20210108] 过滤 199 只 ST 股票\n", " [20210111] 过滤 199 只 ST 股票\n", " [20210112] 过滤 199 只 ST 股票\n", " [20210113] 过滤 199 只 ST 股票\n", " [20210114] 过滤 198 只 ST 股票\n", " [20210115] 过滤 198 只 ST 股票\n", " [20210118] 过滤 198 只 ST 股票\n", " [20210119] 过滤 199 只 ST 股票\n", " [20210120] 过滤 199 只 ST 股票\n", " [20210121] 过滤 198 只 ST 股票\n", " [20210122] 过滤 198 只 ST 股票\n", " [20210125] 过滤 198 只 ST 股票\n", " [20210126] 过滤 199 只 ST 股票\n", " [20210127] 过滤 199 只 ST 股票\n", " [20210128] 过滤 199 只 ST 股票\n", " [20210201] 过滤 197 只 ST 股票\n", " [20210202] 过滤 199 只 ST 股票\n", " [20210203] 过滤 199 只 ST 股票\n", " [20210204] 过滤 200 只 ST 股票\n", " [20210205] 过滤 200 只 ST 股票\n", " [20210208] 过滤 199 只 ST 股票\n", " [20210209] 过滤 200 只 ST 股票\n", " [20210210] 过滤 200 只 ST 股票\n", " [20210218] 过滤 200 只 ST 股票\n", " [20210219] 过滤 203 只 ST 股票\n", " [20210222] 过滤 203 只 ST 股票\n", " [20210223] 过滤 202 只 ST 股票\n", " [20210224] 过滤 202 只 ST 股票\n", " [20210225] 过滤 201 只 ST 股票\n", " [20210226] 过滤 200 只 ST 股票\n", " [20210301] 过滤 200 只 ST 股票\n", " [20210302] 过滤 200 只 ST 股票\n", " [20210303] 过滤 200 只 ST 股票\n", " [20210304] 过滤 201 只 ST 股票\n", " [20210305] 过滤 200 只 ST 股票\n", " [20210308] 过滤 201 只 ST 股票\n", " [20210309] 过滤 201 只 ST 股票\n", " [20210310] 过滤 201 只 ST 股票\n", " [20210311] 过滤 200 只 ST 股票\n", " [20210312] 过滤 199 只 ST 股票\n", " [20210315] 过滤 198 只 ST 股票\n", " [20210317] 过滤 198 只 ST 股票\n", " [20210318] 过滤 198 只 ST 股票\n", " [20210319] 过滤 195 只 ST 股票\n", " [20210322] 过滤 194 只 ST 股票\n", " [20210323] 过滤 194 只 ST 股票\n", " [20210324] 过滤 194 只 ST 股票\n", " [20210325] 过滤 194 只 ST 股票\n", " [20210326] 过滤 194 只 ST 股票\n", " [20210329] 过滤 194 只 ST 股票\n", " [20210330] 过滤 194 只 ST 股票\n", " [20210331] 过滤 192 只 ST 股票\n", " [20210401] 过滤 191 只 ST 股票\n", " [20210402] 过滤 189 只 ST 股票\n", " [20210406] 过滤 190 只 ST 股票\n", " [20210407] 过滤 191 只 ST 股票\n", " [20210408] 过滤 191 只 ST 股票\n", " [20210409] 过滤 190 只 ST 股票\n", " [20210412] 过滤 188 只 ST 股票\n", " [20210413] 过滤 187 只 ST 股票\n", " [20210414] 过滤 186 只 ST 股票\n", " [20210415] 过滤 182 只 ST 股票\n", " [20210416] 过滤 180 只 ST 股票\n", " [20210419] 过滤 179 只 ST 股票\n", " [20210420] 过滤 179 只 ST 股票\n", " [20210421] 过滤 180 只 ST 股票\n", " [20210422] 过滤 180 只 ST 股票\n", " [20210423] 过滤 178 只 ST 股票\n", " [20210426] 过滤 183 只 ST 股票\n", " [20210427] 过滤 180 只 ST 股票\n", " [20210428] 过滤 190 只 ST 股票\n", " [20210429] 过滤 185 只 ST 股票\n", " [20210430] 过滤 200 只 ST 股票\n", " [20210506] 过滤 225 只 ST 股票\n", " [20210507] 过滤 222 只 ST 股票\n", " [20210510] 过滤 218 只 ST 股票\n", " [20210511] 过滤 215 只 ST 股票\n", " [20210512] 过滤 214 只 ST 股票\n", " [20210513] 过滤 212 只 ST 股票\n", " [20210514] 过滤 210 只 ST 股票\n", " [20210517] 过滤 208 只 ST 股票\n", " [20210518] 过滤 202 只 ST 股票\n", " [20210519] 过滤 196 只 ST 股票\n", " [20210520] 过滤 202 只 ST 股票\n", " [20210521] 过滤 201 只 ST 股票\n", " [20210524] 过滤 199 只 ST 股票\n", " [20210525] 过滤 198 只 ST 股票\n", " [20210526] 过滤 197 只 ST 股票\n", " [20210527] 过滤 197 只 ST 股票\n", " [20210528] 过滤 196 只 ST 股票\n", " [20210531] 过滤 196 只 ST 股票\n", " [20210601] 过滤 196 只 ST 股票\n", " [20210602] 过滤 195 只 ST 股票\n", " [20210603] 过滤 193 只 ST 股票\n", " [20210604] 过滤 193 只 ST 股票\n", " [20210607] 过滤 190 只 ST 股票\n", " [20210608] 过滤 191 只 ST 股票\n", " [20210609] 过滤 190 只 ST 股票\n", " [20210610] 过滤 189 只 ST 股票\n", " [20210611] 过滤 190 只 ST 股票\n", " [20210615] 过滤 187 只 ST 股票\n", " [20210616] 过滤 187 只 ST 股票\n", " [20210617] 过滤 186 只 ST 股票\n", " [20210618] 过滤 185 只 ST 股票\n", " [20210621] 过滤 183 只 ST 股票\n", " [20210622] 过滤 183 只 ST 股票\n", " [20210623] 过滤 181 只 ST 股票\n", " [20210624] 过滤 183 只 ST 股票\n", " [20210625] 过滤 181 只 ST 股票\n", " [20210628] 过滤 181 只 ST 股票\n", " [20210629] 过滤 181 只 ST 股票\n", " [20210630] 过滤 180 只 ST 股票\n", " [20210701] 过滤 180 只 ST 股票\n", " [20210702] 过滤 182 只 ST 股票\n", " [20210705] 过滤 182 只 ST 股票\n", " [20210706] 过滤 182 只 ST 股票\n", " [20210707] 过滤 184 只 ST 股票\n", " [20210708] 过滤 184 只 ST 股票\n", " [20210709] 过滤 182 只 ST 股票\n", " [20210712] 过滤 182 只 ST 股票\n", " [20210713] 过滤 183 只 ST 股票\n", " [20210714] 过滤 182 只 ST 股票\n", " [20210715] 过滤 181 只 ST 股票\n", " [20210716] 过滤 181 只 ST 股票\n", " [20210719] 过滤 180 只 ST 股票\n", " [20210720] 过滤 179 只 ST 股票\n", " [20210721] 过滤 178 只 ST 股票\n", " [20210722] 过滤 180 只 ST 股票\n", " [20210723] 过滤 181 只 ST 股票\n", " [20210726] 过滤 182 只 ST 股票\n", " [20210727] 过滤 181 只 ST 股票\n", " [20210728] 过滤 181 只 ST 股票\n", " [20210729] 过滤 180 只 ST 股票\n", " [20210730] 过滤 180 只 ST 股票\n", " [20210802] 过滤 180 只 ST 股票\n", " [20210803] 过滤 180 只 ST 股票\n", " [20210804] 过滤 180 只 ST 股票\n", " [20210805] 过滤 181 只 ST 股票\n", " [20210806] 过滤 181 只 ST 股票\n", " [20210809] 过滤 179 只 ST 股票\n", " [20210810] 过滤 179 只 ST 股票\n", " [20210811] 过滤 179 只 ST 股票\n", " [20210812] 过滤 179 只 ST 股票\n", " [20210813] 过滤 179 只 ST 股票\n", " [20210816] 过滤 179 只 ST 股票\n", " [20210817] 过滤 180 只 ST 股票\n", " [20210818] 过滤 180 只 ST 股票\n", " [20210819] 过滤 180 只 ST 股票\n", " [20210820] 过滤 180 只 ST 股票\n", " [20210823] 过滤 179 只 ST 股票\n", " [20210824] 过滤 181 只 ST 股票\n", " [20210825] 过滤 181 只 ST 股票\n", " [20210826] 过滤 180 只 ST 股票\n", " [20210827] 过滤 181 只 ST 股票\n", " [20210830] 过滤 180 只 ST 股票\n", " [20210831] 过滤 180 只 ST 股票\n", " [20210901] 过滤 180 只 ST 股票\n", " [20210902] 过滤 180 只 ST 股票\n", " [20210903] 过滤 180 只 ST 股票\n", " [20210906] 过滤 180 只 ST 股票\n", " [20210907] 过滤 181 只 ST 股票\n", " [20210908] 过滤 181 只 ST 股票\n", " [20210909] 过滤 181 只 ST 股票\n", " [20210910] 过滤 181 只 ST 股票\n", " [20210913] 过滤 181 只 ST 股票\n", " [20210914] 过滤 181 只 ST 股票\n", " [20210915] 过滤 182 只 ST 股票\n", " [20210916] 过滤 182 只 ST 股票\n", " [20210917] 过滤 182 只 ST 股票\n", " [20210922] 过滤 180 只 ST 股票\n", " [20210923] 过滤 179 只 ST 股票\n", " [20210924] 过滤 180 只 ST 股票\n", " [20210927] 过滤 178 只 ST 股票\n", " [20210928] 过滤 178 只 ST 股票\n", " [20210929] 过滤 180 只 ST 股票\n", " [20210930] 过滤 180 只 ST 股票\n", " [20211008] 过滤 181 只 ST 股票\n", " [20211011] 过滤 181 只 ST 股票\n", " [20211012] 过滤 182 只 ST 股票\n", " [20211013] 过滤 182 只 ST 股票\n", " [20211014] 过滤 182 只 ST 股票\n", " [20211015] 过滤 182 只 ST 股票\n", " [20211018] 过滤 182 只 ST 股票\n", " [20211019] 过滤 182 只 ST 股票\n", " [20211020] 过滤 182 只 ST 股票\n", " [20211021] 过滤 182 只 ST 股票\n", " [20211022] 过滤 182 只 ST 股票\n", " [20211025] 过滤 182 只 ST 股票\n", " [20211026] 过滤 182 只 ST 股票\n", " [20211027] 过滤 182 只 ST 股票\n", " [20211028] 过滤 182 只 ST 股票\n", " [20211029] 过滤 182 只 ST 股票\n", " [20211101] 过滤 182 只 ST 股票\n", " [20211102] 过滤 182 只 ST 股票\n", " [20211103] 过滤 182 只 ST 股票\n", " [20211104] 过滤 182 只 ST 股票\n", " [20211105] 过滤 182 只 ST 股票\n", " [20211108] 过滤 182 只 ST 股票\n", " [20211109] 过滤 180 只 ST 股票\n", " [20211110] 过滤 181 只 ST 股票\n", " [20211111] 过滤 181 只 ST 股票\n", " [20211112] 过滤 182 只 ST 股票\n", " [20211115] 过滤 182 只 ST 股票\n", " [20211116] 过滤 182 只 ST 股票\n", " [20211117] 过滤 180 只 ST 股票\n", " [20211118] 过滤 182 只 ST 股票\n", " [20211119] 过滤 182 只 ST 股票\n", " [20211122] 过滤 182 只 ST 股票\n", " [20211123] 过滤 182 只 ST 股票\n", " [20211124] 过滤 182 只 ST 股票\n", " [20211125] 过滤 182 只 ST 股票\n", " [20211126] 过滤 182 只 ST 股票\n", " [20211129] 过滤 182 只 ST 股票\n", " [20211130] 过滤 182 只 ST 股票\n", " [20211201] 过滤 181 只 ST 股票\n", " [20211202] 过滤 180 只 ST 股票\n", " [20211203] 过滤 179 只 ST 股票\n", " [20211206] 过滤 180 只 ST 股票\n", " [20211207] 过滤 180 只 ST 股票\n", " [20211208] 过滤 180 只 ST 股票\n", " [20211209] 过滤 181 只 ST 股票\n", " [20211210] 过滤 181 只 ST 股票\n", " [20211213] 过滤 181 只 ST 股票\n", " [20211214] 过滤 180 只 ST 股票\n", " [20211215] 过滤 181 只 ST 股票\n", " [20211216] 过滤 180 只 ST 股票\n", " [20211217] 过滤 178 只 ST 股票\n", " [20211220] 过滤 178 只 ST 股票\n", " [20211221] 过滤 177 只 ST 股票\n", " [20211222] 过滤 178 只 ST 股票\n", " [20211223] 过滤 178 只 ST 股票\n", " [20211224] 过滤 177 只 ST 股票\n", " [20211227] 过滤 177 只 ST 股票\n", " [20211228] 过滤 177 只 ST 股票\n", " [20211229] 过滤 177 只 ST 股票\n", " [20211230] 过滤 175 只 ST 股票\n", " [20211231] 过滤 174 只 ST 股票\n", " [20220104] 过滤 177 只 ST 股票\n", " [20220105] 过滤 177 只 ST 股票\n", " [20220106] 过滤 178 只 ST 股票\n", " [20220107] 过滤 178 只 ST 股票\n", " [20220110] 过滤 178 只 ST 股票\n", " [20220111] 过滤 178 只 ST 股票\n", " [20220112] 过滤 178 只 ST 股票\n", " [20220113] 过滤 177 只 ST 股票\n", " [20220114] 过滤 178 只 ST 股票\n", " [20220117] 过滤 179 只 ST 股票\n", " [20220118] 过滤 179 只 ST 股票\n", " [20220119] 过滤 179 只 ST 股票\n", " [20220120] 过滤 179 只 ST 股票\n", " [20220121] 过滤 179 只 ST 股票\n", " [20220124] 过滤 179 只 ST 股票\n", " [20220125] 过滤 179 只 ST 股票\n", " [20220126] 过滤 179 只 ST 股票\n", " [20220127] 过滤 179 只 ST 股票\n", " [20220128] 过滤 179 只 ST 股票\n", " [20220207] 过滤 178 只 ST 股票\n", " [20220208] 过滤 178 只 ST 股票\n", " [20220209] 过滤 179 只 ST 股票\n", " [20220210] 过滤 179 只 ST 股票\n", " [20220211] 过滤 179 只 ST 股票\n", " [20220214] 过滤 178 只 ST 股票\n", " [20220215] 过滤 179 只 ST 股票\n", " [20220216] 过滤 179 只 ST 股票\n", " [20220217] 过滤 179 只 ST 股票\n", " [20220218] 过滤 179 只 ST 股票\n", " [20220221] 过滤 179 只 ST 股票\n", " [20220222] 过滤 179 只 ST 股票\n", " [20220223] 过滤 179 只 ST 股票\n", " [20220224] 过滤 179 只 ST 股票\n", " [20220225] 过滤 179 只 ST 股票\n", " [20220228] 过滤 179 只 ST 股票\n", " [20220301] 过滤 179 只 ST 股票\n", " [20220302] 过滤 179 只 ST 股票\n", " [20220303] 过滤 178 只 ST 股票\n", " [20220304] 过滤 179 只 ST 股票\n", " [20220307] 过滤 178 只 ST 股票\n", " [20220308] 过滤 177 只 ST 股票\n", " [20220309] 过滤 177 只 ST 股票\n", " [20220310] 过滤 178 只 ST 股票\n", " [20220311] 过滤 178 只 ST 股票\n", " [20220314] 过滤 178 只 ST 股票\n", " [20220315] 过滤 179 只 ST 股票\n", " [20220316] 过滤 179 只 ST 股票\n", " [20220317] 过滤 179 只 ST 股票\n", " [20220318] 过滤 178 只 ST 股票\n", " [20220321] 过滤 178 只 ST 股票\n", " [20220322] 过滤 178 只 ST 股票\n", " [20220323] 过滤 178 只 ST 股票\n", " [20220324] 过滤 177 只 ST 股票\n", " [20220325] 过滤 176 只 ST 股票\n", " [20220328] 过滤 176 只 ST 股票\n", " [20220329] 过滤 176 只 ST 股票\n", " [20220330] 过滤 176 只 ST 股票\n", " [20220331] 过滤 173 只 ST 股票\n", " [20220401] 过滤 171 只 ST 股票\n", " [20220406] 过滤 171 只 ST 股票\n", " [20220407] 过滤 170 只 ST 股票\n", " [20220408] 过滤 170 只 ST 股票\n", " [20220411] 过滤 168 只 ST 股票\n", " [20220412] 过滤 167 只 ST 股票\n", " [20220413] 过滤 167 只 ST 股票\n", " [20220414] 过滤 167 只 ST 股票\n", " [20220415] 过滤 165 只 ST 股票\n", " [20220418] 过滤 163 只 ST 股票\n", " [20220419] 过滤 165 只 ST 股票\n", " [20220420] 过滤 165 只 ST 股票\n", " [20220421] 过滤 167 只 ST 股票\n", " [20220422] 过滤 165 只 ST 股票\n", " [20220425] 过滤 167 只 ST 股票\n", " [20220426] 过滤 166 只 ST 股票\n", " [20220427] 过滤 164 只 ST 股票\n", " [20220428] 过滤 162 只 ST 股票\n", " [20220429] 过滤 162 只 ST 股票\n", " [20220505] 过滤 135 只 ST 股票\n", " [20220506] 过滤 168 只 ST 股票\n", " [20220509] 过滤 166 只 ST 股票\n", " [20220510] 过滤 164 只 ST 股票\n", " [20220511] 过滤 163 只 ST 股票\n", " [20220512] 过滤 161 只 ST 股票\n", " [20220513] 过滤 162 只 ST 股票\n", " [20220516] 过滤 162 只 ST 股票\n", " [20220517] 过滤 161 只 ST 股票\n", " [20220518] 过滤 159 只 ST 股票\n", " [20220519] 过滤 155 只 ST 股票\n", " [20220520] 过滤 155 只 ST 股票\n", " [20220523] 过滤 155 只 ST 股票\n", " [20220524] 过滤 154 只 ST 股票\n", " [20220525] 过滤 151 只 ST 股票\n", " [20220526] 过滤 149 只 ST 股票\n", " [20220527] 过滤 149 只 ST 股票\n", " [20220530] 过滤 148 只 ST 股票\n", " [20220531] 过滤 149 只 ST 股票\n", " [20220601] 过滤 149 只 ST 股票\n", " [20220602] 过滤 148 只 ST 股票\n", " [20220606] 过滤 149 只 ST 股票\n", " [20220607] 过滤 149 只 ST 股票\n", " [20220608] 过滤 149 只 ST 股票\n", " [20220609] 过滤 148 只 ST 股票\n", " [20220610] 过滤 147 只 ST 股票\n", " [20220613] 过滤 148 只 ST 股票\n", " [20220614] 过滤 146 只 ST 股票\n", " [20220615] 过滤 147 只 ST 股票\n", " [20220616] 过滤 147 只 ST 股票\n", " [20220617] 过滤 147 只 ST 股票\n", " [20220620] 过滤 147 只 ST 股票\n", " [20220621] 过滤 147 只 ST 股票\n", " [20220622] 过滤 144 只 ST 股票\n", " [20220623] 过滤 145 只 ST 股票\n", " [20220624] 过滤 143 只 ST 股票\n", " [20220627] 过滤 144 只 ST 股票\n", " [20220628] 过滤 144 只 ST 股票\n", " [20220629] 过滤 144 只 ST 股票\n", " [20220630] 过滤 142 只 ST 股票\n", " [20220701] 过滤 144 只 ST 股票\n", " [20220704] 过滤 144 只 ST 股票\n", " [20220705] 过滤 144 只 ST 股票\n", " [20220706] 过滤 144 只 ST 股票\n", " [20220707] 过滤 144 只 ST 股票\n", " [20220708] 过滤 144 只 ST 股票\n", " [20220711] 过滤 143 只 ST 股票\n", " [20220712] 过滤 143 只 ST 股票\n", " [20220713] 过滤 144 只 ST 股票\n", " [20220714] 过滤 145 只 ST 股票\n", " [20220715] 过滤 145 只 ST 股票\n", " [20220718] 过滤 145 只 ST 股票\n", " [20220719] 过滤 145 只 ST 股票\n", " [20220720] 过滤 145 只 ST 股票\n", " [20220721] 过滤 145 只 ST 股票\n", " [20220722] 过滤 145 只 ST 股票\n", " [20220725] 过滤 143 只 ST 股票\n", " [20220726] 过滤 144 只 ST 股票\n", " [20220727] 过滤 144 只 ST 股票\n", " [20220728] 过滤 144 只 ST 股票\n", " [20220729] 过滤 144 只 ST 股票\n", " [20220801] 过滤 145 只 ST 股票\n", " [20220802] 过滤 145 只 ST 股票\n", " [20220803] 过滤 145 只 ST 股票\n", " [20220804] 过滤 145 只 ST 股票\n", " [20220805] 过滤 145 只 ST 股票\n", " [20220808] 过滤 146 只 ST 股票\n", " [20220809] 过滤 146 只 ST 股票\n", " [20220810] 过滤 145 只 ST 股票\n", " [20220811] 过滤 144 只 ST 股票\n", " [20220812] 过滤 144 只 ST 股票\n", " [20220815] 过滤 141 只 ST 股票\n", " [20220816] 过滤 143 只 ST 股票\n", " [20220817] 过滤 142 只 ST 股票\n", " [20220818] 过滤 142 只 ST 股票\n", " [20220819] 过滤 142 只 ST 股票\n", " [20220822] 过滤 142 只 ST 股票\n", " [20220823] 过滤 142 只 ST 股票\n", " [20220824] 过滤 142 只 ST 股票\n", " [20220825] 过滤 142 只 ST 股票\n", " [20220826] 过滤 142 只 ST 股票\n", " [20220829] 过滤 142 只 ST 股票\n", " [20220830] 过滤 141 只 ST 股票\n", " [20220831] 过滤 142 只 ST 股票\n", " [20220901] 过滤 141 只 ST 股票\n", " [20220902] 过滤 141 只 ST 股票\n", " [20220905] 过滤 141 只 ST 股票\n", " [20220906] 过滤 141 只 ST 股票\n", " [20220907] 过滤 141 只 ST 股票\n", " [20220908] 过滤 141 只 ST 股票\n", " [20220909] 过滤 141 只 ST 股票\n", " [20220913] 过滤 140 只 ST 股票\n", " [20220914] 过滤 140 只 ST 股票\n", " [20220915] 过滤 139 只 ST 股票\n", " [20220916] 过滤 139 只 ST 股票\n", " [20220919] 过滤 139 只 ST 股票\n", " [20220920] 过滤 139 只 ST 股票\n", " [20220921] 过滤 140 只 ST 股票\n", " [20220922] 过滤 138 只 ST 股票\n", " [20220923] 过滤 138 只 ST 股票\n", " [20220926] 过滤 138 只 ST 股票\n", " [20220927] 过滤 139 只 ST 股票\n", " [20220928] 过滤 140 只 ST 股票\n", " [20220929] 过滤 138 只 ST 股票\n", " [20220930] 过滤 137 只 ST 股票\n", " [20221010] 过滤 137 只 ST 股票\n", " [20221011] 过滤 137 只 ST 股票\n", " [20221012] 过滤 137 只 ST 股票\n", " [20221013] 过滤 137 只 ST 股票\n", " [20221014] 过滤 137 只 ST 股票\n", " [20221017] 过滤 137 只 ST 股票\n", " [20221018] 过滤 137 只 ST 股票\n", " [20221019] 过滤 137 只 ST 股票\n", " [20221020] 过滤 137 只 ST 股票\n", " [20221021] 过滤 137 只 ST 股票\n", " [20221024] 过滤 137 只 ST 股票\n", " [20221025] 过滤 137 只 ST 股票\n", " [20221026] 过滤 137 只 ST 股票\n", " [20221027] 过滤 137 只 ST 股票\n", " [20221028] 过滤 137 只 ST 股票\n", " [20221031] 过滤 137 只 ST 股票\n", " [20221101] 过滤 136 只 ST 股票\n", " [20221102] 过滤 137 只 ST 股票\n", " [20221103] 过滤 137 只 ST 股票\n", " [20221104] 过滤 137 只 ST 股票\n", " [20221107] 过滤 137 只 ST 股票\n", " [20221108] 过滤 136 只 ST 股票\n", " [20221109] 过滤 136 只 ST 股票\n", " [20221110] 过滤 136 只 ST 股票\n", " [20221111] 过滤 136 只 ST 股票\n", " [20221114] 过滤 136 只 ST 股票\n", " [20221115] 过滤 136 只 ST 股票\n", " [20221116] 过滤 135 只 ST 股票\n", " [20221117] 过滤 134 只 ST 股票\n", " [20221118] 过滤 133 只 ST 股票\n", " [20221121] 过滤 133 只 ST 股票\n", " [20221122] 过滤 135 只 ST 股票\n", " [20221123] 过滤 135 只 ST 股票\n", " [20221124] 过滤 135 只 ST 股票\n", " [20221125] 过滤 135 只 ST 股票\n", " [20221128] 过滤 134 只 ST 股票\n", " [20221129] 过滤 135 只 ST 股票\n", " [20221130] 过滤 135 只 ST 股票\n", " [20221201] 过滤 134 只 ST 股票\n", " [20221202] 过滤 134 只 ST 股票\n", " [20221205] 过滤 134 只 ST 股票\n", " [20221206] 过滤 134 只 ST 股票\n", " [20221207] 过滤 134 只 ST 股票\n", " [20221208] 过滤 135 只 ST 股票\n", " [20221209] 过滤 133 只 ST 股票\n", " [20221212] 过滤 134 只 ST 股票\n", " [20221213] 过滤 134 只 ST 股票\n", " [20221214] 过滤 134 只 ST 股票\n", " [20221215] 过滤 134 只 ST 股票\n", " [20221216] 过滤 134 只 ST 股票\n", " [20221219] 过滤 133 只 ST 股票\n", " [20221220] 过滤 133 只 ST 股票\n", " [20221221] 过滤 132 只 ST 股票\n", " [20221222] 过滤 132 只 ST 股票\n", " [20221223] 过滤 134 只 ST 股票\n", " [20221226] 过滤 134 只 ST 股票\n", " [20221227] 过滤 134 只 ST 股票\n", " [20221228] 过滤 134 只 ST 股票\n", " [20221229] 过滤 134 只 ST 股票\n", " [20221230] 过滤 133 只 ST 股票\n", " [20230103] 过滤 133 只 ST 股票\n", " [20230104] 过滤 133 只 ST 股票\n", " [20230105] 过滤 133 只 ST 股票\n", " [20230106] 过滤 133 只 ST 股票\n", " [20230109] 过滤 132 只 ST 股票\n", " [20230110] 过滤 133 只 ST 股票\n", " [20230111] 过滤 133 只 ST 股票\n", " [20230112] 过滤 133 只 ST 股票\n", " [20230113] 过滤 133 只 ST 股票\n", " [20230116] 过滤 133 只 ST 股票\n", " [20230117] 过滤 132 只 ST 股票\n", " [20230118] 过滤 133 只 ST 股票\n", " [20230119] 过滤 133 只 ST 股票\n", " [20230120] 过滤 133 只 ST 股票\n", " [20230130] 过滤 133 只 ST 股票\n", " [20230131] 过滤 133 只 ST 股票\n", " [20230201] 过滤 134 只 ST 股票\n", " [20230202] 过滤 134 只 ST 股票\n", " [20230203] 过滤 131 只 ST 股票\n", " [20230206] 过滤 131 只 ST 股票\n", " [20230207] 过滤 131 只 ST 股票\n", " [20230208] 过滤 131 只 ST 股票\n", " [20230209] 过滤 131 只 ST 股票\n", " [20230210] 过滤 131 只 ST 股票\n", " [20230213] 过滤 131 只 ST 股票\n", " [20230214] 过滤 131 只 ST 股票\n", " [20230215] 过滤 131 只 ST 股票\n", " [20230216] 过滤 131 只 ST 股票\n", " [20230217] 过滤 130 只 ST 股票\n", " [20230220] 过滤 131 只 ST 股票\n", " [20230221] 过滤 131 只 ST 股票\n", " [20230222] 过滤 131 只 ST 股票\n", " [20230223] 过滤 131 只 ST 股票\n", " [20230224] 过滤 131 只 ST 股票\n", " [20230227] 过滤 130 只 ST 股票\n", " [20230228] 过滤 129 只 ST 股票\n", " [20230301] 过滤 129 只 ST 股票\n", " [20230302] 过滤 129 只 ST 股票\n", " [20230303] 过滤 128 只 ST 股票\n", " [20230306] 过滤 128 只 ST 股票\n", " [20230307] 过滤 128 只 ST 股票\n", " [20230308] 过滤 127 只 ST 股票\n", " [20230309] 过滤 126 只 ST 股票\n", " [20230310] 过滤 126 只 ST 股票\n", " [20230313] 过滤 127 只 ST 股票\n", " [20230314] 过滤 128 只 ST 股票\n", " [20230315] 过滤 128 只 ST 股票\n", " [20230316] 过滤 128 只 ST 股票\n", " [20230317] 过滤 128 只 ST 股票\n", " [20230320] 过滤 127 只 ST 股票\n", " [20230321] 过滤 127 只 ST 股票\n", " [20230322] 过滤 127 只 ST 股票\n", " [20230323] 过滤 128 只 ST 股票\n", " [20230324] 过滤 128 只 ST 股票\n", " [20230327] 过滤 128 只 ST 股票\n", " [20230328] 过滤 128 只 ST 股票\n", " [20230329] 过滤 127 只 ST 股票\n", " [20230330] 过滤 126 只 ST 股票\n", " [20230331] 过滤 125 只 ST 股票\n", " [20230403] 过滤 124 只 ST 股票\n", " [20230404] 过滤 124 只 ST 股票\n", " [20230406] 过滤 124 只 ST 股票\n", " [20230407] 过滤 124 只 ST 股票\n", " [20230410] 过滤 125 只 ST 股票\n", " [20230411] 过滤 125 只 ST 股票\n", " [20230412] 过滤 124 只 ST 股票\n", " [20230413] 过滤 124 只 ST 股票\n", " [20230414] 过滤 122 只 ST 股票\n", " [20230417] 过滤 122 只 ST 股票\n", " [20230418] 过滤 122 只 ST 股票\n", " [20230419] 过滤 120 只 ST 股票\n", " [20230420] 过滤 121 只 ST 股票\n", " [20230421] 过滤 121 只 ST 股票\n", " [20230424] 过滤 120 只 ST 股票\n", " [20230425] 过滤 120 只 ST 股票\n", " [20230426] 过滤 118 只 ST 股票\n", " [20230427] 过滤 122 只 ST 股票\n", " [20230428] 过滤 121 只 ST 股票\n", " [20230504] 过滤 116 只 ST 股票\n", " [20230505] 过滤 153 只 ST 股票\n", " [20230508] 过滤 153 只 ST 股票\n", " [20230509] 过滤 150 只 ST 股票\n", " [20230510] 过滤 148 只 ST 股票\n", " [20230511] 过滤 148 只 ST 股票\n", " [20230512] 过滤 148 只 ST 股票\n", " [20230515] 过滤 148 只 ST 股票\n", " [20230516] 过滤 148 只 ST 股票\n", " [20230517] 过滤 148 只 ST 股票\n", " [20230518] 过滤 147 只 ST 股票\n", " [20230519] 过滤 146 只 ST 股票\n", " [20230522] 过滤 145 只 ST 股票\n", " [20230523] 过滤 144 只 ST 股票\n", " [20230524] 过滤 144 只 ST 股票\n", " [20230525] 过滤 143 只 ST 股票\n", " [20230526] 过滤 142 只 ST 股票\n", " [20230529] 过滤 140 只 ST 股票\n", " [20230530] 过滤 139 只 ST 股票\n", " [20230531] 过滤 138 只 ST 股票\n", " [20230601] 过滤 140 只 ST 股票\n", " [20230602] 过滤 135 只 ST 股票\n", " [20230605] 过滤 134 只 ST 股票\n", " [20230606] 过滤 133 只 ST 股票\n", " [20230607] 过滤 133 只 ST 股票\n", " [20230608] 过滤 132 只 ST 股票\n", " [20230609] 过滤 132 只 ST 股票\n", " [20230612] 过滤 130 只 ST 股票\n", " [20230613] 过滤 127 只 ST 股票\n", " [20230614] 过滤 123 只 ST 股票\n", " [20230615] 过滤 124 只 ST 股票\n", " [20230616] 过滤 122 只 ST 股票\n", " [20230619] 过滤 122 只 ST 股票\n", " [20230620] 过滤 121 只 ST 股票\n", " [20230621] 过滤 121 只 ST 股票\n", " [20230626] 过滤 121 只 ST 股票\n", " [20230627] 过滤 119 只 ST 股票\n", " [20230628] 过滤 119 只 ST 股票\n", " [20230629] 过滤 119 只 ST 股票\n", " [20230630] 过滤 121 只 ST 股票\n", " [20230703] 过滤 122 只 ST 股票\n", " [20230704] 过滤 122 只 ST 股票\n", " [20230705] 过滤 123 只 ST 股票\n", " [20230706] 过滤 123 只 ST 股票\n", " [20230707] 过滤 123 只 ST 股票\n", " [20230710] 过滤 123 只 ST 股票\n", " [20230711] 过滤 123 只 ST 股票\n", " [20230712] 过滤 123 只 ST 股票\n", " [20230713] 过滤 123 只 ST 股票\n", " [20230714] 过滤 122 只 ST 股票\n", " [20230717] 过滤 122 只 ST 股票\n", " [20230718] 过滤 122 只 ST 股票\n", " [20230719] 过滤 123 只 ST 股票\n", " [20230720] 过滤 123 只 ST 股票\n", " [20230721] 过滤 122 只 ST 股票\n", " [20230724] 过滤 122 只 ST 股票\n", " [20230725] 过滤 122 只 ST 股票\n", " [20230726] 过滤 122 只 ST 股票\n", " [20230727] 过滤 121 只 ST 股票\n", " [20230728] 过滤 121 只 ST 股票\n", " [20230731] 过滤 121 只 ST 股票\n", " [20230801] 过滤 121 只 ST 股票\n", " [20230802] 过滤 121 只 ST 股票\n", " [20230803] 过滤 121 只 ST 股票\n", " [20230804] 过滤 121 只 ST 股票\n", " [20230807] 过滤 121 只 ST 股票\n", " [20230808] 过滤 121 只 ST 股票\n", " [20230809] 过滤 121 只 ST 股票\n", " [20230810] 过滤 121 只 ST 股票\n", " [20230811] 过滤 121 只 ST 股票\n", " [20230814] 过滤 121 只 ST 股票\n", " [20230815] 过滤 121 只 ST 股票\n", " [20230816] 过滤 121 只 ST 股票\n", " [20230817] 过滤 120 只 ST 股票\n", " [20230818] 过滤 120 只 ST 股票\n", " [20230821] 过滤 120 只 ST 股票\n", " [20230822] 过滤 120 只 ST 股票\n", " [20230823] 过滤 120 只 ST 股票\n", " [20230824] 过滤 120 只 ST 股票\n", " [20230825] 过滤 120 只 ST 股票\n", " [20230828] 过滤 120 只 ST 股票\n", " [20230829] 过滤 120 只 ST 股票\n", " [20230830] 过滤 120 只 ST 股票\n", " [20230831] 过滤 120 只 ST 股票\n", " [20230901] 过滤 120 只 ST 股票\n", " [20230904] 过滤 118 只 ST 股票\n", " [20230905] 过滤 118 只 ST 股票\n", " [20230906] 过滤 118 只 ST 股票\n", " [20230907] 过滤 118 只 ST 股票\n", " [20230908] 过滤 118 只 ST 股票\n", " [20230911] 过滤 118 只 ST 股票\n", " [20230912] 过滤 118 只 ST 股票\n", " [20230913] 过滤 118 只 ST 股票\n", " [20230914] 过滤 118 只 ST 股票\n", " [20230915] 过滤 118 只 ST 股票\n", " [20230918] 过滤 118 只 ST 股票\n", " [20230919] 过滤 118 只 ST 股票\n", " [20230920] 过滤 118 只 ST 股票\n", " [20230921] 过滤 117 只 ST 股票\n", " [20230922] 过滤 118 只 ST 股票\n", " [20230925] 过滤 117 只 ST 股票\n", " [20230926] 过滤 117 只 ST 股票\n", " [20230927] 过滤 118 只 ST 股票\n", " [20230928] 过滤 116 只 ST 股票\n", " [20231009] 过滤 117 只 ST 股票\n", " [20231010] 过滤 118 只 ST 股票\n", " [20231011] 过滤 118 只 ST 股票\n", " [20231012] 过滤 119 只 ST 股票\n", " [20231013] 过滤 119 只 ST 股票\n", " [20231016] 过滤 119 只 ST 股票\n", " [20231017] 过滤 119 只 ST 股票\n", " [20231018] 过滤 118 只 ST 股票\n", " [20231019] 过滤 118 只 ST 股票\n", " [20231020] 过滤 118 只 ST 股票\n", " [20231023] 过滤 118 只 ST 股票\n", " [20231024] 过滤 117 只 ST 股票\n", " [20231025] 过滤 118 只 ST 股票\n", " [20231026] 过滤 118 只 ST 股票\n", " [20231027] 过滤 118 只 ST 股票\n", " [20231030] 过滤 118 只 ST 股票\n", " [20231031] 过滤 119 只 ST 股票\n", " [20231101] 过滤 119 只 ST 股票\n", " [20231102] 过滤 118 只 ST 股票\n", " [20231103] 过滤 118 只 ST 股票\n", " [20231106] 过滤 116 只 ST 股票\n", " [20231107] 过滤 116 只 ST 股票\n", " [20231108] 过滤 116 只 ST 股票\n", " [20231109] 过滤 116 只 ST 股票\n", " [20231110] 过滤 116 只 ST 股票\n", " [20231113] 过滤 116 只 ST 股票\n", " [20231114] 过滤 116 只 ST 股票\n", " [20231115] 过滤 116 只 ST 股票\n", " [20231116] 过滤 115 只 ST 股票\n", " [20231117] 过滤 115 只 ST 股票\n", " [20231120] 过滤 115 只 ST 股票\n", " [20231121] 过滤 116 只 ST 股票\n", " [20231122] 过滤 115 只 ST 股票\n", " [20231123] 过滤 115 只 ST 股票\n", " [20231124] 过滤 114 只 ST 股票\n", " [20231127] 过滤 116 只 ST 股票\n", " [20231128] 过滤 116 只 ST 股票\n", " [20231129] 过滤 116 只 ST 股票\n", " [20231130] 过滤 116 只 ST 股票\n", " [20231201] 过滤 116 只 ST 股票\n", " [20231204] 过滤 116 只 ST 股票\n", " [20231205] 过滤 116 只 ST 股票\n", " [20231206] 过滤 116 只 ST 股票\n", " [20231207] 过滤 114 只 ST 股票\n", " [20231208] 过滤 115 只 ST 股票\n", " [20231211] 过滤 115 只 ST 股票\n", " [20231212] 过滤 115 只 ST 股票\n", " [20231213] 过滤 115 只 ST 股票\n", " [20231214] 过滤 116 只 ST 股票\n", " [20231215] 过滤 115 只 ST 股票\n", " [20231218] 过滤 116 只 ST 股票\n", " [20231219] 过滤 114 只 ST 股票\n", " [20231220] 过滤 116 只 ST 股票\n", " [20231221] 过滤 116 只 ST 股票\n", " [20231222] 过滤 115 只 ST 股票\n", " [20231225] 过滤 113 只 ST 股票\n", " [20231226] 过滤 114 只 ST 股票\n", " [20231227] 过滤 114 只 ST 股票\n", " [20231228] 过滤 110 只 ST 股票\n", " [20231229] 过滤 113 只 ST 股票\n", " [20240102] 过滤 114 只 ST 股票\n", " [20240103] 过滤 114 只 ST 股票\n", " [20240104] 过滤 114 只 ST 股票\n", " [20240105] 过滤 114 只 ST 股票\n", " [20240108] 过滤 114 只 ST 股票\n", " [20240109] 过滤 113 只 ST 股票\n", " [20240110] 过滤 113 只 ST 股票\n", " [20240111] 过滤 113 只 ST 股票\n", " [20240112] 过滤 111 只 ST 股票\n", " [20240115] 过滤 112 只 ST 股票\n", " [20240116] 过滤 112 只 ST 股票\n", " [20240117] 过滤 112 只 ST 股票\n", " [20240118] 过滤 112 只 ST 股票\n", " [20240119] 过滤 111 只 ST 股票\n", " [20240122] 过滤 111 只 ST 股票\n", " [20240123] 过滤 111 只 ST 股票\n", " [20240124] 过滤 110 只 ST 股票\n", " [20240125] 过滤 110 只 ST 股票\n", " [20240126] 过滤 111 只 ST 股票\n", " [20240129] 过滤 112 只 ST 股票\n", " [20240130] 过滤 112 只 ST 股票\n", " [20240131] 过滤 113 只 ST 股票\n", " [20240201] 过滤 113 只 ST 股票\n", " [20240202] 过滤 113 只 ST 股票\n", " [20240205] 过滤 112 只 ST 股票\n", " [20240206] 过滤 111 只 ST 股票\n", " [20240207] 过滤 111 只 ST 股票\n", " [20240208] 过滤 111 只 ST 股票\n", " [20240219] 过滤 111 只 ST 股票\n", " [20240220] 过滤 111 只 ST 股票\n", " [20240221] 过滤 111 只 ST 股票\n", " [20240222] 过滤 111 只 ST 股票\n", " [20240223] 过滤 111 只 ST 股票\n", " [20240226] 过滤 111 只 ST 股票\n", " [20240227] 过滤 112 只 ST 股票\n", " [20240228] 过滤 112 只 ST 股票\n", " [20240229] 过滤 112 只 ST 股票\n", " [20240301] 过滤 112 只 ST 股票\n", " [20240304] 过滤 112 只 ST 股票\n", " [20240305] 过滤 112 只 ST 股票\n", " [20240306] 过滤 111 只 ST 股票\n", " [20240307] 过滤 111 只 ST 股票\n", " [20240308] 过滤 110 只 ST 股票\n", " [20240311] 过滤 110 只 ST 股票\n", " [20240312] 过滤 110 只 ST 股票\n", " [20240313] 过滤 110 只 ST 股票\n", " [20240314] 过滤 110 只 ST 股票\n", " [20240315] 过滤 110 只 ST 股票\n", " [20240318] 过滤 110 只 ST 股票\n", " [20240319] 过滤 110 只 ST 股票\n", " [20240320] 过滤 110 只 ST 股票\n", " [20240321] 过滤 110 只 ST 股票\n", " [20240322] 过滤 110 只 ST 股票\n", " [20240325] 过滤 110 只 ST 股票\n", " [20240326] 过滤 110 只 ST 股票\n", " [20240327] 过滤 110 只 ST 股票\n", " [20240328] 过滤 109 只 ST 股票\n", " [20240329] 过滤 110 只 ST 股票\n", " [20240401] 过滤 112 只 ST 股票\n", " [20240402] 过滤 112 只 ST 股票\n", " [20240403] 过滤 112 只 ST 股票\n", " [20240408] 过滤 113 只 ST 股票\n", " [20240409] 过滤 113 只 ST 股票\n", " [20240410] 过滤 113 只 ST 股票\n", " [20240411] 过滤 113 只 ST 股票\n", " [20240412] 过滤 113 只 ST 股票\n", " [20240415] 过滤 113 只 ST 股票\n", " [20240416] 过滤 113 只 ST 股票\n", " [20240417] 过滤 113 只 ST 股票\n", " [20240418] 过滤 113 只 ST 股票\n", " [20240419] 过滤 113 只 ST 股票\n", " [20240422] 过滤 112 只 ST 股票\n", " [20240423] 过滤 114 只 ST 股票\n", " [20240424] 过滤 115 只 ST 股票\n", " [20240425] 过滤 114 只 ST 股票\n", " [20240426] 过滤 115 只 ST 股票\n", " [20240429] 过滤 117 只 ST 股票\n", " [20240430] 过滤 118 只 ST 股票\n", " [20240506] 过滤 163 只 ST 股票\n", " [20240507] 过滤 163 只 ST 股票\n", " [20240508] 过滤 161 只 ST 股票\n", " [20240509] 过滤 161 只 ST 股票\n", " [20240510] 过滤 161 只 ST 股票\n", " [20240513] 过滤 161 只 ST 股票\n", " [20240514] 过滤 163 只 ST 股票\n", " [20240515] 过滤 163 只 ST 股票\n", " [20240516] 过滤 162 只 ST 股票\n", " [20240517] 过滤 162 只 ST 股票\n", " [20240520] 过滤 161 只 ST 股票\n", " [20240521] 过滤 163 只 ST 股票\n", " [20240522] 过滤 163 只 ST 股票\n", " [20240523] 过滤 163 只 ST 股票\n", " [20240524] 过滤 163 只 ST 股票\n", " [20240527] 过滤 162 只 ST 股票\n", " [20240528] 过滤 162 只 ST 股票\n", " [20240529] 过滤 161 只 ST 股票\n", " [20240530] 过滤 160 只 ST 股票\n", " [20240531] 过滤 159 只 ST 股票\n", " [20240603] 过滤 159 只 ST 股票\n", " [20240604] 过滤 158 只 ST 股票\n", " [20240605] 过滤 157 只 ST 股票\n", " [20240606] 过滤 157 只 ST 股票\n", " [20240607] 过滤 153 只 ST 股票\n", " [20240611] 过滤 148 只 ST 股票\n", " [20240612] 过滤 147 只 ST 股票\n", " [20240613] 过滤 145 只 ST 股票\n", " [20240614] 过滤 144 只 ST 股票\n", " [20240617] 过滤 143 只 ST 股票\n", " [20240618] 过滤 140 只 ST 股票\n", " [20240619] 过滤 139 只 ST 股票\n", " [20240620] 过滤 138 只 ST 股票\n", " [20240621] 过滤 137 只 ST 股票\n", " [20240624] 过滤 135 只 ST 股票\n", " [20240625] 过滤 130 只 ST 股票\n", " [20240626] 过滤 131 只 ST 股票\n", " [20240627] 过滤 128 只 ST 股票\n", " [20240628] 过滤 128 只 ST 股票\n", " [20240701] 过滤 126 只 ST 股票\n", " [20240702] 过滤 125 只 ST 股票\n", " [20240703] 过滤 123 只 ST 股票\n", " [20240704] 过滤 123 只 ST 股票\n", " [20240705] 过滤 122 只 ST 股票\n", " [20240708] 过滤 122 只 ST 股票\n", " [20240709] 过滤 128 只 ST 股票\n", " [20240710] 过滤 128 只 ST 股票\n", " [20240711] 过滤 128 只 ST 股票\n", " [20240712] 过滤 128 只 ST 股票\n", " [20240715] 过滤 128 只 ST 股票\n", " [20240716] 过滤 128 只 ST 股票\n", " [20240717] 过滤 126 只 ST 股票\n", " [20240718] 过滤 125 只 ST 股票\n", " [20240719] 过滤 126 只 ST 股票\n", " [20240722] 过滤 125 只 ST 股票\n", " [20240723] 过滤 125 只 ST 股票\n", " [20240724] 过滤 125 只 ST 股票\n", " [20240725] 过滤 124 只 ST 股票\n", " [20240726] 过滤 123 只 ST 股票\n", " [20240729] 过滤 122 只 ST 股票\n", " [20240730] 过滤 122 只 ST 股票\n", " [20240731] 过滤 122 只 ST 股票\n", " [20240801] 过滤 122 只 ST 股票\n", " [20240802] 过滤 123 只 ST 股票\n", " [20240805] 过滤 121 只 ST 股票\n", " [20240806] 过滤 122 只 ST 股票\n", " [20240807] 过滤 123 只 ST 股票\n", " [20240808] 过滤 123 只 ST 股票\n", " [20240809] 过滤 123 只 ST 股票\n", " [20240812] 过滤 124 只 ST 股票\n", " [20240813] 过滤 124 只 ST 股票\n", " [20240814] 过滤 124 只 ST 股票\n", " [20240815] 过滤 123 只 ST 股票\n", " [20240816] 过滤 122 只 ST 股票\n", " [20240819] 过滤 121 只 ST 股票\n", " [20240820] 过滤 121 只 ST 股票\n", " [20240821] 过滤 121 只 ST 股票\n", " [20240822] 过滤 121 只 ST 股票\n", " [20240823] 过滤 119 只 ST 股票\n", " [20240826] 过滤 120 只 ST 股票\n", " [20240827] 过滤 120 只 ST 股票\n", " [20240828] 过滤 120 只 ST 股票\n", " [20240829] 过滤 119 只 ST 股票\n", " [20240830] 过滤 119 只 ST 股票\n", " [20240902] 过滤 119 只 ST 股票\n", " [20240903] 过滤 120 只 ST 股票\n", " [20240904] 过滤 119 只 ST 股票\n", " [20240905] 过滤 119 只 ST 股票\n", " [20240906] 过滤 119 只 ST 股票\n", " [20240909] 过滤 119 只 ST 股票\n", " [20240910] 过滤 118 只 ST 股票\n", " [20240911] 过滤 119 只 ST 股票\n", " [20240912] 过滤 119 只 ST 股票\n", " [20240913] 过滤 119 只 ST 股票\n", " [20240918] 过滤 118 只 ST 股票\n", " [20240919] 过滤 121 只 ST 股票\n", " [20240920] 过滤 121 只 ST 股票\n", " [20240923] 过滤 121 只 ST 股票\n", " [20240924] 过滤 121 只 ST 股票\n", " [20240925] 过滤 121 只 ST 股票\n", " [20240926] 过滤 121 只 ST 股票\n", " [20240927] 过滤 121 只 ST 股票\n", " [20240930] 过滤 121 只 ST 股票\n", " [20241008] 过滤 119 只 ST 股票\n", " [20241009] 过滤 119 只 ST 股票\n", " [20241010] 过滤 119 只 ST 股票\n", " [20241011] 过滤 119 只 ST 股票\n", " [20241014] 过滤 119 只 ST 股票\n", " [20241015] 过滤 119 只 ST 股票\n", " [20241016] 过滤 120 只 ST 股票\n", " [20241017] 过滤 120 只 ST 股票\n", " [20241018] 过滤 120 只 ST 股票\n", " [20241021] 过滤 120 只 ST 股票\n", " [20241022] 过滤 120 只 ST 股票\n", " [20241023] 过滤 120 只 ST 股票\n", " [20241024] 过滤 120 只 ST 股票\n", " [20241025] 过滤 120 只 ST 股票\n", " [20241028] 过滤 119 只 ST 股票\n", " [20241029] 过滤 120 只 ST 股票\n", " [20241030] 过滤 120 只 ST 股票\n", " [20241031] 过滤 120 只 ST 股票\n", " [20241101] 过滤 122 只 ST 股票\n", " [20241104] 过滤 123 只 ST 股票\n", " [20241105] 过滤 123 只 ST 股票\n", " [20241106] 过滤 123 只 ST 股票\n", " [20241107] 过滤 123 只 ST 股票\n", " [20241108] 过滤 124 只 ST 股票\n", " [20241111] 过滤 120 只 ST 股票\n", " [20241112] 过滤 121 只 ST 股票\n", " [20241113] 过滤 122 只 ST 股票\n", " [20241114] 过滤 122 只 ST 股票\n", " [20241115] 过滤 121 只 ST 股票\n", " [20241118] 过滤 120 只 ST 股票\n", " [20241119] 过滤 120 只 ST 股票\n", " [20241120] 过滤 121 只 ST 股票\n", " [20241121] 过滤 122 只 ST 股票\n", " [20241122] 过滤 122 只 ST 股票\n", " [20241125] 过滤 122 只 ST 股票\n", " [20241126] 过滤 122 只 ST 股票\n", " [20241127] 过滤 122 只 ST 股票\n", " [20241128] 过滤 122 只 ST 股票\n", " [20241129] 过滤 122 只 ST 股票\n", " [20241202] 过滤 122 只 ST 股票\n", " [20241203] 过滤 122 只 ST 股票\n", " [20241204] 过滤 122 只 ST 股票\n", " [20241205] 过滤 122 只 ST 股票\n", " [20241206] 过滤 122 只 ST 股票\n", " [20241209] 过滤 122 只 ST 股票\n", " [20241210] 过滤 123 只 ST 股票\n", " [20241211] 过滤 123 只 ST 股票\n", " [20241212] 过滤 124 只 ST 股票\n", " [20241213] 过滤 123 只 ST 股票\n", " [20241216] 过滤 124 只 ST 股票\n", " [20241217] 过滤 123 只 ST 股票\n", " [20241218] 过滤 124 只 ST 股票\n", " [20241219] 过滤 123 只 ST 股票\n", " [20241220] 过滤 125 只 ST 股票\n", " [20241223] 过滤 125 只 ST 股票\n", " [20241224] 过滤 125 只 ST 股票\n", " [20241225] 过滤 122 只 ST 股票\n", " [20241226] 过滤 124 只 ST 股票\n", " [20241227] 过滤 123 只 ST 股票\n", " [20241230] 过滤 123 只 ST 股票\n", " [20241231] 过滤 124 只 ST 股票\n", " [20250102] 过滤 124 只 ST 股票\n", " [20250103] 过滤 125 只 ST 股票\n", " [20250106] 过滤 124 只 ST 股票\n", " [20250107] 过滤 125 只 ST 股票\n", " [20250108] 过滤 125 只 ST 股票\n", " [20250109] 过滤 126 只 ST 股票\n", " [20250110] 过滤 126 只 ST 股票\n", " [20250113] 过滤 124 只 ST 股票\n", " [20250114] 过滤 127 只 ST 股票\n", " [20250115] 过滤 127 只 ST 股票\n", " [20250116] 过滤 127 只 ST 股票\n", " [20250117] 过滤 126 只 ST 股票\n", " [20250120] 过滤 126 只 ST 股票\n", " [20250121] 过滤 126 只 ST 股票\n", " [20250122] 过滤 126 只 ST 股票\n", " [20250123] 过滤 126 只 ST 股票\n", " [20250124] 过滤 126 只 ST 股票\n", " [20250127] 过滤 126 只 ST 股票\n", " [20250205] 过滤 126 只 ST 股票\n", " [20250206] 过滤 126 只 ST 股票\n", " [20250207] 过滤 126 只 ST 股票\n", " [20250210] 过滤 125 只 ST 股票\n", " [20250211] 过滤 125 只 ST 股票\n", " [20250212] 过滤 125 只 ST 股票\n", " [20250213] 过滤 125 只 ST 股票\n", " [20250214] 过滤 125 只 ST 股票\n", " [20250217] 过滤 125 只 ST 股票\n", " [20250218] 过滤 124 只 ST 股票\n", " [20250219] 过滤 124 只 ST 股票\n", " [20250220] 过滤 124 只 ST 股票\n", " [20250221] 过滤 126 只 ST 股票\n", " [20250224] 过滤 126 只 ST 股票\n", " [20250225] 过滤 126 只 ST 股票\n", " [20250226] 过滤 126 只 ST 股票\n", " [20250227] 过滤 126 只 ST 股票\n", " [20250228] 过滤 126 只 ST 股票\n", " [20250303] 过滤 126 只 ST 股票\n", " [20250304] 过滤 126 只 ST 股票\n", " [20250305] 过滤 126 只 ST 股票\n", " [20250306] 过滤 126 只 ST 股票\n", " [20250307] 过滤 126 只 ST 股票\n", " [20250310] 过滤 127 只 ST 股票\n", " [20250311] 过滤 127 只 ST 股票\n", " [20250312] 过滤 126 只 ST 股票\n", " [20250313] 过滤 126 只 ST 股票\n", " [20250314] 过滤 127 只 ST 股票\n", " [20250317] 过滤 127 只 ST 股票\n", " [20250318] 过滤 131 只 ST 股票\n", " [20250319] 过滤 131 只 ST 股票\n", " [20250320] 过滤 132 只 ST 股票\n", " [20250321] 过滤 131 只 ST 股票\n", " [20250324] 过滤 130 只 ST 股票\n", " [20250325] 过滤 133 只 ST 股票\n", " [20250326] 过滤 134 只 ST 股票\n", " [20250327] 过滤 134 只 ST 股票\n", " [20250328] 过滤 134 只 ST 股票\n", " [20250331] 过滤 134 只 ST 股票\n", " [20250401] 过滤 133 只 ST 股票\n", " [20250402] 过滤 133 只 ST 股票\n", " [20250403] 过滤 133 只 ST 股票\n", " [20250407] 过滤 133 只 ST 股票\n", " [20250408] 过滤 133 只 ST 股票\n", " [20250409] 过滤 133 只 ST 股票\n", " [20250410] 过滤 133 只 ST 股票\n", " [20250411] 过滤 132 只 ST 股票\n", " [20250414] 过滤 131 只 ST 股票\n", " [20250415] 过滤 130 只 ST 股票\n", " [20250416] 过滤 132 只 ST 股票\n", " [20250417] 过滤 131 只 ST 股票\n", " [20250418] 过滤 130 只 ST 股票\n", " [20250421] 过滤 130 只 ST 股票\n", " [20250422] 过滤 133 只 ST 股票\n", " [20250423] 过滤 138 只 ST 股票\n", " [20250424] 过滤 137 只 ST 股票\n", " [20250425] 过滤 139 只 ST 股票\n", " [20250428] 过滤 142 只 ST 股票\n", " [20250429] 过滤 148 只 ST 股票\n", " [20250430] 过滤 169 只 ST 股票\n", " [20250506] 过滤 190 只 ST 股票\n", " [20250507] 过滤 190 只 ST 股票\n", " [20250508] 过滤 190 只 ST 股票\n", " [20250509] 过滤 190 只 ST 股票\n", " [20250512] 过滤 189 只 ST 股票\n", " [20250513] 过滤 189 只 ST 股票\n", " [20250514] 过滤 189 只 ST 股票\n", " [20250515] 过滤 188 只 ST 股票\n", " [20250516] 过滤 188 只 ST 股票\n", " [20250519] 过滤 182 只 ST 股票\n", " [20250520] 过滤 183 只 ST 股票\n", " [20250521] 过滤 181 只 ST 股票\n", " [20250522] 过滤 179 只 ST 股票\n", " [20250523] 过滤 178 只 ST 股票\n", " [20250526] 过滤 178 只 ST 股票\n", " [20250527] 过滤 179 只 ST 股票\n", " [20250528] 过滤 177 只 ST 股票\n", " [20250529] 过滤 178 只 ST 股票\n", " [20250530] 过滤 175 只 ST 股票\n", " [20250603] 过滤 172 只 ST 股票\n", " [20250604] 过滤 172 只 ST 股票\n", " [20250605] 过滤 172 只 ST 股票\n", " [20250606] 过滤 172 只 ST 股票\n", " [20250609] 过滤 171 只 ST 股票\n", " [20250610] 过滤 171 只 ST 股票\n", " [20250611] 过滤 172 只 ST 股票\n", " [20250612] 过滤 171 只 ST 股票\n", " [20250613] 过滤 169 只 ST 股票\n", " [20250616] 过滤 168 只 ST 股票\n", " [20250617] 过滤 170 只 ST 股票\n", " [20250618] 过滤 170 只 ST 股票\n", " [20250619] 过滤 169 只 ST 股票\n", " [20250620] 过滤 168 只 ST 股票\n", " [20250623] 过滤 167 只 ST 股票\n", " [20250624] 过滤 168 只 ST 股票\n", " [20250625] 过滤 168 只 ST 股票\n", " [20250626] 过滤 169 只 ST 股票\n", " [20250627] 过滤 166 只 ST 股票\n", " [20250630] 过滤 166 只 ST 股票\n", " [20250701] 过滤 166 只 ST 股票\n", " [20250702] 过滤 166 只 ST 股票\n", " [20250703] 过滤 166 只 ST 股票\n", " [20250704] 过滤 168 只 ST 股票\n", " [20250707] 过滤 169 只 ST 股票\n", " [20250708] 过滤 170 只 ST 股票\n", " [20250709] 过滤 171 只 ST 股票\n", " [20250710] 过滤 170 只 ST 股票\n", " [20250711] 过滤 172 只 ST 股票\n", " [20250714] 过滤 171 只 ST 股票\n", " [20250715] 过滤 170 只 ST 股票\n", " [20250716] 过滤 169 只 ST 股票\n", " [20250717] 过滤 169 只 ST 股票\n", " [20250718] 过滤 169 只 ST 股票\n", " [20250721] 过滤 169 只 ST 股票\n", " [20250722] 过滤 170 只 ST 股票\n", " [20250723] 过滤 170 只 ST 股票\n", " [20250724] 过滤 170 只 ST 股票\n", " [20250725] 过滤 170 只 ST 股票\n", " [20250728] 过滤 170 只 ST 股票\n", " [20250729] 过滤 170 只 ST 股票\n", " [20250730] 过滤 170 只 ST 股票\n", " [20250731] 过滤 170 只 ST 股票\n", " [20250801] 过滤 171 只 ST 股票\n", " [20250804] 过滤 171 只 ST 股票\n", " [20250805] 过滤 170 只 ST 股票\n", " [20250806] 过滤 170 只 ST 股票\n", " [20250807] 过滤 168 只 ST 股票\n", " [20250808] 过滤 168 只 ST 股票\n", " [20250811] 过滤 169 只 ST 股票\n", " [20250812] 过滤 170 只 ST 股票\n", " [20250813] 过滤 167 只 ST 股票\n", " [20250814] 过滤 166 只 ST 股票\n", " [20250815] 过滤 166 只 ST 股票\n", " [20250818] 过滤 165 只 ST 股票\n", " [20250819] 过滤 167 只 ST 股票\n", " [20250820] 过滤 166 只 ST 股票\n", " [20250821] 过滤 169 只 ST 股票\n", " [20250822] 过滤 169 只 ST 股票\n", " [20250825] 过滤 169 只 ST 股票\n", " [20250826] 过滤 169 只 ST 股票\n", " [20250827] 过滤 169 只 ST 股票\n", " [20250828] 过滤 169 只 ST 股票\n", " [20250829] 过滤 169 只 ST 股票\n", " [20250901] 过滤 169 只 ST 股票\n", " [20250902] 过滤 169 只 ST 股票\n", " [20250903] 过滤 169 只 ST 股票\n", " [20250904] 过滤 169 只 ST 股票\n", " [20250905] 过滤 168 只 ST 股票\n", " [20250908] 过滤 169 只 ST 股票\n", " [20250909] 过滤 168 只 ST 股票\n", " [20250910] 过滤 168 只 ST 股票\n", " [20250911] 过滤 168 只 ST 股票\n", " [20250912] 过滤 169 只 ST 股票\n", " [20250915] 过滤 169 只 ST 股票\n", " [20250916] 过滤 169 只 ST 股票\n", " [20250917] 过滤 169 只 ST 股票\n", " [20250918] 过滤 168 只 ST 股票\n", " [20250919] 过滤 169 只 ST 股票\n", " [20250922] 过滤 169 只 ST 股票\n", " [20250923] 过滤 173 只 ST 股票\n", " [20250924] 过滤 172 只 ST 股票\n", " [20250925] 过滤 173 只 ST 股票\n", " [20250926] 过滤 173 只 ST 股票\n", " [20250929] 过滤 172 只 ST 股票\n", " [20250930] 过滤 173 只 ST 股票\n", " [20251009] 过滤 174 只 ST 股票\n", " [20251010] 过滤 175 只 ST 股票\n", " [20251013] 过滤 174 只 ST 股票\n", " [20251014] 过滤 174 只 ST 股票\n", " [20251015] 过滤 174 只 ST 股票\n", " [20251016] 过滤 175 只 ST 股票\n", " [20251017] 过滤 175 只 ST 股票\n", " [20251020] 过滤 175 只 ST 股票\n", " [20251021] 过滤 175 只 ST 股票\n", " [20251022] 过滤 174 只 ST 股票\n", " [20251023] 过滤 175 只 ST 股票\n", " [20251024] 过滤 175 只 ST 股票\n", " [20251027] 过滤 176 只 ST 股票\n", " [20251028] 过滤 175 只 ST 股票\n", " [20251029] 过滤 174 只 ST 股票\n", " [20251030] 过滤 174 只 ST 股票\n", " [20251031] 过滤 176 只 ST 股票\n", " [20251103] 过滤 176 只 ST 股票\n", " [20251104] 过滤 176 只 ST 股票\n", " [20251105] 过滤 177 只 ST 股票\n", " [20251106] 过滤 177 只 ST 股票\n", " [20251107] 过滤 176 只 ST 股票\n", " [20251110] 过滤 176 只 ST 股票\n", " [20251111] 过滤 174 只 ST 股票\n", " [20251112] 过滤 175 只 ST 股票\n", " [20251113] 过滤 174 只 ST 股票\n", " [20251114] 过滤 173 只 ST 股票\n", " [20251117] 过滤 173 只 ST 股票\n", " [20251118] 过滤 174 只 ST 股票\n", " [20251119] 过滤 173 只 ST 股票\n", " [20251120] 过滤 174 只 ST 股票\n", " [20251121] 过滤 174 只 ST 股票\n", " [20251124] 过滤 174 只 ST 股票\n", " [20251125] 过滤 174 只 ST 股票\n", " [20251126] 过滤 172 只 ST 股票\n", " [20251127] 过滤 171 只 ST 股票\n", " [20251128] 过滤 172 只 ST 股票\n", " [20251201] 过滤 170 只 ST 股票\n", " [20251202] 过滤 172 只 ST 股票\n", " [20251203] 过滤 173 只 ST 股票\n", " [20251204] 过滤 173 只 ST 股票\n", " [20251205] 过滤 172 只 ST 股票\n", " [20251208] 过滤 173 只 ST 股票\n", " [20251209] 过滤 172 只 ST 股票\n", " [20251210] 过滤 171 只 ST 股票\n", " [20251211] 过滤 173 只 ST 股票\n", " [20251212] 过滤 174 只 ST 股票\n", " [20251215] 过滤 174 只 ST 股票\n", " [20251216] 过滤 175 只 ST 股票\n", " [20251217] 过滤 175 只 ST 股票\n", " [20251218] 过滤 175 只 ST 股票\n", " [20251219] 过滤 174 只 ST 股票\n", " [20251222] 过滤 174 只 ST 股票\n", " [20251223] 过滤 175 只 ST 股票\n", " [20251224] 过滤 175 只 ST 股票\n", " [20251225] 过滤 176 只 ST 股票\n", " [20251226] 过滤 173 只 ST 股票\n", " [20251229] 过滤 174 只 ST 股票\n", " [20251230] 过滤 176 只 ST 股票\n", " [20251231] 过滤 175 只 ST 股票\n", " ST 过滤后数据规模: (6823808, 71)\n", "\n", "执行每日独立筛选股票池...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\liaozhaorun\\AppData\\Local\\Temp\\ipykernel_7864\\174861970.py:63: DeprecationWarning: `is_in` with a collection of the same datatype is ambiguous and deprecated.\n", "Please use `implode` to return to previous behavior.\n", "\n", "See https://github.com/pola-rs/polars/issues/22149 for more information.\n", " return df[\"ts_code\"].is_in(small_cap_codes)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " 筛选前数据规模: (6823808, 71)\n", " 筛选后数据规模: (1455000, 71)\n", " 筛选前股票数: 5678\n", " 筛选后股票数: 1934\n", " 删除记录数: 5368808\n" ] } ], "execution_count": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.2 数据划分" ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2026-03-10T14:56:29.152001Z", "start_time": "2026-03-10T14:56:29.081042Z" } }, "source": [ "print(\"\\n\" + \"=\" * 80)\n", "print(\"数据划分\")\n", "print(\"=\" * 80)\n", "\n", "if splitter:\n", " train_data, val_data, test_data = splitter.split(filtered_data)\n", " print(f\"\\n训练集数据规模: {train_data.shape}\")\n", " print(f\"验证集数据规模: {val_data.shape}\")\n", " print(f\"测试集数据规模: {test_data.shape}\")\n", " \n", " # 计算各集的 group 数组\n", " train_group = compute_group_array(train_data)\n", " val_group = compute_group_array(val_data)\n", " test_group = compute_group_array(test_data)\n", " \n", " print(f\"\\n训练集 group 数量: {len(train_group)}\")\n", " print(f\"验证集 group 数量: {len(val_group)}\")\n", " print(f\"测试集 group 数量: {len(test_group)}\")\n", " print(f\"训练集日均样本数: {np.mean(train_group):.1f}\")\n", " print(f\"验证集日均样本数: {np.mean(val_group):.1f}\")\n", " print(f\"测试集日均样本数: {np.mean(test_group):.1f}\")\n", "else:\n", " raise ValueError(\"必须配置数据划分器\")" ], "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "================================================================================\n", "数据划分\n", "================================================================================\n", "\n", "训练集数据规模: (970000, 71)\n", "验证集数据规模: (242000, 71)\n", "测试集数据规模: (243000, 71)\n", "\n", "训练集 group 数量: 970\n", "验证集 group 数量: 242\n", "测试集 group 数量: 243\n", "训练集日均样本数: 1000.0\n", "验证集日均样本数: 1000.0\n", "测试集日均样本数: 1000.0\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\liaozhaorun\\AppData\\Local\\Temp\\ipykernel_7864\\551043002.py:132: DeprecationWarning: `pl.count()` is deprecated. Please use `pl.len()` instead.\n", "(Deprecated in version 0.20.5)\n", " pl.count().alias(\"count\")\n" ] } ], "execution_count": 7 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.3 数据预处理" ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2026-03-10T14:56:29.729147Z", "start_time": "2026-03-10T14:56:29.161969Z" } }, "source": [ "print(\"\\n\" + \"=\" * 80)\n", "print(\"数据预处理\")\n", "print(\"=\" * 80)\n", "\n", "fitted_processors = []\n", "if processors:\n", " print(\"\\n训练集处理...\")\n", " for i, processor in enumerate(processors, 1):\n", " print(f\" [{i}/{len(processors)}] {processor.__class__.__name__}\")\n", " train_data = processor.fit_transform(train_data)\n", " fitted_processors.append(processor)\n", " \n", " print(\"\\n验证集处理...\")\n", " for processor in fitted_processors:\n", " val_data = processor.transform(val_data)\n", " \n", " print(\"\\n测试集处理...\")\n", " for processor in fitted_processors:\n", " test_data = processor.transform(test_data)\n", "\n", "print(f\"\\n处理后训练集形状: {train_data.shape}\")\n", "print(f\"处理后验证集形状: {val_data.shape}\")\n", "print(f\"处理后测试集形状: {test_data.shape}\")" ], "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "================================================================================\n", "数据预处理\n", "================================================================================\n", "\n", "训练集处理...\n", " [1/3] NullFiller\n", " [2/3] Winsorizer\n", " [3/3] StandardScaler\n", "\n", "验证集处理...\n", "\n", "测试集处理...\n", "\n", "处理后训练集形状: (970000, 71)\n", "处理后验证集形状: (242000, 71)\n", "处理后测试集形状: (243000, 71)\n" ] } ], "execution_count": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.4 训练 LambdaRank 模型" ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2026-03-10T14:56:32.377628Z", "start_time": "2026-03-10T14:56:29.735814Z" } }, "source": [ "print(\"\\n\" + \"=\" * 80)\n", "print(\"训练 LambdaRank 模型\")\n", "print(\"=\" * 80)\n", "\n", "# 准备数据\n", "X_train = train_data.select(feature_cols)\n", "y_train = train_data.select(target_col).to_series()\n", "\n", "X_val = val_data.select(feature_cols)\n", "y_val = val_data.select(target_col).to_series()\n", "\n", "print(f\"\\n训练样本数: {len(X_train)}\")\n", "print(f\"验证样本数: {len(X_val)}\")\n", "print(f\"特征数: {len(feature_cols)}\")\n", "print(f\"目标变量: {target_col}\")\n", "\n", "print(\"\\n目标变量统计(训练集):\")\n", "print(y_train.describe())\n", "\n", "print(\"\\n开始训练...\")\n", "model.fit(\n", " X=X_train,\n", " y=y_train,\n", " group=train_group,\n", " eval_set=(X_val, y_val, val_group),\n", ")\n", "print(\"训练完成!\")" ], "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "================================================================================\n", "训练 LambdaRank 模型\n", "================================================================================\n", "\n", "训练样本数: 970000\n", "验证样本数: 242000\n", "特征数: 49\n", "目标变量: future_return_5_rank_rank\n", "\n", "目标变量统计(训练集):\n", "shape: (9, 2)\n", "┌────────────┬──────────┐\n", "│ statistic ┆ value │\n", "│ --- ┆ --- │\n", "│ str ┆ f64 │\n", "╞════════════╪══════════╡\n", "│ count ┆ 969665.0 │\n", "│ null_count ┆ 335.0 │\n", "│ mean ┆ 9.810091 │\n", "│ std ┆ 5.346526 │\n", "│ min ┆ 0.0 │\n", "│ 25% ┆ 6.0 │\n", "│ 50% ┆ 10.0 │\n", "│ 75% ┆ 14.0 │\n", "│ max ┆ 19.0 │\n", "└────────────┴──────────┘\n", "\n", "开始训练...\n", "Training until validation scores don't improve for 50 rounds\n", "Early stopping, best iteration is:\n", "[50]\ttraining's ndcg@1: 0.676684\ttraining's ndcg@5: 0.440728\ttraining's ndcg@10: 0.361258\ttraining's ndcg@20: 0.296362\tvalid_1's ndcg@1: 0.272472\tvalid_1's ndcg@5: 0.215751\tvalid_1's ndcg@10: 0.198035\tvalid_1's ndcg@20: 0.191275\n", "训练完成!\n" ] } ], "execution_count": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.5 训练指标曲线" ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2026-03-10T14:56:34.997174Z", "start_time": "2026-03-10T14:56:32.382086Z" } }, "source": [ "print(\"\\n\" + \"=\" * 80)\n", "print(\"训练指标曲线\")\n", "print(\"=\" * 80)\n", "\n", "# 重新训练以收集指标(因为之前的训练没有保存评估结果)\n", "print(\"\\n重新训练模型以收集训练指标...\")\n", "\n", "import lightgbm as lgb\n", "\n", "# 准备数据(使用 val 做验证,test 不参与训练过程)\n", "X_train_np = X_train.to_numpy()\n", "y_train_np = y_train.to_numpy()\n", "X_val_np = val_data.select(feature_cols).to_numpy()\n", "y_val_np = val_data.select(target_col).to_series().to_numpy()\n", "\n", "# 创建数据集\n", "train_dataset = lgb.Dataset(X_train_np, label=y_train_np, group=train_group)\n", "val_dataset = lgb.Dataset(X_val_np, label=y_val_np, group=val_group, reference=train_dataset)\n", "\n", "# 用于存储评估结果\n", "evals_result = {}\n", "\n", "# 使用与原模型相同的参数重新训练\n", "# 正确的三分法:train用于训练,val用于验证,test不参与训练过程\n", "booster_with_eval = lgb.train(\n", " MODEL_PARAMS,\n", " train_dataset,\n", " num_boost_round=MODEL_PARAMS.get(\"n_estimators\", 1000),\n", " valid_sets=[train_dataset, val_dataset],\n", " valid_names=[\"train\", \"val\"],\n", " callbacks=[\n", " lgb.record_evaluation(evals_result),\n", " lgb.early_stopping(stopping_rounds=50, verbose=True),\n", " ],\n", ")\n", "\n", "print(\"训练完成,指标已收集\")\n", "\n", "# 获取评估的 NDCG 指标\n", "ndcg_metrics = [k for k in evals_result[\"train\"].keys() if \"ndcg\" in k]\n", "print(f\"\\n评估的 NDCG 指标: {ndcg_metrics}\")\n", "\n", "# 显示早停信息\n", "actual_rounds = len(list(evals_result[\"train\"].values())[0])\n", "expected_rounds = MODEL_PARAMS.get(\"n_estimators\", 1000)\n", "print(f\"\\n[早停信息]\")\n", "print(f\" 配置的最大轮数: {expected_rounds}\")\n", "print(f\" 实际训练轮数: {actual_rounds}\")\n", "if actual_rounds < expected_rounds:\n", " print(f\" 早停状态: 已触发(连续50轮验证指标未改善)\")\n", "else:\n", " print(f\" 早停状态: 未触发(达到最大轮数)\")\n", "\n", "# 显示各 NDCG 指标的最终值\n", "print(f\"\\n最终 NDCG 指标:\")\n", "for metric in ndcg_metrics:\n", " train_ndcg = evals_result[\"train\"][metric][-1]\n", " val_ndcg = evals_result[\"val\"][metric][-1]\n", " print(f\" {metric}: 训练集={train_ndcg:.4f}, 验证集={val_ndcg:.4f}\")" ], "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "================================================================================\n", "训练指标曲线\n", "================================================================================\n", "\n", "重新训练模型以收集训练指标...\n", "Training until validation scores don't improve for 50 rounds\n", "Early stopping, best iteration is:\n", "[50]\ttrain's ndcg@1: 0.676684\ttrain's ndcg@5: 0.440728\ttrain's ndcg@10: 0.361258\ttrain's ndcg@20: 0.296362\tval's ndcg@1: 0.272472\tval's ndcg@5: 0.215751\tval's ndcg@10: 0.198035\tval's ndcg@20: 0.191275\n", "训练完成,指标已收集\n", "\n", "评估的 NDCG 指标: ['ndcg@1', 'ndcg@5', 'ndcg@10', 'ndcg@20']\n", "\n", "[早停信息]\n", " 配置的最大轮数: 1000\n", " 实际训练轮数: 100\n", " 早停状态: 已触发(连续50轮验证指标未改善)\n", "\n", "最终 NDCG 指标:\n", " ndcg@1: 训练集=0.7563, 验证集=0.2625\n", " ndcg@5: 训练集=0.5383, 验证集=0.2203\n", " ndcg@10: 训练集=0.4355, 验证集=0.2053\n", " ndcg@20: 训练集=0.3464, 验证集=0.1960\n" ] } ], "execution_count": 10 }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2026-03-10T14:56:35.585609Z", "start_time": "2026-03-10T14:56:35.001847Z" } }, "source": [ "# 绘制 NDCG 训练指标曲线\n", "import matplotlib.pyplot as plt\n", "\n", "fig, axes = plt.subplots(2, 2, figsize=(14, 10))\n", "axes = axes.flatten()\n", "\n", "for idx, metric in enumerate(ndcg_metrics[:4]): # 最多显示4个NDCG指标\n", " ax = axes[idx]\n", " train_metric = evals_result[\"train\"][metric]\n", " val_metric = evals_result[\"val\"][metric]\n", " iterations = range(1, len(train_metric) + 1)\n", " \n", " ax.plot(iterations, train_metric, label=f\"Train {metric}\", linewidth=2, color=\"blue\")\n", " ax.plot(iterations, val_metric, label=f\"Val {metric}\", linewidth=2, color=\"red\")\n", " ax.set_xlabel(\"Iteration\", fontsize=10)\n", " ax.set_ylabel(metric.upper(), fontsize=10)\n", " ax.set_title(f\"Training and Validation {metric.upper()}\", fontsize=12, fontweight=\"bold\")\n", " ax.legend(fontsize=9)\n", " ax.grid(True, alpha=0.3)\n", " \n", " # 标记最佳验证指标点\n", " best_iter = val_metric.index(max(val_metric))\n", " best_metric = max(val_metric)\n", " ax.axvline(x=best_iter + 1, color=\"green\", linestyle=\"--\", alpha=0.7)\n", " ax.scatter([best_iter + 1], [best_metric], color=\"green\", s=80, zorder=5)\n", " ax.annotate(\n", " f\"Best: {best_metric:.4f}\",\n", " xy=(best_iter + 1, best_metric),\n", " xytext=(best_iter + 1 + len(iterations) * 0.05, best_metric),\n", " fontsize=8,\n", " arrowprops=dict(arrowstyle=\"->\", color=\"green\", alpha=0.7),\n", " )\n", "\n", "plt.tight_layout()\n", "plt.show()\n", "\n", "print(f\"\\n[指标分析]\")\n", "print(f\" 各NDCG指标在验证集上的最佳值:\")\n", "for metric in ndcg_metrics:\n", " val_metric_list = evals_result[\"val\"][metric]\n", " best_iter = val_metric_list.index(max(val_metric_list))\n", " best_val = max(val_metric_list)\n", " print(f\" {metric}: {best_val:.4f} (迭代 {best_iter + 1})\")\n", "print(f\"\\n[重要提醒] 验证集仅用于早停/调参,测试集完全独立于训练过程!\")" ], "outputs": [ { "data": { "text/plain": [ "
" ], "image/png": "iVBORw0KGgoAAAANSUhEUgAABWsAAAPeCAYAAAB6B0gVAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Qd4FGXXxvE7hRBAem/SpSiIVFGsgCgWivIiKiAivmKXV1EsKFj4bIgFRFEUsSEKWFAQQVRsKIgFBAVRmnTpJoFkv+vMuNmUTUhgs/X/u64hs7Ozs7PzLMkzZ86cJ87j8XgEAAAAAAAAAAip+NC+PQAAAAAAAADAEKwFAAAAAAAAgDBAsBYAAAAAAAAAwgDBWgAAAAAAAAAIAwRrAQAAAAAAACAMEKwFAAAAAAAAgDBAsBYAAAAAAAAAwgDBWgAAAAAAAAAIAwRrAQAAAAAAACAMEKwFItzpp5+uuLg4Z/rjjz8OaxsvvfRS5jbuvfdexZoFCxZkfv7LL7887NrTfnqX2fPh8Hnse+J9D/v+AACA6EV/88jR3yw8+psAYhXBWiBA6tatmxm8OtRknTVEnn379qlUqVKZ7fj777/7Xa9Dhw6Z67z66quKRDt37nQ6yDaFezA26wmktc+2bdvy/L+5YsUKv8vj4+NVvHhxVa1aVe3bt9ewYcMOefHj448/Vp8+fXT00UcrOTlZVapUUbt27TRy5EitXbs21/pr1qzR//73Px1//PEqW7asSpQooXr16jn7P3r0aK1atSrP97J9ueWWW9SsWTPnM1aqVMl5r4cfflg7duzw+xpbPnz4cJ122mkqWbJk2FyQAAAcPvqb0Y/+Zniiv7njkBch/E2xmAgEBIQHQEDUqVPHY/+lCjJ98sknATvqP/74o+fzzz93ppSUlMPaxubNmzO38eeff3pijbWHt20GDBiQ77oXX3xx5rqjR4/O9fzatWs9cXFxzvMlSpTw7Nmzp1D7ctppp2Vuf82aNc4ya1dv+1h7B/Lz5MXe27sN26ec7Hvi3Sf7/oRS1mNm0/Dhw/P8v/nLL7/4Xe5vKlasmOfZZ5/N9X5paWmefv365fvaG2+8MdtrJk6c6ElKSsr3NRdeeKHfzzdmzBhPcnJynq+rVq2aZ86cOble9/333/td/3C/EwCA0KO/Gbnob+ZGfzPy+5tZv9f+pnvuuecI/tcAsSsxMCFfAG+99ZZSUlIyD0Tv3r21adMmZ/7JJ5/UCSeckPlc8+bN872SXhh5baswLCPQJhzaxRdfrDfeeMOZf/PNN3X77bdne37atGl2EcyZP/fcc3XUUUcd8WG1jM+OHTuGVfNYNqlN4WjcuHFOZmy5cuUK/Br7P2r/l/7880+9+OKL+vTTT3XgwAH997//VeXKldWzZ8/MdW+++WZNmTLFmbeM3MGDB+u8885zsmt/+umnXJnIM2bM0FVXXZX5vbDMa3uNZUft2bNH3333naZOnep3vyxL15uR0LZtW/Xr109NmzZVWlqali9frtdee03ff/+9LrjgAs2dO1ennHJK5muTkpJ06qmn6qSTTtKWLVs0adKkQh5JAEC4ob8ZG+hvuuhvhn9/M6uc57zeNgRwGEIdLQZiIfMhayZtzivIn376qefEE090rmR6M96ef/55z1lnneWpXbu2p2TJkp7ixYt7GjZs6Lnuuus8W7duPWQmZs73WLRokef00093Mj2rVq3qufPOOz3p6emZ23jxxRf9Xv3Muu0ffvjBef/KlSs7+3r22Wd7/vjjj2z7YtscOXKkp2bNms572Xtadp+/fczL+vXrPQMHDvS0aNHCU7FiRU9iYqKnfPnynjPOOMMzY8aMfDMUZs+e7WnTpo1zvOzYPfHEE7m2790f+wy2n/fee69n7ty5Bc46TE1N9ZQrVy5z/d9++y3b89aW3ufefvvtImnPw/089l276KKLnPcuW7ascyW/evXqnt69ezvt62WvyevquPf97XviXWbfn6wWL17svI991+w97Kddxf/uu++yrZfzezdlyhTPscce62QENGrUyDN16tR828LfMfNO9j0sTGZt1v+jGRkZzv57n6tbt67nwIEDznP2+vj4+MznnnrqqVz7Y69fsWKFM2+vs9d717djnfX/XtbX5Mya/uyzz5z3srZ6//33/X52e9348eM9CQkJTvvv3bvX73rPPPMMmbUAEIXob9LfpL9JfzOU/c2s52OBvHsUiHUEa4EQdp5r1KiR7XYTb2Cta9eueQbLmjZt6vnnn38KHNyzYJwFTnNux26TKUywtn79+rm2cfLJJ2f7zDfccEOudewPf9bOw6GCtV999VW+t9JMnjzZb+fAjnfWIJp3ssCllwVWbX9yrmOB4YIGa80VV1yRuf4DDzyQrTSAtwRCmTJl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JbM2KUkqUSLUewMAAIBot3+/W7PWHHusVLJkqPcIAAAgtoV9sNZcd911zuTPggULsj2+//77nSkSeTNrLav233KVAAAAQJFZulRKT3fnGVwMAAAg9CIiWBsrvJm11KsFYltCXIK6NeyWOQ8AQFGhXi0AANGN88vIQ7A2TFhGw+7d7jz1aoHYViyhmIa0HRLq3QAAxACCtQAARDfOLyOPr9grwiKr1pBZCyDY6tatq8aNGzt1wZs2bapLLrnEqQF+uF566SWtWLGiwOu///77To3xRo0aqVevXtrtvXqVw5NPPqnjjjtOzZs3V4sWLZya5F4PPPCAs//eqUyZMs4glWb+/PnOIJXNmjXTscceq2HDhikjI8N57o8//lBCQkK2165evfqwPzsAROLgYjZmQvPmod4bAAAAEKwNEwRrAXht2rNJL37/op765im98fMb2rx3c1AOztSpU7V06VItW7ZMu3btcgKuwQjW7t27V4MGDdLMmTP122+/qUaNGrrvvvv8rmuB1i+++EI//fSTZs2apZtuuikzsHrnnXc6+2/TN998o2LFiunSSy91nitfvrzeeOMNLV++XIsXL9aXX36pl19+OXO7pUuXznytTQ0aNDjszw4gPI0bN865MJWcnKz27dtr0aJFea47ceJEnXLKKc7vDps6d+6ca/3LL79ccXFx2aazzz5bkWTXLmnlSnf++OPdgC0AAIguHo9Hu1J2OZPNI/wRrA2zwcUMZRCA2PTT5p/U962+qvV4LV3x7hW6YfYN6vu2+9iW2/PBkJaWpv379zsBCq9HH33UyUxt1aqVE4z4888/neXvvfeek+Fq2aiW8frOO+/o+eef13fffaebb77ZWf7BBx/k+34ffvihTjjhBCez1lxzzTV6/fXX/a7bqVMnlS1b1pmvXbu2qlWrpnXr1uVazwK/9nzr1q2dx7b9+vXrO/MWqLH9soxaALHBLkZZpv0999yjJUuW6Pjjj1fXrl21ZcuWPAew7du3rz755BN99dVXzu+Ts846Sxs2bMi2nv0+/OuvvzKnvH53havFi33zDC4GAEB0Sk1P1WUzLnMmm0f4I1gbJsisBWLbnFVz1O75dnpr+VtK9/w7LPe/DmYc1Fu/vOU8b+sVlT59+jhBTAuAxsfH6z//+Y+z/LXXXtPKlSudgIUFOSxb1QKq5q677tKzzz7rZKP+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CxcujCVLlqBbt25mQghm8AZSjhw5fH5mxi6zbUVERETE3dTfFBHJuhSsFRE5DyxNEB8f73NfvXr1MHXqVJO5Gh2d9q/ZlStXmmDpG2+8YWrX0meffXbO10uqatWq2L59u1mc7Nr169ebWrrMsBURERGR8KH+pohI9qIyCCIi54EB2WXLlpms2P3795tga8+ePc3kXu3btzc1Yln6YO7cuejatWuqgdZKlSrhzJkzGDFihJkQbOLEiZ6Jx7xfj5kUrC3L1/NXHqFp06aoWbMmOnTogFWrVmH58uXo1KkTGjdujAYNGqi9RURERMKI+psiItmLgrUiIuehb9++iIqKMhmrxYoVw7Zt21C6dGn88MMPJjDbrFkzEzjlxGGsGetkzPpTu3ZtDB061JRPqFGjBj766CMMGTLEZ50rrrjCTDjWtm1b83pJJyhzyhnMmDEDhQoVwjXXXGOCtxUrVsTkyZPV1iIiIiJhRv1NEZHsJcKyLCvUOyEiIiIiIiIiIiKS3SmzVkRERERERERERMQFFKwVERERERERERERcQEFa0VERERERERERERcQMFaERERERERERERERdQsFZERERERERERETEBRSsFREREREREREREXEBBWtFREREREREREREXEDBWhEREREREREREREXULBWRERERERERERExAUUrBURERERERERERFxAQVrRURERERERERERFxAwVoRERERERERERERF1CwVkRERERERERERMQFFKwVERERERERERERcQEFa0VERERERERERERcQMFaERERERERERERERdQsFZERERERERERETEBRSsFQkT1157LSIiIsyydevWDG3jgw8+8Gzj2WefRXazaNEiz/vv0qWL69qT/zv38XE3vB9+TpzX4OdHREREsi71N8+f+pvpp/6miIgvBWtF0ql8+fKe4NW5FnbWJPwcP34cefLk8bTjX3/95Xe9yy+/3LPORx99hHB06NAh00Hm4vZgrPcJJNtn//79Kf5u/v77737vj4yMRM6cOVGiRAk0atQI/fr1O+fFj3nz5qFt27a48MILERsbi+LFi6Nhw4YYPHgwtm3blmz9LVu2oE+fPqhduzYKFCiAXLlyoUKFCmb/hwwZgj///DPF1+K+9O3bF9WqVTPvsWjRoua1Xn31VRw8eNDvc3h///790bhxY+TOnTtNAfyV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JRJtB2UrVwYqVbIX3uZ9JUro4IqISOaaPHkyevfujTFjxphA7bBhw9C8eXNs3LgRxf0UP1+0aBHat2+PK664wgR3X3nlFTRr1gzr1q1DGUaeAOzatcvnOV9//TW6deuG1q1b+9z/3HPPoXv37p6f82mGJMni1q61yxx8+imQkJD88QsuAJo1Ax5+GKhTJxR7KCIiEv4UrBURv1hrdtIk4JlngB07fB/jue9NNwG33ALccANQoIAOokigxMXHYejSoeZ278t7IyYqRgdXJBVDhw41AdOuXbuanxm0nT17NsaNG4cnn3wy2fofffSRz8/vvfcepk6divnz56NTp07mvpIlS/qsM2PGDFx33XWoWLGiz/0MziZdVySrlTk4dMgudfD66/xd8H08d267vBUDtFyqVLHnJRARcTv1ucXNFKwVEYOTQOzbx2wie2gbJ4b45ZfEgxMZCdx7L8AEogYN/t/efYBHUbVtHH9SCAHp0gRpCoIiAtLEhgqCXUQRFRtix/6qiAVsiKAioii+KlYUxF7xQxQriMCLSrWL0kF6SUiy33WfYZJNSCCBTXZ28/95jZnsbnYne0Jy9t5nnmPucwCRlxXKsm/+/sbt33DYDTzFwE6kp6fbzJkzbcCAAWF/rxJda4OpWumyEDZv3mzbtm2zagU0Ul++fLkLf1988cUdrlPbg/vuu8/q169v5513nt14442WrFNO8pGWluY23/r1693HrKwst0WC7icUCkXs/lC8gjZemv+9/rrZ118n2IoV+tn35obbtu2YvlavHrIbbgi5Vgjhb9or3NUWb4I2VigYYxVbojleGZkZ9vWir93+de2vs+QE4rGgjFUWv2sJa4HSXDk7Zowqisz++subjBf0O1EVtGqD0Lx5SR8lAAAFW7VqlWVmZlqtPH139PmCBQsK9dT179/f6tSp4wLe/CikVQVtjx49cl1+3XXX2aGHHupC3m+//dYFxmqfoErf/AwZMsTuueeeHS5fuXKlbQ1fkWkPX9ysW7fOvZhSaI1gC8J4LV6caO+/n2rvvFPOfvihzC5vX7t2pl111SY7//wtVr58yPT+g4LdeBeEsULhMFaxJZrjtTVjq6Wnpbv9FStWuAXHEIyx2pBf/8VShrcOgFJIK/Vef33uytn8tGljprVUjj22pI4MAICSo8rYcePGuT626l+bH7VT6N279w7X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oIXBwnvNZmWFbMWKrVazZiV60AIAgMiEtevWrbNl25cnrV27tlWuTCUQ4sPmzWYLFiS7UPb3381++cXbZs70FoXISxNvLSymKgoWfACwJ7ZlbrNnZz3r9i899FIrk1SGJxRxLW17qlWWvkGIYTNmmF10kfemvq96de/sq0svNUumRAYAAoU5N4Jst6YNzz77rA0fPtwWLlyY6/KmTZvaf/7zH+vbt2+kjg8oNtu2mb34otmXX5qtWpV727BBZQ/Vd3kfel152GHeRPyooxgsAHsuM5RpH/36kdvv07qPlTHCWsSfSZMm2aOPPmpTp0619dvfBa1UqZJ17NjRbrrpJuvCypyIEenp3jxwyBDvDCy/3cH115vdcYe3QBgAIHiYcyOuwtqHHnrI7r77brvuuuusW7duVqtWLXf58uXL7f/+7//s+uuvtzVr1tjNN99cHMcL7DH1ln3nHbPbbjP7+eeifW3t2mZHHGF2+OHe1ro1C4gBAFAUL774ol166aV21llnucA271zypJNOsueee84uuOACnlgE2uzZXjXtjz/mXHbooV4xwMEHR/PIAABAqQprn3jiCXv++eft7LPPznX5gQceaMccc4y1bNnSbrnlFsJaBNK0aWa33GL29dc7XpeQYLb33t4pa9Wrh6x27a128MFlrUmTRGvc2NxWrVo0jhoAgPgxePBgGzFihPXr12+H6y6++GI78sgj7d577yWsReD8/bfZ1Kk5m1of+NW0anNw111mAwZ4lbUAAAAlFtauWLHCWrRoUeD1um6VziMHAlRJ+913ZsOHm02YkPs6tS7QqWta+KFqVbOkpPAFH9ZZzZo16UELAEAELVq0aKdtDjp37uzaagFBsHGjty7BK6+YLV6c/2300kjVtDrjCgAAYE+FrUdaOO3atbMHH3zQMjIydrguMzPThg4d6m4DRNuGDWajR3sT544dcwe1TZt6rRC++MKsUyevmtYPagEAQPFp3ry5a3NQkDFjxthBBx3EECDqPvjAe0N/6ND8g1rNJ++916uwJagFAABRbYOgXrW1a9e2o48+OlefsS+//NJSUlJcvzEgmlW0zz9vNnas2aZNua+vWdPs7ru9VXk5RQ0AgJL3yCOP2CmnnGITJ050Fbbhc8nJkyfb77//bh9++CFDg6hRMKsFwt58M/eisjojSwvLqghAH2mPBQAAAhHW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fPjhh9amTRsrW7as3XDDDbmuW758uftazZH0PWje5Bs8eLD73vxNZyDpTXXfc8895x57//33d/O3bdu27db3He8o2YmhxcUIawEAAHKkp6fbzJkzbcCAAdmXJSYmurYFqpotjM2bN7sXCtWqVXOf//HHH7Zs2TJ3H77KlSu7UFb3ec4557iPan3Qtm3b7Nvo9npsVeKeccYZOzxOWlqa23z+iyMFxdoiQfejsLmw97dgQYKZaTNr0kTHEZHDQDGNF6KHsYodjFVsieZ4Ld+43Kb8NcU2pG+wiikV7ZgGx1itCiVzKvNrr73mgkx936eddpo9//zz7o3k3Q1rFYgecMABu7yt2jWpbZPOLlJge+2119q9997rzijKS2Gq3pR+44033NeFj9WNN97oQlpdp6BZ7aU6duxo7dq1c3Myf16mec++++7rzmjS12mOddddd9mMGTOsVq1a1r17d3v66ad3+N6z+LtIWBtL/WpbtYrmkQAASoImQSs3r3T7NcrXsIQEL0gBsKNVq1ZZZmamm/CH0+eFrTLp37+/1alTJzucVVDr30fe+/Sv08eaNWvmuj45OdkFvv5t8hoyZIjdc889O1y+cuXKXO0V9oRe3Kxbt879HlFwvCvz5lV3tRsVKmRZUtIKK6BzBIpJUccL0cNYxQ7GKrZEY7zmr55vj/3vMfvg9w8sM5SZfXlSQpKdst8pdn3r6+3AvQ8stsfXvEV979WuSX//9f3re/fbNz311FP23nvvWUZGhlWvXt0FqWrZ9H//93/24IMPutvquttuu81Wr15t33//vat8Va99haSdO3cu8LHff/99dxaS5it6vLPPPtsFqTfffPMOt9Wb0toUuOqNbd3eHyu1ndLX+cesN6+1JkCDBg1y3ce7777r+v/r+HXbF198MfvNbc1/9Ab4Y489ZmeddVaur9uwYYOVdlTWBhyLiwFA6ZKWmWZ93+vr9if0nGCpyanRPiQgbulFj1oXqI+tFicrTnoBFX4aoCpr9eKlRo0ariImUi969QaP7nNXL3qVD//9t/dmULNmCVarVu7wGcWvKOOF6GKsYgdjFVtKerw++e0T6/F2D8vIysgV1Io+//CPD+2TPz+xt3q9Zd3271Ysx5CUlGT9+vVzC5j++eefrtXApZde6t70ffXVV10PfS18qtu9/PLLrie/Whc88sgjLhBVBaueN80jFKYqgL3uuutclaqoHdMpp5ziAtW8FLaqBYH/hnOFChVcSwOFt3r8/Khvv85A0tf4Y9W+fXvXDurEE090gfFXX33lKnvzvpGtylv18/cvV0itil7/c60zkN8b4KnFPCeLBYS1MRLWli3Lwg8AAADhVHGiFzN6oRFOn9euXXunT9bDDz/swtpPP/3U9Vzz+V+n+1A1SPh96pRF/zZ5FzBTlYtehBT0uOr5pi0vvTiN5AtUvZAqzH3+9pu3kK0f1iYmUsUfDYUdL0QfYxU7GKvYUlLj9dPyn6zH6z1cYUTItv8BzMOFuJbpbjf90um2T8V97JNfP7ETm5xo1cp57ZIitTiq5hSaO1xxxRXuDV2FsaqoVaWs2gn4Vbii50YVs2o/oCpULYzqz0n86/3nT20HZof308zzXPvPt/91eb9+Z1/jf9R6AarGVdCsoPWYY45xlbLh9/HXX3/ZN998475X//KdPX64RP4mssBYkG3ebPbzz95+8+Y6vS7aRwQAABAcKSkp7oWCvziY+IuFqfKkIDql8L777nNVIeF9Z6VRo0YucA2/T1WvqBetf5/6uHbtWtcv1/fZZ5+5x1Zv21iwcGHOftOm0TwSAACK3wNfPWAZmRkFBrU+Xa/bXfHBFW77+NePbcu2LUV6LLUKKAxVs5555pluPuJ/nYJbha3afvrpJ7eJAlL1ttUiqhdddFG+fWZ3pX79+i5E9amyV29MF1RVu7M3y9Ur94cffrBJkya5ALa5QqswOlYt1OqvCVDQ4+sy7Ij4L8DmzNELDm+fxcUAAAB2pNYCetGi0FWn5WlFYi120adPH3f9hRdeaHXr1nU9Y2Xo0KGur5tONdSKzH6PWZ0KqE0vONT77f7773enCiq81WIY6mvrn2KoRTVOOOEEt4rx6NGj3emB11xzjeu9ptvFgvCWvs2aRfNIAAAo/sXE3pj/hmWEMgp1e91u2j9T7dr219lxjY6z75d8b18t+sqFtlsyttjWjK22edtm9zF8379u34r72uMnPV6ox9KbvU23v2uqeYYqbFU9q5BT84s5c+ZY69atXS9+BaLaFK6qh62olZLaGxSG5i5qwaD7UjuCJ5980s1dikqtD/S4ZcqUsf/973/2zjvvuI8+vXmtsPa5557L9XUKpo888ki7++673VoAmkPtzuOXBoS1AUa/WgAAgJ3r1auXO/VOAayCV50WqAoVf4GwRYsW5TqdTgt3pKen77CYhXrC6cWD3HrrrS7wVZ81VdDqhYXuM7yH2tixY11Aq9MSdf96ATJy5MiYGS4qawEAcU9tBL791qZ8ONQyyhUuqPWpNvariU/b75U+sNRa+1r5fepZaspebj2J8mXKu4+VylaymnvVzP7cv65+5fq7nLuoZ63aIGhRLoWW0rt3bxeEHnvsse5zXX/JJZe4sPb222+3hQsXurOKVF2r+YxorvKf//zHHn30UXvggQfcPOikk07KtxVCxYoV7dlnn3WhsO774IMPdot++fS1H330kXvjWWcY6c1wnV2kil/1nx18//12wTnnuJ666pOr0Fj3+frrr+dqHaUWU37rhnD77befW2z1iCOOcJ+rfYLaQGBHCaHC1meXIvphrFy5snt3IpILPqi3mfp5FLb/xjXXmI0a5e1PmWLWqVNEDgXFNF6IDsYqdjBWhaN343tO6Bn1BcYYr9hRUmNVHPOj0iza8021w5sxQ/3jvNZbrOVR8vg9GzsYq9jBWMXoeGmBsb//NvvuO7Pp09Uo3kyLTqkPvN581cfq1c3S0vQHNPemv3cVK3qb/p7qo/rKv/ee2QcfmK1aZc8eanbZaUU/viMWmd3yjdkJv6r3fHkztTrSac/qF6uPBx2knkwWl/Rcz51rptD3f/+z0OzZbrPhwy3xssuK9aHXM+eksjZWKmvD1r0AAAAAdptKNfzK2oYNCWoBxBm9A6WKyngquvn3X7NNm8zq1bPAWrPG7KWXzF54wQtLDz7YrHXrnK1xY7MNG8z++Sd7S/jrL6sybZolKPzIs3BnJFVM272va7jWbExrs6wEszMWbDb7/HNv86nXa5s2ZnfeaXbyyd47oLFo1SovgFIY63+cP1+lvdk3Sdi+hcKDKhQb2iAElHrV+v8G1G+5atVoHxEAoCQkJSTZSY1Pyt4HgEhbutR7vSz0qwUQN/791xIuvdRqvfuuWVKS2b77mjVokLPJ6tXepnBKH8uUUaNQNTg3q1t3z49BgepHH3lhpAJWbXocfVTV5wkneKFe2CnjBdq61asO1Wnqn3ziBdCq5lRP9t69vUrTPbV2rfdc5K1WrVDBC1v322/nobfe/Zs61ezpp81ef907Zt+SJWbb+6o6GhN9D2EU/hXrOWR77eWe82NOPsaS/77BMkK5H39nkhOTbfiIn6zcV9MstexnZusne99TOIWZqgY+9VQznfL/yCN7vuCQwqDffjPTwlx7771n96XxWbTI7PvvvdNp9HO5caP3c+pvK1d6E4NCyKxb1xJVuYxiR1gbUH/+mTOJZnExACg9yiSVsavaXRXtwwAQx/RazdeoUTSPBAAiRKfO9+xpCQqm/MDrjz+8rTBfq8rI4483u/his9NPNytXruhVpeph+NhjXvhZkDffzOlFo4CvWzcvGN22zQv+tGmxqLfeMhs/3gtTw6mi64YbzG65xfv6Sy4x69rVC50LS4/x/vve8U6evPPbli9v1ry5F9zuv78X7il41verTcHFL7/s+HWVK3vfR7g8QW24UNWqlqAWA+3be60G9MdJz6PaIWghUG0KvTUuCr39TcGhAkkFzApQ/I+qcFV4etxx7vQRdbE/641v7I15hVtkTEFtz4N6Ws16zczO03axd4WqfzUG/qafnZ9/9q7Tc6kKYo3Jffd5Yevvv3vXa1MAq/BVx6WerWXL5n5QPY8K5l9+2QtYpUYN713VAw/0Nn2/+pnwn3/tq5Jc96Xnxt8UjKuFgUJahbFFpa/X4+n7UcuH1q0tq0ULW5mR4VotxWj9cEwhrA0oFhcDAABAcQh//czZWwBimoK6J54w+89/vMBTOa2Cv/r13Sn2O4Sd4cIrPRXuqnpVm4JGVa5q4aNd9SNUiPjoo1q9MqfaqjAUomkbOLBwt1eVsPq2qjpS9L0q0NWmUFABsxbOVBCYNwT0KbR79lnvWNUftjAUBPrHuitVqphddJFWvPKCvsWLXa9Tt82a5QWXCh/1vWzfsvbZx1bXrGl7d+hgCRqPYnT7UbfbOwvfscyMTAu55cPyl2AJLqwdcOSAHa9UH12F+tr8nz8F8Lfe6r0xoM+fe84LXBWK6+cqrwce8ALVo47y7kfVv7q9KpTzGzNtX31lxUIN6xV6a7z8Xrza1Is378+RvpdibFWB3AhrA4qwFgBKJ637uT5tvdvXCrMJsdr7CkBMhLXKJAAgKlSlOWeOV3EYvqmaUr+c9G6Sgkh/U9CnsEwLTumjQqabbzabMCH7LkNHHGGrRo606q1aWYJO31elpUJbVSrqc1U2alMLAX29KkP9Pqva939JPvmkt3Xs6IW2Z5/tBWwKZBWY6tR3bR9/7C3E5NNjnHOO1+rAfyz/+FVdqYpWbYXp+6mq1jPP9ALQY47xwuV588yef94L9/Q8iSpddZk2fU+quG3aNKf9gt/6QaFpenrux1C1rCpZ9XV6zv1qVVW1/vSTt2lMClqXXsekr1dA6z9HPj+U1fEUJCvLMhUAlsB8t0WtFvZOr3es+/julpGZkW+FrUJabbqdbr9LOm6F5PoeH3/cq6jVz1ze5zmvLVu8FhHhbSLCf4ZUEaw3EtQ3Vm8I7C793KmK299UpavxVTW3fr6KOSDH7iOsDajw3916YwMAUDqkZabZ+W+f7/Yn9JxgqcnF2skLQCkUXmhGWItABXdauf2bb8zq1PFOh9bCPXl/SNUTUwGfgieFIqec4gVTxUEhnBbamTbNyuuU4549vVPCsWdUFapga9Agr39mpNx8s4Xuv9+yNFY+hY8tWnhbfnS6vY7jrru86kWFtuq9qopSUbWjNrUeUPCoU8vzCy5VhahesmpPoD6v+dHPtDYFegqQ9fM+c6YX+GmhqvBNVY5nnOEFa+FU8fjQQ151pqqAX3nF7MMPc55H/ZsYO3bnz5MeT2Fyv35eC4VdLcSmf5sKiVWNGx6i66OOL4YWcuvWuJtNv3S6Dfl6iL0+93XLDOth67c+UEVtoYLavOOvNw4UrN97rzcmeo4OOCBnUzD+669mkyZ5W97+t2o1oa9XVXd4T2P90V6wwNv0O0nPuzZVMuujKnN1uQJgf9PnWkFUP98UfsQkwtqAh7V6w6Og3/UAAABAUVFZi8BQqKDFmNSbU8GVPg+nkEFBrCrCFJD5K5SH975UQHLssWZXXuktFJWSkvs+FLrpa1RhqCoybQrD9FEhk0INBcDa9PgKvX780QW0fiWioqhKuq977vECFVUQKrgN2gp9/inrCitVOapKVG0KdQoTqOk5VvWnqlD1HKkPqr/pOlVY+qHRwoXeJgqWFLD7mxbz6tLFO7U6b1D09ddmV1/tVWwWRAGgAsL8TiHPj74/haxqBVDYr8lLz0+nTt42YoQXgmrRLP84FZjl11JBYdmll5rdeGPhFg3z6TlSWLq7NCZ6o0KbfnZVofnGG96CZHl7xfp0fAoCr7qqaCGDwkC/MjMOKIh99cxX7cEuD9oZ48+wjKwMu+XwW6zr/l2t5l419+zO9e9Nb0Roy4+qkDUG+vekf0effuqN10knef1h8wtW9fN92GHehlKDsDaA9G/V74OuNwBj6I0qAAAABBxhbSmjU6OHDTOrV8/rj6gQTVV7u1rh3Q8uddq3QkBVaKmSJBJU/TdggLeYjkK5nR2HHw7uzOefe5tOjdcCUerDWJhTuHeHqnq1qdeoXqypV6XClz2tXtMx6nh1irwCR42VwrGdnaas06O//dYLQFWRrL6g6pOZl+5Dz43CZb/KVJuqNFXh+cUX3vbllzmn1heFqgW15aWfGZ0erkBRj6XqVf08+vSc9eplduihXtWhNoWICmv1HOhnTyG7fyq/enfqlHkdo/9R4fDtt0d2tURVjypIVaisqlqFtqq2VUWwnjeFZgrd9FEVk9F+wa6f99NO8zadfq+fBf27UmWn34pBgZ8CeGRTMFunYh23f9ZBZ5Xs2Wz62fcXDQPywb/WANIbuT7NowAAAIDiCGv1+h1xSgHrNdfkhGMKPHXqrfgrkisc8wMwf1MoppAsb4WiAiGdOn3uuV4VWHhvyqKYMsULVBUShlMlqPpzqjpSx6FV1rXplMPtC0e5sEltCLavTu4uf+aZnNXY9XUKpiNFQdxhh1lW+/a28d9/reInn1iCgjCfwtULLvCqMEeP9k473p2AVj1XtfmVqqIwWOPUrZv3fLdt612vQNbftIBTYagSeelSb1OoHQkKKBWsakx0v/lVc6oCaeRIb8tLAa0WulJbgILuX6GptkgGsUUN1A4/3Nu0MJeeR/07CDJVlqvSHEBMI6wNIBYXAwAAQHGhsrYUUJWjFr0paBEjBbKqFCwKnWqtVc+1qcJWLQcUIqp6T5WQ/qZ3APJ7F0CVunfcYfboo7lPr1ZlpTYtqBNe+afejaI2BQo0VR2a3wrl//mPF0AqLH377dyVpQqUFe6qGrJuXS+A1vUK3fyV2hW+5d0UDqpyUt+bZGXZ5hUrrMIdd1iCAlI9B2rdoFYJot6hao8weLAXkOdXDatqYoWtCpb9jwpcf/ml4Odc4/Tqq95WGKrSO+II7/i1QJS/kry2f/7Z9UruGr8jj/TCcAXJCsP9Tc9V/fpeda42Bf3hY6FKTj8QVh9WtbVQtW7eSl/1kFW/VbWtiKXFjfx2EABQAghrA4iwFgAAAMWFsDbAtMq8TrHX6XUK/woKhxSe/f67F4SpR6IqMP3g6513vKBT4aBoxW9Vn6oyU5W16pGocDO/SkiFk6pw9VeEVyjrLyCknph+2Kf2CKom1ZYfnXLvn2p/yCHeffbv7/WO9ak3qPqM7qoaVYGgjn1n1Y8KerWpLYCCU39RKYWWkQ4E1U5Ci01pUyCp/p8KQhVW6rLXXjPr29fr+6ox0qZWDApMd0bfx9FHe71wFRh//LH3nKvKOT+qOFV1qipTFbB27Oj9HOyMjsFvD6FN1db6Gr9Xq37udvdUeQXvjRt721FHec+Ffsb0Pai1g1o16Pt78EGz2rV37zEAoJQgrA1wWKu/1wUtWgkAQCQ1bNjQypYta+XKlbO0tDRr1aqVDVaF0G564YUX7LDDDrNmhVx85YMPPrCbb77ZMjMzrUWLFu7rK+nFdh4jR460//73v5aQkOC2W2+91c4//3x33ffff2/XX3+9zZ4927p27WrvKLAIc//999vz208HPuecc7K/vy1bttgVV1xhs1ThZDqrcz977rnnrIYCECAOxVxYq9POFYYpxIp2b8jiNHGi19vTXzxLgZ3COFV46kWBKjq1Er3CXFVm+q0B/BcOfn9KvyWA6HewqkBVkeqf1q9enAp5tXiWFkxSsKpNgerOKgf1NWphoDBS91nQIkaiUHfyZG/LL3wdMsTs+usjP54KAf2K3JKg8VIAqf67Tz7pXfbdd95WGAqSVQmrBct69Mi9QJUCX42xfv61CJuqpTWe+pnQtjurvOvvmh9slwT9gtG/W20AgEIjrA0YzYH8BSf1pmSkevgDAGLDqk2rrFpqNUvLTLM3571pXfbrYrUq1CqRxx4/frwLabOysuyUU05xn/dXJdRuUNhapUqVQoW1GzdutL59+9oXX3zhbn/NNdfYfffdZw899NAOt23evLl98803VrlyZfv777+tdevW1rFjR9t///1tn332sREjRtj//vc/+1gVSWG+/PJLe+211+zHH3+05ORkO+KII+zwww+3k08+2Z5++mnbvHmz/fTTTy4Avuyyy9xjD4tk30MgQPyMTTmRii4DTZWLWqBIFFLed5/FJX1vCuz8oNZvO6DFo7Ttik5Z1ynz2nxqLaCKWlXG5qXqyaKu7K6v0eJk2hRMqkpXlbKq/AzfVL2p7ye/SlKFjC+/nBMexwO9sThqlNfL99JLc/ed9akFg/q7Nm3qBeb+R12mHqMFUXh+zDHeBiCikhKSrHOjztn7QJAQ1gaMWhZpXiYsLgYApcdPy3+yB756wN6Y/4ZlZHn93cbPHW/Jicl21oFn2e1H3W4tapXM6Rbp6emu2lSBqO/hhx+2119/3TIyMqxmzZou4GzQoIG9//77dscdd1hiYqK7TtWqK1eutBkzZtiNN95od999tz3wwAN2kvoaFkDBqkJXP9i9+uqrXWVsfmFtZy2Is129evWsdu3aLrRVWLvvvvu6bd68eTt8nYLnCy64wPbSaZpmdskll7jwVmGtAlqFtdu2bXPfh8JjVfcC8UrFlKJ/4nu6gH2x0gJUF16Y87lOn1YAqfYA8URVqKrQ9E931+JAqhDV4lo6fT6/0FRhn3qxqier35PU71GqcFaVnuqdWlwDrOpYHbO2gixf7lWhaPVkvcjR79XLLovfvp9qRTB7ttkbb5j9+6/X01VhrNo87O5ibACKTZmkMnbDYTfwDCOQCGsDhn61AFD6fPLrJ9Z9fHfLyMywjFDuhTgU3CrAfWfhO/ZOr3esW+NuxXYcvXr1cm0Q/vzzT2vTpo2ddtpp7vJXX33VFi5caFOnTrWkpCR7+eWXXaD64Ycf2p133umCW1W3qiJ3/fr1rqL2lVdesRtuuMG6awEaM1uyZIkLbNWiIK9Fixa54De8JcPSpUtd+Ksq2IJ8+umntmbNGmtXiOowPcaReiEd9hjjxo1z+2qB8O2337oQWt9fhw4dXHUvEO+VtYFugZCe7lWarlmT+xS0yy/3el/GSzuErVst4bzzvGBa2rTx+ntuf2PJBbDff+/1FlV1poLqJk12HniqyjYIKXytWt6mStzSQq0rtrfmAQBgd8XJLCd+qA+9T2+YAwDiv6JWQW1aRtoOQW14YKvrdTvdvrio+lRh6qpVq1x4qh6vot6vCkYV4KpNgtoDKPz0K13VJ1aXqcWAgtr81KlTJ9+gdnepZUGfPn3cMfvVsrvr//7v/1zQvGzZMhcS63sYOHBgxI4VCBLleDER1t56q1dZKurNqYBSpk41e/ppiwuhkFW+6SZL0PckCmPfey8nqBX1kT3xRLMbb/TCa7UP2FVlahCCWgAIuFAoZFsztrpN+0CQENYGjM6YCZ+bAQDim1ofqKI2ZDufJOp6hba6/YwlM6zfh/3svzP/WyzHpGrWHj162OdaLXz7ZHbAgAEubNWmoFSbDB8+3C3aVb58ebvooot2q89r/fr17S+/qszMVfaq/2xBVbVqc6CeumPGjMlVLVvUx9BlogXLzjjjDEtNTbWUlBTr3bt39vcOxJstW7wCVSngvZXo0+JVjz3m7auf54QJ+oeac/1tt6lcP/KPq8WcFJyqkjUrq+Db/f67t9K9FoPSpj6savWiBaHuuMNszBivfcGuXvzfd5+Ve/ttb1/Ng1VRW6dOZL8nAEC+tD5Ezwk93aZ9IEhogxAw4Wd6Va0azSMBABS35RuXez1qC6iozUthrfrYrt6y2trVaWcnNcnpA6tAVRPNLdu2uAqBLRlbdtjPCmVZp4adLDU5dZePpbBSfWBFrQweeeQRO+uss6xatWqut+ucOXNcn9kFCxa4Rb+0KVxVlapUqlTJ1u1spfAwJ5xwgvXr18/dl/rWPvnkk3bOOefke9v58+e7dgoKWI8//ngrrJ49e7rHuPbaa91xKuhVP13Zb7/93HGfq8VhzFx7h4PjrScmsF34P8uoV9aq1YGqRMMrQbXi/SWX5Hw+YoTXGkD69DF7/nmz9evNrr/eC3Ej8YRMnOhVtH70UU5DX4WwZ5xhduaZZkcf7a3GpoW+hg/X6Qa5w9xly/K/b70hpP6zxx3nBboKcHWGwf/+5z4mbn8DKZSQYAmvvmrWuvWefz8AACDmEdYGuLK2WrVoHgkAoLhN+XNK9mJihaUKWwWwG9I22H1f3OcFsRlbXJuEXVXn7lVmLztg7wOsUdVGO+1Zq16xqjq9b/uq66o0Xb16tR2r0MG1jcxwC3QprL399ttdP1tVpKq69qmnnnK3ufzyy+0///mPPfroo26BMbVPKKhnbcWKFe3ZZ591obDuW0Hpiy++mH29vvajjz5yrRSuu+46FwL379/fbTJ06FDr1q2bOw61ZdBiYVogTYuN6fjUX/eYY45x35+/cJj2VZ0rCm11vH5Aq8BYfXiBeBSIsFYVpwpkX3hB7+x4bQ60CJO2yZO9MFb0ps2VV+Z8nRYdVPWp+rhqESftn3rq7lVHKOh9/XWzL77IKTUOt3Sp2ZNPeptOd1OLgvDFJfz+pHvv7S2kld99qF2MfpeF/T7L9+kYOtQSTj+96N8HAACIS4S1AUNYCwClx4b07St/F1FmVqbtV3U/q5xa2cqVKWflksu5atnwfW3ly5TP3td1iQkFdz9SW4Bw6uG6QiuUb6eQVFteb731Vr73pyDUD0N9O+tZq8XM/AXN8gr/ukmTJhV4H02bNrV//vmnwOvVhza/XrSqFn5DwQ9QCgQirH33XS+oFQWzCkHzBqEHHOC1PgivulUwqkpbfwGnfv28ytUKFbwAODPTC01VratK2HBbt5p98IHZ2LFeBa2qevPSE3LCCV6viE8+MUvbflqswmFtvtq1za69VqsTesekKtvVq70KW7VnmDXL7LPPvIXQ9Lj5qVDBQi1b2vrTTrOKN920O88iAACIU4S1AW2DoDZ9e7heCgCguCkcmDLFq6467LAiL+pSMaXibj3strTN9s0/39jZB51tPZv3tFJBIYyq4P7+2zsteXuLBgAxFtYqCNViWeGtAhRwhlemqn+r3kCpmM/vyPPOM3vpJa0M6P0+UN8wP6gNp9/LCnE1odZH3dav2A2nql69UaTtqKNyFu/asEE9Ubz+uQp3N282a9nSTMFqr15mZcvm3EdiolmNGt6m6v1u3cwGDPDC3u++84LbBQu831utWnntDvbbz50LsWXFCqvIgmAAACAMYW1AK2vVAoF5GwAE2MaNZpdeajZ+vPe5XqCr8rR3b7Ny5Xb+tQoWtmyxY8ofZMkJSZYRyhMy7ERyptnL98+z78+rYRuq/WXW3OLfl196i/moz6Oo/YF6SKp/5VlneUEMgELxW7JGLaxVKwO/kr9zZ5XLe5Wpixd7l6s6vm1br7I2P5ogqzWB2paoajW/9gOi67SFV8SGV8aqR7UqdBWc5jfpVlCsNgzaFNQq5dbXFWWCrkBXv6u05Wdni5gBAIBSi7A2wGEtACCg5s3zqjtVKeX76Sezyy7zgsTLL/eqv9THcOHCnE0L5+gUClV3ZWZaLTM760yzNw4yy8hzxm5BQW3PuWZNl6Zb00cmmY2cYnbhAm9l9MaNd/7FM2d6q6srZFZ1lzZ9jT5q9XEFyAoOVJ2mj1u3WrK+J1WXqe+iFsLRR6U7WixHIYsW4ClOf/xhduutXoVdfgGutmuu8QLbBg286jZ/0ynQBx3krdCu01UARL+yVmHskCHevv5djhzphZ/696oKW22Fod9bL79sNmyY2bZt3n35m+5Ll+l3Xfim4FTVs3pDTb/D8rZJ2BlV+moDAAAoAbx6CRDNK/WaWHRGFwAggF57zQtlN23yPtfiOM2amU2fnvOu24MPelsh3P6V2TvNzDITtSJ4wbdLsARLTkmxAY3ONiv/plfppT8czz3nrY7eo4cXbLZrl/sLdXrx7bd7pw0rkC0kdbetXtCVejxp3tysSxcv+DjkEC9oUVBaFAqx1ddRpwurQs7vOalTltWv0u8ZKToFWauzjxuXE5RrHHa2eI9CXFU89+0bxQadQDDD2ipVSvjB//OfnB6u+nepN1R2l96k0QYAwG7QWg5H1Dsiex8IEsLagJ6WRmUtAASM3k1T6PnEEzmXqfWB+hk2aWL2/fde5ar6qipEzY+C3Zo1vY/aKla0FpUq2TsVUq17xiuWkZVpGaEdT+lNTkx22zu93rEWjbuZ9X/Ee6zHH/eqdFUJq+pTbZ06eaGtPg4f7oXGCnaLw9y53qZjEVWeHXigtymE0WnKCljr1ct96rAWLlPgqsq4GTN2/Th6zgYP9toeqBpOi4SpD6RCY91Pfn0ofaoIVkA0aJC3+ryqnrUgkF+Bq+NSj0qNB1AKRK2y9tNPtSKht1+rlvdvEgCAKElJSrHbjryN5x+BRFgbwBYIQlgLAHt4qu38+V4Il5LibdpX1ebvv5v98kvOplPtVV6mUDF80ymzqvj86ivvdHv1Sw3vL3jRRV7fRP/UWFW0vvKK149RFaFz5niVpk2bepuqbxU65tPvsJuZTV9+vQ35eohNmDfBMrJyAluFtD0P6mkDjhxgLWq18C7UIjb33292yy3eMSgsVcsF+eILb9Pxh1el6nu8+26zU07xvufffsvZFJ76rQO0JSZaKCnJtlStaqlNm1piw4Zehaq+H4WfCl20KaAOf04UCqvdgrZwemxV3mrTY0+cuONiQPnRuKlX7R135A5T9RxqQTdtWhlex6FqvfA2DjrtWWHwxx97X6PPdcq1tvy0aeOFuqrU8xcYCpKVK72fQYXjeuNAz/X2LWHjRquid3z1M6Fen0DQwlq9gaVKWt/QobxBAgAAUICEUKgI50SWEuvXr7fKlSvbunXrrFKEKm2ysrJsxYoVVrNmTUss4BTRadPMOnb09jWf9QuVUPIKM14IBsYqxsZq2TKruX69JaoX6g8/eJvCQlVhqpeg+otWL/Dk+11T6HjnnWbPPlukU/6LRCGoKlq1uFgxrAS5YtMKm/LnFFuftt4qla1kxzQ8xmruVXPnX6SgUsHkww+b/fxz7usUvl59tVfFporSSP7bUkA4ZYr3B0zhuHr5KgwvyqI5WtxHC/ho4Z7wvpPaFDyqn+6e0HHpD6raQGgV+l1RIK2AWOOb30r0xUXtHBTIajEk/6P+bcya5YW0WnRpF7LeftsSu3ePqflRaRat+abeZ9I/B/+fh95HKnaq8tebIaI3Wb75pugtU+IQc5jYwVjFDsYqtjBesaMkx2o9c04qa4OEyloAcWvbNku4/nqr+cILlphfYKbEQO0E9If/iCO84Fan0KuCUGVgOs1dHxUCtm9vdtRRuZstpqd7Aeq99+78lPj8aJEs/QIOr0LNj45Hj3vVVV77g2KigPblH192+xN6TrDU5NRdf1FqqtdHV31Z33vPq+799lsv/FaAq7YExUFjoHAwPCBUcKzAWBWgP/7obQrltdK7b999vUV+LrjA63tbnPS9jx7ttVFQf1/1Fvarb/1N/XH1BoJoEbWbbjK75x6vH68qAhWk+pWs6qer41elsV9xrI+tWhV9ASK9oaCQXe01wp+f3VVc7S4QV0q8slZnOqiqX/QGl1rJENQCAKJsa8ZW6zmhZ9Hm3EAJoQ1CgGiBcB8LjAGIGwqkLrvMEl580fKtQ1Xlp39KvIIztR3QtjN6wa9w7JhjzA44wKvaUksDnyoiFV6WK+cFuQrc9FH3r3BNPWa1aUXxvfbyAjgtdOVX+2pT8KVg+OijvQC5CFWpUaMAxA9PFZoqxC1peky/5cG55+Zcvnq1F4jqej2vJR3WaPzUy7egn1G1jlCw/eGHOYmW3kDIj4Lo/IJr/cxdc03hVrRX9ewVV5i9/faub6uqS1UgH3qo16JDbTD81en32suyUlNt1ebNVr1x413fF0q98DUSij2s1ZsQnTvnrKCrinW1HAEAAECww9pRo0bZQw89ZMuWLbOWLVva448/bu31Qi4fzzzzjL300ks2R70AXYu5NvbAAw/kur06OwwaNMjddu3atXbEEUfYU089ZU30wjzAqKwFEJfUb/TFF91uSD1ITzrJEhS0+r1htfiUFotSRei773qh6a4oXNOp4dryhriqLlXvTi1gU1g65V4VntrOO8/iQjSC2l2FpQrXg0g/Nzo2bWrloPBfFa8K+PO2wJD8qrCVgKmiWV/bo4fZ9debHX54/q0y3n/fC63UtsOnU8P1b0FtQBTGalPVt/6tNGq083A7K8uydF/+8QGFqKzVrz29n7XD71a9kaCqgZ31blYP6Bde8P696E0H/S7PSz+Tqk5XaxRRvwUteAgAAIBgh7Xjx4+3m266yUaPHm0dOnSwESNGWLdu3WzhwoWuF0ZeU6ZMsXPPPdcOP/xwS01NtaFDh1rXrl1t7ty5VrduXXebYcOG2ciRI+3FF1+0Ro0a2V133eXuc968ee5rgoqwFkDc0emuQ4a43VBCgq0dNcoqX3KJJeQNnlS5qk2Lziis1aJQ+qWosi9VFfofVe2qxb5UBanq1/C+tGpRoN6kqkAEdpf6J6vn8aOPeqGVKq+1KdVSFbgfZmmhNW06xXv2bLMJE7xwV1Xi2temheVUva35ib9NnWo2ZkzO4ymcffppL+AFSjCs1a/VHd5L0Jtr+p2tNwvUqkQNbvWGQXgAq5Yzo0blnBKmBRW12IJah/h9nvX7+/jjzRYs8D7fbz9vUUJW0AUAAAh+WDt8+HC77LLLrE+fPu5zhbYffvihjRkzxm677bYdbj927Nhcnz/77LP25ptv2uTJk+3CCy90VbUKfO+88047/fTT3W1UiVurVi1755137BwtYhJQtEEAEHPU31OhqSqmdAp2+Cv/N97Itfp36LHHLO2UU3Z9nwq4tBXED7UUBqhdgk6tV5hw8snFsuAXSimFTvktMKafMb2ZrK1du5zLH3nEC12ffNJs+XLvMr3xsLNKcf17eOYZb3E1oITD2vC2347eeBg2zNvXGxIjRnibWppceKHZr7961bRqsRJOb1DozY3XX/du37Wr2QkneP2qRT2eJ0/23qwAAABAsMPa9PR0mzlzpg0YMCD7Mq0q16VLF5uqypNC2Lx5s23bts2qbX+n/o8//nDtFHQfPq20q6pd3WeQw1oqawEEnnq+zpjhncattgX+i3FRL1i9SFc1laoQzz8/p/JVv+f79ct92vee0u99vSm3/Y05IKrUdmPgQLP+/b3QSlXls2Z5/ZDzqlDBC7UuuYQ3GFCi9Cs5vLI2F73h4PcPD6ff8zffnPsy9VBQ5a1+7yvgVYCr/rQ9e3rV4qtW5fy7UFCrRfgAAAAQ/LB21apVlpmZ6apew+nzBf5pU7vQv39/q1OnTnY4q6DWv4+89+lfl1daWprbfOu3rySepR5wCiYiQPejqt+d3d/q1aoI86rCqlTRY0fkoVFM44VgYKwiSL/71Dt26lRLmD49Z2V5v1pVH+fPt4QCfpe6U8JVJagtTEhnPdx3H2NVxJ9pfz9av4f4t7Wb1OdTIZY2jZ0qFBVi+ZsWu9MbDFqETOMc3soj4GPF38TYp1/rfh6bK6zVG2lq/yFauE5nTKhtgfqNT5uW+40G9ahVT2b1WBa1Srj2WrOPPvI+94NavaGm+9AikAAAAIidNgh74sEHH7Rx48a5PrZ70ot2yJAhdo/6bOWxcuVK25r3VK89eIGzbt0692JK1cP5WblS1cEpbj89fUVEC9AQ+fFCMMT1WKWlWcKGDZa4caP7qC1UsaJlaLHESPTfzsy0lC++sNT/+z8rM2OGJSuILWLYk96qlW3r0MGS5861lOnTLSHPgkxpxx1na7TY18qV8T1WEZSemW4HVjrQ7a9aucpSkry/CyWN8YoQvcmh08C1hYvgH/mSGqsNGzYU232jZPhVtTuEtSNH5rQ3uPxyr62Ntiuv9Fp5aPFHBbVagDFv/wT1o/3gA7O33/ZC3H/+8XqM/9//mR18cMl8YwAAFFFiQqK13adt9j4QJFENa6tXr25JSUm23O/ttp0+r72L/m0PP/ywC2s//fRTO0S9tLbzv073sY9WUQ67z1bhCySEURsGLXIWXllbr149q1GjhlXSZDNCL6QSEhLcfRb0QmrDBq96rWLFkNWtu+Piaig5hRmvUkNVYDNnugWdEtassZD6hbZvb0ERF2OlF8hz5rhTphN02vT//uc+TyjgzaKQFjlST9dDDrGQfv9pFW4tzpVff838LFhgCaqWeuUVS1iypEiHGlJ7gy5dLKRemyefbMn77JP9hyS0ebOFvvrKEiZNMvv6a7ewUpmnn7aaeoEfL2NVQobuMzTah8B4xZCS+rcV5EVaR40aZQ899JA7i6ply5b2+OOPW/sC/lZpUdqBAwe6Vlx//fWXPfroo3bDDTfkuk3Dhg3ddXldffXV7rHkmGOOsS+02GGYK664wq2/EFNhrc6q2P49ucrw//wn9xfp782tt+76TQnND9QKR38D9NzToxYAEGAqiBh0zKBoHwYQvLA2JSXF2rRp4xYH6969e/YLDn1+zTXXFPh1w4YNs8GDB9snn3xibdt674T4GjVq5AJb3Ycfzip8/e677+yqq67K9/7Kli3rtrz0gieSL3r0Qmpn9+n3rK1WTbdjkZxo29V4xTWd/qjTGfUiVKHbpk3ZVyU89JB3Cu9995m1aGFBEDNjpdOdtSCXglktiuVv8+fn39eyAAk6h3XePLcljBvnXagAt0MHs86dve2ww7yegkuXeo/5999q6u1VR4Wf0urTc6fg9/DDva1jR7M6dXKO23/slBT3WPn+hlIoe+KJ3ubfPlbHCg7jFTtKYqyC+u92/Pjx7k13haRao0ALzXbr1s0WLlxoNbUQXD7rHey3337Ws2dPu/HGG/O9z++//9616vLNmTPHjj/+ePc14bRI7r333pv9eXm1EAiwtWvzCWu1MJ5/hXqN560CLwr9HTjjjD07SAAAgFIu6m0QNLm+6KKLXOiqCghNsDdt2mR9+vRx11944YVWt25d16pAhg4d6qohXn31VVf14PehrVChgtv0YkXVEffff781adLEhbd33XWX62vrB8JBpCxkzRpvv2rVaB8NYp5OZf/tN69CM3zTC229aaEKmfwqpFRyo0VE/L51BVHgp8WltGCfWojotPzi/geiRQd1SuVee3nVOnoxqY9hFfSBpRfBWmxIW54zCQqsUNLpp/reVN3vb6qc1e88LfaisFZVzz6FCt9+620K0vUGlALg/BaL8SnMPflkr9+gAt4InUkAACVp+PDhLjT1544KbT/88EMbM2aM3XbbbTvcvl27dm6T/K4XVSmH09lc+++/v3Xq1CnX5Qpnd3U2WKAra3UGx/DhOX97dlVBCwAAgPgPa3v16uV6wyqAVfCqatiJEydmLxC2aNGiXJUcTz31lKWnp9tZZ52V634GDRpkd999t9u/9dZbXeB7+eWX29q1a+3II4909xnk0/dUuOjnLlqPASgy9QrVQh4TJnhhqp/+5zVokNlLL3nB4Qkn5Fz+4YfeoiFaACecqiuPOcbb9BgPPGCmU+cVoL72mrfquSoxGzXyVnvWpn0FuPpaf3Gq3aHH0/0/9pjZjBn53kS/HfZWTzz1RT3ttGCtrK5FVrTi++OPe6eZFhSYNmtmduihZm3aeB/V1mBXLQ30C0MLMSq4VZCt1bbDF2YMWzRxB6qgVaih3oP5VJ0hurZmbLXz3zrf7b/S4xVLTQ7u3y4g2jQnVDsDtbTyad6ohWen6ndjhB7jlVdecQUGKgoIN3bsWHedAttTTz3VFQgEubp2h7D25Ze9NwFFFbH6ewQAQCnAnBtBFvWwVtTyoKC2B1o8LNyff/65y/vTRFqnpIWflhZ04bkalbWlhKot339fP9ReVaMCz6JQWKoqze+/N3vjDS+gDX8Vltfee3uPqUpLVd3qVHX1lxs4UE2gXf/SbAoKFeqq3cH+++cOQC+5RO+aeKHt6tXe/X31lbflpcpQ9a3zN7Um0ZsvquQJ33Qf/qro/qaed3oc/0XkTpRRWwFVzqviSW0atldMRY1aDzzyiHf8Wnrbp1YFXbp4z4NaSCg0VS9AtRYoKvUV1H1o06rzoqBdoa02tTpQFbJWnPc3rdzdvDkLvsSAtMydhO0Asq1atcq1K/Df5Pfp8wXhb2DtgXfeece9+X/xxRfnuvy8886zBg0auLO3fvzxR+vfv79rvfDWW2/lez9paWlu86lNl98CTFsk6H600FxB9+fNN70iiMoVtllo2LDsdjVZt9zinZmDErOr8UJwMFaxg7GKLdEcLz2mAlt/n9/FwRmrLP4uBiOsRU6/WqGyNo6p0lKhqsJVBWp+ObUCUy0QpRdKp57qBZrhVMmq/rHqJfvrrzlbWC/ZXBS2HnecV6WpYLB1a69twNy5Wh0lJ1jVC8q8Lyq7dTP773+9cC8/WmBKC/JddplXNapAUuFkfnS5vl9te0rfg45d35tCSa02vXixhdS3VWGt6DlSKNyrlxcma4XqkqQVsxV8q3JZVcHhwapaDeh0W4XfxUVtIS680NsAABHx3HPP2YknnuhC2XA6g8vXokULt7Bt586d7bfffnMtE/JSS6971DooD51htrWABSV358XNunXr3Iup/HoML1miql+v5U2jWS9bguYSCpKPPNLW6MyYFSsichyIzHghOBir2MFYxZZojpeC2vQ07zXbihUrOJstQGO1YcMGK+0IawOCsDYOqEJGi3Ip/PzsMy+sU8Wkvymw0wJPBfUQ/eYbb1OlpVZiVlWkKsu1/fLLrh9f/UbVBkAtQhS45tf2Q+0CFGiqila9acNflFWp4oWvCvoK00pAoeldd3mbfplq1WxVCWvT96nT81X1u7Nq313RHwGdlnn99WZHHpnvcYUyM23tCy9YlaFDLcF/nsaPN3vzTbOjj/Z6smo74IA9a5Gg/q8aH1VFqZehturVvedZVazDhqn8KtdiXK5vrEJthfAFhd8AgN1WvXp1S0pKsuV5+oHr80j0kv3rr7/s008/LbBaNpwWN5Nff/0137BWrRrUSiG8srZevXquP26lCPUM1wspnWGm+8zvhVRmpv93MGTtJj+RfXmZO+/MdzE2FK9djReCg7GKHYxVbInmeCmsTSnrneGov4G0HgvOWKUGuIVpSSGsDQjaIMQoVY5OnOgFgzptP7yacld0SvqZZ3oLST35pLdglF+dGVatky+dTq++sPpa9YY9/nizrl29cHBXFFhecIFXwauKXvWr06n56gubp2qo0BTcKgjWFk6nLyhAnT7d2/S9KbTWL19/0zGrb6t/bP6mIFSrUjdosMvvJ+3kky10/vmWoIXRVLW0cqUXrio016bwWy+cFdqqQlfPvd8WYFd/CPQ9qBJaofTPP+94vUL1vBXOetGthdwUMsfCAmgAEKNSUlKsTZs2Nnny5OyFZPViQp8X1GKrKJ5//nn3Au5k/f3YhdmzZ7uPqrDNT9myZd2Wl17wRPJFj15IFXSffvv0A22+Vfrtf94nbdpYouYQQer5XorsbLwQLIxV7GCsYku0xkuP5/ei5/dwsMYqkb+JhLVBEajKWh2MTtdXgBa+KWRTMLU7/TXjgSom1f/u669ztt9/z/+2GkT1z1N462+qyFTVil5MKqRVX1X/hZGCvY8/9vqtqvI1nJ53ndqvBb7U11aVtwoadfmeUCXtyJFeSFtcL9D0S1bHq00BcXHS89Gvn/c46her6uHw8VGfXn2/eWlMdHxHHeX1vNVzXKGCN94akzvu0Cvwgh83PKjVC/Qbb/QWaotQlRQAYOdUrXrRRRdZ27ZtrX379jZixAi30GwfLaRoOmHkQqtbt65rQ+AvGDZv+xuk2l+8eLELWitUqGCN9Sbodgp9FdbqvpP9NxW3U6uDV1991U466STbe++9Xc/aG2+80Y4++mg7RP3IA8o/2WV/+y3nQgXRBLUAAACBQWVtaQ9rFTjq1G5VPPqbFo3aVSimMEubKirVa/WJJ+I3xFVop+BPod3ffxd8O1Wl6pR9Ldql0+/zvLDbZajpn66v1gE6jV+9YRXQduxoVpwrS8fbCzSFpKquvftu7+f5gw/MPvzQ+1lXtW1eagWhTX181edW49amjXfdd9/lvq0CXW16M0ObKni1KfhWuwMt9FWY6mYAQMT06tXL9X0dOHCgLVu2zFq1amUTJ07MXnRs0aJFuSo0lixZYq11lsV2Dz/8sNs6deqUa2FbtT/Q116ihTXzqejV9X4wrHYGZ555pt15552BHlmtMyr1bVHOhbs6gwUAAAAlirC2NLdBuPdes0GDiv51WhRLB+wftKpTVFGYz6IZgfe//3m9VlVNmV+vNvVdvfZaL+jLS6GcKl7VS1W9YrUfiXJ9Vdxqw56H0M2aeZv686qcSIGseuouWuQF7/qoz7WAm0+Bbt6QVgu1KcjlNFGUgMSERDu4xsHZ+wB2TS0PCmp7EB7ASsOGDd3iGLvStWvXAm+ncPaLvGfCxAC/sjZXWEtPdQBAKcScG0FGWFtaK2sVPuYXrqo6VKeEa1V5LYSl4MrfdCr/5s1mGzd6C0rpoxb00AsZBVk6tT/Ap/5l0/FOnmw2eLC3eJcf7KmCVaGrttq1reKdd1rCCy/kXhDsuOO8xbsU0Kr6kirK2FG5stkpp+R/ncLaL7/0WlBomz/fu/zAA83uu8+rlo63CmQEVkpSig3p4p2uDQDFEdY2TFikNcY8hLUAgFKIOTeCjLC2NIa1Wl1CfT21cJLccIP3+QEHeK0NikKLLt1/vxfm6jTBadPyP/1fVYz//a8LQV0FqkLdkg46FdK+/74X0mqxq7zXffutt912myWkpNhe4YuFqYfd44+bnXBCyR4zSobepDjnHG8TtUVQOxD9m9BibgAAxFFY2yhpkZnfGUiLbQIAACAwCGtLYxuE667zTv0W9d98+OHdD6TUm+2tt7xWCDNnegs79e+f+zY//eRVoy5dmnOZ+tu2auUFty1aeG0UFORqU4+5SPa/1QJQr73mLS6lYwmnME4BrCpt587Nvjhhe1AbKlfOEtSrVqfRU0VbeqglRn5tMQAAiIOwtp7fBqFGDa9HPgAAAAKDsDZglbUqSi1qcWuRTJhg9uKL3r4WB3vppT2rHFSAOWaM1/NVlbrqgdu9u9dKQaZONTvppJwVLXwKQ1XdmrfC1Ve9ulnz5l4FbsuW3kd9XpSFtn7+2eypp8yefz7n1YlP93f77WZnnZXz/f/2m1d5+957FvruO0s77jhLGTnSEho1KtJTAgB7YmvGVuv7Xl+3/9xpz1lqcipPKIA9ppOIdHJVsm2zmhnbe7XTAgEAUEox50aQEdYGrLJWLRCKrTXm4sVmV1yR8/moUVplY8/vt0MHsxtv9Kpq09LM+vb1+n9OmuT1+lSfW9GiWWq38P33Xki7cGHB97lqVU7/UJ8W71Il8PXXe31l8wuZt271AtdnnvEeP6/DDvNCWvUuzftE77+/1xLihhsslJVla1essJpUVwKIgvVp63neAUSUTjRSG/76tsSSbHsrLMJaAEApxpwbQUVYG7DK2mJrgaCq14svzkmFe/Y0O//8yN3/vfeavfuu2a+/mn3zjdl553ntEbZt867v3Nns7be9al6fqm1nzDD74w+zZctyb7osvG2C/z34Aa5C5muv9YLhSpW8Cl5VCY8fv2MVr6p/zz3XrF8/s7ZtI/c9AwAAxAj/JKP6fgsE90n9qB0PAAAA8kdYGwBam0unpUVkcTEFmlrwS9WreWfoX32Vs5jS6NGRLeFVe4JnnzU75hjvc4WmvjPPNBs7dseer1WqmHXpsvPqWvWY/fFHsx9+8I5fYbCo5+5//mM2cKDXW1Thbl5qX3DVVd7CZ3vvHZFvEwAAIBb572UT1gIAAAQbYW0AhBeC7nFlrfrHqm/szqhn7R6nwvno1MkLR9Un1nfppV4wvDt9cdW39thjvc0PotXaYMQIs4kTc87pCw9qFRorHFa7heOO27N+vAAAAHGCyloAAIDYkBjtA0BOCwTZowxVLQceeKDg61VJqyB3Z9Wse2roUG8hMD3WgAFm//1v5AJT9azt1s3s44/N5s/3gmGFs3ostVlQCL18udcO4fjjCWoBAAC2I6wFAACIDVTWxlNYq1YDfpWpwspXX819fWqqWYUKVqzUk3bmTK9cuFat4nucZs3MnnzS7NFHvZC6uL8vAACAGEZYCwAAEBsIawPAX/Nrj9ogqPHt4ME5n999t9dGIBrUm7Y4g9q8j5W3Fy4AxLDEhERrUq1J9j4AFEtYm5Li9f0HAKAUYs6NICOsjZfK2nHjchbfUkuAww+PyLEBAEpWSlKKDe82nKcdQPGGtfXqeS2mAAAohZhzI8iYocVDWJuZaXb//TmfDxwYkeMCAABA/IS1lWydVbb13gX160f7kAAAAJAPwtp4aIMwYYLZwoXefqdOZkcfHbFjAwAAQHyEtdlVtUJYCwAAEEiEtbFeWZuVZXbffTmf33VXxI4LAFDy0jLSrO+7fd2mfQCIBK39miusbdCAJxYAUGox50aQ0bM2YJW1LqwNhcxWrvSqZcO3jRvNTjzR7PzzzfbZx/uCt94ymzfP21ef2uOOi843AQCIiJCFbMXmFdn7ABAJVNYCAMCcG7GBsDZglbV7b11sdmDnnLYGeX3+udmAAWYnnGB28cW5q2rVqzYhofgPGAAAADEX1h5OGwQAAIDAI6wNWFhb9bUnCw5qwxcU+/BDb/O1b2/WtWvxHSQAAABiFpW1AAAAsYGwNkBtECpUMEv68D3vE1XIXn21WbNmZk2beltamtlLL5m9+KLZ33/nvhOqagEAAFDYsLZePZ4rAACAACKsDVBl7SGV/jSbM8f7pEMHsyee2PHGantwzz1eO4Tnnzf77DOzk082O+mkkj1oAAAAxGZYW726Wfny0T4kAAAA5IOwNsq0lpgf1p6W8H7OFaedVvAXJSaade7sbQAAAMAu5pub1mVYXVvsXVC/Ps8XAABAQBHWRtnmzWbbtnn7nTdvb4Egp54atWMCAERPgiVYvUr1svcBYE9t3GhWK7TUki3Tu4CwFgBQyjHnRpAR1kaZX1VbydZZy7VfeJ80bGjWvHlUjwsAEB1lk8vakyc/ydMPIGLWrs3Tr5awFgBQyjHnRpAlRvsASjs/rO1mn1iZ0LacFghaYAwAAACI9OJihLUAAACBRVgbZWvWeB9PtbB+tbRAAAAAQIQQ1gIAAMQOwtoAVNYmWYadbB96F1SqZHb00dE+LABAlKRlpNnVH17tNu0DwJ4irAUAgDk3Ygc9awNQWXu4fWvVbHuJ7QknmKWkRPuwAABRErKQ/b3+7+x9ANhThLUAADDnRuygsjYAlbW0QAAAAEBJhLWZSWXMatXiyQYAAAgowtoAhLWn2XtuPysxyeykk6J9SAAAAIjTsHZL9XpmibwEAAAACCpmalGW8sdCa2o/u/3NrY4wq1Yt2ocEAACAOLJ1xXqramvd/rba9aN9OAAAANgJwtooazz//ez9bSecGtVjAQAAQPxJXOz1wZbMfQlrAQAAgoywNsoOWZQT1pY587SoHgsAAADiT9nlXgsESWhAWAsAABBkydE+gFJt9WprvvYbt7vQDrADWh8Q7SMCAERZgiVYzfI1s/cBYE+VX5UT1qbsT1gLAABzbgQZYW00ffyxJVum251c7lRrymtyACj1yiaXtedOf67UPw8AIqfS2pywNvUAwloAAJhzI8hogxBN7+e0QPi2Oi0QAAAAEHlVN+aEtWWorAUAAAg0wtpoSU+30Mcfu91/rar9WefwqB0KAAAA4leNLTlhrdWrF81DAQAAwC4Q1kZLYqKtf+4Ne9yusWftUqu8Nx0pAABm6ZnpdtMnN7lN+wB2bdSoUdawYUNLTU21Dh062PTp0wu87dy5c+3MM890t09ISLARI0bscJu7777bXRe+NWvWLNdttm7dav369bO9997bKlSo4O5z+fLlgRyufdK9sHZNYjWzChWifTgAAEQdc24EGWFttCQn24pWXe06e9z62zCrVi1qRwIACJCsUJb98u8vbtM+gJ0bP3683XTTTTZo0CCbNWuWtWzZ0rp162YrVqzI9/abN2+2/fbbzx588EGrXbt2gffbvHlzW7p0afb29ddf57r+xhtvtPfff98mTJhgX3zxhS1ZssR69OgRuOHK2pZpdUL/uP0VqfSrBQDA/X1kzo0AI6yNon//zdmvWjWaRwIAABCbhg8fbpdddpn16dPHDjroIBs9erSVL1/exowZk+/t27VrZw899JCdc845VrZs2QLvNzk52YW5/la9evXs69atW2fPPfece+zjjjvO2rRpY88//7x9++23Nm3aNAuSjb8uszKW4fZXlyesBQAACDrC2oCEtVTWAgAAFE16errNnDnTunTpkn1ZYmKi+3zq1Kl79HT+8ssvVqdOHVeF27t3b1u0KKfvqx5z27ZtuR5XbRLq16+/x48baZsX5Bz32sqEtQAAAEFHo9QoWrMmZ5+wFgAAoGhWrVplmZmZVqtWrVyX6/MFCxbs9tOpvrcvvPCCNW3a1LVAuOeee+yoo46yOXPmWMWKFW3ZsmWWkpJiVapU2eFxdV1+0tLS3OZbv369+5iVleW2SND9hEKhXPeX9suf2fsbq9WL2GOheMYLwcRYxQ7GKrZEc7z8x/b3+V1cuOerJJ6nLP4uEtZGE20QAAAAgufEE0/M3j/kkENceNugQQN7/fXXrW/fvrt1n0OGDHGhb14rV650i5VF6sWNWjToxZQqjGXjvIXZ16+rVKvAXr4oefmNF4KJsYodjFVsieZ4bc3Yaulp3mK++tuYmpxaoo8fa0pyrDZs2GClHZW1UUQbBAAAgN2nPrJJSUm2fPnyXJfr850tHlZUqqA94IAD7Ndff3Wf677VgmHt2rW5qmt39rgDBgxwC6GFV9bWq1fPatSoYZUqVYrYC6mEhAR3n/4LqS2rVmVfn9iwsdWsWTMij4XiGS8EE2MVOxir2BLN8VJYm1I2xe3rbyNhbXDGKjWV4JywNiBtEFhgDADgq1Q2MsENEO/UikCLe02ePNm6d++e/WJCn19zzTURe5yNGzfab7/9ZhdccIH7XI9ZpkwZ9zhnnnmmu2zhwoWur23Hjh3zvQ8tZpbfgmZ6wRPJFz16IRV+n2uq7Gf/2JFW3xZZqF5DQsGAyTteCC7GKnYwVrElWuOlx6ucWjl7n9/DwRmrRP4mEtZGE5W1AIC89K7+2B5jeWKAQlK16kUXXWRt27a19u3b24gRI2zTpk3Wp08fd/2FF15odevWdW0IRBWx8+bNy95fvHixzZ492ypUqGCNGzd2l99888126qmnutYHS5YssUGDBrkK3nPPPdddX7lyZdcOQY9drVo1Vxl77bXXuqD2sMMOC9TYfXfETXb1WK+i9/kG0T4aAACCgTk3gozK2ihigTEAAIA906tXL9f3deDAgW5xr1atWtnEiROzFx1TtWt4hYbC19atW2d//vDDD7utU6dONmXKFHfZP//844LZ1atXu9P9jjzySJs2bZrb9z366KPuflVZq4XDunXrZk8++WTghnPt2pz9yl4BEQAAAAKMsDaKWGAMAABgz6nlQUFtD/wA1tewYcPs1Z8LMm7cuEL1Uxs1apTbgmzdupx9wloAAIDgozlSAMLaChXMypSJ5pEAAIIiPTPdBnw6wG3aB4A9QVgLAABzbsQWKmujaPhwnYqnfmnRPAoAQJBkhbJszso52fsAsCf69jVTG12Ftg0b8lwCAMCcG0FHWBtFJ5wQzUcHAABAvGvb1tsAAAAQG6LeBkF9vtQ7TH2/OnToYNOnTy/wtnPnznWLOOj2CQkJbrXfvO6++253XfjWrFmzYv4uAAAAAAAAACCGw9rx48fbTTfdZIMGDbJZs2ZZy5Yt3Uq6K1asyPf2mzdvtv32288efPBBq127doH327x5c1u6dGn29vXXXxfjdwEAAAAAAAAAMR7WDh8+3C677DLr06ePHXTQQTZ69GgrX768jRkzJt/bt2vXzh566CE755xzrGzZsgXeb3Jysgtz/a169erF+F0AAAAAAAAAQAyHtenp6TZz5kzr0qVLzsEkJrrPp06dukf3/csvv1idOnVcFW7v3r1t0aJFEThiAAAAAAAAAIjDBcZWrVplmZmZVqtWrVyX6/MFCxbs9v2q7+0LL7xgTZs2dS0Q7rnnHjvqqKNszpw5VrFixXy/Ji0tzW2+9evXu49ZWVluiwTdTygUitj9oXgxXrGDsYodjFXhn6eUxJTs/Wj93WC8YkdJjRVzGAAAEE/KJhV8xjZQKsPa4nLiiSdm7x9yyCEuvG3QoIG9/vrr1rdv33y/ZsiQIS7UzWvlypW2devWiL3AWbdunXsxpQpiBBvjFTsYq9jBWBXeqE6j3Mf1/643/RcNjFfsKKmx2rBhQ7HdNwAAQElKTU61N85+gycdgRS1sFZ9ZJOSkmz58uW5LtfnO1s8rKiqVKliBxxwgP36668F3mbAgAFuobPwytp69epZjRo1rFKlShF7IZWQkODuk7A2+Biv2MFYxQ7GKrYwXrGjpMYqNTW12O4bAAAAQJTD2pSUFGvTpo1NnjzZunfvnv1iQ59fc801EXucjRs32m+//WYXXHBBgbfRYmX5LVimFzyRfNGjF1KRvk8UH8YrdjBWsYOxii2MV+woibFi/gIAAADEeRsEVbNedNFF1rZtW2vfvr2NGDHCNm3aZH369HHXX3jhhVa3bl3XpsBflGzevHnZ+4sXL7bZs2dbhQoVrHHjxu7ym2++2U499VTX+mDJkiU2aNAgV8F77rnnRvE7BQCgcNIz023IV97fvQFHDbCUJK9/LQAAAIDIYM6NIItqWNurVy/XF3bgwIG2bNkya9WqlU2cODF70bFFixblquJQ+Nq6devszx9++GG3derUyaZMmeIu++eff1wwu3r1anc64JFHHmnTpk1z+wAABF1WKMtmLJ2RvQ8AAACAOTdKj6gvMKaWBwW1PfADWF/Dhg3d4hk7M27cuIgeHwAAAAAAAACUBJqnAgAAAAAAAEAAENYCAAAAAAAAQAAQ1gIAAAAAAABAABDWAgAAAAAAAEAARH2BsSDyFzFbv359xO4zKyvLNmzYYKmpqZaYSEYedIxX7GCsYgdjVThbM7bats3bsv8OpSenWzQwXrGjpMbKnxftarFXFA7zTfB7NnYwVrGDsYot0RyvoMy5Y0VJjtV65pyWEGLGvYN//vnH6tWrV6w/fAAAALHo77//tn333TfahxHzmG8CAAAU7O9SPOckrC3gHYMlS5ZYxYoVLSEhIWLvDCgA1g9bpUqVInKfKD6MV+xgrGIHYxVbGK/YUVJjpff3VVFRp04dzhKKAOab4Pds7GCsYgdjFVsYr9hRkmMVYs5JG4T8qKS7uNJ7/VAT1sYOxit2MFaxg7GKLYxX7CiJsapcuXKx3n9pwnwTPn7Pxg7GKnYwVrGF8YodJTVWlUv5nJPmqQAAAAAAAAAQAIS1AAAAAAAAABAAhLUlpGzZsjZo0CD3EcHHeMUOxip2MFaxhfGKHYwV+FmITfzbjR2MVexgrGIL4xU7GKuSxQJjAAAAAAAAABAAVNYCAAAAAAAAQAAQ1gIAAAAAAABAABDWAgAAAAAAAEAAENaWkFGjRlnDhg0tNTXVOnToYNOnTy+ph0YBhgwZYu3atbOKFStazZo1rXv37rZw4cJct9m6dav169fP9t57b6tQoYKdeeaZtnz5cp7TKHvwwQctISHBbrjhhuzLGKvgWLx4sZ1//vnu3025cuWsRYsWNmPGjOzrQ6GQDRw40PbZZx93fZcuXeyXX36J6jGXVpmZmXbXXXdZo0aN3Fjsv//+dt9997kx8jFe0fHll1/aqaeeanXq1HG/7955551c1xdmXP7991/r3bu3VapUyapUqWJ9+/a1jRs3lvB3gpLEfDN4mG/GLuabwcecMzYw3ww25pzBRFhbAsaPH2833XSTDRo0yGbNmmUtW7a0bt262YoVK0ri4VGAL774wgWx06ZNs0mTJtm2bdusa9eutmnTpuzb3Hjjjfb+++/bhAkT3O2XLFliPXr04DmNou+//96efvppO+SQQ3JdzlgFw5o1a+yII46wMmXK2Mcff2zz5s2zRx55xKpWrZp9m2HDhtnIkSNt9OjR9t1339lee+3lficqcEfJGjp0qD311FP2xBNP2Pz5893nGp/HH3+c8Yoy/S3SfEHhW34K8+9IQe3cuXPd37gPPvjATcYvv/zyEvwuUJKYbwYT883YxHwz+Jhzxg7mm8HGnDOgQih27du3D/Xr1y/788zMzFCdOnVCQ4YM4dkPkBUrVqiULPTFF1+4z9euXRsqU6ZMaMKECdm3mT9/vrvN1KlTo3ikpdeGDRtCTZo0CU2aNCnUqVOn0PXXX+8uZ6yCo3///qEjjzyywOuzsrJCtWvXDj300EPZl2n8ypYtG3rttddK6CjhO/nkk0OXXHJJriekR48eod69ezNeAaK/O2+//XaR/h3NmzfPfd3333+ffZuPP/44lJCQEFq8eHEJfwcoCcw3YwPzzeBjvhkbmHPGDuabsYM5Z3BQWVvM0tPTbebMme70RF9iYqL7fOrUqcX98CiCdevWuY/VqlVzHzVuqrYNH7tmzZpZ/fr1GbsoUSX0ySefnGtMhLEKjvfee8/atm1rPXv2dO1FWrdubc8880z29X/88YctW7Ys1xhWrlzZtYfhd2LJO/zww23y5Mn2888/u89/+OEH+/rrr+3EE09kvAKsMP+O9FGtD/Tv0afbaw6iSlzEF+absYP5ZvAx34wNzDljB/PN2MWcM3qSo/jYpcKqVatcj5ZatWrlulyfL1iwIGrHhdyysrJc/1Odvn3wwQe7y/RCOCUlxb3YzTt2ug4la9y4ca6NiE5Ly4uxCo7ff//dnVav1i+33367G6/rrrvO/Vu66KKLsv/t5Pc7kX9XJe+2226z9evXuzeikpKS3N+rwYMHu9PnhfEKpsKMiz7qDZNwycnJ7g1J/q3FH+absYH5ZvAx34wdzDljB/PN2MWcM3oIa4Ht76DPmTPHVZQheP7++2+7/vrrXd9FLdKHYL8QVSXfAw884D5XZa3+bamvpsJaBMvrr79uY8eOtVdffdWaN29us2fPdm9caVErxgsAIov5ZrAx34wtzDljB/NNoOhog1DMqlev7qqVli9fnutyfV67du3ifngUwjXXXOMWXvn8889t3333zb5c46PTCteuXZvr9oxdyVObAy3Id+ihh7rKMG1asEOL62hf1WSMVTBoZfqDDjoo12UHHnigLVq0yO37v/f4nRgMt9xyi6t2OOecc6xFixZ2wQUXuMX6tHq5MF7BVJhx0ce8C5lmZGTYv//+y/wjDjHfDD7mm8HHfDO2MOeMHcw3YxdzzughrC1mOvW3TZs2ridg+LuA+rxjx47F/fDYCfXP1sT57bffts8++8waNWqU63qNm1a0Dx+7hQsXutCJsStZnTt3tp9++slV/fmbqjd1qra/z1gFg1qJ6N9JOPVDbdCggdvXvzP90Q//d6XT8NVDk39XJW/z5s2uh2k4vcGov1PCeAVTYcZFH/Vmo8IHn/7WaWzV2xbxhflmcDHfjB3MN2MLc87YwXwzdjHnjKJor3BWGowbN86t0PzCCy+41Zkvv/zyUJUqVULLli2L9qGValdddVWocuXKoSlTpoSWLl2avW3evDn7NldeeWWofv36oc8++yw0Y8aMUMeOHd2G6OvUqVPo+uuvz/6csQqG6dOnh5KTk0ODBw8O/fLLL6GxY8eGypcvH3rllVeyb/Pggw+634Hvvvtu6McffwydfvrpoUaNGoW2bNkS1WMvjS666KJQ3bp1Qx988EHojz/+CL311luh6tWrh2699dbs2zBe0VuN/H//+5/bNF0bPny42//rr78KPS4nnHBCqHXr1qHvvvsu9PXXX4eaNGkSOvfcc6P0HaG4Md8MJuabsY35ZnAx54wdzDeDjTlnMBHWlpDHH3/chX4pKSmh9u3bh6ZNm1ZSD40C6MVvftvzzz+ffRu96L366qtDVatWdYHTGWec4QJdBG/yzFgFx/vvvx86+OCD3ZtUzZo1C/33v//NdX1WVlborrvuCtWqVcvdpnPnzqGFCxdG7XhLs/Xr17t/R/r7lJqaGtpvv/1Cd9xxRygtLS37NoxXdHz++ef5/o3SC57Cjsvq1atdOFuhQoVQpUqVQn369HETcsQv5pvBw3wztjHfDDbmnLGB+WawMecMpgT9L5qVvQAAAAAAAAAAetYCAAAAAAAAQCCwwBgAAAAAAAAABABhLQAAAAAAAAAEAGEtAAAAAAAAAAQAYS0AAAAAAAAABABhLQAAAAAAAAAEAGEtAAAAAAAAAAQAYS0AAAAAAAAABABhLQDEgYYNG9qIESOifRgAAACIU8w3AaBkENYCQBFdfPHF1r17d7d/zDHH2A033FBiz+ELL7xgVapU2eHy77//3i6//PISOw4AAAAUH+abAFB6JUf7AAAAZunp6ZaSkrLbT0WNGjV4GgEAAFAg5psAEBuorAWAPah4+OKLL+yxxx6zhIQEt/3555/uujlz5tiJJ55oFSpUsFq1atkFF1xgq1atyv5aVeRec801riq3evXq1q1bN3f58OHDrUWLFrbXXntZvXr17Oqrr7aNGze666ZMmWJ9+vSxdevWZT/e3Xffne9paYsWLbLTTz/dPX6lSpXs7LPPtuXLl2dfr69r1aqVvfzyy+5rK1eubOecc45t2LCBnwcAAICAYL4JAKUPYS0A7CaFtB07drTLLrvMli5d6jYFrGvXrrXjjjvOWrdubTNmzLCJEye6oFSBabgXX3zRVdN+8803Nnr0aO+XcmKijRw50ubOneuu/+yzz+zWW2911x1++OEukFX46j/ezTffvMNxZWVluaD233//dWHypEmT7Pfff7devXrlut1vv/1m77zzjn3wwQdu020ffPBBfh4AAAACgvkmAJQ+tEEAgN2kalSFreXLl7fatWtnX/7EE0+4oPaBBx7IvmzMmDEuyP3555/tgAMOcJc1adLEhg0blus+w/vfquL1/vvvtyuvvNKefPJJ91h6TFXUhj9eXpMnT7affvrJ/vjjD/eY8tJLL1nz5s1db9t27dplh7rqgVuxYkX3uap/9bWDBw/mZwIAACAAmG8CQOlDZS0ARNgPP/xgn3/+uWtB4G/NmjXLrmb1tWnTZoev/fTTT61z585Wt25dF6IqQF29erVt3ry50I8/f/58F9L6Qa0cdNBBbmEyXRceBvtBreyzzz62YsWK3fqeAQAAUHKYbwJA/KKyFgAiTD1mTz31VBs6dOgO1ykQ9akvbTj1uz3llFPsqquuctWt1apVs6+//tr69u3rFoRQBW8klSlTJtfnqthVtS0AAACCjfkmAMQvwloA2ANqTZCZmZnrskMPPdTefPNNV7manFz4X7MzZ850YekjjzzietfK66+/vsvHy+vAAw+0v//+221+de28efNcL11V2AIAACB2MN8EgNKFNggAsAcUyH733XeuKnbVqlUubO3Xr59b3Ovcc891PWLV+uCTTz6xPn367DRobdy4sW3bts0ef/xxtyDYyy+/nL3wWPjjqZJCvWX1ePm1R+jSpYu1aNHCevfubbNmzbLp06fbhRdeaJ06dbK2bdsy3gAAADGE+SYAlC6EtQCwB26++WZLSkpyFas1atSwRYsWWZ06deybb75xwWzXrl1dcKqFw9Qz1q+YzU/Lli1t+PDhrn3CwQcfbGPHjrUhQ4bkus3hhx/uFhzr1auXe7y8C5T57Qzeffddq1q1qh199NEuvN1vv/1s/PjxjDUAAECMYb4JAKVLQigUCkX7IAAAAAAAAACgtKOyFgAAAAAAAAACgLAWAAAAAAAAAAKAsBYAAAAAAAAAAoCwFgAAAAAAAAACgLAWAAAAAAAAAAKAsBYAAAAAAAAAAoCwFgAAAAAAAAACgLAWAAAAAAAAAAKAsBYAAAAAAAAAAoCwFgAAAAAAAAACgLAWAAAAAAAAAAKAsBYAAAAAAAAALPr+H70NLn9G2ZPsAAAAAElFTkSuQmCC" }, "metadata": {}, "output_type": "display_data", "jetTransient": { "display_id": null } }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "[指标分析]\n", " 各NDCG指标在验证集上的最佳值:\n", " ndcg@1: 0.2725 (迭代 50)\n", " ndcg@5: 0.2203 (迭代 97)\n", " ndcg@10: 0.2108 (迭代 74)\n", " ndcg@20: 0.1970 (迭代 86)\n", "\n", "[重要提醒] 验证集仅用于早停/调参,测试集完全独立于训练过程!\n" ] } ], "execution_count": 11 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.6 模型评估" ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2026-03-10T14:56:35.982083Z", "start_time": "2026-03-10T14:56:35.604003Z" } }, "source": [ "print(\"\\n\" + \"=\" * 80)\n", "print(\"模型评估\")\n", "print(\"=\" * 80)\n", "\n", "# 准备测试集\n", "X_test = test_data.select(feature_cols)\n", "y_test = test_data.select(target_col).to_series()\n", "\n", "# 预测\n", "print(\"\\n生成预测...\")\n", "predictions = model.predict(X_test)\n", "\n", "# 添加预测列\n", "test_data = test_data.with_columns([pl.Series(\"prediction\", predictions)])\n", "\n", "# 计算 NDCG 指标\n", "print(\"\\n计算 NDCG 指标...\")\n", "ndcg_results = evaluate_ndcg_at_k(\n", " y_true=y_test.to_numpy(),\n", " y_pred=predictions,\n", " group=test_group,\n", " k_list=[1, 5, 10, 20],\n", ")\n", "\n", "print(\"\\nNDCG 评估结果:\")\n", "print(\"-\" * 40)\n", "for metric, value in ndcg_results.items():\n", " print(f\" {metric}: {value:.4f}\")\n", "\n", "# 特征重要性\n", "print(\"\\n特征重要性(Top 20):\")\n", "print(\"-\" * 40)\n", "importance = model.feature_importance()\n", "if importance is not None:\n", " top_features = importance.sort_values(ascending=False).head(20)\n", " for i, (feature, score) in enumerate(top_features.items(), 1):\n", " print(f\" {i:2d}. {feature:30s} {score:10.2f}\")" ], "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "================================================================================\n", "模型评估\n", "================================================================================\n", "\n", "生成预测...\n", "\n", "计算 NDCG 指标...\n", "\n", "NDCG 评估结果:\n", "----------------------------------------\n", " ndcg@1: 0.3919\n", " ndcg@5: 0.3768\n", " ndcg@10: 0.3831\n", " ndcg@20: 0.3935\n", "\n", "特征重要性(Top 20):\n", "----------------------------------------\n", " 1. max_ret_20 4720.20\n", " 2. turnover_rank 4345.39\n", " 3. overnight_intraday_diff 3623.13\n", " 4. volatility_5 2632.23\n", " 5. turnover_rate_mean_5 2518.52\n", " 6. std_return_20 1819.15\n", " 7. close_vwap_deviation 1525.61\n", " 8. return_20 1014.14\n", " 9. return_5_rank 694.17\n", " 10. EP 412.96\n", " 11. ma_5 403.47\n", " 12. BP 369.00\n", " 13. ma_20 345.33\n", " 14. upper_shadow_ratio 342.03\n", " 15. bbi_ratio 339.14\n", " 16. roa 289.77\n", " 17. roe 269.37\n", " 18. drawdown_from_high_60 248.74\n", " 19. min_ret_20 247.30\n", " 20. high_low_ratio 215.36\n" ] } ], "execution_count": 12 }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2026-03-10T14:56:36.204207Z", "start_time": "2026-03-10T14:56:35.991175Z" } }, "source": [ "# 确保输出目录存在\n", "os.makedirs(OUTPUT_DIR, exist_ok=True)\n", "\n", "# 生成时间戳\n", "start_dt = datetime.strptime(TEST_START, \"%Y%m%d\")\n", "end_dt = datetime.strptime(TEST_END, \"%Y%m%d\")\n", "date_str = f\"{start_dt.strftime('%Y%m%d')}_{end_dt.strftime('%Y%m%d')}\"\n", "\n", "# 保存每日 Top N\n", "print(f\"\\n[1/1] 保存每日 Top {TOP_N} 股票...\")\n", "topn_output_path = os.path.join(OUTPUT_DIR, \"rank_output.csv\")\n", "\n", "# 按日期分组,取每日 top N\n", "topn_by_date = []\n", "unique_dates = test_data[\"trade_date\"].unique().sort()\n", "for date in unique_dates:\n", " day_data = test_data.filter(test_data[\"trade_date\"] == date)\n", " # 按 prediction 降序排序,取前 N\n", " topn = day_data.sort(\"prediction\", descending=True).head(TOP_N)\n", " topn_by_date.append(topn)\n", "\n", "# 合并所有日期的 top N\n", "topn_results = pl.concat(topn_by_date)\n", "\n", "# 格式化日期并调整列顺序:日期、分数、股票\n", "topn_to_save = topn_results.select(\n", " [\n", " pl.col(\"trade_date\").str.slice(0, 4)\n", " + \"-\"\n", " + pl.col(\"trade_date\").str.slice(4, 2)\n", " + \"-\"\n", " + pl.col(\"trade_date\").str.slice(6, 2).alias(\"date\"),\n", " pl.col(\"prediction\").alias(\"score\"),\n", " pl.col(\"ts_code\"),\n", " ]\n", ")\n", "topn_to_save.write_csv(topn_output_path, include_header=True)\n", "print(f\" 保存路径: {topn_output_path}\")\n", "print(f\" 保存行数: {len(topn_to_save)}({len(unique_dates)}个交易日 x 每日top{TOP_N})\")\n", "print(f\"\\n 预览(前15行):\")\n", "print(topn_to_save.head(15))\n", "\n", "print(\"\\n训练流程完成!\")" ], "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "[1/1] 保存每日 Top 5 股票...\n", " 保存路径: output\\rank_output.csv\n", " 保存行数: 1215(243个交易日 x 每日top5)\n", "\n", " 预览(前15行):\n", "shape: (15, 3)\n", "┌────────────┬──────────┬───────────┐\n", "│ trade_date ┆ score ┆ ts_code │\n", "│ --- ┆ --- ┆ --- │\n", "│ str ┆ f64 ┆ str │\n", "╞════════════╪══════════╪═══════════╡\n", "│ 2025-01-02 ┆ 0.603437 ┆ 600530.SH │\n", "│ 2025-01-02 ┆ 0.580176 ┆ 600322.SH │\n", "│ 2025-01-02 ┆ 0.538287 ┆ 605080.SH │\n", "│ 2025-01-02 ┆ 0.488088 ┆ 000679.SZ │\n", "│ 2025-01-02 ┆ 0.480476 ┆ 603958.SH │\n", "│ … ┆ … ┆ … │\n", "│ 2025-01-06 ┆ 0.963227 ┆ 600807.SH │\n", "│ 2025-01-06 ┆ 0.737975 ┆ 002816.SZ │\n", "│ 2025-01-06 ┆ 0.644058 ┆ 603617.SH │\n", "│ 2025-01-06 ┆ 0.637653 ┆ 000573.SZ │\n", "│ 2025-01-06 ┆ 0.521599 ┆ 605580.SH │\n", "└────────────┴──────────┴───────────┘\n", "\n", "训练流程完成!\n" ] } ], "execution_count": 13 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 5. 总结\n", "\n", "本 Notebook 实现了完整的 Learn-to-Rank 训练流程:\n", "\n", "### 核心步骤\n", "\n", "1. **数据准备**: 计算 49 个特征因子,将 `future_return_5` 转换为 20 分位数标签\n", "2. **模型训练**: 使用 LightGBM LambdaRank 学习每日股票排序\n", "3. **模型评估**: 使用 NDCG@1/5/10/20 评估排序质量\n", "4. **策略分析**: 基于排序分数构建 Top-k 选股策略\n", "\n", "### 关键参数\n", "\n", "- **Objective**: lambdarank\n", "- **Metric**: ndcg\n", "- **Learning Rate**: 0.05\n", "- **Num Leaves**: 31\n", "- **N Quantiles**: 20\n", "\n", "### 输出结果\n", "\n", "- rank_output.csv: 每日Top-N推荐股票(格式:date, score, ts_code)\n", "- 特征重要性排名\n", "- Top-k 策略统计和图表\n", "- NDCG训练指标曲线\n", "\n", "### 后续优化方向\n", "\n", "1. **特征工程**: 尝试更多因子组合\n", "2. **超参数调优**: 使用网格搜索优化 LambdaRank 参数\n", "3. **模型集成**: 结合多个排序模型的预测\n", "4. **更复杂的分组**: 考虑按行业分组排序" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.0" } }, "nbformat": 4, "nbformat_minor": 4 }