Codex 实战:基于TradingAgents的金融分析系统
一、下载 Codex,注册登录
代码块
Plain Text
下载地址:h****://codexdown.**/

二、安装codex插件
•
点击扩展功能,在搜索框输入codex,选择第一个由openai开发的插件,点击"Install"安装
•
安装后,codex就出现在菜单栏中,直接点击这个图标,进入codex对话界面

50%

50%
三、导入GitHub项目文件
两种方式任选其一:
直接从github将对应项目打包下载,然后在cursor中选择file->open folder打开
直接开启vibecoding模式,在对话框给出指令「帮我本地部署github项项目:xxxx地址」,让大模型自主完成项目部署

50%

50%
四、项目部署后,进入vibecoding阶段
•
选择最强模型GPT-5.3-Codex和高级推理Extra High
•
让Codex扫描项目结构,加载所有文件,并完成初始配置,这里模型会一步步引导你完成项目配置

50%

50%
五、对该项目的数据源和大模型进行替换
•
为了降低项目运行成本,需要将该项目的海外金融数据来源替换成免费数据源finnhub,所以我做了如下指令:
代码块
Plain Text
帮我将finnhub的API密钥配置好,后续金融数据主要从该平台获取,密钥:XXXXXXX
•
finnhub个人密钥获取地址如下,直接注册后点击get free API key 获取
代码块
Plain Text
h****://finnhub.io/

🔔
然后对大模型来源进行替换,我这里选阿里云,因为阿里云是一个大模型提供平台,能集合大部分开源模型,方便后续替换更高性能模型。
平台地址和密钥地址如下,先注册再获取密钥地址:
代码块
Plain Text
平台地址:h****://dashscope.aliyun.***/
密钥地址:h****://dashscope.console.aliyun.***/apiKey

