Files
Hermes-Skills/openclaw-imports/stock-analysis/references/dca-screening.md
T
Hermes Skills Manager 6770bc9b9d Initial commit: Hermes Agent skills collection
- Trading skills (OKX, dividend, lottery, quantitative)
- Creative skills (ASCII art, diagrams, video)
- Development skills (GitHub, debugging, TDD)
- Research skills (arXiv, blog monitoring)
- Productivity skills (email, documents, notes)
- MCP integration skills
- Custom user skills
2026-07-05 02:31:15 -04:00

7.3 KiB
Raw Blame History

DCA Screening (阶梯式买入) — High Dividend Candidates

Find stocks suitable for dollar-cost averaging (laddered buying) with high dividend yields. Combines LongPort data with weighted scoring.

Last reviewed: 2026-06-07


DCA Scoring Framework

5-dimension weighted score (0-100) optimized for income + value + stability:

Dimension Weight Ideal Logic
Dividend Yield 30% >10% Higher = more income while DCA-ing; cap at 20%
PE (TTM) 20% 5-15 Sweet spot: cheap enough for value, not negative
PB Ratio 15% <1.0 Below book = margin of safety; <0.5 = deep value
5-Day Volatility 15% <3% Low vol = smoother DCA entries, less timing risk
YTD Drawdown 20% -5%~-15% Pullback = better entry; too deep = fundamental risk
def dca_score(r):
    score = 0
    # Yield (30%): higher = better, cap at 20%
    score += min(r['yield'] / 20.0, 1.0) * 30
    # PE (20%): sweet spot 5-15
    pe = r['pe']
    if pe is None or pe <= 0: score += 5      # negative = risky
    elif pe < 5: score += 15                    # very cheap
    elif pe < 10: score += 20                   # sweet spot
    elif pe < 15: score += 15
    elif pe < 20: score += 10
    else: score += 5
    # PB (15%): lower = better
    pb = r['pb']
    if pb is None: score += 5
    elif pb < 0.5: score += 15                  # deep value
    elif pb < 1.0: score += 12                  # below book
    elif pb < 1.5: score += 8
    else: score += 4
    # Volatility (15%): lower 5d change = better for DCA
    abs_5d = abs(r['five_d'])
    if abs_5d < 1: score += 15
    elif abs_5d < 3: score += 12
    elif abs_5d < 5: score += 8
    else: score += 4
    # YTD dip (20%): negative = better entry
    ytd = r['ytd']
    if ytd < -10: score += 20                   # great entry
    elif ytd < -5: score += 15
    elif ytd < 0: score += 12
    elif ytd < 5: score += 8
    else: score += 4                            # too hot
    return score

LongPort Data Fetching

from longport.openapi import CalcIndex

indexes = [
    CalcIndex.PeTtmRatio,
    CalcIndex.PbRatio,
    CalcIndex.DividendRatioTtm,
    CalcIndex.TotalMarketValue,
    CalcIndex.TurnoverRate,
    CalcIndex.FiveDayChangeRate,
    CalcIndex.YtdChangeRate,
]

# Batch in groups of 10
resp = ctx.calc_indexes(symbols, indexes)
for item in resp:
    dy = float(item.dividend_ratio_ttm) if item.dividend_ratio_ttm else 0
    pe = float(item.pe_ttm_ratio) if item.pe_ttm_ratio else None
    pb = float(item.pb_ratio) if item.pb_ratio else None
    cap = float(item.total_market_value) if item.total_market_value else 0

Candidate Universe (2026-06 snapshot)

🇭🇰 Hong Kong — High Dividend Blue Chips

Code Name Yield PE PB Category
3968.HK 招商银行 6.9% 7.1 0.95 银行 (破净)
2318.HK 中国平安 5.4% 6.8 0.89 保险 (破净)
0728.HK 中国电信 6.1% 12.7 0.86 电信 (央企)
1398.HK 工商银行 5.1% 5.8 0.55 银行 (破净)
0883.HK 中海油 5.2% 8.9 1.33 能源
0267.HK 中信股份 4.5% 6.1 0.46 综合 (破净)
3988.HK 中国银行 ~5% ~5 ~0.5 银行 (破净)
0939.HK 建设银行 ~5% ~5 ~0.5 银行 (破净)
3416.HK AGX国指兑 18.6% N/A N/A 高息ETF (covered call)
3417.HK AGX恒科备兑 18.8% N/A N/A 高息ETF (covered call)
1088.HK 中国神华 7.0% 16.7 1.82 能源 (煤)

