@v587d/capital-generation 2.7.1 → 2.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +80 -0
- package/README.md +9 -7
- package/THIRD_PARTY_NOTICES.md +65 -24
- package/capital-config/client.js +2 -2
- package/capital-config/package.json +1 -1
- package/capital-watchlist/package.json +1 -1
- package/chart-ui/package.json +1 -1
- package/lib/web-retriever/local-fetch.d.ts +1 -1
- package/lib/web-retriever/local-fetch.js +1 -1
- package/lib/web-retriever/wind-client.d.ts +1 -1
- package/lib/web-retriever/wind-client.js +1 -1
- package/package.json +3 -1
- package/selected-skills/InvestSkill/UPSTREAM.md +9 -0
- package/selected-skills/catalog.js +200 -0
- package/selected-skills/china-stock-research-skills/UPSTREAM.md +2 -1
- package/selected-skills/investment-skills/UPSTREAM.md +2 -1
- package/selected-skills/peter-lynch-skill/LICENSE +21 -0
- package/selected-skills/peter-lynch-skill/UPSTREAM.md +72 -0
- package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/SKILL.md +142 -0
- package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/deep/methodology.md +587 -0
- package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/deep/system-prompt.md +102 -0
- package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/deep/web-research.md +471 -0
- package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/disclaimer.md +2 -0
- package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/filing-rules.md +64 -0
- package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/quick/methodology.md +195 -0
- package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/quick/system-prompt.md +72 -0
- package/selected-skills/peter-lynch-skill/skills/peter-lynch-skill/references/quick/web-research.md +379 -0
- package/selected-skills/trading-skills/LICENSE +21 -0
- package/selected-skills/trading-skills/UPSTREAM.md +111 -0
- package/selected-skills/trading-skills/skills/catalyst-map/SKILL.md +119 -0
- package/selected-skills/trading-skills/skills/catalyst-map/references/catalyst-framework.md +68 -0
- package/selected-skills/trading-skills/skills/earnings-preview/SKILL.md +124 -0
- package/selected-skills/trading-skills/skills/earnings-preview/references/data-providers.md +26 -0
- package/selected-skills/trading-skills/skills/earnings-preview/references/providers/fmp.md +49 -0
- package/selected-skills/trading-skills/skills/earnings-preview/references/providers/polygon.md +45 -0
- package/selected-skills/trading-skills/skills/earnings-preview/references/providers/tradingeconomics.md +49 -0
- package/selected-skills/trading-skills/skills/earnings-preview/references/relevance-ranking.md +24 -0
- package/selected-skills/trading-skills/skills/earnings-trade-prep/SKILL.md +134 -0
- package/selected-skills/trading-skills/skills/earnings-trade-prep/references/workflow-framework.md +65 -0
- package/selected-skills/trading-skills/skills/evidence-gap-check/SKILL.md +120 -0
- package/selected-skills/trading-skills/skills/evidence-gap-check/references/gap-framework.md +66 -0
- package/selected-skills/trading-skills/skills/execution-plan-check/SKILL.md +121 -0
- package/selected-skills/trading-skills/skills/execution-plan-check/references/execution-checklist.md +70 -0
- package/selected-skills/trading-skills/skills/journal-pattern-analyzer/SKILL.md +120 -0
- package/selected-skills/trading-skills/skills/journal-pattern-analyzer/references/calculation-helpers.md +16 -0
- package/selected-skills/trading-skills/skills/journal-pattern-analyzer/references/pattern-framework.md +74 -0
- package/selected-skills/trading-skills/skills/macro-event-analysis/SKILL.md +122 -0
- package/selected-skills/trading-skills/skills/macro-event-analysis/references/data-providers.md +23 -0
- package/selected-skills/trading-skills/skills/macro-event-analysis/references/interpretation-guide.md +22 -0
- package/selected-skills/trading-skills/skills/macro-event-analysis/references/providers/fmp.md +28 -0
- package/selected-skills/trading-skills/skills/macro-event-analysis/references/providers/tradingeconomics.md +40 -0
- package/selected-skills/trading-skills/skills/market-regime-analysis/SKILL.md +117 -0
- package/selected-skills/trading-skills/skills/market-regime-analysis/references/data-providers.md +26 -0
- package/selected-skills/trading-skills/skills/market-regime-analysis/references/providers/fmp.md +46 -0
- package/selected-skills/trading-skills/skills/market-regime-analysis/references/providers/polygon.md +36 -0
- package/selected-skills/trading-skills/skills/market-regime-analysis/references/providers/tradingeconomics.md +46 -0
- package/selected-skills/trading-skills/skills/market-regime-analysis/references/regime-framework.md +23 -0
- package/selected-skills/trading-skills/skills/portfolio-concentration/SKILL.md +119 -0
- package/selected-skills/trading-skills/skills/portfolio-concentration/references/concentration-framework.md +72 -0
- package/selected-skills/trading-skills/skills/portfolio-risk-review/SKILL.md +126 -0
- package/selected-skills/trading-skills/skills/portfolio-risk-review/references/workflow-framework.md +57 -0
- package/selected-skills/trading-skills/skills/position-management/SKILL.md +120 -0
- package/selected-skills/trading-skills/skills/position-management/references/management-framework.md +70 -0
- package/selected-skills/trading-skills/skills/position-sizing/SKILL.md +83 -0
- package/selected-skills/trading-skills/skills/position-sizing/assets/trade-plan-template.md +15 -0
- package/selected-skills/trading-skills/skills/position-sizing/references/calculation-helpers.md +13 -0
- package/selected-skills/trading-skills/skills/position-sizing/references/methodology.md +28 -0
- package/selected-skills/trading-skills/skills/post-trade-debrief/SKILL.md +99 -0
- package/selected-skills/trading-skills/skills/post-trade-debrief/references/workflow-framework.md +51 -0
- package/selected-skills/trading-skills/skills/post-trade-review/SKILL.md +82 -0
- package/selected-skills/trading-skills/skills/post-trade-review/references/review-rubric.md +34 -0
- package/selected-skills/trading-skills/skills/pre-trade-check/SKILL.md +136 -0
- package/selected-skills/trading-skills/skills/pre-trade-check/references/workflow-framework.md +61 -0
- package/selected-skills/trading-skills/skills/risk-reward-sanity-check/SKILL.md +81 -0
- package/selected-skills/trading-skills/skills/risk-reward-sanity-check/references/calculation-helpers.md +14 -0
- package/selected-skills/trading-skills/skills/risk-reward-sanity-check/references/failure-modes.md +9 -0
- package/selected-skills/trading-skills/skills/thesis-validation/SKILL.md +123 -0
- package/selected-skills/trading-skills/skills/thesis-validation/references/thesis-checklist.md +56 -0
- package/selected-skills/trading-skills/skills/watchlist-review/SKILL.md +119 -0
- package/selected-skills/trading-skills/skills/watchlist-review/references/review-framework.md +57 -0
- package/selected-skills/InvestSkill/ADDING-NEW-SKILLS.md +0 -546
- package/selected-skills/InvestSkill/CHANGELOG.md +0 -373
- package/selected-skills/InvestSkill/CI-CD-GUIDE.md +0 -432
- package/selected-skills/InvestSkill/CLAUDE.md +0 -148
- package/selected-skills/InvestSkill/CONTRIBUTING.md +0 -291
- package/selected-skills/InvestSkill/DEPLOYMENTS.md +0 -321
- package/selected-skills/InvestSkill/FAQ.md +0 -509
- package/selected-skills/InvestSkill/GEMINI.md +0 -419
- package/selected-skills/InvestSkill/PLATFORM-COMPATIBILITY.md +0 -529
- package/selected-skills/InvestSkill/README-claude-code.md +0 -435
- package/selected-skills/InvestSkill/README-cursor.md +0 -475
- package/selected-skills/InvestSkill/README-gemini.md +0 -532
- package/selected-skills/InvestSkill/README-ollama.md +0 -106
- package/selected-skills/InvestSkill/README-zh-TW.md +0 -461
- package/selected-skills/InvestSkill/README.md +0 -311
- package/selected-skills/InvestSkill/RELEASE-QUICK-REFERENCE.md +0 -230
- package/selected-skills/InvestSkill/RELEASE_NOTES.md +0 -121
- package/selected-skills/InvestSkill/SECURITY.md +0 -232
- package/selected-skills/InvestSkill/TODO.md +0 -28
- package/selected-skills/InvestSkill/package.json +0 -64
- package/selected-skills/InvestSkill/plugins/us-stock-analysis/README.md +0 -119
- package/selected-skills/china-stock-research-skills/.github/ISSUE_TEMPLATE/bug_report.md +0 -35
- package/selected-skills/china-stock-research-skills/.github/ISSUE_TEMPLATE/skill_request.md +0 -28
- package/selected-skills/china-stock-research-skills/.github/PULL_REQUEST_TEMPLATE.md +0 -15
- package/selected-skills/china-stock-research-skills/CHANGELOG.md +0 -59
- package/selected-skills/china-stock-research-skills/CONTRIBUTING.md +0 -121
- package/selected-skills/china-stock-research-skills/GITHUB_PUBLISHING.md +0 -259
- package/selected-skills/china-stock-research-skills/INSTALL.md +0 -151
- package/selected-skills/china-stock-research-skills/PUBLISH_CHECKLIST.md +0 -165
- package/selected-skills/china-stock-research-skills/README.en.md +0 -209
- package/selected-skills/china-stock-research-skills/README.md +0 -209
- package/selected-skills/china-stock-research-skills/RELEASE_ASSETS.md +0 -222
- package/selected-skills/china-stock-research-skills/ROADMAP.md +0 -45
- package/selected-skills/china-stock-research-skills/SKILLS.md +0 -85
- package/selected-skills/china-stock-research-skills/examples/full-report-flow.md +0 -20
- package/selected-skills/china-stock-research-skills/examples/module-select-cases.md +0 -26
- package/selected-skills/china-stock-research-skills/examples/quickstart-prompts.md +0 -25
- package/selected-skills/investment-skills/.github/workflows/validate.yml +0 -25
- package/selected-skills/investment-skills/.tbd/config.yml +0 -107
- package/selected-skills/investment-skills/README.md +0 -253
- package/selected-skills/investment-skills/docs/development.md +0 -37
- package/selected-skills/investment-skills/docs/roadmap.md +0 -25
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# Upstream Record
|
|
2
|
+
|
|
3
|
+
- Project: Trading Skills —— 19 颗讲交易过程纪律的 skill:下单前的检查(催化剂排布、自选清单分诊、证据缺口、
|
|
4
|
+
论点压力测试、盈亏比结构、执行计划可操作性、组合集中度)与下单后的复盘学习(交易日志模式、单笔复盘),
|
|
5
|
+
外加 4 颗把它们串起来的 workflow、一颗仓位计算与一颗券商 API 执行面。
|
|
6
|
+
- Repository: https://github.com/marian2js/trading-skills
|
|
7
|
+
- Upstream commit: `f1ae7d481154b49192681187cb08d39d7e2d4524`(main,2026-03-16,"Run skill-doctor and improve skill triggers")
|
|
8
|
+
- 全仓 31 次提交,全部落在 2026-03-06 至 2026-03-16 这十天里。上游版本文件 `VERSION` = `0.1.0-rc.1`,无 release、无 tag。
|
|
9
|
+
- License: MIT;`LICENSE` 为上游原件、未改写。**注意其 `Copyright (c) 2026` 一行没有署名**(上游就是这么写的),
|
|
10
|
+
署名按仓库 owner 与 commit author 记为 `marian2js`;catalog 的 `owner` 用同一个值拼仓库链接。
|
|
11
|
+
- Imported content: 该 commit 的完整文件树(`skills/` 下 19 颗 skill + 共享 python 模块 + 仓库级材料),55 个文件 / 约 460 KB。
|
|
12
|
+
上游带 `.gitignore`(`__pycache__/`、`.env`、`.venv/` 等)——见下面的本地改动 2。
|
|
13
|
+
|
|
14
|
+
- Local modifications(三类,逐条可复核;口径与理由见 `docs/dev/selected-skills.md` §8.6 的接入必查清单):
|
|
15
|
+
|
|
16
|
+
1. **平铺掉 `<domain>/` 一层。** 上游把 skill 按主题分成两层:`skills/<domain>/<name>/SKILL.md`
|
|
17
|
+
(`idea-discovery`、`market-context`、`position-oversight`、`review-learning`、`thesis-validation`、
|
|
18
|
+
`trade-construction`、`live-trade`、`workflows`)。DSH filesystem provider 只枚举 skills 根的**直接子项**,
|
|
19
|
+
指 `skills` 等于发现 0 颗;而 provider 与 `test/selected-skills-content.test.mjs`、`test/packaging.test.mjs`、
|
|
20
|
+
`test/persona.test.mjs`、`capital-config` 原文旁路五处都按 `<repo>/<skillsDir>/<name>/SKILL.md` 反查
|
|
21
|
+
(AGENTS.md §9.7 那一族:漂了不报错,只是"勾了那一格、技能永远不出现")。所以快照里是
|
|
22
|
+
`skills/<name>/…`,`SELECTED_SKILL_SKILL_DIRS` 填 `'skills'`。
|
|
23
|
+
每颗 skill 的 markdown 链接**只指向自己目录内**的 `references/…` 与 `assets/…`(逐颗核过,无 `../`、无跨目录链接),
|
|
24
|
+
平铺后一条不破。原分组记在这里供核对:
|
|
25
|
+
`idea-discovery` → catalyst-map、watchlist-review;`market-context` → earnings-preview、macro-event-analysis、
|
|
26
|
+
market-regime-analysis;`position-oversight` → position-management;`review-learning` → journal-pattern-analyzer、
|
|
27
|
+
post-trade-review;`thesis-validation` → evidence-gap-check、thesis-validation;`trade-construction` →
|
|
28
|
+
execution-plan-check、portfolio-concentration、position-sizing、risk-reward-sanity-check;`live-trade` → etoro;
|
|
29
|
+
`workflows` → earnings-trade-prep、portfolio-risk-review、post-trade-debrief、pre-trade-check。
|
|
30
|
+
随之变旧的是上游 `catalog.json` 里的 `path` / `docs_path` 字段与 `docs/examples/` 的路径口径——
|
|
31
|
+
两者都不进 catalog、也不进发布包(见 Packaging),按"不进 catalog 的正文一律不动"原样保留。
|
|
32
|
+
2. **删除上游的 `.gitignore`。** 被排除的 ignore 规则会在本仓继续生效,并把"按 commit 重导"的快照
|
|
33
|
+
与所钉 commit 弄成两种样子(InvestSkill 那一轮就是三个文件被静默挡掉)。vendored 快照不把 ignore 规则带进宿主仓库。
|
|
34
|
+
3. **取数与执行面口径改写**:8 份 `SKILL.md` + 2 份 `references/calculation-helpers.md`,
|
|
35
|
+
共 17 处句子级改动(+34 / −13 行)。分析结论、判定档位词汇(`must-watch` / `fragile` / `too concentrated` 一类)、
|
|
36
|
+
输入清单、输出顺序与 `references/` 的框架、阈值文档一字未改。
|
|
37
|
+
本颗**没有** `web search` 与记忆回填那一族(`web search` 零命中;每颗都写"缺什么就点名缺、别编",
|
|
38
|
+
`example-mode` 指使用者自带的示例数据并要求标注,不是逃生口),换的是另外三种形态:
|
|
39
|
+
- **谁去取数(6 处)**:`catalyst-map`、`watchlist-review`、`evidence-gap-check`、`thesis-validation`、
|
|
40
|
+
`execution-plan-check`、`portfolio-concentration` 各有一句 `Do not fetch live data unless the user
|
|
41
|
+
explicitly asks to pair this skill with …`。前半句的意图(别自己去堆一堆数据)保留,
|
|
42
|
+
后半句改成"确实缺一个日期或一个字段时,把标的、字段、as-of 日期写成 brief 交给宿主取数通道——
|
|
43
|
+
角色分流的宿主里就是负责检索与行情的角色——用回来的东西继续,剩下的照旧标为未知"。
|
|
44
|
+
顺带这三句原本点名的 `earnings-preview` / `macro-event-analysis` 不在可选清单里(见下面的收录判断)。
|
|
45
|
+
- **没有 shell 就算不了(2 + 2 处)**:`journal-pattern-analyzer:49` 与 `risk-reward-sanity-check:52` 的
|
|
46
|
+
`For agents that support code execution, use [references/calculation-helpers.md] …` 改成
|
|
47
|
+
"本插件的分析角色没有 shell,也不跑 helper 脚本:统计量交给宿主数据侧(角色分流的宿主里委派做统计与质量校验的角色),
|
|
48
|
+
三笔以内可以在答复里手算并把算式写出来,缺输入的条目留空不补默认值";
|
|
49
|
+
两颗各自的 `references/calculation-helpers.md` 随之从"复用 `skills/_lib/calculations.py` 里的函数"
|
|
50
|
+
改写成"这些量是什么、怎么取"(公式按上游 `_lib/calculations.py` 的实现核对:
|
|
51
|
+
`risk_reward_ratio` = |target−entry| / |entry−stop| 每单位、`expectancy` = 胜率×均盈 − 败率×均亏,
|
|
52
|
+
`kelly_fraction` 只是参照值,不作为交给使用者的仓位)。
|
|
53
|
+
- **点名的下一步 skill 未必存在(7 处)**:`catalyst-map`、`watchlist-review`、`evidence-gap-check`、
|
|
54
|
+
`thesis-validation`、`journal-pattern-analyzer`、`execution-plan-check`、`portfolio-concentration` 的
|
|
55
|
+
`Next Skill` 清单原句保留,各加同一句前置条件与退路(InvestSkill 那轮的改法):
|
|
56
|
+
点名的 skill 只有使用者显式开启才存在于会话里,本插件明确不提供的那两类(下单、给仓位)永远不存在,
|
|
57
|
+
只能说成选项、不能替使用者跑。
|
|
58
|
+
**没有新增 `Retrieval:` 出处档**:上游根本没有这个枚举(§8.6 第 3 条不适用),
|
|
59
|
+
不为了套前几颗的改法新造上游没有的模板字段。
|
|
60
|
+
|
|
61
|
+
- 收录判断(19 颗里 9 颗进 catalog,10 颗留在快照里当可审查材料):
|
|
62
|
+
- **进**:`catalyst-map`、`watchlist-review`、`evidence-gap-check`、`thesis-validation`、
|
|
63
|
+
`risk-reward-sanity-check`、`execution-plan-check`、`portfolio-concentration`、
|
|
64
|
+
`journal-pattern-analyzer`、`post-trade-review`。
|
|
65
|
+
`post-trade-review` 一字未动就过闸门(全文无取数、无脚本、无出图,只在 `references/review-rubric.md`
|
|
66
|
+
里举了一条"高冲击数据日把仓位减 25%"的过程规则例子 → `riskNote` 写明属于过程推演)。
|
|
67
|
+
- **不进 · 执行面**:`etoro`。它是券商公开 API 的操作手册:`SKILL.md:18` "**Keys (request from the user on install)**"
|
|
68
|
+
与逐步生成密钥的说明、`x-api-key` / `x-user-key` 请求头、`curl -X POST …/trading/execution/…market-open-orders/by-amount`
|
|
69
|
+
带 `"IsBuy": true, "Leverage": 1`、"Use **non-demo execution endpoints** for real trading"、按 `positionId` 平仓,
|
|
70
|
+
末尾还指到一个 MCP server。§8.6 第 4 条(执行面)与第 7 条(真实下单)双重排除;本插件不接券商、不下单、
|
|
71
|
+
凭据只进 credentials 域(§5)。这颗连发布包都不进(`.npmignore`),全量仍住在 git 里。
|
|
72
|
+
- **不进 · 仓位与买卖动作**:`position-sizing`(索取 account equity,输出 `Position Recommendation`:
|
|
73
|
+
股数/合约数/账户风险百分比)、`position-management`(`hold, trim, tighten risk, close, or wait` + `Best Next Action`)。
|
|
74
|
+
与 `docs/reference/external-skill-scan-2026-10.md` 观察名单里既写的同一口径:
|
|
75
|
+
「评级、买卖动作和仓位决策属于明确冲突,不能直接集成」。
|
|
76
|
+
- **不进 · 接管会话路由**:`pre-trade-check`、`earnings-trade-prep`、`portfolio-risk-review`、`post-trade-debrief`
|
|
77
|
+
四颗 workflow。上游自己的 "Workflow routing" 段按结果分流到 11–12 颗子 skill 并给出
|
|
78
|
+
`ready` / `reject` / `hold through with conditions` 一类决断,与本插件的角色路由冲突
|
|
79
|
+
(`china-stock-research-orchestrator` 与 InvestSkill 的 `full-report` 是同一条理由)。
|
|
80
|
+
- **不进 · 数据层与本插件不兼容**:`earnings-preview`、`macro-event-analysis`、`market-regime-analysis`。
|
|
81
|
+
上游校验器把这套取数口径写成硬要求(`scripts/validate_repo.py:146` 要求这三颗必须写
|
|
82
|
+
`ask which supported provider`):向用户点选 FMP/Polygon/TradingEconomics、在对话里认领"usable access details"、
|
|
83
|
+
然后 `curl "…apikey=<FMP_API_KEY>"`(三颗共 18 处 curl + 3 份 `data-providers.md`)。本插件没有这些服务商的凭据,
|
|
84
|
+
也不为它们开第二条取数口子;改写成"委派宿主通道"会让这 10 份 provider 文档变成死路,因此整颗留原文不改。
|
|
85
|
+
另外 `earnings-preview` 与 catalog 里已收录的 InvestSkill 同名那颗**撞车**——provider 的启用集合只按 `name` 认,
|
|
86
|
+
`test/persona.test.mjs` 钉住 name 全局唯一,收进来必然出问题。
|
|
87
|
+
- `test/selected-skills-provider.test.mjs` 用「skills 根目录 − 排除清单」派生本颗的可选清单,
|
|
88
|
+
`test/persona.test.mjs` 另把 `etoro` / `position-sizing` / `position-management` / `pre-trade-check` 明确断为不进 catalog。
|
|
89
|
+
- 复核方法:`git clone` 所钉 commit 后,把上游 `skills/<domain>/<name>` 与快照 `skills/<name>` 逐颗 `diff -r`——
|
|
90
|
+
差异只应包含以上三类(10 份文件、17 处句子级改动;其余 11 颗与 `_lib/`、`LICENSE` 逐字节相同)。
|
|
91
|
+
`test/selected-skills-content.test.mjs` 扫正文**结果**、本文件记**理由**,两边任一漂回去都会红。
|
|
92
|
+
- Packaging: 这颗带 `.npmignore`,挡的是非运行内容:`docs/`(上游文档站与 18 份 walkthrough)、
|
|
93
|
+
`scripts/`(上游的 catalog 生成与仓库校验 python)、`.github/`、`catalog.json`(上游自己的索引,与本仓
|
|
94
|
+
`selected-skills/catalog.js` 无关)、`README.md` / `CONTRIBUTING.md` / `CHANGELOG.md` / `VERSION` / `Makefile`、
|
|
95
|
+
`skills/_lib/`(共享 python 计算模块,本插件没有 shell 可跑它),以及合规口径那条 `skills/etoro/`(券商执行面,见上)。
|
|
96
|
+
其余不进可选清单的 skill 照 InvestSkill 先例**随包保留**作为可审查材料:provider 的 `list()` / `get()`
|
|
97
|
+
与 `/capital-skills/<name>.md` 旁路都按 catalog 闭集过滤,运行时读不到它们。
|
|
98
|
+
`package.json` 的 `files` 已逐仓库登记 `selected-skills/trading-skills`,
|
|
99
|
+
`test/packaging.test.mjs` 从 catalog 反查发布清单里的真实 `SKILL.md` / `LICENSE` / `UPSTREAM.md`,并反查上面每条目录规则确实生效。
|
|
100
|
+
- Maintenance snapshot (checked 2026-10-11): 31 次提交集中在 2026-03-06 至 2026-03-16,此后 209 天无提交;
|
|
101
|
+
16 stars、6 forks,`0.1.0-rc.1` 未发 release。因此标 `watchlist`——与 `china-stock-research-skills`、
|
|
102
|
+
`peter-lynch-skill` 同一口径(内容可用、维护薄,启用前请使用者自行复核来源),不是内容缺陷。
|
|
103
|
+
See [GitHub commit history](https://github.com/marian2js/trading-skills/commits/main/)。
|
|
104
|
+
- Runtime status: `watchlist` / 默认关闭的显式实验。只有使用者在「插件」→ Capital Generation →「精选 Skills」
|
|
105
|
+
里逐格打开,它们才对**之后新建**的 Capital 根 Agent 可见;子 Agent 不继承,上游脚本从不执行。
|
|
106
|
+
能力标签带来的新词是 `trade-discipline`(交易纪律 / Trade discipline),市场口径继续用 `us-stock`;
|
|
107
|
+
`riskNote` 里逐条写明各颗不做什么(不下单、不改单、不给仓位数字、不预测表现)。
|
|
108
|
+
- Review status: 2026-11-06 复查上游、许可证与维护状态。内容按美股与境外交易习惯写(SPY/QQQ/ES 期货、
|
|
109
|
+
美股时段与盘前盘后、FINRA/Fidelity/Schwab 口径的集中度阈值、EURUSD 与 CFD/杠杆工具),
|
|
110
|
+
**不声称适用 A 股**,也不得直接当作 A 股规则;它提供的是过程纪律而不是信号或收益承诺,
|
|
111
|
+
所有金融主张须回到原始证据核验。本文件与本仓的收录判断不构成对上游观点的背书。
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: catalyst-map
|
|
3
|
+
description: Build a ranked map of the catalysts that could move a watchlist, theme, or portfolio by showing what matters, when it matters, and how those events could transmit across related names or exposures.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Catalyst Map
|
|
7
|
+
|
|
8
|
+
Use this skill when the user wants a practical map of what could move a watchlist, sector, theme, or portfolio over a defined window, not just a raw event list.
|
|
9
|
+
|
|
10
|
+
This skill will not:
|
|
11
|
+
|
|
12
|
+
- predict the market reaction to a catalyst
|
|
13
|
+
- replace detailed earnings or macro-event analysis for a single event
|
|
14
|
+
- pretend every calendar item deserves equal attention
|
|
15
|
+
|
|
16
|
+
## Role
|
|
17
|
+
|
|
18
|
+
Act like a cross-asset catalyst planner. Your job is to identify the few events, milestones, and dependencies that actually matter, then show how they could affect the user's names or exposures.
|
|
19
|
+
|
|
20
|
+
## When to use it
|
|
21
|
+
|
|
22
|
+
Use it when the user wants to:
|
|
23
|
+
|
|
24
|
+
- organize upcoming catalysts for a watchlist or theme
|
|
25
|
+
- understand which events matter most for a sector, basket, or portfolio
|
|
26
|
+
- connect company, macro, policy, product, regulatory, or industry catalysts into one map
|
|
27
|
+
- decide which names need deeper prep and which catalysts only deserve background monitoring
|
|
28
|
+
|
|
29
|
+
## Inputs and context
|
|
30
|
+
|
|
31
|
+
Ask for:
|
|
32
|
+
|
|
33
|
+
- the watchlist, theme, sector, or portfolio slice being mapped
|
|
34
|
+
- the timeframe: next session, next week, next month, next quarter
|
|
35
|
+
- the user's objective: swing prep, event-risk awareness, long-term monitoring, or idea discovery
|
|
36
|
+
- any known catalysts already in view, such as earnings, product launches, CPI, FOMC, OPEC, trial data, policy dates, investor days, or guidance updates
|
|
37
|
+
- which exposures matter most: single names, suppliers, customers, indexes, sectors, or macro-sensitive holdings
|
|
38
|
+
|
|
39
|
+
Helpful but optional:
|
|
40
|
+
|
|
41
|
+
- notes on what the user already believes matters most
|
|
42
|
+
- regime or macro context already established elsewhere
|
|
43
|
+
- whether the map is for trading entries, portfolio defense, or investor monitoring
|
|
44
|
+
|
|
45
|
+
Use the user's materials first.
|
|
46
|
+
|
|
47
|
+
If the user gives only a vague theme and no timeframe or exposures, say what is missing and keep the map provisional rather than inventing a false catalyst schedule.
|
|
48
|
+
|
|
49
|
+
The map is built from what the user already has. When a date or a session really is missing, do not go and gather it from here: write the exact brief (event or ticker, the field needed, the as-of date) and hand it to the host's own retrieval path — in a role-split host, the agent that owns web retrieval and market data — then keep mapping from what comes back and leave the rest unknown.
|
|
50
|
+
|
|
51
|
+
## Analysis process
|
|
52
|
+
|
|
53
|
+
1. Reconstruct the watchlist, theme, or exposure set and define the time window.
|
|
54
|
+
2. List the catalysts that could realistically move those names in that window.
|
|
55
|
+
3. Rank the catalysts by decision relevance, not by headline count.
|
|
56
|
+
4. Explain the transmission path for each important catalyst: direct issuer effect, peer read-through, supply-chain effect, macro sensitivity, policy channel, or sentiment shift.
|
|
57
|
+
5. Separate high-priority catalysts from background noise.
|
|
58
|
+
6. Flag which names are most exposed to each catalyst and where multiple names depend on the same event.
|
|
59
|
+
7. End with the next research step for the top catalysts: deeper earnings prep, macro analysis, thesis validation, or simple monitoring.
|
|
60
|
+
|
|
61
|
+
Use [references/catalyst-framework.md](references/catalyst-framework.md) when you need the default checklist for ranking, transmission, and overlap.
|
|
62
|
+
|
|
63
|
+
## Core Assessment Framework
|
|
64
|
+
|
|
65
|
+
Assess each catalyst on five anchors before calling it important:
|
|
66
|
+
|
|
67
|
+
- `Timing Relevance`: whether the catalyst falls inside the user's actual decision window. Example: next week's CPI matters for a near-term rate-sensitive trade; a vague six-month product roadmap may not.
|
|
68
|
+
- `Transmission Strength`: whether the event can directly move the user's names or exposures. Example: a benchmark earnings report may affect suppliers, peers, and sector ETFs, not just the reporting company.
|
|
69
|
+
- `Decision Impact`: whether the event could change position plans, holding periods, or risk tolerance. Example: a catalyst that forces shorter holding periods has more decision impact than a low-signal conference appearance.
|
|
70
|
+
- `Overlap`: whether multiple names or positions depend on the same catalyst chain. Example: owning several semis plus a tech ETF may create more catalyst clustering than the ticker list suggests.
|
|
71
|
+
- `Preparation Need`: whether the catalyst requires deeper work now or only background awareness. Example: an earnings date with a live debate deserves prep; a low-information placeholder date may only deserve a note.
|
|
72
|
+
|
|
73
|
+
Use the anchors to classify:
|
|
74
|
+
|
|
75
|
+
- `primary catalyst`: high decision relevance and strong transmission into the user's names or exposures
|
|
76
|
+
- `secondary catalyst`: worth monitoring, but less likely to dominate the plan
|
|
77
|
+
- `background`: context only, unless other conditions make it more important later
|
|
78
|
+
|
|
79
|
+
## Evidence That Would Invalidate This Analysis
|
|
80
|
+
|
|
81
|
+
- the timeframe changes enough to reorder catalyst importance
|
|
82
|
+
- a date moves, is canceled, or turns out to be less relevant than assumed
|
|
83
|
+
- the user's watchlist or portfolio exposure changes materially
|
|
84
|
+
- a catalyst's transmission path was overstated or duplicated another event
|
|
85
|
+
- new macro, earnings, or policy information makes a previously secondary catalyst primary
|
|
86
|
+
|
|
87
|
+
## Output structure
|
|
88
|
+
|
|
89
|
+
Prefer this output order:
|
|
90
|
+
|
|
91
|
+
1. `Catalyst Summary`
|
|
92
|
+
2. `Primary Catalysts`
|
|
93
|
+
3. `Secondary Catalysts`
|
|
94
|
+
4. `Transmission Map`
|
|
95
|
+
5. `Crowding Or Overlap Risks`
|
|
96
|
+
6. `Next Skill`
|
|
97
|
+
|
|
98
|
+
Always include:
|
|
99
|
+
|
|
100
|
+
- the timeframe and objective used
|
|
101
|
+
- which catalysts matter most and why
|
|
102
|
+
- which names or exposures are linked to each key catalyst
|
|
103
|
+
- where multiple names depend on the same event chain
|
|
104
|
+
- what requires deeper prep now versus background monitoring
|
|
105
|
+
- whether the next step is `earnings-preview`, `macro-event-analysis`, `market-regime-analysis`, `thesis-validation`, or no further action yet
|
|
106
|
+
|
|
107
|
+
A skill named above is an option for the user, not a step this role can take: only the skills the user switched on exist in this session, and the ones this plugin deliberately does not offer — placing orders, setting position size — are not reachable at all. Say what you would check next and let the user decide.
|
|
108
|
+
|
|
109
|
+
## Best practices
|
|
110
|
+
|
|
111
|
+
- do not confuse more calendar entries with better preparation
|
|
112
|
+
- do not list catalysts without explaining why they matter to the user's actual names
|
|
113
|
+
- do not bury shared exposure to the same catalyst chain
|
|
114
|
+
- do not turn a catalyst map into a directional prediction
|
|
115
|
+
|
|
116
|
+
## Usage examples
|
|
117
|
+
|
|
118
|
+
- "Use `catalyst-map` on my semis watchlist for the next three weeks and show me the company, macro, and policy events that matter most."
|
|
119
|
+
- "Use `catalyst-map` on this energy portfolio for the next month and tell me which catalysts deserve deep prep versus simple monitoring."
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Catalyst Framework
|
|
2
|
+
|
|
3
|
+
Use this framework to map events and milestones into a smaller set of catalysts that actually deserve attention.
|
|
4
|
+
|
|
5
|
+
## What counts as a catalyst
|
|
6
|
+
|
|
7
|
+
A catalyst is not just a calendar event.
|
|
8
|
+
|
|
9
|
+
It can be:
|
|
10
|
+
|
|
11
|
+
- earnings
|
|
12
|
+
- macro releases
|
|
13
|
+
- central-bank decisions
|
|
14
|
+
- product launches
|
|
15
|
+
- investor days
|
|
16
|
+
- guidance updates
|
|
17
|
+
- regulatory or legal milestones
|
|
18
|
+
- trial results
|
|
19
|
+
- policy announcements
|
|
20
|
+
- commodity or supply-chain developments
|
|
21
|
+
|
|
22
|
+
## What makes a catalyst useful
|
|
23
|
+
|
|
24
|
+
A useful catalyst map answers:
|
|
25
|
+
|
|
26
|
+
- what matters
|
|
27
|
+
- when it matters
|
|
28
|
+
- who it affects
|
|
29
|
+
- how it transmits
|
|
30
|
+
- what preparation still needs to be done
|
|
31
|
+
|
|
32
|
+
## Ranking questions
|
|
33
|
+
|
|
34
|
+
For each catalyst, ask:
|
|
35
|
+
|
|
36
|
+
- Is it inside the user's real decision window?
|
|
37
|
+
- Can it change the thesis, holding period, or risk budget?
|
|
38
|
+
- Does it affect one name or a whole cluster?
|
|
39
|
+
- Does it overlap with other catalysts?
|
|
40
|
+
- Does it require deeper work now?
|
|
41
|
+
|
|
42
|
+
## Typical transmission paths
|
|
43
|
+
|
|
44
|
+
- direct issuer effect
|
|
45
|
+
- peer sympathy or read-through
|
|
46
|
+
- supplier or customer chain
|
|
47
|
+
- sector ETF or index effect
|
|
48
|
+
- rates, FX, energy, or commodity channel
|
|
49
|
+
- sentiment and positioning shift
|
|
50
|
+
|
|
51
|
+
## Typical mistakes
|
|
52
|
+
|
|
53
|
+
- listing every event instead of the few that matter
|
|
54
|
+
- ignoring shared dependency on the same catalyst
|
|
55
|
+
- failing to connect macro events to single-name risk
|
|
56
|
+
- treating a catalyst as a forecast
|
|
57
|
+
- forgetting that some catalysts matter only because of timeframe
|
|
58
|
+
|
|
59
|
+
## Boundaries
|
|
60
|
+
|
|
61
|
+
This framework does not decide:
|
|
62
|
+
|
|
63
|
+
- whether a trade should be entered
|
|
64
|
+
- what order type should be used
|
|
65
|
+
- how much size should be allocated
|
|
66
|
+
- whether the portfolio is too concentrated
|
|
67
|
+
|
|
68
|
+
It only organizes what could move the relevant names or exposures.
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: earnings-preview
|
|
3
|
+
description: Prepare for an upcoming earnings report or earnings week by identifying the reports that matter, framing the key debates, and surfacing the read-through risk that could affect the user's watchlist or positions.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Earnings Preview
|
|
7
|
+
|
|
8
|
+
Use this skill when the user needs to prepare before one company reports or before an earnings-heavy week.
|
|
9
|
+
|
|
10
|
+
This skill will not:
|
|
11
|
+
|
|
12
|
+
- predict the post-report price move with certainty
|
|
13
|
+
- confuse a benchmark company's importance with a guaranteed read-through
|
|
14
|
+
- replace missing fundamentals with narrative filler
|
|
15
|
+
|
|
16
|
+
## Role
|
|
17
|
+
|
|
18
|
+
Act like a skeptical earnings prep analyst. Focus on what matters, what is already priced in, what could surprise, and where the read-through really matters.
|
|
19
|
+
|
|
20
|
+
## When to use it
|
|
21
|
+
|
|
22
|
+
Use it when the user wants to:
|
|
23
|
+
|
|
24
|
+
- prioritize which upcoming reports actually deserve attention
|
|
25
|
+
- prepare for a single company report with peer and sector context
|
|
26
|
+
- identify likely read-through names around a benchmark report
|
|
27
|
+
- decide whether a report is worth holding through, fading, or avoiding
|
|
28
|
+
|
|
29
|
+
## Inputs and context
|
|
30
|
+
|
|
31
|
+
Ask for:
|
|
32
|
+
|
|
33
|
+
- the company, peer group, sector, or watchlist
|
|
34
|
+
- the date window or specific report being discussed
|
|
35
|
+
- the user's thesis, exposure, or planned trade posture
|
|
36
|
+
- what matters most this quarter: growth, margins, guidance, backlog, capex, demand, pricing, AI spend, consumer health, and so on
|
|
37
|
+
- whether the user cares more about the report itself, sector read-through, or index impact
|
|
38
|
+
|
|
39
|
+
Helpful but optional:
|
|
40
|
+
|
|
41
|
+
- consensus expectations or prior-quarter context
|
|
42
|
+
- known positioning or sentiment concerns
|
|
43
|
+
- whether the user plans to hold through the event
|
|
44
|
+
|
|
45
|
+
Use the user's materials first: pasted schedules, watchlists, company notes, guidance excerpts, estimate tables, transcripts, screenshots, or provider details already mentioned in the conversation.
|
|
46
|
+
|
|
47
|
+
## If critical data is missing
|
|
48
|
+
|
|
49
|
+
If you already have enough timing and context to do the analysis, do not fetch anything.
|
|
50
|
+
|
|
51
|
+
If key schedule or estimate context is missing:
|
|
52
|
+
|
|
53
|
+
- check whether the user already named a supported provider or already shared usable access details in the conversation
|
|
54
|
+
- if they already indicated `FMP`, `TradingEconomics`, or `Polygon`, use [references/providers/fmp.md](references/providers/fmp.md), [references/providers/tradingeconomics.md](references/providers/tradingeconomics.md), or [references/providers/polygon.md](references/providers/polygon.md) directly
|
|
55
|
+
- otherwise consult [references/data-providers.md](references/data-providers.md) and ask which supported provider they want to use
|
|
56
|
+
- once the missing facts are gathered, continue the preview and disclose the source used
|
|
57
|
+
|
|
58
|
+
## Analysis process
|
|
59
|
+
|
|
60
|
+
1. Identify the reports that matter most for the user's names or theme.
|
|
61
|
+
2. Explain why each report matters: direct exposure, peer sympathy, benchmark status, or index weight.
|
|
62
|
+
3. Frame the key debates going into the report instead of defaulting to generic "beat or miss" language.
|
|
63
|
+
4. Separate pre-report setup risk from business-quality judgment.
|
|
64
|
+
5. Highlight the likely read-through paths, including supplier, customer, competitor, or sector ETF implications.
|
|
65
|
+
6. State what would actually change the thesis, not just what would create short-term noise.
|
|
66
|
+
7. If provider-based data was needed, use only the minimum missing facts and disclose source, freshness, and any obvious coverage gaps. Otherwise stay fully grounded in the user's material.
|
|
67
|
+
|
|
68
|
+
Use [references/relevance-ranking.md](references/relevance-ranking.md) when you need a simple way to prioritize reports and explain why they matter.
|
|
69
|
+
|
|
70
|
+
## Core Assessment Framework
|
|
71
|
+
|
|
72
|
+
Assess each report on four anchors before ranking it:
|
|
73
|
+
|
|
74
|
+
- `Benchmark Relevance`: whether the company can move a sector, supplier chain, customer set, or broad index. Example: NVDA is benchmark-relevant for semis and AI infrastructure; a small software name usually is not.
|
|
75
|
+
- `Debate Intensity`: whether the quarter has one or two live disagreements that matter more than the headline beat or miss. Example: gross margin durability or cloud booking reacceleration counts as a real debate; generic "can they beat" does not.
|
|
76
|
+
- `Read-Through Strength`: whether peers or related industries will plausibly react to the same datapoints. Example: capex guidance from a hyperscaler may matter for semis, power, cooling, and networking.
|
|
77
|
+
- `Positioning Risk`: whether sentiment, recent price action, or the user's exposure makes the event more dangerous to hold through.
|
|
78
|
+
|
|
79
|
+
Use the anchors to classify:
|
|
80
|
+
|
|
81
|
+
- `must-watch`: benchmark relevance is high and at least one of debate intensity, read-through strength, or positioning risk is also high
|
|
82
|
+
- `watch`: relevant event, but consequences are narrower or easier to absorb
|
|
83
|
+
- `background`: useful context, but low priority unless it directly affects the user's book
|
|
84
|
+
|
|
85
|
+
## Evidence That Would Invalidate This Analysis
|
|
86
|
+
|
|
87
|
+
- the report date or session changes enough to alter the planning window
|
|
88
|
+
- the quarter's key debate changes because management, industry data, or a peer report reframes the issue
|
|
89
|
+
- read-through assumptions break because the peer set, supplier chain, or benchmark relationship was overstated
|
|
90
|
+
- the user's exposure or holding plan changes, making the current priority ranking less relevant
|
|
91
|
+
- estimate, guidance, or schedule fields turn out to be stale, incomplete, or sourced from the wrong provider snapshot
|
|
92
|
+
|
|
93
|
+
## Output structure
|
|
94
|
+
|
|
95
|
+
Prefer this output order:
|
|
96
|
+
|
|
97
|
+
1. `Priority List`
|
|
98
|
+
2. `Core Assessment Framework`
|
|
99
|
+
3. `Key Debates`
|
|
100
|
+
4. `Read-Through Map`
|
|
101
|
+
5. `Plan Risk`
|
|
102
|
+
6. `Evidence That Would Invalidate This Analysis`
|
|
103
|
+
7. `Source And Caveats`
|
|
104
|
+
|
|
105
|
+
Always return:
|
|
106
|
+
|
|
107
|
+
- a prioritized report list or single-name preview
|
|
108
|
+
- why each report matters in plain language
|
|
109
|
+
- the key debates or watch items going into the print
|
|
110
|
+
- the likely read-through map for peers, suppliers, customers, or sector leadership
|
|
111
|
+
- the main pre-report risk to the user's plan
|
|
112
|
+
- explicit caveats around missing dates, incomplete estimates, stale data, or example-mode data when relevant
|
|
113
|
+
|
|
114
|
+
## Best practices
|
|
115
|
+
|
|
116
|
+
- do not turn "important report" into "predictable trade"
|
|
117
|
+
- do not confuse sector importance with a guaranteed stock move
|
|
118
|
+
- distinguish between what matters for fundamentals and what matters for positioning
|
|
119
|
+
- if timing, estimates, or coverage are incomplete, say that early rather than burying it
|
|
120
|
+
|
|
121
|
+
## Usage examples
|
|
122
|
+
|
|
123
|
+
- "Use `earnings-preview` for NVDA next week. I care about AI demand, gross margin durability, and read-through for semis."
|
|
124
|
+
- "Use `earnings-preview` for AAPL, AMZN, and COST over the next ten days and tell me which reports matter most for index and sector read-through."
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Data Providers
|
|
2
|
+
|
|
3
|
+
Use this only if the user did not already provide enough schedule or estimate context.
|
|
4
|
+
|
|
5
|
+
Supported providers:
|
|
6
|
+
|
|
7
|
+
- `FMP`: best default for forward earnings dates, report timing, and estimate fields through `/stable/earnings-calendar`
|
|
8
|
+
- `TradingEconomics`: useful for earnings dates, release session, forecast fields, and revenue context through `/earnings-revenues`
|
|
9
|
+
- `Polygon`: useful when the user already works in Polygon and needs recent reported financials, but not the best default for forward earnings schedule confirmation
|
|
10
|
+
|
|
11
|
+
If the user already named one of these providers or already shared usable access details, use that provider path directly.
|
|
12
|
+
|
|
13
|
+
Otherwise ask: "Which provider do you want to use for the missing earnings context: FMP, TradingEconomics, or Polygon?"
|
|
14
|
+
|
|
15
|
+
Fallback strategy:
|
|
16
|
+
|
|
17
|
+
- start with `FMP` when the missing piece is the upcoming earnings date, session, or consensus-style estimate fields
|
|
18
|
+
- use `TradingEconomics` when the user already works there or when revenue forecast context matters
|
|
19
|
+
- use `Polygon` when the user already uses Polygon for fundamentals and the missing piece is prior reported context rather than the upcoming schedule
|
|
20
|
+
- if the user insists on `Polygon` but the exact upcoming date or session still cannot be confirmed, say that clearly and ask whether to supplement with `FMP` or `TradingEconomics`
|
|
21
|
+
|
|
22
|
+
Provider notes:
|
|
23
|
+
|
|
24
|
+
- [FMP](providers/fmp.md)
|
|
25
|
+
- [TradingEconomics](providers/tradingeconomics.md)
|
|
26
|
+
- [Polygon](providers/polygon.md)
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# FMP
|
|
2
|
+
|
|
3
|
+
Use this path only when the user already indicated `FMP` or chose it from the supported provider list.
|
|
4
|
+
|
|
5
|
+
Use the smallest request that fills the missing earnings facts.
|
|
6
|
+
|
|
7
|
+
## Best endpoint for a date window
|
|
8
|
+
|
|
9
|
+
Call the official earnings calendar endpoint:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
curl "https://financialmodelingprep.com/stable/earnings-calendar?from=2026-03-09&to=2026-03-20&apikey=<FMP_API_KEY>"
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Use this when the user gave a date window and you need report timing or estimate context for one or more names.
|
|
16
|
+
|
|
17
|
+
Pull only the fields you need for the preview:
|
|
18
|
+
|
|
19
|
+
- `date`
|
|
20
|
+
- `symbol`
|
|
21
|
+
- `name`
|
|
22
|
+
- `time`
|
|
23
|
+
- `epsEstimated`
|
|
24
|
+
- `revenueEstimated`
|
|
25
|
+
- `epsActual`
|
|
26
|
+
- `revenueActual`
|
|
27
|
+
- `lastUpdated`
|
|
28
|
+
|
|
29
|
+
## Best endpoint for a single company
|
|
30
|
+
|
|
31
|
+
If the user only cares about one company and you already know the symbol, use:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
curl "https://financialmodelingprep.com/stable/earnings?symbol=AAPL&apikey=<FMP_API_KEY>"
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
This is useful when the user wants one-name context rather than a calendar sweep.
|
|
38
|
+
|
|
39
|
+
## How to use the result
|
|
40
|
+
|
|
41
|
+
- confirm the report date and timing first
|
|
42
|
+
- use estimate fields only to frame the debate, not to imply direction
|
|
43
|
+
- if `time`, EPS estimates, or revenue estimates are missing, say that explicitly
|
|
44
|
+
- disclose that FMP supplied the missing schedule or estimate data
|
|
45
|
+
|
|
46
|
+
Official docs:
|
|
47
|
+
|
|
48
|
+
- [FMP earnings calendar API](https://site.financialmodelingprep.com/developer/docs/stable/earnings-calendar)
|
|
49
|
+
- [FMP earnings report API](https://site.financialmodelingprep.com/developer/docs/earnings-historical-earnings)
|
package/selected-skills/trading-skills/skills/earnings-preview/references/providers/polygon.md
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Polygon
|
|
2
|
+
|
|
3
|
+
Use this path only when the user already indicated `Polygon` or chose it from the supported provider list.
|
|
4
|
+
|
|
5
|
+
Polygon is useful here for recent reported fundamentals and prior-quarter anchors. It is not the best default source for exact upcoming earnings date or session confirmation.
|
|
6
|
+
|
|
7
|
+
## Best endpoint for recent reported financials
|
|
8
|
+
|
|
9
|
+
Call the official financials endpoint:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
curl "https://api.polygon.io/vX/reference/financials?ticker=AAPL&timeframe=annual&limit=4&apiKey=<POLYGON_API_KEY>"
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Use this when the user already knows the company and you need recent reported revenue, EPS-related fields, margin context, or balance-sheet anchors to frame the debate.
|
|
16
|
+
|
|
17
|
+
Pull only the fields you need:
|
|
18
|
+
|
|
19
|
+
- `ticker`
|
|
20
|
+
- `fiscal_period`
|
|
21
|
+
- `fiscal_year`
|
|
22
|
+
- `financials.income_statement`
|
|
23
|
+
- `financials.balance_sheet`
|
|
24
|
+
- `financials.cash_flow_statement`
|
|
25
|
+
- `filing_date`
|
|
26
|
+
|
|
27
|
+
## Optional market-reaction context
|
|
28
|
+
|
|
29
|
+
If the user also needs to know how the stock behaved around the last report, pair the fundamentals call with aggregate bars:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
curl "https://api.polygon.io/v2/aggs/ticker/AAPL/range/1/day/2026-01-15/2026-02-15?adjusted=true&sort=asc&limit=500&apiKey=<POLYGON_API_KEY>"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## How to use the result
|
|
36
|
+
|
|
37
|
+
- use Polygon to anchor what the company last reported and where the debate may start
|
|
38
|
+
- do not pretend Polygon solved the forward schedule problem if the exact upcoming report date or session is still unclear
|
|
39
|
+
- if the user needs forward timing confirmation and Polygon does not provide it cleanly, say so and ask whether to supplement with `FMP` or `TradingEconomics`
|
|
40
|
+
- disclose that Polygon supplied the historical fundamental context
|
|
41
|
+
|
|
42
|
+
Official docs:
|
|
43
|
+
|
|
44
|
+
- [Polygon financials API](https://polygon.io/docs/rest/stocks/fundamentals/financials)
|
|
45
|
+
- [Polygon aggregate bars API](https://polygon.io/docs/rest/stocks/aggregates/custom-bars)
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# TradingEconomics
|
|
2
|
+
|
|
3
|
+
Use this path only when the user already indicated `TradingEconomics` or chose it from the supported provider list.
|
|
4
|
+
|
|
5
|
+
Use the smallest request that fills the missing earnings facts.
|
|
6
|
+
|
|
7
|
+
## Best endpoint for a date window
|
|
8
|
+
|
|
9
|
+
Call the official earnings and revenues endpoint:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
curl "https://api.tradingeconomics.com/earnings-revenues?c=<TE_API_KEY>&d1=2026-03-09&d2=2026-03-20&f=json"
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Use this when the user gave a time window and you need the report date, session, or forecast fields for more than one company.
|
|
16
|
+
|
|
17
|
+
Pull only the fields you need for the preview:
|
|
18
|
+
|
|
19
|
+
- `Date`
|
|
20
|
+
- `Symbol`
|
|
21
|
+
- `Name`
|
|
22
|
+
- `Forecast`
|
|
23
|
+
- `RevenueForecast`
|
|
24
|
+
- `Previous`
|
|
25
|
+
- `RevenuePrevious`
|
|
26
|
+
- `MarketRelease`
|
|
27
|
+
- `Importance`
|
|
28
|
+
- `LastUpdate`
|
|
29
|
+
|
|
30
|
+
## Best endpoint for a single company
|
|
31
|
+
|
|
32
|
+
If the user only cares about one company and you already know the provider symbol, use:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
curl "https://api.tradingeconomics.com/earnings-revenues/symbol/aapl:us?c=<TE_API_KEY>&d1=2025-01-01&d2=2026-12-31&f=json"
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
TradingEconomics symbols are provider-specific, such as `aapl:us`.
|
|
39
|
+
|
|
40
|
+
## How to use the result
|
|
41
|
+
|
|
42
|
+
- confirm the report date and `MarketRelease` timing
|
|
43
|
+
- use `Forecast` and `RevenueForecast` only as context, not as a prediction signal
|
|
44
|
+
- if the provider lacks a field the analysis needs, say so clearly and continue with the available information
|
|
45
|
+
- disclose that TradingEconomics supplied the missing schedule or estimate data
|
|
46
|
+
|
|
47
|
+
Official docs:
|
|
48
|
+
|
|
49
|
+
- [TradingEconomics earnings and revenues docs](https://docs.tradingeconomics.com/financials/earnings_revenues/)
|
package/selected-skills/trading-skills/skills/earnings-preview/references/relevance-ranking.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Relevance Ranking
|
|
2
|
+
|
|
3
|
+
The v1 ranking is deliberately simple and explainable.
|
|
4
|
+
|
|
5
|
+
## Inputs to the score
|
|
6
|
+
|
|
7
|
+
- whether the symbol is directly requested
|
|
8
|
+
- market-cap bucket
|
|
9
|
+
- whether the company is a benchmark name in a watched sector
|
|
10
|
+
- whether the report has broad read-through implications
|
|
11
|
+
- whether timing and estimate fields are present
|
|
12
|
+
|
|
13
|
+
## What the score is not
|
|
14
|
+
|
|
15
|
+
- a prediction of the stock move
|
|
16
|
+
- a conviction score
|
|
17
|
+
- a measure of trade quality
|
|
18
|
+
|
|
19
|
+
## Reporting guidance
|
|
20
|
+
|
|
21
|
+
Always pair the numeric score with a short reason, for example:
|
|
22
|
+
|
|
23
|
+
- "Mega-cap benchmark with index weight and supplier read-through."
|
|
24
|
+
- "Mid-cap peer read-through is useful, but broad market impact is limited."
|