quantwise 1.2.0 → 1.2.2

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.
Files changed (362) hide show
  1. package/.claude/skills/README.md +80 -0
  2. package/.claude/skills/backtest-expert/SKILL.md +206 -0
  3. package/.claude/skills/backtest-expert/references/failed_tests.md +236 -0
  4. package/.claude/skills/backtest-expert/references/methodology.md +227 -0
  5. package/.claude/skills/breadth-chart-analyst/SKILL.md +583 -0
  6. package/.claude/skills/breadth-chart-analyst/assets/SP500_Breadth_Index_200MA_8MA.jpeg +0 -0
  7. package/.claude/skills/breadth-chart-analyst/assets/US_Stock_Market_Uptrend_Ratio.jpeg +0 -0
  8. package/.claude/skills/breadth-chart-analyst/assets/breadth_analysis_template.md +558 -0
  9. package/.claude/skills/breadth-chart-analyst/references/breadth_chart_methodology.md +590 -0
  10. package/.claude/skills/canslim-screener/SKILL.md +599 -0
  11. package/.claude/skills/canslim-screener/references/canslim_methodology.md +606 -0
  12. package/.claude/skills/canslim-screener/references/fmp_api_endpoints.md +707 -0
  13. package/.claude/skills/canslim-screener/references/interpretation_guide.md +516 -0
  14. package/.claude/skills/canslim-screener/references/scoring_system.md +597 -0
  15. package/.claude/skills/canslim-screener/scripts/calculators/earnings_calculator.py +343 -0
  16. package/.claude/skills/canslim-screener/scripts/calculators/growth_calculator.py +334 -0
  17. package/.claude/skills/canslim-screener/scripts/calculators/institutional_calculator.py +347 -0
  18. package/.claude/skills/canslim-screener/scripts/calculators/leadership_calculator.py +380 -0
  19. package/.claude/skills/canslim-screener/scripts/calculators/market_calculator.py +244 -0
  20. package/.claude/skills/canslim-screener/scripts/calculators/new_highs_calculator.py +194 -0
  21. package/.claude/skills/canslim-screener/scripts/calculators/supply_demand_calculator.py +221 -0
  22. package/.claude/skills/canslim-screener/scripts/finviz_stock_client.py +227 -0
  23. package/.claude/skills/canslim-screener/scripts/fmp_client.py +393 -0
  24. package/.claude/skills/canslim-screener/scripts/report_generator.py +405 -0
  25. package/.claude/skills/canslim-screener/scripts/scorer.py +625 -0
  26. package/.claude/skills/canslim-screener/scripts/screen_canslim.py +361 -0
  27. package/.claude/skills/canslim-screener/scripts/test_institutional_endpoint.py +109 -0
  28. package/.claude/skills/chart/SKILL.md +20 -0
  29. package/.claude/skills/dividend-growth-pullback-screener/SKILL.md +322 -0
  30. package/.claude/skills/dividend-growth-pullback-screener/references/dividend_growth_compounding.md +400 -0
  31. package/.claude/skills/dividend-growth-pullback-screener/references/fmp_api_guide.md +642 -0
  32. package/.claude/skills/dividend-growth-pullback-screener/references/rsi_oversold_strategy.md +333 -0
  33. package/.claude/skills/dividend-growth-pullback-screener/scripts/screen_dividend_growth_rsi.py +1155 -0
  34. package/.claude/skills/earnings-calendar/SKILL.md +721 -0
  35. package/.claude/skills/earnings-calendar/assets/earnings_report_template.md +102 -0
  36. package/.claude/skills/earnings-calendar/references/fmp_api_guide.md +590 -0
  37. package/.claude/skills/earnings-calendar/scripts/fetch_earnings_fmp.py +443 -0
  38. package/.claude/skills/earnings-calendar/scripts/generate_report.py +366 -0
  39. package/.claude/skills/economic-calendar-fetcher/SKILL.md +365 -0
  40. package/.claude/skills/economic-calendar-fetcher/references/fmp_api_documentation.md +345 -0
  41. package/.claude/skills/economic-calendar-fetcher/scripts/get_economic_calendar.py +267 -0
  42. package/.claude/skills/ftd-detector/SKILL.md +147 -0
  43. package/.claude/skills/ftd-detector/references/ftd_methodology.md +188 -0
  44. package/.claude/skills/ftd-detector/references/post_ftd_guide.md +185 -0
  45. package/.claude/skills/ftd-detector/scripts/fmp_client.py +158 -0
  46. package/.claude/skills/ftd-detector/scripts/ftd_detector.py +280 -0
  47. package/.claude/skills/ftd-detector/scripts/post_ftd_monitor.py +404 -0
  48. package/.claude/skills/ftd-detector/scripts/rally_tracker.py +508 -0
  49. package/.claude/skills/ftd-detector/scripts/report_generator.py +341 -0
  50. package/.claude/skills/ftd-detector/scripts/tests/conftest.py +9 -0
  51. package/.claude/skills/ftd-detector/scripts/tests/helpers.py +107 -0
  52. package/.claude/skills/ftd-detector/scripts/tests/test_post_ftd_monitor.py +311 -0
  53. package/.claude/skills/ftd-detector/scripts/tests/test_rally_tracker.py +302 -0
  54. package/.claude/skills/institutional-flow-tracker/README.md +362 -0
  55. package/.claude/skills/institutional-flow-tracker/SKILL.md +357 -0
  56. package/.claude/skills/institutional-flow-tracker/references/13f_filings_guide.md +383 -0
  57. package/.claude/skills/institutional-flow-tracker/references/institutional_investor_types.md +580 -0
  58. package/.claude/skills/institutional-flow-tracker/references/interpretation_framework.md +573 -0
  59. package/.claude/skills/institutional-flow-tracker/scripts/analyze_single_stock.py +457 -0
  60. package/.claude/skills/institutional-flow-tracker/scripts/track_institution_portfolio.py +108 -0
  61. package/.claude/skills/institutional-flow-tracker/scripts/track_institutional_flow.py +450 -0
  62. package/.claude/skills/macro-regime-detector/SKILL.md +86 -0
  63. package/.claude/skills/macro-regime-detector/references/historical_regimes.md +124 -0
  64. package/.claude/skills/macro-regime-detector/references/indicator_interpretation_guide.md +144 -0
  65. package/.claude/skills/macro-regime-detector/references/regime_detection_methodology.md +138 -0
  66. package/.claude/skills/macro-regime-detector/scripts/calculators/__init__.py +1 -0
  67. package/.claude/skills/macro-regime-detector/scripts/calculators/concentration_calculator.py +165 -0
  68. package/.claude/skills/macro-regime-detector/scripts/calculators/credit_conditions_calculator.py +124 -0
  69. package/.claude/skills/macro-regime-detector/scripts/calculators/equity_bond_calculator.py +198 -0
  70. package/.claude/skills/macro-regime-detector/scripts/calculators/sector_rotation_calculator.py +123 -0
  71. package/.claude/skills/macro-regime-detector/scripts/calculators/size_factor_calculator.py +131 -0
  72. package/.claude/skills/macro-regime-detector/scripts/calculators/utils.py +347 -0
  73. package/.claude/skills/macro-regime-detector/scripts/calculators/yield_curve_calculator.py +279 -0
  74. package/.claude/skills/macro-regime-detector/scripts/fmp_client.py +134 -0
  75. package/.claude/skills/macro-regime-detector/scripts/macro_regime_detector.py +278 -0
  76. package/.claude/skills/macro-regime-detector/scripts/report_generator.py +327 -0
  77. package/.claude/skills/macro-regime-detector/scripts/scorer.py +574 -0
  78. package/.claude/skills/macro-regime-detector/scripts/tests/conftest.py +9 -0
  79. package/.claude/skills/macro-regime-detector/scripts/tests/test_concentration.py +78 -0
  80. package/.claude/skills/macro-regime-detector/scripts/tests/test_credit_conditions.py +59 -0
  81. package/.claude/skills/macro-regime-detector/scripts/tests/test_equity_bond.py +74 -0
  82. package/.claude/skills/macro-regime-detector/scripts/tests/test_helpers.py +90 -0
  83. package/.claude/skills/macro-regime-detector/scripts/tests/test_scorer.py +439 -0
  84. package/.claude/skills/macro-regime-detector/scripts/tests/test_sector_rotation.py +78 -0
  85. package/.claude/skills/macro-regime-detector/scripts/tests/test_size_factor.py +59 -0
  86. package/.claude/skills/macro-regime-detector/scripts/tests/test_utils.py +126 -0
  87. package/.claude/skills/macro-regime-detector/scripts/tests/test_yield_curve.py +64 -0
  88. package/.claude/skills/market-breadth-analyzer/SKILL.md +121 -0
  89. package/.claude/skills/market-breadth-analyzer/references/breadth_analysis_methodology.md +168 -0
  90. package/.claude/skills/market-breadth-analyzer/scripts/calculators/__init__.py +1 -0
  91. package/.claude/skills/market-breadth-analyzer/scripts/calculators/bearish_signal_calculator.py +150 -0
  92. package/.claude/skills/market-breadth-analyzer/scripts/calculators/cycle_calculator.py +168 -0
  93. package/.claude/skills/market-breadth-analyzer/scripts/calculators/divergence_calculator.py +119 -0
  94. package/.claude/skills/market-breadth-analyzer/scripts/calculators/historical_context_calculator.py +120 -0
  95. package/.claude/skills/market-breadth-analyzer/scripts/calculators/ma_crossover_calculator.py +115 -0
  96. package/.claude/skills/market-breadth-analyzer/scripts/calculators/trend_level_calculator.py +103 -0
  97. package/.claude/skills/market-breadth-analyzer/scripts/csv_client.py +225 -0
  98. package/.claude/skills/market-breadth-analyzer/scripts/market_breadth_analyzer.py +307 -0
  99. package/.claude/skills/market-breadth-analyzer/scripts/report_generator.py +330 -0
  100. package/.claude/skills/market-breadth-analyzer/scripts/scorer.py +271 -0
  101. package/.claude/skills/market-environment-analysis/SKILL.md +139 -0
  102. package/.claude/skills/market-environment-analysis/references/analysis_patterns.md +124 -0
  103. package/.claude/skills/market-environment-analysis/references/indicators.md +99 -0
  104. package/.claude/skills/market-environment-analysis/scripts/market_utils.py +127 -0
  105. package/.claude/skills/market-news-analyst/SKILL.md +714 -0
  106. package/.claude/skills/market-news-analyst/references/corporate_news_impact.md +446 -0
  107. package/.claude/skills/market-news-analyst/references/geopolitical_commodity_correlations.md +499 -0
  108. package/.claude/skills/market-news-analyst/references/market_event_patterns.md +393 -0
  109. package/.claude/skills/market-news-analyst/references/trusted_news_sources.md +510 -0
  110. package/.claude/skills/market-top-detector/SKILL.md +159 -0
  111. package/.claude/skills/market-top-detector/references/distribution_day_guide.md +100 -0
  112. package/.claude/skills/market-top-detector/references/historical_tops.md +142 -0
  113. package/.claude/skills/market-top-detector/references/market_top_methodology.md +167 -0
  114. package/.claude/skills/market-top-detector/scripts/calculators/__init__.py +17 -0
  115. package/.claude/skills/market-top-detector/scripts/calculators/breadth_calculator.py +116 -0
  116. package/.claude/skills/market-top-detector/scripts/calculators/defensive_rotation_calculator.py +127 -0
  117. package/.claude/skills/market-top-detector/scripts/calculators/distribution_day_calculator.py +161 -0
  118. package/.claude/skills/market-top-detector/scripts/calculators/index_technical_calculator.py +254 -0
  119. package/.claude/skills/market-top-detector/scripts/calculators/leading_stock_calculator.py +198 -0
  120. package/.claude/skills/market-top-detector/scripts/calculators/sentiment_calculator.py +213 -0
  121. package/.claude/skills/market-top-detector/scripts/fmp_client.py +158 -0
  122. package/.claude/skills/market-top-detector/scripts/market_top_detector.py +349 -0
  123. package/.claude/skills/market-top-detector/scripts/report_generator.py +314 -0
  124. package/.claude/skills/market-top-detector/scripts/scorer.py +473 -0
  125. package/.claude/skills/market-top-detector/scripts/tests/conftest.py +9 -0
  126. package/.claude/skills/market-top-detector/scripts/tests/helpers.py +49 -0
  127. package/.claude/skills/market-top-detector/scripts/tests/test_breadth.py +62 -0
  128. package/.claude/skills/market-top-detector/scripts/tests/test_defensive_rotation.py +56 -0
  129. package/.claude/skills/market-top-detector/scripts/tests/test_distribution_day.py +92 -0
  130. package/.claude/skills/market-top-detector/scripts/tests/test_index_technical.py +73 -0
  131. package/.claude/skills/market-top-detector/scripts/tests/test_leading_stock.py +57 -0
  132. package/.claude/skills/market-top-detector/scripts/tests/test_scorer.py +180 -0
  133. package/.claude/skills/market-top-detector/scripts/tests/test_sentiment.py +64 -0
  134. package/.claude/skills/options-strategy-advisor/README.md +469 -0
  135. package/.claude/skills/options-strategy-advisor/SKILL.md +959 -0
  136. package/.claude/skills/options-strategy-advisor/scripts/black_scholes.py +495 -0
  137. package/.claude/skills/pair-trade-screener/README.md +389 -0
  138. package/.claude/skills/pair-trade-screener/SKILL.md +622 -0
  139. package/.claude/skills/pair-trade-screener/references/cointegration_guide.md +745 -0
  140. package/.claude/skills/pair-trade-screener/references/methodology.md +853 -0
  141. package/.claude/skills/pair-trade-screener/scripts/analyze_spread.py +394 -0
  142. package/.claude/skills/pair-trade-screener/scripts/find_pairs.py +535 -0
  143. package/.claude/skills/portfolio-manager/README.md +394 -0
  144. package/.claude/skills/portfolio-manager/SKILL.md +750 -0
  145. package/.claude/skills/portfolio-manager/references/alpaca-mcp-setup.md +367 -0
  146. package/.claude/skills/portfolio-manager/references/asset-allocation.md +502 -0
  147. package/.claude/skills/portfolio-manager/references/diversification-principles.md +553 -0
  148. package/.claude/skills/portfolio-manager/references/portfolio-risk-metrics.md +603 -0
  149. package/.claude/skills/portfolio-manager/references/position-evaluation.md +477 -0
  150. package/.claude/skills/portfolio-manager/references/rebalancing-strategies.md +715 -0
  151. package/.claude/skills/portfolio-manager/references/risk-profile-questionnaire.md +608 -0
  152. package/.claude/skills/portfolio-manager/references/target-allocations.md +558 -0
  153. package/.claude/skills/portfolio-manager/scripts/test_alpaca_connection.py +286 -0
  154. package/.claude/skills/scenario-analyzer/SKILL.md +317 -0
  155. package/.claude/skills/scenario-analyzer/references/headline_event_patterns.md +264 -0
  156. package/.claude/skills/scenario-analyzer/references/scenario_playbooks.md +320 -0
  157. package/.claude/skills/scenario-analyzer/references/sector_sensitivity_matrix.md +217 -0
  158. package/.claude/skills/sector-analyst/SKILL.md +206 -0
  159. package/.claude/skills/sector-analyst/assets/industory_performance_1.jpeg +0 -0
  160. package/.claude/skills/sector-analyst/assets/industory_performance_2.jpeg +0 -0
  161. package/.claude/skills/sector-analyst/assets/sector_performance.jpeg +0 -0
  162. package/.claude/skills/sector-analyst/references/sector_rotation.md +170 -0
  163. package/.claude/skills/stanley-druckenmiller-investment/SKILL.md +84 -0
  164. package/.claude/skills/stanley-druckenmiller-investment/references/case-studies.md +148 -0
  165. package/.claude/skills/stanley-druckenmiller-investment/references/investment-philosophy.md +80 -0
  166. package/.claude/skills/stanley-druckenmiller-investment/references/market-analysis-guide.md +146 -0
  167. package/.claude/skills/stock/NOTION_SETUP.md +33 -0
  168. package/.claude/skills/stock/SKILL.md +38 -0
  169. package/.claude/skills/technical-analyst/SKILL.md +238 -0
  170. package/.claude/skills/technical-analyst/assets/analysis_template.md +183 -0
  171. package/.claude/skills/technical-analyst/references/technical_analysis_framework.md +282 -0
  172. package/.claude/skills/theme-detector/SKILL.md +320 -0
  173. package/.claude/skills/theme-detector/assets/report_template.md +155 -0
  174. package/.claude/skills/theme-detector/references/cross_sector_themes.md +252 -0
  175. package/.claude/skills/theme-detector/references/finviz_industry_codes.md +403 -0
  176. package/.claude/skills/theme-detector/references/thematic_etf_catalog.md +333 -0
  177. package/.claude/skills/theme-detector/references/theme_detection_methodology.md +430 -0
  178. package/.claude/skills/theme-detector/scripts/calculators/__init__.py +1 -0
  179. package/.claude/skills/theme-detector/scripts/calculators/heat_calculator.py +123 -0
  180. package/.claude/skills/theme-detector/scripts/calculators/industry_ranker.py +98 -0
  181. package/.claude/skills/theme-detector/scripts/calculators/lifecycle_calculator.py +172 -0
  182. package/.claude/skills/theme-detector/scripts/calculators/theme_classifier.py +195 -0
  183. package/.claude/skills/theme-detector/scripts/calculators/theme_discoverer.py +280 -0
  184. package/.claude/skills/theme-detector/scripts/config_loader.py +142 -0
  185. package/.claude/skills/theme-detector/scripts/default_theme_config.py +254 -0
  186. package/.claude/skills/theme-detector/scripts/etf_scanner.py +609 -0
  187. package/.claude/skills/theme-detector/scripts/finviz_performance_client.py +131 -0
  188. package/.claude/skills/theme-detector/scripts/report_generator.py +490 -0
  189. package/.claude/skills/theme-detector/scripts/representative_stock_selector.py +673 -0
  190. package/.claude/skills/theme-detector/scripts/scorer.py +87 -0
  191. package/.claude/skills/theme-detector/scripts/tests/README.md +21 -0
  192. package/.claude/skills/theme-detector/scripts/tests/conftest.py +9 -0
  193. package/.claude/skills/theme-detector/scripts/tests/test_config_loader.py +239 -0
  194. package/.claude/skills/theme-detector/scripts/tests/test_etf_scanner.py +810 -0
  195. package/.claude/skills/theme-detector/scripts/tests/test_heat_calculator.py +245 -0
  196. package/.claude/skills/theme-detector/scripts/tests/test_industry_ranker.py +256 -0
  197. package/.claude/skills/theme-detector/scripts/tests/test_lifecycle_calculator.py +301 -0
  198. package/.claude/skills/theme-detector/scripts/tests/test_report_generator.py +624 -0
  199. package/.claude/skills/theme-detector/scripts/tests/test_representative_stock_selector.py +898 -0
  200. package/.claude/skills/theme-detector/scripts/tests/test_scorer.py +185 -0
  201. package/.claude/skills/theme-detector/scripts/tests/test_theme_classifier.py +534 -0
  202. package/.claude/skills/theme-detector/scripts/tests/test_theme_detector_e2e.py +467 -0
  203. package/.claude/skills/theme-detector/scripts/tests/test_theme_discoverer.py +458 -0
  204. package/.claude/skills/theme-detector/scripts/tests/test_uptrend_client.py +76 -0
  205. package/.claude/skills/theme-detector/scripts/theme_detector.py +815 -0
  206. package/.claude/skills/theme-detector/scripts/themes.yaml +168 -0
  207. package/.claude/skills/theme-detector/scripts/uptrend_client.py +241 -0
  208. package/.claude/skills/uptrend-analyzer/SKILL.md +108 -0
  209. package/.claude/skills/uptrend-analyzer/references/uptrend_methodology.md +215 -0
  210. package/.claude/skills/uptrend-analyzer/scripts/calculators/__init__.py +1 -0
  211. package/.claude/skills/uptrend-analyzer/scripts/calculators/historical_context_calculator.py +122 -0
  212. package/.claude/skills/uptrend-analyzer/scripts/calculators/market_breadth_calculator.py +145 -0
  213. package/.claude/skills/uptrend-analyzer/scripts/calculators/momentum_calculator.py +183 -0
  214. package/.claude/skills/uptrend-analyzer/scripts/calculators/sector_participation_calculator.py +204 -0
  215. package/.claude/skills/uptrend-analyzer/scripts/calculators/sector_rotation_calculator.py +218 -0
  216. package/.claude/skills/uptrend-analyzer/scripts/data_fetcher.py +236 -0
  217. package/.claude/skills/uptrend-analyzer/scripts/report_generator.py +329 -0
  218. package/.claude/skills/uptrend-analyzer/scripts/scorer.py +276 -0
  219. package/.claude/skills/uptrend-analyzer/scripts/uptrend_analyzer.py +219 -0
  220. package/.claude/skills/us-market-bubble-detector/CHANGELOG.md +118 -0
  221. package/.claude/skills/us-market-bubble-detector/SKILL.md +545 -0
  222. package/.claude/skills/us-market-bubble-detector/references/bubble_framework.md +335 -0
  223. package/.claude/skills/us-market-bubble-detector/references/historical_cases.md +327 -0
  224. package/.claude/skills/us-market-bubble-detector/references/implementation_guide.md +473 -0
  225. package/.claude/skills/us-market-bubble-detector/references/quick_reference.md +354 -0
  226. package/.claude/skills/us-market-bubble-detector/references/quick_reference_en.md +342 -0
  227. package/.claude/skills/us-market-bubble-detector/scripts/bubble_scorer.py +309 -0
  228. package/.claude/skills/us-stock-analysis/SKILL.md +294 -0
  229. package/.claude/skills/us-stock-analysis/references/financial-metrics.md +172 -0
  230. package/.claude/skills/us-stock-analysis/references/fundamental-analysis.md +129 -0
  231. package/.claude/skills/us-stock-analysis/references/report-template.md +207 -0
  232. package/.claude/skills/us-stock-analysis/references/technical-analysis.md +93 -0
  233. package/.claude/skills/value-dividend-screener/SKILL.md +562 -0
  234. package/.claude/skills/value-dividend-screener/references/fmp_api_guide.md +348 -0
  235. package/.claude/skills/value-dividend-screener/references/screening_methodology.md +315 -0
  236. package/.claude/skills/value-dividend-screener/scripts/screen_dividend_stocks.py +1138 -0
  237. package/.claude/skills/vcp-screener/SKILL.md +79 -0
  238. package/.claude/skills/vcp-screener/references/fmp_api_endpoints.md +45 -0
  239. package/.claude/skills/vcp-screener/references/scoring_system.md +154 -0
  240. package/.claude/skills/vcp-screener/references/vcp_methodology.md +124 -0
  241. package/.claude/skills/vcp-screener/scripts/calculators/__init__.py +1 -0
  242. package/.claude/skills/vcp-screener/scripts/calculators/pivot_proximity_calculator.py +139 -0
  243. package/.claude/skills/vcp-screener/scripts/calculators/relative_strength_calculator.py +161 -0
  244. package/.claude/skills/vcp-screener/scripts/calculators/trend_template_calculator.py +228 -0
  245. package/.claude/skills/vcp-screener/scripts/calculators/vcp_pattern_calculator.py +322 -0
  246. package/.claude/skills/vcp-screener/scripts/calculators/volume_pattern_calculator.py +121 -0
  247. package/.claude/skills/vcp-screener/scripts/fmp_client.py +162 -0
  248. package/.claude/skills/vcp-screener/scripts/report_generator.py +317 -0
  249. package/.claude/skills/vcp-screener/scripts/scorer.py +155 -0
  250. package/.claude/skills/vcp-screener/scripts/screen_vcp.py +536 -0
  251. package/.claude/skills/vcp-screener/scripts/tests/__init__.py +0 -0
  252. package/.claude/skills/vcp-screener/scripts/tests/conftest.py +9 -0
  253. package/.claude/skills/vcp-screener/scripts/tests/test_vcp_screener.py +834 -0
  254. package/.claude/skills/weekly-trade-strategy/.claude/agents/druckenmiller-strategy-planner.md +300 -0
  255. package/.claude/skills/weekly-trade-strategy/.claude/agents/market-news-analyzer.md +239 -0
  256. package/.claude/skills/weekly-trade-strategy/.claude/agents/technical-market-analyst.md +187 -0
  257. package/.claude/skills/weekly-trade-strategy/.claude/agents/us-market-analyst.md +218 -0
  258. package/.claude/skills/weekly-trade-strategy/.claude/agents/weekly-trade-blog-writer.md +318 -0
  259. package/.claude/skills/weekly-trade-strategy/.claude/skills/breadth-chart-analyst/SKILL.md +662 -0
  260. package/.claude/skills/weekly-trade-strategy/.claude/skills/breadth-chart-analyst/assets/SP500_Breadth_Index_200MA_8MA.jpeg +0 -0
  261. package/.claude/skills/weekly-trade-strategy/.claude/skills/breadth-chart-analyst/assets/US_Stock_Market_Uptrend_Ratio.jpeg +0 -0
  262. package/.claude/skills/weekly-trade-strategy/.claude/skills/breadth-chart-analyst/assets/breadth_analysis_template.md +558 -0
  263. package/.claude/skills/weekly-trade-strategy/.claude/skills/breadth-chart-analyst/references/breadth_chart_methodology.md +590 -0
  264. package/.claude/skills/weekly-trade-strategy/.claude/skills/earnings-calendar/SKILL.md +721 -0
  265. package/.claude/skills/weekly-trade-strategy/.claude/skills/earnings-calendar/assets/earnings_report_template.md +102 -0
  266. package/.claude/skills/weekly-trade-strategy/.claude/skills/earnings-calendar/earnings_calendar_2025-11-02.md +447 -0
  267. package/.claude/skills/weekly-trade-strategy/.claude/skills/earnings-calendar/references/fmp_api_guide.md +590 -0
  268. package/.claude/skills/weekly-trade-strategy/.claude/skills/earnings-calendar/scripts/fetch_earnings_fmp.py +443 -0
  269. package/.claude/skills/weekly-trade-strategy/.claude/skills/earnings-calendar/scripts/generate_report.py +366 -0
  270. package/.claude/skills/weekly-trade-strategy/.claude/skills/economic-calendar-fetcher/SKILL.md +365 -0
  271. package/.claude/skills/weekly-trade-strategy/.claude/skills/economic-calendar-fetcher/references/fmp_api_documentation.md +345 -0
  272. package/.claude/skills/weekly-trade-strategy/.claude/skills/economic-calendar-fetcher/scripts/get_economic_calendar.py +267 -0
  273. package/.claude/skills/weekly-trade-strategy/.claude/skills/market-environment-analysis/SKILL.md +139 -0
  274. package/.claude/skills/weekly-trade-strategy/.claude/skills/market-environment-analysis/references/analysis_patterns.md +124 -0
  275. package/.claude/skills/weekly-trade-strategy/.claude/skills/market-environment-analysis/references/indicators.md +99 -0
  276. package/.claude/skills/weekly-trade-strategy/.claude/skills/market-environment-analysis/scripts/market_utils.py +127 -0
  277. package/.claude/skills/weekly-trade-strategy/.claude/skills/market-news-analyst/SKILL.md +714 -0
  278. package/.claude/skills/weekly-trade-strategy/.claude/skills/market-news-analyst/references/corporate_news_impact.md +446 -0
  279. package/.claude/skills/weekly-trade-strategy/.claude/skills/market-news-analyst/references/geopolitical_commodity_correlations.md +499 -0
  280. package/.claude/skills/weekly-trade-strategy/.claude/skills/market-news-analyst/references/market_event_patterns.md +393 -0
  281. package/.claude/skills/weekly-trade-strategy/.claude/skills/market-news-analyst/references/trusted_news_sources.md +510 -0
  282. package/.claude/skills/weekly-trade-strategy/.claude/skills/sector-analyst/SKILL.md +206 -0
  283. package/.claude/skills/weekly-trade-strategy/.claude/skills/sector-analyst/assets/industory_performance_1.jpeg +0 -0
  284. package/.claude/skills/weekly-trade-strategy/.claude/skills/sector-analyst/assets/industory_performance_2.jpeg +0 -0
  285. package/.claude/skills/weekly-trade-strategy/.claude/skills/sector-analyst/assets/sector_performance.jpeg +0 -0
  286. package/.claude/skills/weekly-trade-strategy/.claude/skills/sector-analyst/references/sector_rotation.md +170 -0
  287. package/.claude/skills/weekly-trade-strategy/.claude/skills/stanley-druckenmiller-investment/SKILL.md +84 -0
  288. package/.claude/skills/weekly-trade-strategy/.claude/skills/stanley-druckenmiller-investment/references/case-studies.md +148 -0
  289. package/.claude/skills/weekly-trade-strategy/.claude/skills/stanley-druckenmiller-investment/references/investment-philosophy.md +80 -0
  290. package/.claude/skills/weekly-trade-strategy/.claude/skills/stanley-druckenmiller-investment/references/market-analysis-guide.md +146 -0
  291. package/.claude/skills/weekly-trade-strategy/.claude/skills/technical-analyst/SKILL.md +238 -0
  292. package/.claude/skills/weekly-trade-strategy/.claude/skills/technical-analyst/assets/analysis_template.md +183 -0
  293. package/.claude/skills/weekly-trade-strategy/.claude/skills/technical-analyst/references/technical_analysis_framework.md +282 -0
  294. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-market-bubble-detector/CHANGELOG.md +118 -0
  295. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-market-bubble-detector/SKILL.md +545 -0
  296. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-market-bubble-detector/references/bubble_framework.md +335 -0
  297. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-market-bubble-detector/references/historical_cases.md +327 -0
  298. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-market-bubble-detector/references/implementation_guide.md +473 -0
  299. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-market-bubble-detector/references/quick_reference.md +354 -0
  300. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-market-bubble-detector/references/quick_reference_en.md +342 -0
  301. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-market-bubble-detector/scripts/bubble_scorer.py +309 -0
  302. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-stock-analysis/SKILL.md +294 -0
  303. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-stock-analysis/references/financial-metrics.md +172 -0
  304. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-stock-analysis/references/fundamental-analysis.md +129 -0
  305. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-stock-analysis/references/report-template.md +207 -0
  306. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-stock-analysis/references/technical-analysis.md +93 -0
  307. package/.claude/skills/weekly-trade-strategy/CLAUDE.md +454 -0
  308. package/.claude/skills/weekly-trade-strategy/README.md +287 -0
  309. package/.claude/skills/weekly-trade-strategy/blogs/.gitkeep +0 -0
  310. package/.claude/skills/weekly-trade-strategy/charts/.gitkeep +0 -0
  311. package/.claude/skills/weekly-trade-strategy/earnings_data.json +10054 -0
  312. package/.claude/skills/weekly-trade-strategy/skills/breadth-chart-analyst/SKILL.md +662 -0
  313. package/.claude/skills/weekly-trade-strategy/skills/breadth-chart-analyst/assets/SP500_Breadth_Index_200MA_8MA.jpeg +0 -0
  314. package/.claude/skills/weekly-trade-strategy/skills/breadth-chart-analyst/assets/US_Stock_Market_Uptrend_Ratio.jpeg +0 -0
  315. package/.claude/skills/weekly-trade-strategy/skills/breadth-chart-analyst/assets/breadth_analysis_template.md +558 -0
  316. package/.claude/skills/weekly-trade-strategy/skills/breadth-chart-analyst/references/breadth_chart_methodology.md +590 -0
  317. package/.claude/skills/weekly-trade-strategy/skills/earnings-calendar/SKILL.md +721 -0
  318. package/.claude/skills/weekly-trade-strategy/skills/earnings-calendar/assets/earnings_report_template.md +102 -0
  319. package/.claude/skills/weekly-trade-strategy/skills/earnings-calendar/earnings_calendar_2025-11-02.md +447 -0
  320. package/.claude/skills/weekly-trade-strategy/skills/earnings-calendar/references/fmp_api_guide.md +590 -0
  321. package/.claude/skills/weekly-trade-strategy/skills/earnings-calendar/scripts/fetch_earnings_fmp.py +443 -0
  322. package/.claude/skills/weekly-trade-strategy/skills/earnings-calendar/scripts/generate_report.py +366 -0
  323. package/.claude/skills/weekly-trade-strategy/skills/economic-calendar-fetcher/SKILL.md +365 -0
  324. package/.claude/skills/weekly-trade-strategy/skills/economic-calendar-fetcher/references/fmp_api_documentation.md +345 -0
  325. package/.claude/skills/weekly-trade-strategy/skills/economic-calendar-fetcher/scripts/get_economic_calendar.py +267 -0
  326. package/.claude/skills/weekly-trade-strategy/skills/market-environment-analysis/SKILL.md +139 -0
  327. package/.claude/skills/weekly-trade-strategy/skills/market-environment-analysis/references/analysis_patterns.md +124 -0
  328. package/.claude/skills/weekly-trade-strategy/skills/market-environment-analysis/references/indicators.md +99 -0
  329. package/.claude/skills/weekly-trade-strategy/skills/market-environment-analysis/scripts/market_utils.py +127 -0
  330. package/.claude/skills/weekly-trade-strategy/skills/market-news-analyst/SKILL.md +714 -0
  331. package/.claude/skills/weekly-trade-strategy/skills/market-news-analyst/references/corporate_news_impact.md +446 -0
  332. package/.claude/skills/weekly-trade-strategy/skills/market-news-analyst/references/geopolitical_commodity_correlations.md +499 -0
  333. package/.claude/skills/weekly-trade-strategy/skills/market-news-analyst/references/market_event_patterns.md +393 -0
  334. package/.claude/skills/weekly-trade-strategy/skills/market-news-analyst/references/trusted_news_sources.md +510 -0
  335. package/.claude/skills/weekly-trade-strategy/skills/sector-analyst/SKILL.md +206 -0
  336. package/.claude/skills/weekly-trade-strategy/skills/sector-analyst/assets/industory_performance_1.jpeg +0 -0
  337. package/.claude/skills/weekly-trade-strategy/skills/sector-analyst/assets/industory_performance_2.jpeg +0 -0
  338. package/.claude/skills/weekly-trade-strategy/skills/sector-analyst/assets/sector_performance.jpeg +0 -0
  339. package/.claude/skills/weekly-trade-strategy/skills/sector-analyst/references/sector_rotation.md +170 -0
  340. package/.claude/skills/weekly-trade-strategy/skills/stanley-druckenmiller-investment/SKILL.md +84 -0
  341. package/.claude/skills/weekly-trade-strategy/skills/stanley-druckenmiller-investment/references/case-studies.md +148 -0
  342. package/.claude/skills/weekly-trade-strategy/skills/stanley-druckenmiller-investment/references/investment-philosophy.md +80 -0
  343. package/.claude/skills/weekly-trade-strategy/skills/stanley-druckenmiller-investment/references/market-analysis-guide.md +146 -0
  344. package/.claude/skills/weekly-trade-strategy/skills/technical-analyst/SKILL.md +238 -0
  345. package/.claude/skills/weekly-trade-strategy/skills/technical-analyst/assets/analysis_template.md +183 -0
  346. package/.claude/skills/weekly-trade-strategy/skills/technical-analyst/references/technical_analysis_framework.md +282 -0
  347. package/.claude/skills/weekly-trade-strategy/skills/us-market-bubble-detector/CHANGELOG.md +118 -0
  348. package/.claude/skills/weekly-trade-strategy/skills/us-market-bubble-detector/SKILL.md +545 -0
  349. package/.claude/skills/weekly-trade-strategy/skills/us-market-bubble-detector/references/bubble_framework.md +335 -0
  350. package/.claude/skills/weekly-trade-strategy/skills/us-market-bubble-detector/references/historical_cases.md +327 -0
  351. package/.claude/skills/weekly-trade-strategy/skills/us-market-bubble-detector/references/implementation_guide.md +473 -0
  352. package/.claude/skills/weekly-trade-strategy/skills/us-market-bubble-detector/references/quick_reference.md +354 -0
  353. package/.claude/skills/weekly-trade-strategy/skills/us-market-bubble-detector/references/quick_reference_en.md +342 -0
  354. package/.claude/skills/weekly-trade-strategy/skills/us-market-bubble-detector/scripts/bubble_scorer.py +309 -0
  355. package/.claude/skills/weekly-trade-strategy/skills/us-stock-analysis/SKILL.md +294 -0
  356. package/.claude/skills/weekly-trade-strategy/skills/us-stock-analysis/references/financial-metrics.md +172 -0
  357. package/.claude/skills/weekly-trade-strategy/skills/us-stock-analysis/references/fundamental-analysis.md +129 -0
  358. package/.claude/skills/weekly-trade-strategy/skills/us-stock-analysis/references/report-template.md +207 -0
  359. package/.claude/skills/weekly-trade-strategy/skills/us-stock-analysis/references/technical-analysis.md +93 -0
  360. package/.mcp.json +3 -0
  361. package/cli.mjs +16 -16
  362. package/package.json +4 -2
