# 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 |

```python
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

```python
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），适合长期收息
- 央企分红稳定，但增长有限
- 高息ETF（3416/3417）yield极高但属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 | 最大BDC，PB<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 | 娱乐REIT，Triple-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 | 月分红REIT（PE偏高） |

### 🇺🇸 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)