港股 DCA 特点

  • 银行股大面积破净(PB<1),适合长期收息
  • 央企分红稳定,但增长有限
  • 高息ETF3416/3417yield极高但属covered call策略,capital appreciation受限

🇺🇸 US — BDCs (Business Development Companies)

Ticker Name Yield PE PB Profile
HTGC.US Hercules Capital 10.5% 8.5 1.26 科技BDC龙头,YTD-14%
ARCC.US Ares Capital 10.2% 11.7 0.96 最大BDCPB<1
MAIN.US Main Street Capital 5.9% 11.3 1.56 月分红+补充分红
GAIN.US Gladstone Investment 6.2% 3.3 0.91 小型BDC
GLAD.US Gladstone Capital 9.3% 10.2 0.90 收入型BDC
HRZN.US Horizon Technology 25.4% 14.6 0.94 ⚠️ 高息但风险高
FSK.US FS KKR Capital 22.1% -5.5 0.57 ⚠️ PE为负,亏损
PSEC.US Prospect Capital 23.8% -6.8 0.37 ⚠️ PE为负,分红可持续性存疑

🇺🇸 US — mREITs (Mortgage REITs)

Ticker Name Yield PE PB Profile
NLY.US Annaly Capital 13.2% 7.7 1.07 最大agency mREIT
AGNC.US AGNC Investment 14.2% 9.0 1.14 agency MBS
ARR.US Armour Residential 16.8% 9.3 0.91 住宅mREIT
DX.US Dynex Capital 15.8% 11.1 0.98 多元mREIT

🇺🇸 US — Blue Chip Dividend

Ticker Name Yield PE Profile
VICI.US VICI Properties 6.4% 9.8 娱乐REITTriple-net
T.US AT&T 4.9% 7.5 电信,降息受益
MO.US Altria Group 5.8% 15.0 烟草,稳定现金流
BTI.US British American Tobacco 5.3% 12.6 国际烟草
XOM.US Exxon Mobil ~3.5% ~14 能源巨头
O.US Realty Income 5.3% 50.6 月分红REITPE偏高)

🇺🇸 US — High Yield ETFs

Ticker Name Yield Strategy
JEPI.US JPMorgan Equity Premium Income 8.3% ELN + stock selection
JEPQ.US JPMorgan NASDAQ Equity Premium 10.4% NASDAQ版JEPI
SPYI.US Neos S&P 500 High Income 11.9% S&P 500 covered call
QYLD.US Global X NASDAQ 100 CC 11.7% ATM calls on QQQ
SVOL.US Simplify Volatility Premium 22.3% 波动率溢价

Pitfalls

  • ⚠️ Ultra-high yield (>20%) = red flag: HRZN/FSK/PSEC/SVOL yield 20%+ but PE is negative — recent losses. Dividend sustainability at risk. Always check PE > 0 before recommending.
  • ⚠️ mREITs are rate-sensitive: NLY/AGNC/DX/ARR depend on net interest margin. Fed rate cuts = tailwind; rate hikes = headwind. Best DCA during rate-cutting cycles.
  • ⚠️ Covered call ETFs cap upside: QYLD/JEPQ/SPYI generate income by selling calls — total return may lag underlying index in bull markets. DCA works better in range-bound markets.
  • ⚠️ HK bank PB<1 is structural: Chinese bank "破净" has persisted for years — it reflects real estate risk, not necessarily a bargain. Still fine for dividend income but don't expect PB reversion.
  • ⚠️ BDC vs mREIT: BDCs (HTGC/ARCC/MAIN) have more diversified income sources and typically more stable dividends than mREITs. Prefer BDCs for conservative DCA.
  • Seasonality: US ex-dividend dates cluster around Feb/May/Aug/Nov for quarterly payers. Plan DCA entries to capture dividends.

DCA Strategy Tips

  1. 3-5 price levels: Set 3-5 buy levels below current price, spaced 5-10% apart
  2. Equal dollar amounts: Invest same $ amount at each level (not equal shares)
  3. Dividend reinvestment: DRIP accelerates compounding during DCA accumulation
  4. Sector diversification: Mix REIT + BDC + utility + telecom — don't over-concentrate
  5. HK + US mix: HK for value (low PE/PB), US for yield (higher dividend rates)