@@ -0,0 +1,400 @@
1
+ # The Power of Dividend Growth Compounding
2
+
3
+ ## Core Concept: Yield on Cost vs. Current Yield
4
+
5
+ **Current Yield:** What a stock yields today based on today's price
6
+ **Yield on Cost (YOC):** What a stock yields based on YOUR purchase price
7
+
8
+ **Example:**
9
+ ```
10
+ Stock A purchased 10 years ago:
11
+ - Purchase price: $50
12
+ - Annual dividend at purchase: $1.00
13
+ - Initial yield on cost: 2.0%
14
+
15
+ Stock A today:
16
+ - Current price: $120
17
+ - Annual dividend today: $2.50
18
+ - Current yield: 2.1% (for new buyers)
19
+ - YOUR yield on cost: 5.0% (based on your $50 cost)
20
+ ```
21
+
22
+ **Key Insight:** Your yield on cost grows every time the dividend increases, regardless of stock price movement. This is the magic of dividend growth investing.
23
+
24
+ ## The Mathematics of Dividend Growth
25
+
26
+ ### 12% Annual Dividend Growth (Screening Minimum)
27
+
28
+ Starting with 1.5% yield:
29
+
30
+ | Year | Annual Dividend | Yield on Cost | Cumulative Dividends | Total Value |
31
+ |------|----------------|---------------|---------------------|-------------|
32
+ | 0 | $1.50 | 1.50% | $0 | $100 |
33
+ | 1 | $1.68 | 1.68% | $1.68 | $101.68 |
34
+ | 3 | $2.11 | 2.11% | $5.51 | $105.51 |
35
+ | 5 | $2.64 | 2.64% | $10.18 | $110.18 |
36
+ | 10 | $4.66 | 4.66% | $26.20 | $126.20 |
37
+ | 15 | $8.22 | 8.22% | $53.98 | $153.98 |
38
+ | 20 | $14.50 | 14.50% | $102.45 | $202.45 |
39
+
40
+ **Key Milestones:**
41
+ - Year 6: Dividend doubles (3% yield on cost)
42
+ - Year 12: Dividend quadruples (6% yield on cost)
43
+ - Year 18: Dividend grows 8x (12% yield on cost)
44
+
45
+ ### 15% Annual Dividend Growth (Excellent Tier)
46
+
47
+ Starting with 1.8% yield:
48
+
49
+ | Year | Annual Dividend | Yield on Cost | Cumulative Dividends | Total Value |
50
+ |------|----------------|---------------|---------------------|-------------|
51
+ | 0 | $1.80 | 1.80% | $0 | $100 |
52
+ | 1 | $2.07 | 2.07% | $2.07 | $102.07 |
53
+ | 3 | $2.74 | 2.74% | $7.02 | $107.02 |
54
+ | 5 | $3.62 | 3.62% | $13.86 | $113.86 |
55
+ | 10 | $7.28 | 7.28% | $40.57 | $140.57 |
56
+ | 15 | $14.65 | 14.65% | $93.11 | $193.11 |
57
+ | 20 | $29.47 | 29.47% | $195.57 | $295.57 |
58
+
59
+ **Key Milestones:**
60
+ - Year 5: Dividend doubles (3.6% yield on cost)
61
+ - Year 10: Dividend quadruples (7.3% yield on cost)
62
+ - Year 15: Dividend grows 8x (14.7% yield on cost)
63
+ - Year 20: Dividend grows 16x (29.5% yield on cost)
64
+
65
+ ### 20% Annual Dividend Growth (Exceptional Tier)
66
+
67
+ Starting with 2.0% yield:
68
+
69
+ | Year | Annual Dividend | Yield on Cost | Cumulative Dividends | Total Value |
70
+ |------|----------------|---------------|---------------------|-------------|
71
+ | 0 | $2.00 | 2.00% | $0 | $100 |
72
+ | 1 | $2.40 | 2.40% | $2.40 | $102.40 |
73
+ | 3 | $3.46 | 3.46% | $8.66 | $108.66 |
74
+ | 5 | $4.98 | 4.98% | $18.67 | $118.67 |
75
+ | 10 | $12.38 | 12.38% | $63.10 | $163.10 |
76
+ | 15 | $30.77 | 30.77% | $181.74 | $281.74 |
77
+ | 20 | $76.49 | 76.49% | $479.76 | $579.76 |
78
+
79
+ **Key Milestones:**
80
+ - Year 4: Dividend doubles (4% yield on cost)
81
+ - Year 8: Dividend quadruples (8.6% yield on cost)
82
+ - Year 12: Dividend grows 8x (17.8% yield on cost)
83
+ - Year 16: Dividend grows 16x (36.6% yield on cost)
84
+
85
+ ## Growth vs. Yield Trade-Off
86
+
87
+ ### Scenario Comparison: 20-Year Investment
88
+
89
+ **Stock A: High Yield, Low Growth**
90
+ - Initial Yield: 4.0%
91
+ - Dividend Growth: 3% annually
92
+ - Year 20 Yield on Cost: 7.2%
93
+ - Total Dividends Collected: $109.11
94
+ - Final Position Value (with dividends): $209.11
95
+
96
+ **Stock B: Low Yield, High Growth**
97
+ - Initial Yield: 1.5%
98
+ - Dividend Growth: 15% annually
99
+ - Year 20 Yield on Cost: 24.5%
100
+ - Total Dividends Collected: $146.79
101
+ - Final Position Value (with dividends): $246.79
102
+
103
+ **Winner: Stock B by 18% higher total return**
104
+
105
+ **Key Insight:** Lower starting yield + higher growth beats higher starting yield + lower growth over long periods (10+ years). This is why we screen for 12%+ dividend growth, not maximum current yield.
106
+
107
+ ## Real-World Examples
108
+
109
+ ### Microsoft (MSFT): 2010-2020
110
+
111
+ **2010 Entry:**
112
+ - Price: $28
113
+ - Annual Dividend: $0.55
114
+ - Yield on Cost: 2.0%
115
+ - Dividend Growth Rate: ~15% annually
116
+
117
+ **2020 Result:**
118
+ - Price: $220 (7.9x)
119
+ - Annual Dividend: $2.24
120
+ - Yield on Cost: 8.0% (4x)
121
+ - Total Return: ~900% including dividends
122
+
123
+ **Lesson:** A "boring" 2% yielder in 2010 became an 8% yielder on cost in 10 years. Investors who bought for the 2% yield stayed for the dividend growth and compounded massive returns.
124
+
125
+ ### Visa (V): 2012-2022
126
+
127
+ **2012 Entry (Post-IPO):**
128
+ - Price: $20 (split-adjusted)
129
+ - Annual Dividend: $0.10
130
+ - Yield on Cost: 0.5%
131
+ - Dividend Growth Rate: ~20% annually
132
+
133
+ **2022 Result:**
134
+ - Price: $210 (10.5x)
135
+ - Annual Dividend: $1.50
136
+ - Yield on Cost: 7.5% (15x)
137
+ - Total Return: ~1,100% including dividends
138
+
139
+ **Lesson:** Even a 0.5% yielder can become a high-yield position through sustained dividend growth. The starting yield is less important than the growth rate.
140
+
141
+ ### Apple (AAPL): 2012-2022 (After Dividend Reinstatement)
142
+
143
+ **2012 Entry:**
144
+ - Price: $19 (split-adjusted)
145
+ - Annual Dividend: $0.38 (split-adjusted)
146
+ - Yield on Cost: 2.0%
147
+ - Dividend Growth Rate: ~10% annually
148
+
149
+ **2022 Result:**
150
+ - Price: $150 (7.9x)
151
+ - Annual Dividend: $0.92 (split-adjusted)
152
+ - Yield on Cost: 4.8% (2.4x)
153
+ - Total Return: ~850% including dividends
154
+
155
+ **Lesson:** Even "modest" 10% dividend growth creates significant income growth over a decade, especially when combined with price appreciation.
156
+
157
+ ## Quality Characteristics of Dividend Growth Stocks
158
+
159
+ ### Why Do Companies Grow Dividends 12%+?
160
+
161
+ **Business Growth:**
162
+ - Revenue growing 10%+ annually
163
+ - Earnings per share (EPS) growing 12%+ annually
164
+ - Market share expansion or pricing power
165
+
166
+ **Capital Efficiency:**
167
+ - High Return on Equity (ROE >15%)
168
+ - Strong profit margins (>15%)
169
+ - Excess cash generation
170
+
171
+ **Capital Allocation Priority:**
172
+ - Management committed to dividend growth
173
+ - Payout ratios low enough to sustain growth (30-70%)
174
+ - Balance between dividends, buybacks, and reinvestment
175
+
176
+ **Competitive Advantages:**
177
+ - Economic moats (brand, network effects, switching costs)
178
+ - Pricing power to pass through inflation
179
+ - Secular growth tailwinds
180
+
181
+ ### Typical Profiles
182
+
183
+ **Technology (Software/Payments):**
184
+ - Example: Microsoft, Visa, Mastercard
185
+ - Characteristics: High margins (30-50%), low capex, scalable
186
+ - Dividend Growth: 15-20% annually
187
+ - Starting Yield: 0.5-1.5%
188
+ - Payout Ratio: 20-40%
189
+
190
+ **Financials (Banks/Insurers):**
191
+ - Example: JPMorgan, Progressive
192
+ - Characteristics: ROE 12-18%, regulatory capital requirements
193
+ - Dividend Growth: 10-15% annually
194
+ - Starting Yield: 2-3%
195
+ - Payout Ratio: 30-50%
196
+
197
+ **Consumer (Brands/Retail):**
198
+ - Example: Nike, Costco, Starbucks
199
+ - Characteristics: Brand loyalty, pricing power
200
+ - Dividend Growth: 12-18% annually
201
+ - Starting Yield: 1-2.5%
202
+ - Payout Ratio: 30-50%
203
+
204
+ **Healthcare (Pharma/Devices):**
205
+ - Example: Abbott, Johnson & Johnson
206
+ - Characteristics: Patent protection, aging demographics
207
+ - Dividend Growth: 8-15% annually
208
+ - Starting Yield: 1.5-2.5%
209
+ - Payout Ratio: 40-60%
210
+
211
+ ## Sustainability: Can 12%+ Growth Continue?
212
+
213
+ ### Payout Ratio Dynamics
214
+
215
+ **Low Payout Ratios (20-50%) = Sustainable Growth:**
216
+
217
+ If a company pays out only 40% of earnings as dividends:
218
+ - EPS needs to grow 12% → Dividend can grow 12% (payout ratio stable)
219
+ - EPS grows 8% → Dividend can still grow 12% by increasing payout ratio
220
+ - Creates multi-year runway for high dividend growth
221
+
222
+ **Example: Microsoft 2010-2020**
223
+ ```
224
+ 2010: EPS $2.50, Dividend $0.55, Payout Ratio 22%
225
+ 2020: EPS $6.20, Dividend $2.24, Payout Ratio 36%
226
+
227
+ EPS CAGR: 9.5%
228
+ Dividend CAGR: 15.0%
229
+ Payout ratio expanded from 22% → 36%, enabling higher dividend growth
230
+ ```
231
+
232
+ **High Payout Ratios (70-90%) = Unsustainable:**
233
+
234
+ If a company pays out 80% of earnings:
235
+ - EPS must grow 12%+ to sustain 12% dividend growth
236
+ - No room for payout ratio expansion
237
+ - Risk of dividend cut if earnings decline
238
+
239
+ ### The Growth Ceiling
240
+
241
+ **Mathematical Reality:**
242
+ - A 1.5% yielding stock growing dividends 15%/year will eventually yield 10%+ on cost
243
+ - At that point, payout ratios force dividend growth to slow
244
+ - Typical ceiling: After 10-15 years, dividend growth slows to 5-10%
245
+
246
+ **Why This Is OK:**
247
+ ```
248
+ Years 1-10: Dividend growth 15%, total return 18-20%/year
249
+ Years 11-20: Dividend growth 8%, total return 10-12%/year
250
+ Years 21+: Dividend growth 5%, total return 7-9%/year
251
+
252
+ Your yield on cost is now 15-20%, generating massive income
253
+ ```
254
+
255
+ **Lesson:** High dividend growth cannot last forever, but it doesn't need to. The compounding in the first 10-15 years creates permanently elevated income streams.
256
+
257
+ ## Portfolio Construction with Dividend Growth
258
+
259
+ ### Diversification Across Growth Tiers
260
+
261
+ **Balanced Approach (Recommended):**
262
+ - 40% in 12-15% growers (sustainable, moderate risk)
263
+ - 40% in 15-20% growers (excellent growth, higher valuation risk)
264
+ - 20% in 20%+ growers (exceptional but may slow down)
265
+
266
+ **Rationale:**
267
+ - 12-15% growers provide stable compounding
268
+ - 15-20% growers drive outsized returns
269
+ - 20%+ growers add "lottery ticket" upside
270
+
271
+ **Result:** Portfolio-level dividend growth ~15%/year, balancing risk and reward
272
+
273
+ ### Entry Timing with RSI
274
+
275
+ **Without RSI Timing:**
276
+ - Buy 2% yielder at fair value
277
+ - Year 10 yield on cost: 8.0% (15% CAGR)
278
+
279
+ **With RSI ≤35 Timing:**
280
+ - Buy same stock 12% cheaper during pullback
281
+ - Effective yield: 2.27% (vs 2.0%)
282
+ - Year 10 yield on cost: 9.1% (13.7% improvement)
283
+ - Plus: Better total return from lower entry price
284
+
285
+ **Lesson:** RSI timing enhances already strong dividend growth returns. Even modest entry price improvements (10-15%) compound significantly over time.
286
+
287
+ ### Reinvestment vs. Income
288
+
289
+ **Reinvestment (Accumulation Phase):**
290
+ - Reinvest all dividends into more shares
291
+ - Accelerates compounding through DRIP
292
+ - Effective dividend growth rate includes share accumulation
293
+ - Example: 15% dividend growth + 2% yield reinvested ≈ 17% total dividend income growth
294
+
295
+ **Income (Distribution Phase):**
296
+ - Spend dividends as income
297
+ - Rely on dividend growth for inflation protection
298
+ - 12% dividend growth = doubling income every 6 years
299
+
300
+ ## Common Misconceptions
301
+
302
+ ### "I Need High Yield NOW for Income"
303
+
304
+ **Reality:** If your time horizon is 10+ years, starting yield matters far less than growth rate.
305
+
306
+ **Math:**
307
+ ```
308
+ Stock A: 5% yield, 3% growth
309
+ Year 10 income: 5% × 1.03^10 = 6.7% on cost
310
+
311
+ Stock B: 1.5% yield, 15% growth
312
+ Year 10 income: 1.5% × 1.15^10 = 6.1% on cost
313
+
314
+ Year 15 income:
315
+ Stock A: 7.8% on cost
316
+ Stock B: 12.1% on cost (55% more income!)
317
+ ```
318
+
319
+ **Takeaway:** Patience with dividend growth beats immediate high yield.
320
+
321
+ ### "Low Payout Ratio Means Company Is Cheap"
322
+
323
+ **Reality:** Low payout ratios (20-40%) in dividend growers are GOOD, not a sign of stinginess.
324
+
325
+ **Why:**
326
+ - Provides runway for sustained 12-15% dividend growth
327
+ - Signals management confidence (room to increase)
328
+ - Enables dividend growth even if earnings slow slightly
329
+
330
+ **Contrast:** High payout ratios (80-100%) limit dividend growth and signal risk.
331
+
332
+ ### "Dividend Growth Will Slow When Stock Gets Expensive"
333
+
334
+ **Partial Truth:** Valuation and dividend growth are separate.
335
+
336
+ **Reality:**
337
+ - Expensive stocks (high P/E) CAN sustain high dividend growth if earnings grow
338
+ - Cheap stocks (low P/E) can have slow dividend growth if business is mature
339
+
340
+ **Focus:** Business growth (revenue, EPS) drives dividend growth, not valuation multiples. However, expensive stocks have lower total returns if multiples compress, even if dividends grow.
341
+
342
+ ## Practical Application
343
+
344
+ ### Stock Selection Checklist
345
+
346
+ For screening, require:
347
+ - [ ] Current Yield ≥ 1.5% (provides income floor)
348
+ - [ ] 3-Year Dividend CAGR ≥ 12% (proven growth)
349
+ - [ ] Payout Ratio < 80% (sustainable)
350
+ - [ ] Revenue CAGR > 0% (business growing)
351
+ - [ ] EPS CAGR > 0% (profitability growing)
352
+ - [ ] RSI ≤ 40 (timing opportunity)
353
+
354
+ ### Position Monitoring
355
+
356
+ **Quarterly Reviews:**
357
+ - [ ] Dividend increased in past 12 months?
358
+ - [ ] Dividend growth rate still ≥10%? (Allow slight slowdown)
359
+ - [ ] Payout ratio stable or declining?
360
+ - [ ] Revenue and EPS growing?
361
+
362
+ **Action:** If all checks pass, hold indefinitely. If 2+ fail, consider trimming.
363
+
364
+ ### Exit Triggers
365
+
366
+ **Fundamental Deterioration:**
367
+ - Dividend growth slows below 5%/year for 2+ years
368
+ - Payout ratio approaches 100%
369
+ - Revenue or EPS declining for 2+ quarters
370
+ - Management signals dividend growth pause
371
+
372
+ **Do NOT Exit For:**
373
+ - Stock price volatility (ignore noise)
374
+ - Valuation expansion (P/E rising)
375
+ - RSI overbought (>70)
376
+ - Market corrections
377
+
378
+ **Lesson:** You're holding for dividend growth, not price appreciation. Price volatility is irrelevant if dividends keep growing.
379
+
380
+ ## Conclusion
381
+
382
+ Dividend growth investing is about patience and compounding. The strategy is:
383
+
384
+ 1. **Find Quality:** Screen for 12%+ dividend CAGR, 1.5%+ yield
385
+ 2. **Time Entry:** Use RSI ≤40 to buy during temporary weakness
386
+ 3. **Hold Forever:** Let dividends compound for 10-20 years
387
+ 4. **Reinvest (Optional):** Accelerate compounding in accumulation phase
388
+ 5. **Enjoy Income:** Eventually yield on cost becomes 10-20%+, providing massive income
389
+
390
+ The magic is NOT in picking individual winners - it's in systematically buying quality dividend growers at good entry prices (RSI ≤40) and holding long enough for compounding to work.
391
+
392
+ **Remember:**
393
+ - A 1.5% yielder growing 15%/year becomes a 6% yielder in 10 years and 24% yielder in 20 years
394
+ - Entry price matters - RSI ≤40 improves cost basis by 10-15% typically
395
+ - Time horizon is critical - Need 10+ years for full compounding effect
396
+ - Business quality trumps everything - 12%+ dividend growth requires strong fundamentals
397
+
398
+ ---
399
+
400
+ **Disclaimer:** Past dividend growth does not guarantee future performance. Dividend policies can change. Conduct thorough due diligence and consult a financial advisor before making investment decisions.