
TradingAgents-CN 怎么配置股票基础信息每日定时同步任务【免费下载链接】TradingAgents-CN基于多智能体LLM的中文金融交易框架 - TradingAgents中文增强版项目地址: https://gitcode.com/GitHub_Trending/tr/TradingAgents-CN在 TradingAgents-CN 中股票基础信息股票代码、名称、行业、地区、市值等通过后端内置的 APScheduler 定时任务从 Tushare/AKShare/BaoStock 等数据源拉取并写入 MongoDB供后续行情与基本面分析使用。本文的任务是完成这个股票基础信息每日定时同步任务的配置、启动并确认它按预期每天执行一次。适用环境已能连通 MongoDB 的后端服务依赖通过pip install -e .安装项目依赖中包含APScheduler、motor、pymongo等。任务的行为边界先明确这个定时任务是怎么跑的依据 scheduled_tasks_guide.md任务 ID 为basics_sync_service每天执行一次默认北京时间 06:30而不是持续运行应用启动后会先异步触发一次全量同步不阻塞启动之后按配置的时间点每日调度默认选择 06:30 的原因是避开交易时段、数据源通常已在凌晨更新完前一交易日数据、并在用户开始使用系统前完成同步。前置条件依据 stock_basics_sync.md已正确配置 MongoDB且能被后端连通设置环境变量TUSHARE_TOKENTushare token由读者自行到 Tushare 申请后填入安装项目依赖pip install -e .数据源优先级由启动逻辑决定见 app/main.pyTUSHARE_ENABLED为true默认值时优先顺序为tushare akshare baostockTushare 被禁用时自动使用akshare baostock。配置每日执行时间所有配置项在 app/core/config.py 中定义可写入项目根目录的.env文件或系统环境变量参数类型默认值说明SYNC_STOCK_BASICS_ENABLEDbooltrue是否启用每日同步任务SYNC_STOCK_BASICS_TIMEstring06:30执行时间HH:MM格式24 小时制SYNC_STOCK_BASICS_CRONstring空CRON 表达式设置后优先于 TIME 生效TIMEZONEstringAsia/Shanghai调度器时区两种配置方式二选一默认已启用不改.env即按每天 06:30 执行# 方式 1简单时间默认 SYNC_STOCK_BASICS_ENABLEDtrue SYNC_STOCK_BASICS_TIME06:30 TIMEZONEAsia/Shanghai # 方式 2CRON 表达式例如 30 6 * * * 表示每日 06:30 SYNC_STOCK_BASICS_CRON30 6 * * * TIMEZONEAsia/Shanghai # 数据源 tokenTUSHARE_TOKEN 替换为你自己的 token TUSHARE_TOKEN你的token文档中给出的其他示例SYNC_STOCK_BASICS_TIME02:00表示改为每天凌晨 2:00 执行SYNC_STOCK_BASICS_CRON0 2 * * 1表示每周一凌晨 2:00 执行。可选初始化 MongoDB 索引同步数据写入 MongoDB 的stock_basic_info集合按codeupsert同步状态记录在sync_status集合jobstock_basics。项目提供索引初始化脚本 scripts/setup/init_mongodb_indexes.py为stock_basic_info建code唯一索引及查询/排序索引为sync_status建job唯一索引等。运行方式使用当前环境变量连接 MongoDBpython scripts/setup/init_mongodb_indexes.py注意文档中的提示若stock_basic_info中首次已存在重复code数据唯一索引创建会失败需要先对数据去重再建索引。启动后端并确认任务已注册python -m uvicorn app.main:app --reload启动后做两件事确认定时任务已挂上看启动日志。调度注册时的日志以下为文档示例输出[INFO] Stock basics sync scheduled daily at 06:30 (Asia/Shanghai)若配置了 CRON则显示Stock basics sync scheduled by CRON: 你的CRON (Asia/Shanghai)。查调度器接口app/routers/scheduler.py 提供# 查看调度器状态 GET /api/scheduler/status # 查看所有任务确认 basics_sync_service 存在及其下次执行时间 GET /api/scheduler/jobs前端同样可以查看运行python web/run_web.py或streamlit run web/app.py打开 Streamlit在侧边栏选择「 系统状态」可以看到任务是否运行中、下次执行时间与倒计时。手动触发一次同步并核对结果不需要等到 06:30可以通过 API 立即触发一次全量同步来验证整条链路是否可用# 多数据源同步定时任务实际调用的入口支持自动切换数据源 POST /api/sync/multi-source/stock_basics/run # 指定优先数据源逗号分隔 POST /api/sync/multi-source/stock_basics/run?preferred_sourcesakshare,baostock # 强制执行即使正在运行 POST /api/sync/multi-source/stock_basics/run?forcetrue单数据源入口也保留着app/routers/sync.pyPOST /api/sync/stock_basics/run同样支持force参数。触发后查看状态# 查看股票基础信息同步状态 GET /api/sync/stock_basics/status状态接口的成功判定见 app/routers/multi_source_sync.py返回结果中status为success或success_with_errors时接口标记为成功failed时接口返回失败并附错误信息若任务已在运行返回running提示。同步执行期间的日志文档示例[INFO] Stock basics sync started [INFO] Successfully fetched 5438 stocks from tushare [INFO] Stock basics sync completed: 5438 total, 0 inserted, 5438 updated文档给出的完整执行流程示例一次同步通常耗时 30-60 秒06:30:00 ─→ 任务触发 06:30:01 ─→ 检查是否已在运行防止重复 06:30:02 ─→ 从数据源获取股票列表5000 只 06:30:15 ─→ 获取最新交易日期 06:30:20 ─→ 获取每日基础数据市值、ROE等 06:30:45 ─→ 批量更新 MongoDB 06:31:00 ─→ 任务完成状态更新为 success前端「 系统状态」页面上也可以直接点击「 手动运行全量同步」按钮触发等效于上述 API 调用。调整、禁用与排查修改时间改.env中的SYNC_STOCK_BASICS_TIME或SYNC_STOCK_BASICS_CRON然后重启应用生效。禁用定时任务SYNC_STOCK_BASICS_ENABLEDfalse禁用后只能手动触发同步。排查时按文档记录的已知现象核对stock_basics_sync.md、scheduled_tasks_guide.mdTushare 未配置状态为failedmessage 提示 token 缺失。先补齐TUSHARE_TOKEN或确认 AKShare/BaoStock 可用当日无交易数据脚本会回退查找最近有数据的交易日属正常行为任务长时间显示运行中可能是数据源响应慢或数据量大5000 只股票。先查日志确认任务是否真的在跑若卡住可重启应用或使用forcetrue参数强制重新执行首次全量同步数据量大关注日志与 MongoDB 写入速率。限制说明定时调度只覆盖每日一次的基础信息同步实时行情是另一个独立任务每 30 秒、仅交易时段不在本文范围内。数据写入以亿元人民币为单位的total_mv/circ_mvTushare 原始万元除以 1e4pe、pb、pe_ttm、pb_mrq、turnover_rate、volume_ratio保持原始数值。两篇文档对数据集合的命名不完全一致scheduled_tasks_guide.md 写作stock_basicsstock_basics_sync.md 写作stock_basic_info按后者描述的字段与索引脚本核对时以stock_basic_info为准。配置修改都需要重启应用后才生效调度器不会热加载.env。【免费下载链接】TradingAgents-CN基于多智能体LLM的中文金融交易框架 - TradingAgents中文增强版项目地址: https://gitcode.com/GitHub_Trending/tr/TradingAgents-CN创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考