Workflow
生成式对抗神经网络
icon
Search documents
机器学习因子选股月报(2025年12月)-20251128
Southwest Securities· 2025-11-28 07:02
Quantitative Models and Construction Methods - **Model Name**: GAN_GRU **Model Construction Idea**: The GAN_GRU model combines Generative Adversarial Networks (GAN) for processing volume-price sequential features and Gated Recurrent Unit (GRU) for encoding sequential features to construct a stock selection factor [4][13] **Model Construction Process**: 1. **GRU Model**: - The GRU model is based on 18 volume-price features, including closing price, opening price, trading volume, turnover rate, etc. [14][17][19] - Training data includes the past 400 days of volume-price features for all stocks, with feature sampling every 5 trading days. The feature sampling shape is 40x18, using the past 40 days' features to predict the cumulative return over the next 20 trading days [18] - Data processing includes outlier removal and standardization for each feature in the time series and cross-sectional standardization at the stock level [18] - The model structure includes two GRU layers (GRU(128, 128)) followed by an MLP (256, 64, 64). The final output, predicted return (pRet), is used as the stock selection factor [22] - Training is conducted semi-annually, with training points on June 30 and December 31 each year. The training set and validation set are split in an 80:20 ratio [18] - Hyperparameters: batch_size equals the number of cross-sectional stocks, optimizer is Adam, learning rate is 1e-4, loss function is IC, early stopping rounds are 10, and maximum training rounds are 50 [18] 2. **GAN Model**: - The GAN model consists of a generator (G) and a discriminator (D). The generator learns the real data distribution and generates realistic samples, while the discriminator distinguishes between real and generated data [23][24] - Generator loss function: $$L_{G} = -\mathbb{E}_{z\sim P_{z}(z)}[\log(D(G(z)))]$$ where \(z\) represents random noise, \(G(z)\) is the generated data, and \(D(G(z))\) is the discriminator's output probability for the generated data [24][25] - Discriminator loss function: $$L_{D} = -\mathbb{E}_{x\sim P_{data}(x)}[\log D(x)] - \mathbb{E}_{z\sim P_{z}(z)}[\log(1-D(G(z)))]$$ where \(x\) is real data, \(D(x)\) is the discriminator's output probability for real data, and \(D(G(z))\) is the discriminator's output probability for generated data [27][29] - The generator uses an LSTM model to retain the sequential nature of input features, while the discriminator employs a CNN model to process the two-dimensional volume-price sequential features [33][37] **Model Evaluation**: The GAN_GRU model effectively captures volume-price sequential features and demonstrates strong predictive power for stock selection [4][13][22] Model Backtesting Results - **GAN_GRU Model**: - IC Mean: 0.1131*** - ICIR (non-annualized): 0.90 - Turnover Rate: 0.83 - Recent IC: 0.1241*** - One-Year IC Mean: 0.0867*** - Annualized Return: 37.52% - Annualized Volatility: 23.52% - IR: 1.59 - Maximum Drawdown: 27.29% - Annualized Excess Return: 23.14% [4][41][42] Quantitative Factors and Construction Methods - **Factor Name**: GAN_GRU Factor **Factor Construction Idea**: The GAN_GRU factor is derived from the GAN_GRU model, leveraging GAN for volume-price sequential feature processing and GRU for sequential feature encoding [4][13] **Factor Construction Process**: - The factor is constructed using the predicted return (pRet) output from the GAN_GRU model. The factor undergoes industry and market capitalization neutralization, as well as standardization [22] **Factor Evaluation**: The GAN_GRU factor demonstrates robust performance across various industries and time periods, with significant IC values and excess returns [4][13][41] Factor Backtesting Results - **GAN_GRU Factor**: - IC Mean: 0.1131*** - ICIR (non-annualized): 0.90 - Turnover Rate: 0.83 - Recent IC: 0.1241*** - One-Year IC Mean: 0.0867*** - Annualized Return: 37.52% - Annualized Volatility: 23.52% - IR: 1.59 - Maximum Drawdown: 27.29% - Annualized Excess Return: 23.14% [4][41][42] Industry-Specific Performance - **Recent IC Rankings (Top 5 Industries)**: - Social Services: 0.2198*** - Real Estate: 0.2027*** - Steel: 0.1774*** - Non-Bank Financials: 0.1754*** - Coal: 0.1537*** [4][41][42] - **One-Year IC Mean Rankings (Top 5 Industries)**: - Non-Bank Financials: 0.1401*** - Steel: 0.1367*** - Retail: 0.1152*** - Textiles & Apparel: 0.1124*** - Utilities: 0.1092*** [4][41][42] - **Recent Excess Return Rankings (Top 5 Industries)**: - Environmental Protection: 7.24% - Machinery: 4.37% - Real Estate: 4.03% - Textiles & Apparel: 3.89% - Building Materials: 2.91% [4][45][46] - **One-Year Average Excess Return Rankings (Top 5 Industries)**: - Building Materials: 2.15% - Real Estate: 1.97% - Social Services: 1.77% - Textiles & Apparel: 1.71% - Retail: 1.62% [4][45][46]
机器学习因子选股月报(2025年5月)-20250430
Southwest Securities· 2025-04-30 08:14
Quantitative Models and Construction Methods GAN_GRU Model - **Model Name**: GAN_GRU - **Model Construction Idea**: The GAN_GRU model utilizes Generative Adversarial Networks (GAN) for processing volume-price time series features and then uses the GRU model for time series feature encoding to derive the stock selection factor[2][9]. - **Model Construction Process**: 1. **GRU Model**: - **Basic Assumptions**: The GRU+MLP neural network stock return prediction model includes 18 volume-price features such as closing price, opening price, trading volume, turnover rate, etc[10][13][15]. - **Training Data and Input Features**: All stocks' past 400 days of 18 volume-price features, sampled every 5 trading days. The feature sampling shape is 40*18, using the past 40 days of volume-price features to predict the cumulative return of the next 20 trading days[14]. - **Training and Validation Set Ratio**: 80%:20%[14]. - **Data Processing**: Extreme value removal and standardization in the time series for each feature within the 40 days, and cross-sectional standardization at the stock level[14]. - **Model Training Method**: Semi-annual rolling training, i.e., training the model every six months and using it to predict the returns for the next six months. Training dates are June 30 and December 31 each year[14]. - **Stock Selection Method**: Select all stocks in the cross-section, excluding ST and stocks listed for less than six months[14]. - **Training Sample Selection Method**: Exclude samples with empty labels[14]. - **Hyperparameters**: batch_size is the number of stocks in the cross-section, optimizer Adam, learning rate 1e-4, loss function IC, early stopping rounds 10, maximum training rounds 50[14]. - **Model Structure**: Two GRU layers (GRU(128, 128)) followed by MLP layers (256, 64, 64). The final output predicted return pRet is used as the stock selection factor[18]. 2. **GAN Model**: - **Introduction**: GANs consist of a generator and a discriminator. The generator aims to generate realistic data, while the discriminator aims to distinguish between real and generated data[19]. - **Generator**: - **Loss Function**: $$L_{G}\,=\,-\mathbb{E}_{z\sim P_{z}(z)}[\log(D(G(z)))]$$ where \(z\) represents random noise (usually Gaussian distributed), \(G(z)\) represents the data generated by the generator, and \(D(G(z))\) represents the probability that the discriminator judges the generated data as real[20][21]. - **Training Process**: Generate noise data, convert noise data to generated data using the generator, calculate generator loss, and update generator parameters through backpropagation[21][22]. - **Discriminator**: - **Loss Function**: $$L_{D}=-\mathbb{E}_{x\sim P_{d a t a}(x)}[\log\!D(x)]-\mathbb{E}_{z\sim P_{z}(z)}[\log(1-D(G(z)))]$$ where \(x\) is real data, \(D(x)\) is the probability that the discriminator judges the real data as real, and \(D(G(z))\) is the probability that the discriminator judges the generated data as real[23]. - **Training Process**: Sample real data, generate fake data, calculate discriminator loss, and update discriminator parameters through backpropagation[24][25]. - **GAN Training Process**: Alternately train the generator and discriminator until convergence[25][26]. 3. **GAN Feature Generation Model Construction**: - **LSTM Generator + CNN Discriminator**: To retain the time series nature of the input features, the LSTM model is used as the generator. The CNN model is used as the discriminator to match the two-dimensional volume-price time series features[29][30][33]. - **Feature Generation Process**: Input original volume-price time series features (Input_Shape=(40,18)), output volume-price time series features processed by LSTM (Input_Shape=(40,18))[33]. Model Evaluation - **Evaluation**: The GAN_GRU model effectively combines GAN and GRU to process and encode volume-price time series features, providing a robust stock selection factor[2][9]. Model Backtest Results - **GAN_GRU Model**: - **IC Mean**: 11.73%[37][38] - **Annualized Excess Return**: 24.89%[37][38] - **Latest IC**: 0.22% (as of April 28, 2025)[37][38] - **IC Mean in the Past Year**: 11.44%[37][38] - **Annualized Return**: 36.06%[38] - **Annualized Volatility**: 23.80%[38] - **Information Ratio (IR)**: 1.66[38] - **Maximum Drawdown**: 27.29%[38] - **Turnover Rate**: 0.83[38] - **ICIR**: 0.90[38] Quantitative Factors and Construction Methods GAN_GRU Factor - **Factor Name**: GAN_GRU - **Factor Construction Idea**: The GAN_GRU factor is derived from the GAN_GRU model, which processes volume-price time series features using GAN and encodes them using GRU[2][9]. - **Factor Construction Process**: The factor is generated by the GAN_GRU model, which includes the steps of feature processing by GAN and encoding by GRU as described in the model construction process[2][9][33]. - **Factor Evaluation**: The GAN_GRU factor shows strong performance in stock selection, with high IC values and significant excess returns[2][9]. Factor Backtest Results - **GAN_GRU Factor**: - **IC Mean**: 11.73%[37][38] - **Annualized Excess Return**: 24.89%[37][38] - **Latest IC**: 0.22% (as of April 28, 2025)[37][38] - **IC Mean in the Past Year**: 11.44%[37][38] - **Annualized Return**: 36.06%[38] - **Annualized Volatility**: 23.80%[38] - **Information Ratio (IR)**: 1.66[38] - **Maximum Drawdown**: 27.29%[38] - **Turnover Rate**: 0.83[38] - **ICIR**: 0.90[38]