进阶配置

进阶配置

投研层的数据源升级与日常调度:补你真正需要的信息,让系统的”眼睛”看得更远。

ℹ️ 说明

投研层负责看市场、取事实、做初始调研,也最容易过度建设。先问一句:多这个数据源或报告,我的研究会因此变好吗?不会就别接。先确保你已经跑通最小闭环(跑一下市场洞察 + 跑一下投资雷达),再来升级数据源。

数据源分级:先解决问题,再加 Key

级别配置解锁什么时候需要
Level 0无需 KeyRSS + Yahoo Finance 价格兜底所有人先从这里跑通
Level 1FINNHUB_API_KEY美股/Crypto 报价与个股新闻主要研究美股或 Crypto
Level 1+TUSHARE_TOKENA股日线与最近交易日价格主要研究 A 股
Level 1++问财 Skill + IWENCAI_API_KEYA股 What’s Hot / 美股条件选股;其他事实查询为实验性入口需要主动筛股时
Level 2YMOS_MARKET_API_*已清洗、分类、去重的结构化市场事件RSS 噪音或本地处理成本已成瓶颈
💡 提示

Level 不是质量排名,也不要求按顺序全部安装。它回答的是「这个数据缺口该用什么补」:只做 A 股不必为了层级完整去配 Finnhub;只跟踪固定持仓,也未必需要条件选股。

统一配置方式:

BASH
cp .env.example .env

然后只填写需要的字段。脚本会从 YMOS 根目录自动读取 .env,不需要安装 python-dotenv

⚠️ 注意

.env 已被 Git 忽略,但「被忽略」不等于可以随意复制。不要把真实 Key 写进 SOP、Markdown、业务脚本、定时任务提示词、聊天记录或命令参数——命令参数可能进入 shell history。

Level 0:RSS + Yahoo Finance,先验证最小闭环

不申请任何账户即可使用:fetch_rss.py 拉取公开 RSS,供市场洞察做事件归纳;fetch_price_router.py 在没有专用 Key 时回退 Yahoo Finance。市场洞察、投资雷达、Reader、Strategy Profile 和 BrainStorm 都不依赖付费数据源。

BASH
python3 Eyes/scripts/fetch_rss.py 1 –output /tmp/ymos_rss.json
python3 Eyes/scripts/fetch_price_router.py \
  –symbols “AAPL,000001.SZ,0700.HK” \
  –output-dir /tmp/ymos_prices

Level 0 的限制也要接受:RSS 可能失效或延迟,Yahoo 是免费兜底,不应被当作交易所级实时行情。单个源失败时,报告应该留下错误和降级说明,而不是假装数据完整。

Level 1:Finnhub,美股 / Crypto 的报价和事件增强

能力没有 Finnhub配置后
美股 / Crypto 价格Yahoo Finance 兜底Finnhub 报价 + Yahoo 互备
个股新闻主要依赖通用 RSS可按持仓 Ticker 拉取 company news
财报等事件依赖其他新闻源发现可作为事件检测补充输入
  1. 前往 finnhub.io 注册,在 Dashboard 复制 API Key
  2. .env 填写 FINNHUB_API_KEY=你的Key
BASH
python3 Eyes/scripts/fetch_price_router.py –symbols “AAPL,NVDA” –output-dir /tmp/ymos_finnhub
python3 Eyes/scripts/fetch_finnhub_news.py –hours 24 –output /tmp/ymos_finnhub_news.json
ℹ️ 说明

免费额度、延迟和端点权限可能调整,以 Finnhub 当前 Dashboard 为准。YMOS 的日频扫描通常不需要高频调用;不要为了「更实时」把投研任务改成无意义的分钟级轮询。

Level 1+:Tushare,补 A 股日线与最近交易日价格

Tushare 解决的是 A 股代码和日线稳定性问题,不是券商级实时行情

  1. 前往 tushare.pro 注册,在个人中心复制 Token(不同接口所需积分以官网当前规则为准)
  2. .env 填写 TUSHARE_TOKEN=你的Token

