一、环境准备
1.1 系统要求
- 操作系统:Windows 11
- WSL2:已安装Ubuntu
- 内存:建议16GB以上
- 磁盘:建议50GB以上可用空间
二、安装RD-Agent
2.1 下载源码
三、安装WSL2(需要管理员权限)
3.1 安装WSL内核
- 以管理员身份打开PowerShell(开始菜单搜PowerShell→右键→以管理员身份运行)
- 执行安装命令:
wsl --install - 重启电脑(安装完成后会提示重启)
- 重启后,会自动弹出Ubuntu终端,设置你的Linux用户名和密码(密码输入时不会显示,正常输入就行)
如果wsl --install命令报错,说明你的Windows版本较老,需要手动启用功能:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
重启后再安装WSL2内核更新包(下载地址:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi)
3.2 下载Ubuntu发行版(Ubuntu发行版时网络失败。)
通过Microsoft Store安装(最简单)
- 打开Microsoft Store(微软应用商店)
- 搜索Ubuntu
- 选择Ubuntu 22.04 LTS或Ubuntu 24.04 LTS,点击「获取/安装」
- 安装完成后点击「启动」,设置用户名和密码

安装完成后验证
打开Ubuntu终端,输入:
wsl -l -v
能看到Ubuntu且VERSION是2,就说明WSL2装好了。
四、安装Docker Desktop
RD-Agent运行需要Docker,需要安装Docker Desktop:
- 下载Docker Desktop
浏览器打开:Docker Desktop: The #1 Containerization Tool for Developers | Docker
点击「Download for Windows - AMD64」下载 - 安装
双击安装包运行
重要:安装时确保勾选"Use WSL 2 instead of Hyper-V"(默认应该是勾上的)
一路下一步安装完成 - 配置WSL2集成
启动Docker Desktop(第一次启动可能慢一点,接受协议)
点击右上角齿轮⚙️设置→Resources→WSL Integration
找到Ubuntu,把开关打开→点击Apply & Restart - 验证Docker是否能用
等Docker重启完后,回到你这个Ubuntu终端,输入:
docker run hello-world
能输出Hello from Docker!就说明成功了。 
WSL集成的凭证工具报错了
在Ubuntu终端里依次执行这两条命令:
sed -i '/credsStore/d' ~/.docker/config.json
然后再试:
docker run hello-world
原因:Docker Desktop默认会用Windows的凭证工具,但在WSL里执行会出错。删掉配置里的credsStore就好了,不影响正常使用。
五、开始装RD-Agent
先装conda管理Python环境,然后装RD-Agent。跟着一步步来:
第一步:更新系统+装必要工具
sudo apt update && sudo apt install -y wget curl git
第二步:安装Miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -0 miniconda.sh
bash miniconda.sh -b -p $HOME/miniconda
~/miniconda/bin/conda init bash
source ~/.bashrc
执行完后,命令行前面会出现(base),说明conda装好了。
忘记密码重置
- 打开Windows PowerShell(不是Ubuntu终端)
在开始菜单搜PowerShell,打开它 - 输入命令进入root模式:
wsl -u root - 进入后,修改你的密码:
passwd syh - 输入两次新密码(输的时候不显示字符,正常输)
- 退出 root:
Exit - 回到Ubuntu后,先执行这条命令更新系统:
sudo apt update && sudo apt install -y wget curl git
第三步:用conda里的pip装RD-Agent
conda activate base
pip install rdagent
验证一下安装是否成功:
输入:
rdagent --help
如果能看到帮助信息,就说明装好了。
rdagent --help 正常输出了,所有命令都能看到:
可用的命令:
- fin_factor / fin_model / fin_quant / fin_factor_report - 金融量化相关
- general_model - 通用模型
- data_science - 数据科学
- llm_finetune - 大模型微调
- health_check - 健康检查
- ui / server_ui - Web 界面
- 等等...
六、配置.env环境变量
1. 配置API Key
在D:\RD-Agent-main目录下创建.env文件,填入你的API Key:
OPENAI_API_KEY=你的API密钥
#或者用其他模型的配置
2. 运行健康检查
rdagent health_check
七、启动Web界面
在Ubuntu终端里输入:
cd /d/RD-Agent-main
conda activate rdagent
rdagent ui
然后:
等它启动完成,会显示类似 "Running on http://0.0.0.0:19899" 的提示
打开你的浏览器,访问:http://localhost:19899
就能看到RD-Agent的Web界面了
注意:启动后Ubuntu终端不能关掉,关掉的话Web服务就停了。需要用的时候让它在后台跑着就行。
八、RD-Agent的general_model场景(基于已有的研究论文/报告做迭代改进的)
conda activate rdagent
rdagent general_model "Reasoning as Gradient Scaling MLE Agents Beyond Tree Search.pdf"
1. 先找到日志文件位置
在终端里输入(新开一个终端窗口):
ls -lt /d/RD-Agent-main/logs/
会显示最新的日志文件夹,复制那个路径。
2. 在Web界面设置log path
左边Control Panel里有个"log path"输入框
把日志路径粘贴进去(比如/d/RD-Agent-main/logs/xxx)
按回车,界面就会显示研究内容了
3. 停止
按Ctrl+C就能随时终止
九、RD-Agent的金融量化研究场景
第一步:配置Docker镜像加速
- 打开Docker Desktop(Windows端)
- 点击右上角设置图标⚙️
- 左边找到"Docker Engine"
- 在右边的JSON配置里,添加registry-mirrors
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com"
]
}
- 改完后,点右下角的"Apply & Restart"按钮,Docker会重启。
- 重启完后测试一下,在WSL终端里输入:
docker pull hello-world
Status: Image is up to date for hello-world:latest,说明Docker能正常拉取镜像了
怎么把Docker镜像改到D盘(减少C盘内存消耗)
第1步:打开Docker Desktop设置
打开Docker Desktop,点击右上角的⚙️设置图标
第2步:找到Resources
左边菜单找到Resources(资源),点击展开
第3步:找到Advanced
点击Advanced(高级)
第4步:修改Disk image location
找到Disk image location(磁盘镜像位置)这一项:
点击Browse或者Change
选择D盘的一个文件夹,比如D:\Docker\wsl
或者直接输入路径:D:\Docker\wsl\docker-desktop-data
第5步:应用并重启
点击右下角的Apply & Restart
注意事项:
- 会自动迁移现有镜像,Docker会把现有的镜像自动移到新位置
- 需要等一会儿,迁移时间取决于镜像大小,可能需要几分钟
- 迁移过程中,不要关闭Docker
第二步:尝试跑fin_quant
1. 进入RD-Agent目录,激活环境
2. 运行金融量化研究
rdagent fin_quant --loop-n 5
第一次运行会比较慢,需要:
- 拉取PyTorch基础镜像(几个 GB)
- 安装各种依赖包
- 克隆Qlib代码
- 编译安装
Docker镜像构建时安装xgboost失败
解决方案:给Docker里的pip换国内源
Edited "D:\RD-Agent-main\rdagent\scenarios\qlib\docker\Dockerfile".
RUN python -m pip install --upgrade cython -i https://pypi.tuna.tsinghua.edu.cn/simple
RUN python -m pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple
RUN pip install catboost -i https://pypi.tuna.tsinghua.edu.cn/simple
RUN pip install xgboost -i https://pypi.tuna.tsinghua.edu.cn/simple
RUN pip install tables -i https://pypi.tuna.tsinghua.edu.cn/simple
给所有的pip install都加上清华源
Qlib的股票数据没有正确下载下来 / ModuleNotFoundError: No module named 'qlib.run'
第2步:解压源码
解压zip,得到qlib-2fb9380b342556ddb50a4b24e4fe8655d548b2b8文件夹,然后把它重命名为qlib。
最后目录结构应该是:
D:\RD-Agent-main\rdagent\scenarios\qlib\docker\
├── Dockerfile
└── qlib\
├── setup.py
├── qlib\
└── ...
第3步:修改Dockerfile
改Dockerfile,让它直接用本地的源码,不用git clone。
第4步:安装Qlib
在WSL里:
cd /mnt/d/RD-Agent-main/rdagent/scenarios/qlib/docker/qlib
pip uninstall -y pyqlib
SETUPTOOLS_SCM_PRETEND_VERSION=0.9.0 pip install . -i https://pypi.tuna.tsinghua.edu.cn/simple
第5步:Qlib数据下载
原始GitHub下载地址:https://github.com/chenditc/investment_data/releases/latest/download/qlib_bin.tar.gz
或者Qlib官方的数据下载地址:
https://github.com/SunsetWolf/qlib_dataset/releases/download/v2/qlib_data_cn_1d_0.9.zip
第6步:把文件放到D盘根目录
把下载好的qlib_bin.tar.gz文件移动到D:\目录下。
第7步:在WSL里解压
cd /mnt/d
mkdir -p qlib_data/cn_data
tar -zxvf qlib_bin.tar.gz -C /mnt/d/qlib_data/cn_data --strip-components=1
解压完后测试一下:
python -c "import qlib; qlib.init(provider_uri='/mnt/d/qlib_data/cn_data'); print('Qlib 数据加载成功!')"
第8步:让RD-Agent用本地Qlib,不用Docker
1. 修改.env文件,把CODE_EXECUTION_BACKEND改成local:
cd /mnt/d/RD-Agent-main
sed -i 's/CODE_EXECUTION_BACKEND=docker/CODE_EXECUTION_BACKEND=local/' .env
2. 试运行fin_factor
CODE_EXECUTION_BACKEND配置对它不起作用
修改Dockerfile,加上版本号环境变量
改Dockerfile,加上SETUPTOOLS_SCM_PRETEND_VERSION:
删除旧镜像,重新运行:
docker rmi local_qlib:latest
cd /mnt/d/RD-Agent-main
rdagent fin_factor --loop-n 5
RD-Agent找不到数据
直接修改Dockerfile,在容器里创建一个软链接,让/mnt/d/qlib_data指向数据目录
修改Dockerfile:
RUN mkdir -p /mnt/d
RUN ln -s /root/.qlib/qlib_data /mnt/d/qlib_data
然后重新构建镜像,重新运行:
docker rmi local_qlib:latest
cd /mnt/d/RD-Agent-main
rdagent fin_factor --loop-n 5
还是不行的话,可能是软连接循环:
- 本地的~/.qlib/qlib_data/cn_data是个软链接,指向/mnt/d/qlib_data/cn_data
- 又在Dockerfile里创建了/mnt/d/qlib_data指向/root/.qlib/qlib_data的软链接
- 这样就形成了循环
把Dockerfile里的软链接删掉(Ctrl+K删除行,Ctrl+O保存,Ctrl+X退出)
重新构建镜像,重新运行
docker rmi local_qlib:latest
cd /mnt/d/RD-Agent-main
rdagent fin_factor --loop-n 5
然后运行命令
- 删除旧的软链接
- 复制真实数据
- 删除旧Docker镜像
- 运行fin_factor
rm -rf ~/.qlib/qlib_data/cn_data
cp -r /mnt/d/qlib_data/cn_data ~/.qlib/qlib_data/
docker rmi local_qlib:latest
cd /mnt/d/RD-Agent-main
rdagent fin_factor --loop-n 5
"qlib successfully initialized",数据路径完全正确
AssertionError: daily_pv_debug.h5 is not generated.
(debug部分(前100只股票)有点小问题,股票代码对不上)
改一下debug部分的代码,直接从all数据里取
Edited "D:\RD-Agent-main\rdagent\scenarios\qlib\experiment\factor_data_template\generate.py".
import qlib
qlib.init(provider_uri="/root/.qlib/qlib_data/cn_data")
from qlib.data import D
instruments = D.instruments()
fields = ["$open", "$close", "$high", "$low", "$volume", "$factor"]
all_data = D.features(instruments, fields, freq="day").swaplevel().sort_index().loc["2008-12-29":].sort_index()
all_data.to_hdf("./daily_pv_all.h5", key="data")
# Debug 数据:直接从 all 数据里取前 100 只股票,2018-2019 年
top100 = all_data.reset_index()["instrument"].unique()[:100]
debug_data = (
all_data
.swaplevel()
.loc[top100]
.swaplevel()
.sort_index()
.loc["2018-01-01":"2019-12-31"]
.sort_index()
)
debug_data.to_hdf("./daily_pv_debug.h5", key="data")
重新运行:
cd /mnt/d/RD-Agent-main
rdagent fin_factor --loop-n 5
十、利用UI界面查看运行状况
1. 打开一个新的控制台
2. 先激活rdagent环境,再运行UI:
conda activate rdagent
rdagent ui
"Uvicorn server started on :::19899":Web UI启动成功
1. 打开浏览器,访问:
http://localhost:19899
2. 找到日志路径
在左边的Control Panel(控制面板)里,找到"log path"(日志路径)输入框。
填入当前任务的日志文件夹路径。
日志一般在这个目录下:/d/RD-Agent-main/log/
里面有按时间命名的文件夹,选最新的那个就行。
或者:
控制台直接看日志里的因子列表:ls -lt /mnt/d/RD-Agent-main/log/ | head -3
因子代码在D:\RD-Agent-main\git_ignore_folder\RD-Agent_workspace\
3. 选择要查看的内容
在Web UI里填入完整路径:
在左边的log path输入框里填入:
例如:/mnt/d/RD-Agent-main/log/2026-08-05_08-07-37-694348
然后按回车,界面就会加载出这次运行的所有记录了,可以看到:
- 每一轮的因子提出
- 代码实现
- 回测结果
- 迭代过程
注意:
- Web UI的终端(就是运行rdagent ui的那个终端)不要关,关了界面就没了
- fin_factor在另一个终端里跑,两个同时运行互不影响


2万+

被折叠的 条评论
为什么被折叠?



