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