价格路由自动分流

MARKDOWN
.SS / .SZ → Tushare;无 Token 时回退 Yahoo
.HK       → Yahoo Finance
其他      → Finnhub;无 Key 时回退 Yahoo
💡 提示

Finnhub 与 Tushare 可以独立配置,互不影响。两市都研究就都配;只做一个市场就只配对应的数据源。

Level 1++:问财数据层(可选 · Beta)

V4 起新增,让投研层从「只能取价格和新闻」变成「能做条件选股和事实检索」——研究触角变长了,但不替你改变判断规则。

它不是 YMOS 内置 Skill,需要两步:从同花顺问财官方 SkillHub安装对应 Skill,再配置 IWENCAI_API_KEY。推荐流程:

  1. 登录 SkillHub,打开所需的官方 Skill
  2. 在安装方式中选择 Agent 用户,把官方生成的安装 Prompt 交给你的 Agent
  3. 按 SkillHub 当前说明获取 IWENCAI_API_KEY
  4. 优先安装到 Agent 自己的标准 Skills 目录;装在其他位置时,把「包含各 Skill 文件夹的上级目录」写入 YMOS_SKILL_ROOT
  5. 安装后同时确认宿主能识别 SkillYMOS 能找到 scripts/cli.py——「文件夹存在」不等于安装完成
BASH
# .env
YMOS_SKILL_ROOT=/包含各个Skill文件夹的上级目录   # 不是 Key;已装在自动搜索目录时可留空
IWENCAI_API_KEY=你的问财服务Key
IWENCAI_BASE_URL=https://openapi.iwencai.com

# 自检:检查 YMOS 实际发现了哪些问财 Skills
python3 Eyes/scripts/skill_resolver.py
⚠️ 注意

V4 已用真实 Key 验证 A 股与美股条件选股封装。财务、研报需要各自对应的 Skill;公告、新闻当前由封装脚本直连接口——这四项仍按实验性入口管理。港股官方 Skill 可以由 Agent 直接使用,但公开版尚未提供港股 What’s Hot 自动链。这些外部 Skill 不属于 YMOS,YMOS 不复制、不二次分发,也不替 SkillHub 猜下载地址。没安装不阻塞主链——依赖问财的 SOP 会明确写出缺的是 Skill、路径还是 Key。

Level 2:Market Data API(yongmai.xyz)

这是作者自用的数据管道对 YMOS 提供的结构化入口。当前底层以 28 源处理管道为基础,对中英文市场信息做抓取、清洗、分类与去重,减少本地处理 RSS 的 Token 消耗和中文源维护成本。来源概览见 TIB RSS 信息源清单

维度免费 RSS 路径Market Data API
输入多个原始 Feed服务端预处理后的结构化事件
中文信息取决于公开 RSS / 自建 RSSHub包含作者自用的中英文来源管道
本地处理Agent 负责较多清洗、去重和分类本地直接消费结构化结果
失败降级RSS 单源失败后继续API 失败时回到 RSS 主链

前往 yongmai.xyz 注册页注册或登录,在用户中心自助开通并生成专属 API Key:

BASH
YMOS_MARKET_API_URL=https://yongmai.xyz/wp-json/tib/v1/reports
YMOS_MARKET_API_KEY=你的key

# 测试
python3 Eyes/scripts/fetch_market_api.py 1 –output /tmp/ymos_market_data.json
ℹ️ 说明

先用 Level 0 跑通市场洞察与投资雷达,再判断结构化 API 是否真的减少了你的噪音和处理成本。API 是可替换数据源,不是 YMOS 的运行前提;服务不可用或不配置时回退 RSS,不会让整条投研链停摆。

自定义 RSS 与更多 API

默认 RSS 不够时,先复制补充配置,不要直接改公共源文件:

BASH
cp Eyes/scripts/rss_sources_custom.json.example \
   Eyes/scripts/rss_sources_custom.json

