Text Generation
Transformers
English
Chinese
finance
reinforcement-learning
reasoning
qwen3
alpha-screening
quantitative-finance
Instructions to use AFatRat/Alpha-R1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use AFatRat/Alpha-R1 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="AFatRat/Alpha-R1")# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("AFatRat/Alpha-R1", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use AFatRat/Alpha-R1 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "AFatRat/Alpha-R1" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "AFatRat/Alpha-R1", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/AFatRat/Alpha-R1
- SGLang
How to use AFatRat/Alpha-R1 with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "AFatRat/Alpha-R1" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "AFatRat/Alpha-R1", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "AFatRat/Alpha-R1" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "AFatRat/Alpha-R1", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use AFatRat/Alpha-R1 with Docker Model Runner:
docker model run hf.co/AFatRat/Alpha-R1
File size: 9,971 Bytes
eff9126 4941e8d 790e579 4941e8d eff9126 4941e8d c50b414 4941e8d c50b414 4941e8d c50b414 4941e8d c50b414 4941e8d c50b414 4941e8d c50b414 4941e8d c50b414 4941e8d c50b414 4941e8d c50b414 4941e8d c50b414 4941e8d c50b414 4941e8d 455568c 4941e8d 63b0af8 4941e8d 455568c 4941e8d c50b414 4941e8d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 | ---
license: apache-2.0
base_model: Qwen/Qwen3-8B
library_name: transformers
pipeline_tag: text-generation
language:
- en
- zh
tags:
- finance
- reinforcement-learning
- reasoning
- qwen3
- alpha-screening
- quantitative-finance
---
# Alpha-R1
<p align="center">
<img src="https://huggingface.co/front/assets/huggingface_logo.svg" width="120">
</p>
**Alpha-R1** is a reasoning-enhanced Large Language Model for quantitative alpha selection, trained with Group Relative Policy Optimization(GRPO) on top of **Qwen3-8B**.
It is the official implementation accompanying the paper:
> [Alpha-R1: Alpha Screening with LLM Reasoning via Reinforcement Learning](https://arxiv.org/abs/2512.23515)
---
# Overview
Alpha-R1 is designed for **Alpha Screening** rather than general-purpose conversation.
Unlike conventional LLMs, Alpha-R1 learns to reason over
- Financial factor descriptions
- Historical price trends
- Market news
- Portfolio constraints
to produce interpretable alpha-selection decisions.
The model is optimized using reinforcement learning with trading performance as the optimization objective, enabling stronger reasoning ability for quantitative investment tasks.
---
# Highlights
- 🧠 Reinforcement-learning aligned financial reasoning
- 📈 Multi-modal market understanding (news + quantitative factors + price)
- 📊 Strong generalization across different asset pools
- 💰 Optimized for alpha generation instead of language modeling
Alpha-R1 achieves:
| Dataset | Annual Return | Sharpe | Max Drawdown |
|----------|--------------|---------|--------------|
| CSI300 | 27.59% | 1.62 | 6.76% |
| CSI1000 | 78.18% | 4.03 | 9.25% |
---
# Model Details
| Item | Value |
|------|------|
| Base Model | Qwen3-8B |
| Model Type | Causal Language Model |
| Training | Reinforcement Learning Fine-tuning |
| Domain | Quantitative Finance |
| Language | English \ Chinese |
| Intended Task | Alpha Selection & Financial Reasoning |
---
# Training
Alpha-R1 is initialized from **Qwen3-8B** and further optimized using GRPO.
The training objective encourages the model to generate reasoning trajectories that maximize downstream portfolio performance instead of only predicting next tokens.
The model is trained using:
- Financial factor descriptions
- Historical price information
- Market news
- Trading rewards derived from portfolio returns
More details can be found in the accompanying paper.
## Training Data
Alpha-R1 was trained on a proprietary financial reasoning dataset constructed by the authors. Rather than relying on an existing benchmark, the training data was generated through a multi-stage pipeline that integrates quantitative market information with semantic reasoning.
The data construction process consists of the following stages:
1. **Market Data Abstraction.** Historical market observations were transformed into structured textual descriptions, including price-based market summaries derived from technical indicators, trading activity, and sector rotation, as well as news-based market summaries generated from financial news and macroeconomic events.
2. **Iterative Market Memory Construction.** Weekly market descriptions were recursively summarized by an LLM to build a long-term historical market memory, enabling the model to reason over evolving market regimes instead of isolated daily observations.
3. **Factor Profiling.** A dynamic factor zoo was constructed from computationally feasible Alpha101 factors. Each factor was systematically backtested over historical data to obtain quantitative performance statistics, including return, volatility, and decay characteristics. These statistics, together with the historical market memory, were used to generate semantic factor descriptions that explain the economic intuition, applicable market regimes, and potential limitations of each factor.
4. **Reasoning Training Samples.** Each training sample contains:
- the current market state,
- semantic descriptions of candidate factors,
- historical market memory,
- and the corresponding factor candidates to be screened.
During training, candidate factors were randomly sampled from the full factor pool to encourage reasoning and generalization rather than memorization of specific factors.
5. **Reinforcement Learning Signals.** Instead of human preference annotations, Alpha-R1 employs objective market feedback as supervision. Rewards are computed from realized portfolio performance using a linear reward model, allowing the reasoning policy to be optimized through GRPO toward superior risk-adjusted investment performance.
The training dataset is internally constructed for research purposes and is not publicly released.
## Intended Use
Alpha-R1 is intended solely for **alpha screening** in quantitative investment research. Given the current market state, historical market memory, and semantic descriptions of candidate alpha factors, the model identifies factors that are more likely to generate excess returns under the prevailing market regime.
The model is designed as a research tool for factor selection and should be used together with downstream portfolio construction, risk management, and execution systems. It does not generate trading signals, execute trades, provide investment advice, or manage portfolios autonomously.
---
# Usage
Alpha-R1 is designed for **alpha screening** in quantitative investment research rather than general-purpose conversation.
Given:
- Current market conditions
- Historical market memory
- Candidate alpha factor descriptions
- Asset universe information
the model reasons about factor effectiveness under the prevailing market regime and selects factors that are more likely to generate excess returns.
## Example
```python
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
model_name = "FinStep-AI/Alpha-R1"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto"
)
model.eval()
system_prompt = """
You are a senior quantitative investment expert, skilled in selecting
the most suitable alpha factor combinations based on market environment
and asset characteristics.
You need to analyze current market conditions, the characteristics of
each factor, and asset portfolio situations to provide scientific and
reasonable factor selection recommendations.
"""
user_prompt = """
Based on the following information, select the most suitable factor
combinations for {target_date}'s trading day for a {holding_days}-day
short-term strategy stock selection
(buy at market open, sell at market close after {holding_days} trading days).
Target Date:
{target_date}
Market Environment Information:
• Previous Trading Day Closing Data ({previous_trading_day}):
{market_price_data}
• Previous Trading Day Market Analysis ({previous_trading_day}):
{market_analysis}
• Current Day Pre-Market News ({target_date}):
{financial_news}
Available Factor Descriptions:
• {factor_1_name}:
{factor_1_description}
• {factor_2_name}:
{factor_2_description}
• {factor_3_name}:
{factor_3_description}
...
Asset Portfolio Information:
{asset_pool_information}
Analysis Framework:
1. Analyze each factor's nature and characteristics.
2. Evaluate factors' expected performance in the current market.
3. Consider portfolio characteristics for further screening.
4. Make the final selection (maximum 10 factors).
Output Requirements:
• Provide detailed analytical reasoning first.
• Output XML-tagged factor list:
<alpha_list><alpha001>...</alpha_list>
• Maximum 10 factors allowed.
• Skip selection if no factors are expected to yield positive returns.
"""
messages = [
{"role": "system", "content": system_prompt},
{"role": "user", "content": user_prompt},
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
)
inputs = tokenizer(
text,
return_tensors="pt"
).to(model.device)
with torch.no_grad():
outputs = model.generate(
**inputs,
max_new_tokens=4096,
temperature=0.6,
top_p=0.95,
pad_token_id=tokenizer.eos_token_id,
)
response = tokenizer.decode(
outputs[0][inputs.input_ids.shape[1]:],
skip_special_tokens=True,
)
print(response)
```
## Expected Output
```text
Factor analysis reasoning: [Detailed explanation of selection logic...]
The most suitable factor selection for the current market is: <alpha_list><alpha001><alpha003><alpha007></alpha_list>
```
## Generation Recommendations
```python
generation_config = {
"temperature": 0.6,
"top_p": 0.95,
"max_new_tokens": 4096,
}
```
For reproducible factor-screening results, we recommend:
```python
temperature=0
```
which is also consistent with the evaluation setting reported in the paper.
# Limitations
- This model is **not** a financial advisor.
- Outputs should **not** be regarded as investment advice.
- Performance reported in the paper is obtained under a specific backtesting protocol and does not guarantee future returns.
- Users should perform their own validation before any real-world deployment.
---
# Citation
If you use Alpha-R1 in your research, please cite our paper:
```bibtex
@article{jiang2025alphar1,
title={Alpha-R1: Alpha Screening with LLM Reasoning via Reinforcement Learning},
author={Jiang, Zuoyou and Zhao, Li and Sun, Rui and Sun, Ruohan and Li, Zhongjian and Li, Jing and Jiang, Daxin and Bai, Zuo and Hua, Cheng},
journal={arXiv preprint arXiv:2512.23515},
year={2025}
}
```
---
# License
This model is released under the Apache-2.0 License.
Please also comply with the license of the base model (**Qwen3-8B**) when using this model.
---
# Acknowledgements
Alpha-R1 is built upon the excellent **Qwen3-8B** model developed by Alibaba.
We thank the open-source community for making this work possible. |