•
配置好后,也可以直接在codex给出指令,让codex进行大模型替换
六、优化前端框架(可以跳过这步)
我这里因为对前端设计比较有要求,同时我看到项目的前端框架是streamlit,所以要求codex帮我改一下前端框架,从streamlit调整为Vue3,如果大家对前端没特殊要求,可以跳过这步,因为Vue3还需要依赖云数据库MongoDB和Redis的配置,对非技术用户来说有点麻烦
50%
50%
•
云服务配置地址:
代码块
Plain Text
MongoDB云服务:h****://www.mongodb.\*\*\*/cloud/atlasRedis云服务:h\*\*\*s://redis.\*\*\*/
•
需要从以上服务中进行注册,并将账户密码给到codex,让codex完成配置。
如果不知道怎么获取,直接告诉codex,让它教你
七、运行测试,验证部署
🔔
完成前六步,就可以尝试本地运行项目,看下目前项目效果,这里codex告诉我怎么运行该项目,先打开终端,然后将以下代码直接复制到终端,让项目启动
•
终端运行后,会给一个地址,直接复制放到浏览器中打开,就能体验个人部署开发的项目了~如有问题,直接将终端的报错复制给Codex,继续优化
八、不同视角的分析师
专门辩论的研究员
•
让不同观点的看涨研究员和看跌研究员进行结构化辩论:
•
看涨研究员: 积极寻找市场中的利好因素,例如行业发展机遇、公司创新成果等,构建支持投资的逻辑,并提供论据支持。
•
看跌研究员: 捕捉潜在的风险信号和不利因素,例如宏观经济下行压力、公司竞争劣势等,并提出反驳意见和风险警示。
这种“正反方辩论”模式,强制智能体从两个方面进行深入思考,有效避免了单一视角可能带来的局限性,让决策更加全面和客观。
操盘手交易员
•
当分析师和研究员团队把“功课”做足后,就轮到交易员智能体出马了!
•
交易员智能体的决策过程是一个复杂的强化学习过程,综合所有信息,制定出切实可行的交易策略。
交易员智能体会综合考虑:
市场深度和流动性: 决定交易规模,避免对市场造成不必要的冲击。
风险偏好: 根据预设的风险敞口,调整交易激进程度。
时间窗口: 精准把握交易时机,力求实现回报最大化。
一旦市场出现符合预设交易条件的信号,交易员智能体就会迅速下达买入或卖出指令,并根据市场的实时变化灵活调整投资组合。
风险管理团队
在金融市场,风险控制永远是重中之重!
研究团队构建了专门的风险管理智能体团队,实时监控持仓情况和市场波动,通过设置止损订单等手段,严格控制投资风险,利用价值风险(VaR)、条件风险值(CVaR)等量化风险指标,确保所有交易活动都在预设的风险参数范围内进行。
•
例如,当某只股票的价格出现显著下跌,并接近预设的止损价位时,风险管理团队会及时提醒交易员智能体采取相应的应对措施,以最大限度地减少潜在损失。
九、部署方式
安装
•
克隆 TradingAgents 仓库:
•
使用您偏好的环境管理工具创建虚拟环境:
代码块
Bash
conda create -n tradingagents python=3.13
conda activate tradingagents
50%
50%
•
安装依赖项:
代码块
Bash
pip install -r requirements.txt
所需API
•
所有智能体都需要 OpenAI API,基本面数据和新闻数据(默认配置)需要 Alpha Vantage API。
代码块
Bash
export OPENAI_API_KEY=$YOUR_OPENAI_API_KEYexport ALPHA_VANTAGE_API_KEY=$YOUR_ALPHA_VANTAGE_API_KEY
•
或者,您可以在项目根目录中创建一个包含 API 密钥的 .env 文件(请参考 .env.example):
代码块
Bash
cp .env.example .env# Edit .env with your actual API keys
命令行使用
•
可直接运行CLI:
代码块
Bash
python -m cli.main
•
界面将显示可选参数:股票代码、日期、大语言模型、研究深度等。
•
运行时会实时显示加载结果,可追踪代理执行进度。
十、TradingAgents包
实现细节
采用LangGraph构建TradingAgents以保证灵活性和模块化。实验中使用o1-preview和gpt-4o分别作为深度思考与快速思考的大语言模型。但测试时建议使用o4-mini和gpt-4.1-mini以节省成本,因本框架会发起大量API调用。
Python调用
在代码中导入tradingagents模块并初始化TradingAgentsGraph()对象。.propagate()函数将返回决策结果。可运行main.py,以下是快速示例:
代码块
Python
from tradingagents.graph.trading_graph import TradingAgentsGraph
from tradingagents.default_config import DEFAULT_CONFIG
ta = TradingAgentsGraph(debug=True, config=DEFAULT_CONFIG.copy())
# forward propagate
_, decision = ta.propagate("NVDA", "2024-05-10")
print(decision)
•
也可以调整默认配置,设置您偏好的大语言模型(LLMs)、辩论轮次等参数。
代码块
Python
from tradingagents.graph.trading_graph import TradingAgentsGraph
from tradingagents.default_config import DEFAULT_CONFIG
# Create a custom config
config = DEFAULT_CONFIG.copy()
config["deep_think_llm"] = "gpt-4.1-nano" # Use a different model
config["quick_think_llm"] = "gpt-4.1-nano" # Use a different model
config["max_debate_rounds"] = 1 # Increase debate rounds
# Configure data vendors (default uses yfinance and Alpha Vantage)
config["data_vendors"] = {
"core_stock_apis": "yfinance", # Options: yfinance, alpha_vantage, local
"technical_indicators": "yfinance", # Options: yfinance, alpha_vantage, local
"fundamental_data": "alpha_vantage", # Options: openai, alpha_vantage, local
"news_data": "alpha_vantage", # Options: openai, alpha_vantage, google, local
}
# Initialize with custom config
ta = TradingAgentsGraph(debug=True, config=config)
提醒:TradingAgents 框架仅供研究用途。交易表现可能会因为模型、参数、数据等多种因素而异,不构成财务、投资或交易建议