rss_sources_custom.json 已被 Git 忽略。市场洞察会把补充 RSS 与主数据源并行读取——无论主数据源是 API 还是默认 RSS,适合行业博客、公司工程博客或特定研究者。

如果要接新的金融 API,参考 fetch_finnhub_news.pyfetch_price_api.py:从 .env 读取凭据,输出带来源和时间的 JSON,在 SOP 里声明失败降级,再用正常、空结果和失败三个样本验证。

一个合格驱动的职责

只做四件事:取事实、记来源和时间、输出结构化结果、说明失败降级。建议输出:

JSON
{
  “schemaVersion”: 1,
  “source”: “provider-name”,
  “asOf”: “YYYY-MM-DD HH:mm”,
  “market”: “”,
  “symbols”: [],
  “facts”: [],
  “unresolved”: [],
  “errors”: []
}
重要

投研脚本和数据适配器不许写「应该买」「应该卖」或任何个人策略结论。它们可以做事实归纳和初始研究;根据 Profile 形成个性化动作判断,是策略内核层的工作。

配完之后怎么判断是否成功

不要只看「命令没有报错」。至少确认:

  1. 输出文件真实存在且能解析
  2. source、时间与市场字段正确
  3. 空结果和接口失败会留下明确状态
  4. 投资雷达实际读取了新数据,而不是仍在使用旧缓存
  5. 删除或清空 Key 后,系统能按文档回退,而不是静默生成假报告

定时任务:写依赖,不抄时间表

暗号适合试跑和临时调用;定时任务让 YMOS 真正承担日常监测与重复劳动。公开版只定义顺序:

MARKDOWN
外部事实就绪 → 投资雷达映射 → 策略分析/持仓体检
  → Human 审阅 → 盘前计划 → 盘中执行与留痕

建议先启用两条投研主链跑两周;启用操盘层后,再增加平仓复盘:

任务建议触发作用
市场洞察你关注的市场收盘后,或每天一次建立市场背景与事件地图
投资雷达市场洞察完成后结合持仓、关注与价格变化筛选待处理事项
平仓复盘归档启用操盘层后,每周一次或每次平仓后把实际结果变成策略内核的验证证据

内核周期审计建议月度或季度跑,不要每周——样本不足 10 笔时提案没有意义。What’s Hot 等作者扩展默认关闭,按需启用。一条调度至少写清:时区与触发条件、上游产物、读取范围、允许写入的路径、空数据与失败怎么处理、Human 要审阅什么。

⚠️ 注意

不要因为工具支持 cron,就默认所有模块都该自动跑。一个健康的配置,长期启用的任务在 4–6 个。一套真实跑过几个月、迭代过二十多版的参考配置(含时序依赖、踩坑约束和「什么该停掉」)见仓库 Agents/SCHEDULES_REFERENCE.md。直接抄时间没有意义,值得抄的是为什么这么排——尤其那条「把产生决策的任务,全部挪到收盘后」。

定时任务提示词至少要明确角色、SOP、工作目录和成功标准:

MARKDOWN
你现在承担 Market Insight Agent 角色。
工作目录:/你的路径/YMOS
读取:Agents/market-insight-agent.md
执行:Eyes/SOP_市场洞察.md
成功标准:生成当日市场洞察;失败必须返回具体步骤和错误,不静默跳过。

数据新鲜度

Profile 里写明各类事实的有效期。Agent 不能把旧快照当实时行情用。需要精确金额、止损判断或再平衡时必须先刷新——过期就只提示刷新,不给动作结论。

模型选择

模型名称变化很快,不在文档写死。按任务风险分配即可:

任务模型选择
RSS 拉取、格式转换、文件归档、状态校验稳定的轻量模型即可
市场洞察、投资雷达、常规建档中高能力模型,要求长上下文和来源意识
策略诊断、P5/P6/P9/P12、深度调研、内核变更尽量使用当前可稳定获得的强模型
💡 提示

模型再强也不能替代证据边界:事实要有来源,规则要可证伪,变更要由 Human 审批。强模型不获得额外权限。