@openfinclaw/findoo-datahub-plugin 2026.3.2 → 2026.3.10
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/DESIGN.md +492 -151
- package/_vendor/claude-skills-finance/SKILL.md +192 -0
- package/_vendor/claude-skills-finance/assets/dcf_analysis_template.md +184 -0
- package/_vendor/claude-skills-finance/assets/expected_output.json +161 -0
- package/_vendor/claude-skills-finance/assets/forecast_report_template.md +177 -0
- package/_vendor/claude-skills-finance/assets/sample_financial_data.json +219 -0
- package/_vendor/claude-skills-finance/assets/variance_report_template.md +122 -0
- package/_vendor/claude-skills-finance/references/financial-ratios-guide.md +396 -0
- package/_vendor/claude-skills-finance/references/forecasting-best-practices.md +294 -0
- package/_vendor/claude-skills-finance/references/valuation-methodology.md +255 -0
- package/_vendor/claude-skills-finance/scripts/budget_variance_analyzer.py +406 -0
- package/_vendor/claude-skills-finance/scripts/dcf_valuation.py +449 -0
- package/_vendor/claude-skills-finance/scripts/forecast_builder.py +494 -0
- package/_vendor/claude-skills-finance/scripts/ratio_calculator.py +432 -0
- package/index.ts +332 -14
- package/openclaw.plugin.json +2 -2
- package/package.json +1 -1
- package/references/cn-market-specifics.md +165 -0
- package/references/crypto-analysis.md +635 -0
- package/references/financial-ratios-cn.md +452 -0
- package/references/hk-market-specifics.md +166 -0
- package/references/macro-cycle-cn.md +409 -0
- package/references/valuation-cn.md +427 -0
- package/skills/README.md +294 -0
- package/skills/a-concept-cycle/skill.md +200 -0
- package/skills/a-convertible-arb/skill.md +294 -0
- package/skills/a-dividend-king/skill.md +187 -0
- package/skills/a-earnings-season/skill.md +221 -0
- package/skills/a-index-timer/skill.md +192 -0
- package/skills/a-ipo-new/skill.md +297 -0
- package/skills/a-northbound-decoder/skill.md +185 -0
- package/skills/a-quant-board/skill.md +286 -0
- package/skills/a-share/skill.md +347 -0
- package/skills/a-share-radar/skill.md +185 -0
- package/skills/cross-asset/skill.md +202 -0
- package/skills/crypto/skill.md +269 -0
- package/skills/crypto-altseason/skill.md +208 -0
- package/skills/crypto-btc-cycle/skill.md +231 -0
- package/skills/crypto-defi-yield/skill.md +181 -0
- package/skills/crypto-funding-arb/skill.md +158 -0
- package/skills/crypto-stablecoin-flow/skill.md +149 -0
- package/skills/data-query/skill.md +124 -30
- package/skills/derivatives/skill.md +188 -35
- package/skills/etf-fund/skill.md +216 -0
- package/skills/factor-screen/skill.md +186 -0
- package/skills/hk-china-internet/skill.md +190 -0
- package/skills/hk-dividend-harvest/skill.md +192 -0
- package/skills/hk-hsi-pulse/skill.md +154 -0
- package/skills/hk-southbound-alpha/skill.md +163 -0
- package/skills/hk-stock/skill.md +295 -0
- package/skills/macro/skill.md +244 -53
- package/skills/risk-monitor/skill.md +171 -0
- package/skills/us-dividend/skill.md +162 -0
- package/skills/us-earnings/skill.md +149 -0
- package/skills/us-equity/skill.md +235 -0
- package/skills/us-etf/skill.md +261 -0
- package/skills/us-sector-rotation/skill.md +223 -0
- package/src/config.ts +4 -5
- package/src/datahub-client.test.ts +4 -7
- package/src/datahub-client.ts +6 -1
- package/src/register-tools.ts +720 -0
- package/src/tool-helpers.ts +89 -0
- package/test/e2e/l3-gateway-bootstrap.live.test.ts +339 -0
- package/test/e2e/l4-skill-tool-chain.live.test.ts +465 -0
- package/skills/crypto-defi/skill.md +0 -69
- package/skills/equity/skill.md +0 -64
- package/skills/market-radar/skill.md +0 -47
package/skills/macro/skill.md
CHANGED
|
@@ -1,60 +1,251 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: fin-macro
|
|
3
|
-
description: "
|
|
3
|
+
description: "Macroeconomic analysis — China GDP/CPI/PPI/PMI/M2/social financing, interest rates (Shibor/LPR/Libor/Hibor), CN/US treasury yields, FX rates, WorldBank data, economic calendar. DataHub endpoints via fin_macro. Use when: user asks about economic indicators, monetary policy, rate differentials, yield curve, FX trends, or macro cycle positioning. NOT for: individual stocks (use fin-a-share/fin-us-equity/fin-hk-stock), market signals (use fin-a-share-radar), crypto (use fin-crypto)."
|
|
4
4
|
metadata: { "openclaw": { "emoji": "🏛️", "requires": { "extensions": ["findoo-datahub-plugin"] } } }
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Macro & Rates
|
|
8
8
|
|
|
9
|
-
Use
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
|
30
|
-
|
|
|
31
|
-
| `
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
|
36
|
-
|
|
|
37
|
-
| `
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
|
42
|
-
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
|
47
|
-
|
|
|
48
|
-
| `
|
|
49
|
-
| `
|
|
50
|
-
| `
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
9
|
+
Use **fin_macro** for macroeconomic indicators and interest rate data via DataHub.
|
|
10
|
+
|
|
11
|
+
> 美林时钟四象限: Recovery (GDP↑CPI↓) / Overheat (GDP↑CPI↑) / Stagflation (GDP↓CPI↑) / Recession (GDP↓CPI↓)。判定信号详见下方 Macro Cycle Locator。
|
|
12
|
+
|
|
13
|
+
## fin_macro Parameters
|
|
14
|
+
|
|
15
|
+
| Parameter | Type | Required | Format | Default | Example |
|
|
16
|
+
| ---------- | ------ | -------- | --------------------------------------- | ------- | -------------- |
|
|
17
|
+
| endpoint | string | Yes | see endpoint tables | — | cpi |
|
|
18
|
+
| symbol | string | No | currency pair or indicator | — | USDCNH |
|
|
19
|
+
| country | string | No | ISO 3166 alpha-2 (CN/US/JP/DE/GB/IN/BR) | — | CN |
|
|
20
|
+
| indicator | string | No | World Bank indicator code | — | NY.GDP.MKTP.CD |
|
|
21
|
+
| start_date | string | No | YYYY-MM-DD | — | 2024-01-01 |
|
|
22
|
+
| end_date | string | No | YYYY-MM-DD | — | 2025-12-31 |
|
|
23
|
+
| limit | number | No | 1-5000 | 200 | 30 |
|
|
24
|
+
|
|
25
|
+
## Endpoint Map
|
|
26
|
+
|
|
27
|
+
### China Macro (7)
|
|
28
|
+
|
|
29
|
+
| endpoint | Data | Freq |
|
|
30
|
+
| ------------------ | -------------------- | --------- |
|
|
31
|
+
| `gdp/real` | China GDP | Quarterly |
|
|
32
|
+
| `cpi` | Consumer Price Index | Monthly |
|
|
33
|
+
| `ppi` | Producer Price Index | Monthly |
|
|
34
|
+
| `pmi` | Purchasing Managers | Monthly |
|
|
35
|
+
| `money_supply` | M0/M1/M2 | Monthly |
|
|
36
|
+
| `social_financing` | Social financing | Monthly |
|
|
37
|
+
| `wz_index` | Wenzhou private rate | Weekly |
|
|
38
|
+
|
|
39
|
+
### Interest Rates (8)
|
|
40
|
+
|
|
41
|
+
| endpoint | Data | Freq |
|
|
42
|
+
| -------------- | -------------------------- | -------------- |
|
|
43
|
+
| `shibor` | Shanghai Interbank Rate | Daily |
|
|
44
|
+
| `shibor_quote` | Shibor bank-level quotes | Daily |
|
|
45
|
+
| `shibor_lpr` | Loan Prime Rate | Monthly (20th) |
|
|
46
|
+
| `libor` | London Interbank Rate ⚠️ | Daily |
|
|
47
|
+
| `hibor` | Hong Kong Interbank Rate | Daily |
|
|
48
|
+
| `treasury_cn` | China treasury yields | Daily |
|
|
49
|
+
| `treasury_us` | US treasury yields | Daily |
|
|
50
|
+
| `index_global` | Global index (incl USDCNH) | Daily |
|
|
51
|
+
|
|
52
|
+
### FX / Currency (4)
|
|
53
|
+
|
|
54
|
+
| endpoint | Data | Freq |
|
|
55
|
+
| --------------------------- | ------------------- | -------- |
|
|
56
|
+
| `currency/price/historical` | FX historical price | Daily |
|
|
57
|
+
| `currency/search` | Search pairs | — |
|
|
58
|
+
| `currency/snapshots` | FX snapshots | Intraday |
|
|
59
|
+
| `calendar` | Economic calendar | — |
|
|
60
|
+
|
|
61
|
+
### World Bank (5)
|
|
62
|
+
|
|
63
|
+
| endpoint | Data | Freq |
|
|
64
|
+
| ---------------------- | ------------- | ------ | ----------------------------------------------- |
|
|
65
|
+
| `worldbank/gdp` | GDP | Annual |
|
|
66
|
+
| `worldbank/population` | Population | Annual |
|
|
67
|
+
| `worldbank/inflation` | Inflation | Annual |
|
|
68
|
+
| `worldbank/indicator` | Custom (code) | Annual |
|
|
69
|
+
| `worldbank/country` | 国别基础数据 | — | 新兴 vs 发达市场分类、人口/面积等 (296 records) |
|
|
70
|
+
|
|
71
|
+
### Common World Bank Indicator Codes
|
|
72
|
+
|
|
73
|
+
`NY.GDP.MKTP.CD` GDP (US$) | `NY.GDP.MKTP.KD.ZG` GDP growth % | `FP.CPI.TOTL.ZG` Inflation % | `SL.UEM.TOTL.ZS` Unemployment % | `BX.KLT.DINV.WD.GD.ZS` FDI %
|
|
74
|
+
|
|
75
|
+
### 固收利率 (fixedincome 专用路径)
|
|
76
|
+
|
|
77
|
+
`fin_macro(endpoint="fixedincome/rate/shibor")` 等 4 个端点是 `shibor`/`shibor_lpr`/`libor`/`hibor` 的别名路径,返回相同数据。
|
|
78
|
+
可用端点: `fixedincome/rate/shibor`, `fixedincome/rate/shibor_lpr`, `fixedincome/rate/libor`, `fixedincome/rate/hibor`。
|
|
79
|
+
⚠️ **LIBOR 已于 2023 年正式终止**,DataHub 数据截止 2020-06-24。USD 浮动利率基准已迁移至 SOFR,DataHub 暂无 SOFR 端点。替代方案: 使用 `treasury_us` 短端 (2Y) 作为 USD 利率代理。HIBOR 固收路径同样停在 2020-06,使用 `economy/hibor` 获取更新数据。
|
|
80
|
+
|
|
81
|
+
## Analysis Patterns
|
|
82
|
+
|
|
83
|
+
### Macro Cycle Locator
|
|
84
|
+
|
|
85
|
+
> 美林时钟象限由 GDP 趋势 + CPI 趋势交叉判定,辅以 PMI/社融/M1 领先指标验证。
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
Step 1: fin_macro(endpoint="gdp/real", limit=8) → GDP trend (8 quarters)
|
|
89
|
+
Step 2: fin_macro(endpoint="cpi", limit=12) → CPI trend (12 months)
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
| Quadrant | GDP | CPI | Asset priority |
|
|
93
|
+
| ----------- | --- | --- | ---------------------------- |
|
|
94
|
+
| Recovery | up | dn | Equity > Bond > Cash > Cmdty |
|
|
95
|
+
| Overheat | up | up | Cmdty > Equity > Cash > Bond |
|
|
96
|
+
| Stagflation | dn | up | Cash > Cmdty > Bond > Equity |
|
|
97
|
+
| Recession | dn | dn | Bond > Cash > Equity > Cmdty |
|
|
98
|
+
|
|
99
|
+
Lead/lag classification: **Leading** (1-3Q): `pmi`, `social_financing`, `money_supply` M1 | **Coincident**: `gdp/real`, `wz_index` | **Lagging**: `cpi`, employment
|
|
100
|
+
|
|
101
|
+
Auxiliary validation:
|
|
102
|
+
|
|
103
|
+
- `pmi` — PMI > 50 supports recovery/overheat; new orders sub-index is strongest lead
|
|
104
|
+
- `money_supply` — M2 accel = liquidity easing; M1 accel = capital activation
|
|
105
|
+
- `social_financing` — credit expansion leads GDP by 2-3 quarters
|
|
106
|
+
|
|
107
|
+
### Policy Signal Matrix
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
Step 1: fin_macro(endpoint="shibor_lpr", limit=12)
|
|
111
|
+
Step 2: fin_macro(endpoint="money_supply", limit=12)
|
|
112
|
+
Step 3: fin_macro(endpoint="social_financing", limit=12)
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
| LPR | M2 | Social Fin | Signal | Market implication |
|
|
116
|
+
| ---- | ---- | ---------- | -------------- | -------------------------- |
|
|
117
|
+
| cut | rise | surge | Full easing | Strong bullish, dual rally |
|
|
118
|
+
| cut | rise | flat | Targeted | Structural positive |
|
|
119
|
+
| hold | fall | shrink | Marginal tight | Caution, funding stress |
|
|
120
|
+
| hike | fall | shrink | Full tight | Bearish, leverage pressure |
|
|
121
|
+
| hold | flat | flat | Neutral | Watch marginal changes |
|
|
122
|
+
|
|
123
|
+
Auxiliary signals:
|
|
124
|
+
|
|
125
|
+
- `shibor_quote` — short > long tenor = liquidity stress (inverted term structure)
|
|
126
|
+
- `wz_index` — rising = private lending demand up / formal channels tightening
|
|
127
|
+
|
|
128
|
+
### CN-US Spread Trade
|
|
129
|
+
|
|
130
|
+
`treasury_cn`(limit=60) + `treasury_us`(limit=60) + `currency/price/historical`(symbol="USDCNH", limit=60, provider="massive")
|
|
131
|
+
|
|
132
|
+
> **字段名注意:**
|
|
133
|
+
>
|
|
134
|
+
> - `treasury_cn` 返回: `yield_value` (收益率) + `curve_term` (期限: 1Y/2Y/5Y/10Y/30Y)
|
|
135
|
+
> - `treasury_us` 返回: `y5`/`y7`/`y10`/`y20`/`y30` (各期限收益率,非通用 `yield` 字段)
|
|
136
|
+
> - ⚠️ `treasury_us` 数据源待验证 — 部分返回值与中国国债收益率相似 (10Y≈1.80%),跨境利差计算前请人工校验
|
|
137
|
+
> - `currency/price/historical` 需添加 `provider="massive"` 以获取 FX 数据
|
|
138
|
+
|
|
139
|
+
| 10Y Spread (CN-US) | FX impact | Positioning |
|
|
140
|
+
| ------------------ | ---------------- | ------------------------------------------------ |
|
|
141
|
+
| > +50bp | CNH appreciation | OW CN govies, long CNH, northbound inflow |
|
|
142
|
+
| 0 to -50bp | Neutral | Hedge FX, favor exporters (weak CNH beneficiary) |
|
|
143
|
+
| < -50bp | CNH depreciation | UW CN duration, long USD/CNH |
|
|
144
|
+
| < -100bp | Strong outflow | Max UW CN duration, watch PBOC OMO for floor |
|
|
145
|
+
|
|
146
|
+
### Shibor Term Structure
|
|
147
|
+
|
|
148
|
+
`fin_macro(endpoint="shibor_quote")` → O/N < 1W < 1M < 3M = normal; O/N > 1W or 1M > 3M = inverted (liquidity stress)
|
|
149
|
+
|
|
150
|
+
### Scenario Modeling (3-scenario)
|
|
151
|
+
|
|
152
|
+
Data inputs: `gdp/real` + `cpi` + `pmi` + `money_supply`
|
|
153
|
+
|
|
154
|
+
| Dimension | Bull | Base | Bear |
|
|
155
|
+
| --------- | ----------- | --------------- | -------------- |
|
|
156
|
+
| GDP | +0.5% above | Trend continues | -0.5% below |
|
|
157
|
+
| CPI | Mild 2-3% | Current level | Deflation < 0% |
|
|
158
|
+
| Equity | +15-20% | +5-10% | -10-15% |
|
|
159
|
+
| Bonds 10Y | +20bp | +/-10bp | -30bp |
|
|
160
|
+
| Prob | 25% | 50% | 25% |
|
|
161
|
+
|
|
162
|
+
Probability adjustment rules (each trigger shifts +10pp):
|
|
163
|
+
|
|
164
|
+
- Bull: PMI > 51 x3mo | 社融 beat + M2 accel > 0.5pp | LPR cut + M1 inflection up
|
|
165
|
+
- Bear: PMI < 49 x2mo + PPI deflation | external shock | CPI > 3% + PBOC net drain
|
|
166
|
+
|
|
167
|
+
## Data Release Calendar
|
|
168
|
+
|
|
169
|
+
| Indicator | Release | Time |
|
|
170
|
+
| --------- | ------------------- | ----- |
|
|
171
|
+
| PMI | 1st of month | 09:00 |
|
|
172
|
+
| CPI/PPI | 9th-12th | 09:30 |
|
|
173
|
+
| M2/SocFin | 10th-15th | PM |
|
|
174
|
+
| GDP | 15th-18th of Q+1 M1 | 10:00 |
|
|
175
|
+
| LPR | 20th | 09:30 |
|
|
176
|
+
|
|
177
|
+
## 高级宏观分析
|
|
178
|
+
|
|
179
|
+
### M1-M2 剪刀差信号
|
|
180
|
+
|
|
181
|
+
`fin_macro(endpoint="money_supply", limit=24)` → Compute M1_YoY - M2_YoY
|
|
182
|
+
|
|
183
|
+
| M1-M2 Gap | Signal | Interpretation |
|
|
184
|
+
| --------- | -------- | ---------------------------------------------- |
|
|
185
|
+
| > 0 | 资金活化 | Funds flowing to enterprises, bullish equities |
|
|
186
|
+
| 0 to -5pp | 中性 | Watch trend direction for inflection |
|
|
187
|
+
| < -5pp | 资金沉淀 | Stuck in savings, bearish equities |
|
|
188
|
+
| Gap 收窄 | 边际改善 | Equity market bottom forming (1-2Q lead) |
|
|
189
|
+
|
|
190
|
+
### CPI-PPI 剪刀差 (利润分配信号)
|
|
191
|
+
|
|
192
|
+
`fin_macro(endpoint="cpi", limit=12)` + `fin_macro(endpoint="ppi", limit=12)` → CPI_YoY - PPI_YoY
|
|
193
|
+
|
|
194
|
+
| CPI-PPI Gap | Sector implication |
|
|
195
|
+
| ------------ | ---------------------------------------------------------- |
|
|
196
|
+
| PPI > CPI | Upstream profits expand; midstream/consumer margin squeeze |
|
|
197
|
+
| CPI > PPI | Consumer brands + retail outperform; upstream deflation |
|
|
198
|
+
| Both rising | Commodity longs, short duration bonds |
|
|
199
|
+
| Both falling | Long duration bonds, defensive sectors |
|
|
200
|
+
|
|
201
|
+
### 社融-GDP 领先关系 (信贷脉冲)
|
|
202
|
+
|
|
203
|
+
`fin_macro(endpoint="social_financing", limit=24)` + `fin_macro(endpoint="gdp/real", limit=8)` — 信贷脉冲 = 社融增量的二阶导 (3 月移动平均增速的变化率),领先 GDP 2-3Q:
|
|
204
|
+
|
|
205
|
+
- 脉冲转正 (社融增速加速) + PMI > 50 → high confidence GDP recovery ahead
|
|
206
|
+
- 脉冲转负 (社融增速减速) + M1 下行 → GDP 下行风险,提前减仓周期股
|
|
207
|
+
|
|
208
|
+
### HIBOR-LIBOR 利差 (港元联系汇率压力)
|
|
209
|
+
|
|
210
|
+
`fin_macro(endpoint="hibor", limit=60)` + `fin_macro(endpoint="libor", limit=60)` → match tenor (O/N, 1M, 3M)
|
|
211
|
+
|
|
212
|
+
| HIBOR-LIBOR | Implication |
|
|
213
|
+
| ------------------- | ---------------------------------------------------- |
|
|
214
|
+
| HIBOR > LIBOR +50bp | HKMA draining liquidity, HK equities pressure |
|
|
215
|
+
| HIBOR ≈ LIBOR | Peg functioning normally |
|
|
216
|
+
| HIBOR < LIBOR -30bp | Hot money inflows to HK, watch property/equity rally |
|
|
217
|
+
|
|
218
|
+
### World Bank 跨国对比
|
|
219
|
+
|
|
220
|
+
`worldbank/gdp` + `worldbank/inflation` (country="CN"/"US"/"JP", limit=10) → 跨国周期对比
|
|
221
|
+
|
|
222
|
+
- GDP 增速差扩大 → 资金流向高增长经济体
|
|
223
|
+
- 通胀差异 → 预判各央行货币政策分化方向
|
|
224
|
+
|
|
225
|
+
### 经济日历交易策略
|
|
226
|
+
|
|
227
|
+
**PMI surprise**: `calendar` + `pmi`(limit=6) → actual - prior trend
|
|
228
|
+
|
|
229
|
+
- surprise > +1.0 → A 股跳涨, 商品走强, 债券承压
|
|
230
|
+
- surprise < -1.0 → 避险: 债券走强, A 股承压, 黄金受益
|
|
231
|
+
|
|
232
|
+
**LPR 传导链**: `shibor_lpr`(limit=12) → LPR 下调 → 房贷利率降 → 地产改善 → 银行 NIM 压 → 消费回升
|
|
233
|
+
|
|
234
|
+
- -10bp: 地产温和利好, 银行中性偏负 | -20bp+: 地产明确利好, 银行 NIM 压力
|
|
235
|
+
|
|
236
|
+
**汇率干预识别**: `currency/snapshots` + `currency/price/historical`(symbol="USDCNH", limit=30)
|
|
237
|
+
|
|
238
|
+
- CNH 单日升值 > 500 pips 且无基本面驱动 → 央行入场
|
|
239
|
+
- 中间价连续 3 日强于模型预测 → 逆周期因子启动
|
|
240
|
+
- 离岸 CNH 利率骤升 (via `hibor` O/N) → 抽紧离岸流动性打空头
|
|
241
|
+
|
|
242
|
+
## Data Notes & Output Formatting
|
|
243
|
+
|
|
244
|
+
- Tushare macro: 1-2h after release, not real-time | World Bank: annual, 6-12 month lag
|
|
245
|
+
- Rates (Shibor/Libor/Hibor): daily on trading days | LPR: 20th monthly, deferred on holidays
|
|
246
|
+
- `worldbank/indicator`: requires indicator code (see table above)
|
|
247
|
+
- `shibor_quote`: per-bank quotes by tenor, for term structure | `wz_index`: shadow banking proxy
|
|
248
|
+
- GDP: 6.1% (1 decimal) | CPI/PPI: YoY +2.3% (always label YoY/MoM)
|
|
249
|
+
- Rates/Yields: 3 decimals | Money: 万亿元 | FX: 4 decimals | Spread: bp
|
|
250
|
+
- Always note data publication date, not query date
|
|
251
|
+
- Cycle positioning must state data time window; policy reads add "不构成投资建议"
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fin-risk-monitor
|
|
3
|
+
description: "Risk monitoring dashboard — market regime detection, rate risk (Shibor/treasury spread), leverage risk (margin), foreign capital flows, macro warning signals. Orchestrates fin_data_regime + fin_macro + fin_market + fin_index. Use when: user asks about market risk assessment, stress signals, risk dashboard, or hedging recommendations. NOT for: trade decisions (use fin-a-share), macro cycle forecasting or positioning (use fin-macro)."
|
|
4
|
+
metadata: { "openclaw": { "emoji": "🚨", "requires": { "extensions": ["findoo-datahub-plugin"] } } }
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Risk Monitor Dashboard
|
|
8
|
+
|
|
9
|
+
综合使用 **fin_macro**、**fin_market**、**fin_index**、**fin_data_regime** 构建红/黄/绿三色信号体系,量化系统性风险。
|
|
10
|
+
|
|
11
|
+
## 综合风险评分
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
综合风险分 = Sum(各维度风险分 x 权重)
|
|
15
|
+
|
|
16
|
+
0-30: [G] 低风险 | 30-60: [Y] 中等风险 | 60-80: [R] 高风险 | 80-100: [R+] 极端风险
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## 六大风险维度 — Endpoint 映射 + 阈值简表
|
|
20
|
+
|
|
21
|
+
### 1. 市场体制 (Regime) — 权重 20%
|
|
22
|
+
|
|
23
|
+
| 指标 | 工具调用 | [G] | [Y] | [R] |
|
|
24
|
+
| ----------- | ------------------------------------------------------------------------------------- | -------- | -------------- | ----------- |
|
|
25
|
+
| Regime | `fin_data_regime(symbol="000300.SH", market="equity")` | bull | sideways | bear/crisis |
|
|
26
|
+
| 全市场快照 | `fin_market(endpoint="market_snapshots")` → 12000+ 记录,快速获取涨跌家数比、成交额等 | — | — | — |
|
|
27
|
+
| 涨跌家数比 | `fin_market(endpoint="discovery/gainers")` vs losers | > 1.5 | 0.8-1.5 | < 0.8 |
|
|
28
|
+
| 涨停/跌停比 | `fin_market(endpoint="market/limit_list")` | > 2 | 1-2 | < 1 |
|
|
29
|
+
| 成交额变化 | `fin_index(symbol="000300.SH", endpoint="price/historical")` | 0.8-1.5x | 1.5-2.5x/<0.5x | >2.5x(恐慌) |
|
|
30
|
+
|
|
31
|
+
### 2. 利率与流动性 — 权重 20%
|
|
32
|
+
|
|
33
|
+
| 指标 | 工具调用 | [G] | [Y] | [R] |
|
|
34
|
+
| ---------------- | ------------------------------------ | ------ | --------- | ------ |
|
|
35
|
+
| Shibor O/N | `fin_macro(endpoint="shibor")` | < 2.0% | 2.0%-3.0% | > 3.0% |
|
|
36
|
+
| Shibor 期限结构 | `fin_macro(endpoint="shibor_quote")` | 正常 | 短端偏高 | 倒挂 |
|
|
37
|
+
| 期限利差(10Y-1Y) | `fin_macro(endpoint="treasury_cn")` | > 50bp | 20-50bp | < 20bp |
|
|
38
|
+
| M2 增速 | `fin_macro(endpoint="money_supply")` | > 10% | 8%-10% | < 8% |
|
|
39
|
+
|
|
40
|
+
### 3. 杠杆风险 — 权重 15%
|
|
41
|
+
|
|
42
|
+
| 指标 | 工具调用 | [G] | [Y] | [R] |
|
|
43
|
+
| --------------- | ------------------------------------------------ | ---- | -------- | ------------ |
|
|
44
|
+
| 融资余额总量 | `fin_market(endpoint="margin/summary")` | 稳定 | 快速上升 | 急降(平仓潮) |
|
|
45
|
+
| 融资余额5日变化 | `fin_market(endpoint="margin/summary", limit=5)` | < 3% | 3%-5% | > 5%(急降) |
|
|
46
|
+
| 融资交易明细 | `fin_market(endpoint="margin/trading")` | 正常 | 集中平仓 | 大面积平仓 |
|
|
47
|
+
| 质押风险 | `fin_stock(endpoint="pledge/stat")` 抽样 | < 5% | 5%-10% | > 10% |
|
|
48
|
+
|
|
49
|
+
### 4. 外资与跨境资金流 — 权重 15%
|
|
50
|
+
|
|
51
|
+
| 指标 | 工具调用 | [G] | [Y] | [R] |
|
|
52
|
+
| -------------- | --------------------------------------------------------------------------- | -------- | --------- | ---------- |
|
|
53
|
+
| 北向日净买入 | `fin_market(endpoint="flow/hsgt_flow")` | > 0 | -50~0亿 | < -50亿 |
|
|
54
|
+
| 北向5日累计 | `fin_market(endpoint="flow/hsgt_flow", limit=5)` | > 0 | -100~0亿 | < -100亿 |
|
|
55
|
+
| 北向前十活跃股 | `fin_market(endpoint="flow/hsgt_top10")` | 均匀分布 | 集中卖出 | 大面积卖出 |
|
|
56
|
+
| 南向月度汇总 | `fin_market(endpoint="flow/ggt_monthly")` — 中长期南向资金趋势 | 稳定流入 | 波动 | 持续流出 |
|
|
57
|
+
| 人民币汇率 | `fin_macro(endpoint="currency/price/historical", symbol="USDCNH", limit=5)` | < 0.5% | > 0.5%/周 | > 1%/周 |
|
|
58
|
+
|
|
59
|
+
### 5. 宏观经济 — 权重 15%
|
|
60
|
+
|
|
61
|
+
| 指标 | 工具调用 | [G] | [Y] | [R] |
|
|
62
|
+
| --------- | ---------------------------------------- | ----- | ---------- | ------------- |
|
|
63
|
+
| 制造业PMI | `fin_macro(endpoint="pmi")` | > 51 | 49-51 | < 49 |
|
|
64
|
+
| CPI 同比 | `fin_macro(endpoint="cpi")` | 1%-3% | 0-1%/3%-5% | <0%(通缩)/>5% |
|
|
65
|
+
| PPI 同比 | `fin_macro(endpoint="ppi")` | 0%-3% | -3%-0% | < -3% |
|
|
66
|
+
| 社融增速 | `fin_macro(endpoint="social_financing")` | > 10% | 8%-10% | < 8% |
|
|
67
|
+
|
|
68
|
+
### 6. 市场情绪 — 权重 15%
|
|
69
|
+
|
|
70
|
+
| 指标 | 工具调用 | [G] | [Y] | [R] |
|
|
71
|
+
| --------------- | ------------------------------------------------------------ | --------- | ------------- | --------------- |
|
|
72
|
+
| 换手率(沪深300) | `fin_index(symbol="000300.SH", endpoint="price/historical")` | 0.5%-1.5% | 1.5%-3%/<0.3% | >3%(狂热)/<0.2% |
|
|
73
|
+
| 涨停数 | `fin_market(endpoint="market/limit_list")` | 30-80 | > 100(过热) | < 10(极冷) |
|
|
74
|
+
| 龙虎榜机构净买 | `fin_market(endpoint="market/top_inst")` | 净买入 | 中性 | 净卖出 |
|
|
75
|
+
| Regime | `fin_data_regime(symbol="000300.SH", market="equity")` | bull | sideways | bear/crisis |
|
|
76
|
+
|
|
77
|
+
## 补充数据源
|
|
78
|
+
|
|
79
|
+
- `fin_market(endpoint="market_snapshots")` → 全市场实时快照 (12000+ 记录),可快速获取涨跌家数比、成交额分布等,适合风险扫描的第一步。
|
|
80
|
+
- `fin_market(endpoint="flow/ggt_monthly")` → 南向月度汇总,用于中长期南向资金趋势判断。
|
|
81
|
+
- **注意**: `flow/ggt_top10` 端点在 DataHub 上超时不可用,南向数据请改用 `flow/ggt_daily` 或 `flow/ggt_monthly`。
|
|
82
|
+
|
|
83
|
+
## 数据缺口替代方案
|
|
84
|
+
|
|
85
|
+
### VIX 恐慌指数代理 (Composite Fear Index)
|
|
86
|
+
|
|
87
|
+
无 CBOE VIX,三源合成: `fin_market(market/limit_list)` 跌停数D + `fin_data_regime(000300.SH)` regime R + `fin_index(000300.SH, price/historical)` 日振幅=(high-low)/close
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
VIX_proxy = 0.3*norm(D) + 0.4*regime_score(R) + 0.3*norm(振幅)
|
|
91
|
+
regime_score: bull=0, sideways=30, volatile=60, bear=75, crisis=100
|
|
92
|
+
norm(D): <10→0, 10-50→25, 50-100→50, 100-200→75, >200→100
|
|
93
|
+
norm(振幅): <1%→0, 1-2%→25, 2-3%→50, 3-5%→75, >5%→100
|
|
94
|
+
阈值: 0-25[G] | 25-55[Y] | 55-80[R] | >80[R+]
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### 信用风险代理 (Credit Stress Proxy)
|
|
98
|
+
|
|
99
|
+
无 AA-AAA 利差,三源合成: `fin_macro(shibor)` O/N值+日变化 + `fin_macro(shibor_quote)` 期限结构 + `fin_market(margin/summary)` 融资余额5日变化
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
Credit_stress = 0.4*shibor_score + 0.3*curve_score + 0.3*margin_score
|
|
103
|
+
shibor: O/N<2%→0, 2-3%→30, 3-5%→60, >5%→100; 单日跳升>50bp额外+20
|
|
104
|
+
curve: 正常→0, 平坦化→40, 倒挂→80, 深度倒挂(1W>3M+50bp)→100
|
|
105
|
+
margin: 5日变化<-3%→80(平仓潮), -1~-3%→40, 稳定→0
|
|
106
|
+
阈值: 0-30[G] | 30-60[Y] | 60-85[R] | >85[R+]
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### 美联储利率预期
|
|
110
|
+
|
|
111
|
+
`fin_macro(treasury_us)` 10Y-2Y 利差: 走阔→预期降息, 收窄/倒挂→预期加息/衰退, 10Y日变>10bp→重大信号
|
|
112
|
+
|
|
113
|
+
## 风险传导链模型
|
|
114
|
+
|
|
115
|
+
| 路径 | 链路 | 频率 | 升级触发 |
|
|
116
|
+
|------|------|------|---------|
|
|
117
|
+
| **A 外部冲击** | 美债↑(`treasury_us`) → CNH贬(`USDCNH`) → 北向流出(`hsgt_flow`) → 大宗联动(AU/SC) → A股承压 | 日频 | 10Y日变>10bp |
|
|
118
|
+
| **B 去杠杆** | 监管收紧 → 融资降(`margin/summary`) → 杠杆平仓(`margin/trading`) → 质押风险(`pledge/stat`) → 连锁跌停 | 周频 | 融资连降3日 |
|
|
119
|
+
| **C 流动性危机** | Shibor飙升(`shibor`) → 债券抛售(`treasury_cn`) → 利差异常 → 股债双杀 | 日频 | O/N>3% |
|
|
120
|
+
|
|
121
|
+
## 风险情景预案
|
|
122
|
+
|
|
123
|
+
| 情景 | 触发条件 | 行动 |
|
|
124
|
+
|------|---------|------|
|
|
125
|
+
| **A 美联储冲击** | 10Y 5日升>25bp + USDCNH周升>0.8% + 北向3日出>150亿 | 减成长至30%,增配高股息,IF空头对冲 |
|
|
126
|
+
| **B 信用事件** | 融资10日降>8% + O/N>3.5% + 银行地产跌停>15 | 清仓金融地产,仓位<30%,增配国债ETF(511010.SH) |
|
|
127
|
+
| **C 地缘冲突** | AU日涨>2% + SC日涨>5% + USDCNH 3日升>1% | 仓位30%,加配黄金/现金/短期国债 |
|
|
128
|
+
| **D 钱荒** | O/N>5% + 大面积强平 + 跌停>200 + 10Y-1Y<10bp | 全清仓转现金。恢复: O/N<2.5% + 跌停<50 |
|
|
129
|
+
|
|
130
|
+
## 尾部风险预警 (Perfect Storm)
|
|
131
|
+
|
|
132
|
+
3+维度同时[R]触发: **N=3** 仓位降至40%,`fin_derivatives(futures/historical, IF主力)` 空头 + `options/basic` 认沽 | **N=4** 仓位20%,加配`AU主力`黄金 | **N>=5** 仓位0-10%全现金+国债,等2+维度回[Y]
|
|
133
|
+
|
|
134
|
+
## 每日快速扫描 Pattern
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
Step 1: fin_market(endpoint="flow/hsgt_flow", limit=5) → 北向资金
|
|
138
|
+
Step 2: fin_macro(endpoint="shibor", limit=5) → 流动性
|
|
139
|
+
Step 3: fin_index(symbol="000300.SH", endpoint="price/historical", limit=5) → 市场趋势
|
|
140
|
+
Step 4: fin_macro(endpoint="currency/price/historical", symbol="USDCNH", limit=5) → 汇率
|
|
141
|
+
→ 快速红黄绿判定
|
|
142
|
+
|
|
143
|
+
AUTO-ESCALATION (任一Step返回[R]):
|
|
144
|
+
Step 5: fin_data_regime(000300.SH) → 体制 Step 6: margin/summary → 杠杆
|
|
145
|
+
Step 7: market/limit_list → VIX代理 Step 8: shibor_quote → 信用代理
|
|
146
|
+
Step 9: pmi → 宏观前瞻 → 综合评分 → 匹配情景预案
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
**每周深度检查:** 六维度全量并行获取 → 加权打分+VIX_proxy/Credit_stress → 与上周对比边际变化 → 输出仪表盘
|
|
150
|
+
|
|
151
|
+
## 对冲建议框架
|
|
152
|
+
|
|
153
|
+
| 风险等级 | 仓位建议 | 对冲工具 | 现金比例 |
|
|
154
|
+
| --------- | -------- | --------------------------------------------------------- | -------- |
|
|
155
|
+
| [G] 低 | 80-100% | 无需对冲 | 0-20% |
|
|
156
|
+
| [Y] 中等 | 60-80% | `fin_derivatives(options/basic)` 认沽 / 减杠杆 | 20-40% |
|
|
157
|
+
| [R] 高 | 30-60% | `fin_derivatives(futures/historical, IF主力)` 空头 + 认沽 | 40-70% |
|
|
158
|
+
| [R+] 极端 | 0-30% | 全面对冲 + `AU主力` 黄金 + 国债ETF | 70-100% |
|
|
159
|
+
|
|
160
|
+
## 输出模板
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
============= 风险仪表盘 =============
|
|
164
|
+
日期: YYYY-MM-DD | 综合风险分: XX/100 [Y]
|
|
165
|
+
维度: 体制[G]25 流动性[Y]55 杠杆[G]30 外资[Y]50 宏观[Y]45 情绪[G]35
|
|
166
|
+
代理: VIX_proxy XX[G/Y/R] | Credit_stress XX[G/Y/R]
|
|
167
|
+
变化(vs上周): ^流动性+10 | v情绪-5
|
|
168
|
+
情景: 无/A预警/D触发 | 尾部: N/6维度[R]
|
|
169
|
+
行动建议: (工具+比例,注明数据截止日)
|
|
170
|
+
==========================================
|
|
171
|
+
```
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fin-us-dividend
|
|
3
|
+
description: "US dividend strategy — Aristocrat/Achiever/King classification, payout safety scoring, dividend yield vs Treasury spread, total shareholder yield (dividend + buyback), tax-adjusted yield for non-US investors, dividend portfolio construction. Use when: user asks about dividend stocks, passive income, payout safety, ex-dividend dates, or dividend vs bond yield. NOT for: single-stock fundamentals/valuation (use fin-us-equity), A-share dividends (use fin-a-share), crypto yield (use fin-crypto-defi), macro rates only (use fin-macro)."
|
|
4
|
+
metadata: { "openclaw": { "emoji": "💰", "requires": { "extensions": ["findoo-datahub-plugin"] } } }
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# US Dividend Strategy
|
|
8
|
+
|
|
9
|
+
Specialized in systematic dividend investing: Aristocrat classification, payout sustainability scoring, yield-vs-Treasury comparison, and portfolio construction. Goes beyond fin-us-equity's basic dividend lookup with a full income-investing framework.
|
|
10
|
+
|
|
11
|
+
## When to Use
|
|
12
|
+
|
|
13
|
+
- "美股有哪些高股息股" / "Best US dividend stocks"
|
|
14
|
+
- "JNJ 连续派息多少年" / "How many years has JNJ raised dividends"
|
|
15
|
+
- "股息 vs 国债收益率哪个划算" / "Dividend yield vs Treasury yield comparison"
|
|
16
|
+
- "T 的股息安全吗,会不会砍息" / "Is AT&T's dividend safe"
|
|
17
|
+
- "10 万美元做股息投资,30 年后多少" / "DRIP simulation for $100K over 30 years"
|
|
18
|
+
- "哪些是 Dividend Kings" / "List of Dividend Kings"
|
|
19
|
+
- "非美国人买美股股息要交多少税" / "Dividend withholding tax for non-US investors"
|
|
20
|
+
|
|
21
|
+
## When NOT to Use
|
|
22
|
+
|
|
23
|
+
- 个股基本面/估值深度分析 (PE/DCF/财务报表) -> use `/fin-us-equity`
|
|
24
|
+
- A 股/港股分红分析 -> use `/fin-a-share` / `/fin-hk-stock`
|
|
25
|
+
- 财报 beat/miss / earnings season 分析 -> use `/fin-us-earnings`
|
|
26
|
+
- 宏观利率/GDP/CPI (非 yield spread 对比) -> use `/fin-macro`
|
|
27
|
+
- 加密货币 staking/yield farming -> use `/fin-crypto-defi`
|
|
28
|
+
- 期权/期货/可转债 -> use `/fin-derivatives`
|
|
29
|
+
|
|
30
|
+
## Tools & Parameters
|
|
31
|
+
|
|
32
|
+
### fin_stock
|
|
33
|
+
|
|
34
|
+
| Parameter | Type | Required | Format | Default | Example |
|
|
35
|
+
| ---------- | ------ | -------- | --------------- | ------- | --------------------- |
|
|
36
|
+
| symbol | string | Yes | US ticker | — | JNJ |
|
|
37
|
+
| endpoint | string | Yes | see table below | — | fundamental/dividends |
|
|
38
|
+
| start_date | string | No | YYYY-MM-DD | — | 2000-01-01 |
|
|
39
|
+
| end_date | string | No | YYYY-MM-DD | — | 2026-03-07 |
|
|
40
|
+
| limit | number | No | 1-5000 | 200 | 100 |
|
|
41
|
+
| provider | string | No | yfinance | auto | yfinance |
|
|
42
|
+
|
|
43
|
+
#### Endpoints
|
|
44
|
+
|
|
45
|
+
| endpoint | Description | Example |
|
|
46
|
+
| ----------------------- | --------------------------------- | --------------------------------------------------------------------------- |
|
|
47
|
+
| `fundamental/dividends` | Full dividend history | `fin_stock(symbol="JNJ", endpoint="fundamental/dividends", limit=100)` |
|
|
48
|
+
| `fundamental/ratios` | Payout ratio, dividend yield, ROE | `fin_stock(symbol="JNJ", endpoint="fundamental/ratios")` |
|
|
49
|
+
| `fundamental/cash` | FCF for payout sustainability | `fin_stock(symbol="JNJ", endpoint="fundamental/cash")` |
|
|
50
|
+
| `fundamental/metrics` | Market cap, EV/EBITDA | `fin_stock(symbol="JNJ", endpoint="fundamental/metrics")` |
|
|
51
|
+
| `us/income` | EPS/Net income for coverage | `fin_stock(symbol="JNJ", endpoint="us/income")` |
|
|
52
|
+
| `price/historical` | Total return calculation | `fin_stock(symbol="JNJ", endpoint="price/historical", provider="yfinance")` |
|
|
53
|
+
| `profile` | Sector, industry classification | `fin_stock(symbol="JNJ", endpoint="profile")` |
|
|
54
|
+
|
|
55
|
+
### fin_macro
|
|
56
|
+
|
|
57
|
+
| endpoint | Description | Example |
|
|
58
|
+
| ------------- | ------------ | ----------------------------------- |
|
|
59
|
+
| `treasury_us` | US 10Y yield | `fin_macro(endpoint="treasury_us")` |
|
|
60
|
+
|
|
61
|
+
## Dividend Classification System
|
|
62
|
+
|
|
63
|
+
| Tier | Criteria | Examples |
|
|
64
|
+
| ----------------- | ---------------------------------- | ------------------------ |
|
|
65
|
+
| **Dividend King** | 50+ consecutive years of increases | JNJ, KO, PG, MMM, CL |
|
|
66
|
+
| **Aristocrat** | 25+ years in S&P 500 | ABBV, ABT, PEP, XOM, MCD |
|
|
67
|
+
| **Achiever** | 10-24 consecutive years | MSFT, AAPL, HD, V |
|
|
68
|
+
| **Not qualified** | <10 years or any cut/freeze | (evaluate case by case) |
|
|
69
|
+
|
|
70
|
+
**Detection method:** `fundamental/dividends` with long history (limit=100+) -> calculate annual totals -> count consecutive YoY increases.
|
|
71
|
+
|
|
72
|
+
## Dividend Analysis Pattern
|
|
73
|
+
|
|
74
|
+
1. **Dividend history & classification** `fin_stock(endpoint="fundamental/dividends", symbol="JNJ", limit=100)` — Pull full dividend history
|
|
75
|
+
- Calculate annual dividend totals for each calendar year
|
|
76
|
+
- Count consecutive years of YoY increases -> classify as King/Aristocrat/Achiever
|
|
77
|
+
- Calculate 5-year dividend CAGR = (Latest annual / 5-years-ago annual)^(1/5) - 1
|
|
78
|
+
- ⚠️ If most recent annual dividend < prior year -> dividend was CUT, immediately flag as high risk
|
|
79
|
+
- ⚠️ If dividend growth rate declining (CAGR last 3Y < CAGR last 5Y) -> growth deceleration
|
|
80
|
+
|
|
81
|
+
2. **Payout safety scoring** `fin_stock(endpoint="fundamental/ratios")` + `fin_stock(endpoint="fundamental/cash")` + `fin_stock(endpoint="us/income")` — Multi-factor safety assessment
|
|
82
|
+
- **Earnings payout ratio**: Dividends per share / EPS (from ratios or compute from income)
|
|
83
|
+
- **FCF payout ratio**: Total dividends / Free Cash Flow (from cash flow statement)
|
|
84
|
+
- **FCF coverage**: FCF / Total dividends (inverse of FCF payout)
|
|
85
|
+
- Safety score matrix:
|
|
86
|
+
|
|
87
|
+
| Factor | Green (Safe) | Yellow (Watch) | Red (At Risk) |
|
|
88
|
+
| ------------------ | ------------ | -------------- | ------------- |
|
|
89
|
+
| Earnings payout | < 60% | 60-80% | > 80% |
|
|
90
|
+
| FCF payout | < 70% | 70-90% | > 90% |
|
|
91
|
+
| FCF coverage | > 1.5x | 1.0-1.5x | < 1.0x |
|
|
92
|
+
| Consecutive growth | 10+ years | 5-9 years | < 5 years |
|
|
93
|
+
| Dividend CAGR 5Y | > 5% | 2-5% | < 2% |
|
|
94
|
+
- ⚠️ If earnings payout > 90% + FCF coverage < 1.0x -> **Yield Trap** alert: "High yield but dividend may be cut"
|
|
95
|
+
- ⚠️ If FCF has been negative for 2+ quarters -> dividend funded by debt, unsustainable
|
|
96
|
+
- 💡 Cross-validate: stable payout ratio + rising FCF = safest combination (growing into the payout)
|
|
97
|
+
|
|
98
|
+
3. **Yield vs Treasury spread** `fin_macro(endpoint="treasury_us")` — Compare dividend yield to risk-free rate
|
|
99
|
+
- Spread = Dividend yield - 10Y Treasury yield
|
|
100
|
+
- ⚠️ If spread < 0% (Treasury wins) -> bonds offer better risk-free income, dividend case weakens unless growth justifies
|
|
101
|
+
- ⚠️ If spread > 2% -> attractive income premium, but verify it's not a yield trap (step 2)
|
|
102
|
+
- 💡 Historical context: S&P 500 average dividend yield ~1.5%, 10Y Treasury averages ~3.5%. When spread is unusually wide, one of them is mispriced
|
|
103
|
+
|
|
104
|
+
4. **Total shareholder yield** `fin_stock(endpoint="fundamental/metrics")` + `fin_stock(endpoint="fundamental/cash")` — Dividend + Buyback
|
|
105
|
+
- Buyback yield = (Share repurchases from cash flow) / Market cap
|
|
106
|
+
- Total yield = Dividend yield + Buyback yield
|
|
107
|
+
- ⚠️ If total yield > 6% but debt/equity rising -> shareholder returns funded by leverage, not operations
|
|
108
|
+
- 💡 Mega-cap tech (AAPL/MSFT/META): buyback yield 3-5% dwarfs dividend yield <1%. Total yield is the true income metric
|
|
109
|
+
|
|
110
|
+
5. **Tax-adjusted yield (non-US investors)** — Calculate after-tax income
|
|
111
|
+
- Default withholding: 30% on US dividends for non-US investors
|
|
112
|
+
- Treaty rate (China-US): 10% (with W-8BEN filing)
|
|
113
|
+
- After-tax yield = Gross yield \* (1 - withholding rate)
|
|
114
|
+
- ⚠️ REITs (e.g., O, VNQ): dividends taxed as ordinary income even for US investors, higher effective tax
|
|
115
|
+
- 💡 For Chinese investors: $1.00 dividend -> $0.70 after 30% withholding (no treaty) or $0.90 after 10% (with W-8BEN)
|
|
116
|
+
|
|
117
|
+
6. **Portfolio construction** — When user wants to build a dividend portfolio
|
|
118
|
+
- **Sector diversification**: No more than 25% in any single sector
|
|
119
|
+
- **Yield tier stratification**: Mix high-yield (4%+, slower growth) + growth-yield (1-3%, faster CAGR)
|
|
120
|
+
- **Classic sectors**: Staples (PG/KO/PEP), Healthcare (JNJ/ABT/ABBV), Industrials (MMM/CAT), Utilities (SO/DUK)
|
|
121
|
+
- **DRIP simulation**: Given initial amount + monthly contribution + portfolio yield + dividend CAGR -> compound over N years
|
|
122
|
+
- Formula: FV = PV _ (1 + yield + growth)^N + PMT _ [((1 + r)^N - 1) / r] (simplified)
|
|
123
|
+
- 💡 A 3.5% yield growing at 7% CAGR doubles income in ~10 years (Rule of 72)
|
|
124
|
+
|
|
125
|
+
## Data Notes
|
|
126
|
+
|
|
127
|
+
- **Dividend history**: `fundamental/dividends` provides ex-date + amount per share. Long history available for established payers (50+ years for Kings).
|
|
128
|
+
- **US quotes**: yfinance, ~15min delay. Use `provider="yfinance"` for `price/historical`.
|
|
129
|
+
- **Payout ratio**: Some providers pre-compute; otherwise calculate from `us/income` (EPS) and `fundamental/dividends`.
|
|
130
|
+
- **Aristocrat list**: No official list API. Classify by counting consecutive dividend increases from history data.
|
|
131
|
+
- **Ex-dividend dates**: Available in `fundamental/dividends` history but no forward calendar. Use most recent ex-date + quarterly cadence to estimate next.
|
|
132
|
+
- **Treasury yield**: `fin_macro(endpoint="treasury_us")` provides current and historical 10Y yield.
|
|
133
|
+
- **Buyback data**: Derived from `fundamental/cash` (financing activities) and `fundamental/metrics` (market cap). Not a direct buyback amount field.
|
|
134
|
+
|
|
135
|
+
## Response Guidelines
|
|
136
|
+
|
|
137
|
+
### Dollar Format
|
|
138
|
+
|
|
139
|
+
- Dividend per share: $1.24/quarter or $4.96/year (specify frequency)
|
|
140
|
+
- Yield: 3.42% (2 decimal places)
|
|
141
|
+
- Payout ratio: 58.3% (1 decimal place)
|
|
142
|
+
- Market cap: $420.5B (use $B/$M shorthand)
|
|
143
|
+
- Portfolio income: $3,800/year on $100K invested
|
|
144
|
+
- Tax withholding: $0.30 per $1.00 dividend (30% rate)
|
|
145
|
+
|
|
146
|
+
### Must Include
|
|
147
|
+
|
|
148
|
+
- Data cutoff date ("Data as of 2026-03-07")
|
|
149
|
+
- Consecutive years of dividend growth (the defining metric)
|
|
150
|
+
- Payout safety assessment (Green/Yellow/Red)
|
|
151
|
+
- Current yield vs 10Y Treasury yield spread
|
|
152
|
+
- Tax note for non-US investors when discussing income
|
|
153
|
+
- Dividend growth rate (5Y CAGR) alongside current yield
|
|
154
|
+
|
|
155
|
+
### Display Format
|
|
156
|
+
|
|
157
|
+
- Single stock dividend analysis -> sections: Classification | Safety Score | Yield vs Treasury | History Chart Description
|
|
158
|
+
- Dividend screener/comparison -> table with columns: Ticker | Yield | CAGR 5Y | Payout Ratio | Safety | Consecutive Years
|
|
159
|
+
- Portfolio construction -> sector allocation table + projected income schedule
|
|
160
|
+
- DRIP simulation -> year-by-year table showing: Year | Portfolio Value | Annual Dividend | Yield-on-Cost
|
|
161
|
+
- Yield trap warning -> prominent callout box with risk factors
|
|
162
|
+
- Always end with: "Key consideration for this dividend strategy is..."
|