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.
- package/.claude/skills/README.md +80 -0
- package/.claude/skills/backtest-expert/SKILL.md +206 -0
- package/.claude/skills/backtest-expert/references/failed_tests.md +236 -0
- package/.claude/skills/backtest-expert/references/methodology.md +227 -0
- package/.claude/skills/breadth-chart-analyst/SKILL.md +583 -0
- package/.claude/skills/breadth-chart-analyst/assets/SP500_Breadth_Index_200MA_8MA.jpeg +0 -0
- package/.claude/skills/breadth-chart-analyst/assets/US_Stock_Market_Uptrend_Ratio.jpeg +0 -0
- package/.claude/skills/breadth-chart-analyst/assets/breadth_analysis_template.md +558 -0
- package/.claude/skills/breadth-chart-analyst/references/breadth_chart_methodology.md +590 -0
- package/.claude/skills/canslim-screener/SKILL.md +599 -0
- package/.claude/skills/canslim-screener/references/canslim_methodology.md +606 -0
- package/.claude/skills/canslim-screener/references/fmp_api_endpoints.md +707 -0
- package/.claude/skills/canslim-screener/references/interpretation_guide.md +516 -0
- package/.claude/skills/canslim-screener/references/scoring_system.md +597 -0
- package/.claude/skills/canslim-screener/scripts/calculators/earnings_calculator.py +343 -0
- package/.claude/skills/canslim-screener/scripts/calculators/growth_calculator.py +334 -0
- package/.claude/skills/canslim-screener/scripts/calculators/institutional_calculator.py +347 -0
- package/.claude/skills/canslim-screener/scripts/calculators/leadership_calculator.py +380 -0
- package/.claude/skills/canslim-screener/scripts/calculators/market_calculator.py +244 -0
- package/.claude/skills/canslim-screener/scripts/calculators/new_highs_calculator.py +194 -0
- package/.claude/skills/canslim-screener/scripts/calculators/supply_demand_calculator.py +221 -0
- package/.claude/skills/canslim-screener/scripts/finviz_stock_client.py +227 -0
- package/.claude/skills/canslim-screener/scripts/fmp_client.py +393 -0
- package/.claude/skills/canslim-screener/scripts/report_generator.py +405 -0
- package/.claude/skills/canslim-screener/scripts/scorer.py +625 -0
- package/.claude/skills/canslim-screener/scripts/screen_canslim.py +361 -0
- package/.claude/skills/canslim-screener/scripts/test_institutional_endpoint.py +109 -0
- package/.claude/skills/chart/SKILL.md +20 -0
- package/.claude/skills/dividend-growth-pullback-screener/SKILL.md +322 -0
- package/.claude/skills/dividend-growth-pullback-screener/references/dividend_growth_compounding.md +400 -0
- package/.claude/skills/dividend-growth-pullback-screener/references/fmp_api_guide.md +642 -0
- package/.claude/skills/dividend-growth-pullback-screener/references/rsi_oversold_strategy.md +333 -0
- package/.claude/skills/dividend-growth-pullback-screener/scripts/screen_dividend_growth_rsi.py +1155 -0
- package/.claude/skills/earnings-calendar/SKILL.md +721 -0
- package/.claude/skills/earnings-calendar/assets/earnings_report_template.md +102 -0
- package/.claude/skills/earnings-calendar/references/fmp_api_guide.md +590 -0
- package/.claude/skills/earnings-calendar/scripts/fetch_earnings_fmp.py +443 -0
- package/.claude/skills/earnings-calendar/scripts/generate_report.py +366 -0
- package/.claude/skills/economic-calendar-fetcher/SKILL.md +365 -0
- package/.claude/skills/economic-calendar-fetcher/references/fmp_api_documentation.md +345 -0
- package/.claude/skills/economic-calendar-fetcher/scripts/get_economic_calendar.py +267 -0
- package/.claude/skills/ftd-detector/SKILL.md +147 -0
- package/.claude/skills/ftd-detector/references/ftd_methodology.md +188 -0
- package/.claude/skills/ftd-detector/references/post_ftd_guide.md +185 -0
- package/.claude/skills/ftd-detector/scripts/fmp_client.py +158 -0
- package/.claude/skills/ftd-detector/scripts/ftd_detector.py +280 -0
- package/.claude/skills/ftd-detector/scripts/post_ftd_monitor.py +404 -0
- package/.claude/skills/ftd-detector/scripts/rally_tracker.py +508 -0
- package/.claude/skills/ftd-detector/scripts/report_generator.py +341 -0
- package/.claude/skills/ftd-detector/scripts/tests/conftest.py +9 -0
- package/.claude/skills/ftd-detector/scripts/tests/helpers.py +107 -0
- package/.claude/skills/ftd-detector/scripts/tests/test_post_ftd_monitor.py +311 -0
- package/.claude/skills/ftd-detector/scripts/tests/test_rally_tracker.py +302 -0
- package/.claude/skills/institutional-flow-tracker/README.md +362 -0
- package/.claude/skills/institutional-flow-tracker/SKILL.md +357 -0
- package/.claude/skills/institutional-flow-tracker/references/13f_filings_guide.md +383 -0
- package/.claude/skills/institutional-flow-tracker/references/institutional_investor_types.md +580 -0
- package/.claude/skills/institutional-flow-tracker/references/interpretation_framework.md +573 -0
- package/.claude/skills/institutional-flow-tracker/scripts/analyze_single_stock.py +457 -0
- package/.claude/skills/institutional-flow-tracker/scripts/track_institution_portfolio.py +108 -0
- package/.claude/skills/institutional-flow-tracker/scripts/track_institutional_flow.py +450 -0
- package/.claude/skills/macro-regime-detector/SKILL.md +86 -0
- package/.claude/skills/macro-regime-detector/references/historical_regimes.md +124 -0
- package/.claude/skills/macro-regime-detector/references/indicator_interpretation_guide.md +144 -0
- package/.claude/skills/macro-regime-detector/references/regime_detection_methodology.md +138 -0
- package/.claude/skills/macro-regime-detector/scripts/calculators/__init__.py +1 -0
- package/.claude/skills/macro-regime-detector/scripts/calculators/concentration_calculator.py +165 -0
- package/.claude/skills/macro-regime-detector/scripts/calculators/credit_conditions_calculator.py +124 -0
- package/.claude/skills/macro-regime-detector/scripts/calculators/equity_bond_calculator.py +198 -0
- package/.claude/skills/macro-regime-detector/scripts/calculators/sector_rotation_calculator.py +123 -0
- package/.claude/skills/macro-regime-detector/scripts/calculators/size_factor_calculator.py +131 -0
- package/.claude/skills/macro-regime-detector/scripts/calculators/utils.py +347 -0
- package/.claude/skills/macro-regime-detector/scripts/calculators/yield_curve_calculator.py +279 -0
- package/.claude/skills/macro-regime-detector/scripts/fmp_client.py +134 -0
- package/.claude/skills/macro-regime-detector/scripts/macro_regime_detector.py +278 -0
- package/.claude/skills/macro-regime-detector/scripts/report_generator.py +327 -0
- package/.claude/skills/macro-regime-detector/scripts/scorer.py +574 -0
- package/.claude/skills/macro-regime-detector/scripts/tests/conftest.py +9 -0
- package/.claude/skills/macro-regime-detector/scripts/tests/test_concentration.py +78 -0
- package/.claude/skills/macro-regime-detector/scripts/tests/test_credit_conditions.py +59 -0
- package/.claude/skills/macro-regime-detector/scripts/tests/test_equity_bond.py +74 -0
- package/.claude/skills/macro-regime-detector/scripts/tests/test_helpers.py +90 -0
- package/.claude/skills/macro-regime-detector/scripts/tests/test_scorer.py +439 -0
- package/.claude/skills/macro-regime-detector/scripts/tests/test_sector_rotation.py +78 -0
- package/.claude/skills/macro-regime-detector/scripts/tests/test_size_factor.py +59 -0
- package/.claude/skills/macro-regime-detector/scripts/tests/test_utils.py +126 -0
- package/.claude/skills/macro-regime-detector/scripts/tests/test_yield_curve.py +64 -0
- package/.claude/skills/market-breadth-analyzer/SKILL.md +121 -0
- package/.claude/skills/market-breadth-analyzer/references/breadth_analysis_methodology.md +168 -0
- package/.claude/skills/market-breadth-analyzer/scripts/calculators/__init__.py +1 -0
- package/.claude/skills/market-breadth-analyzer/scripts/calculators/bearish_signal_calculator.py +150 -0
- package/.claude/skills/market-breadth-analyzer/scripts/calculators/cycle_calculator.py +168 -0
- package/.claude/skills/market-breadth-analyzer/scripts/calculators/divergence_calculator.py +119 -0
- package/.claude/skills/market-breadth-analyzer/scripts/calculators/historical_context_calculator.py +120 -0
- package/.claude/skills/market-breadth-analyzer/scripts/calculators/ma_crossover_calculator.py +115 -0
- package/.claude/skills/market-breadth-analyzer/scripts/calculators/trend_level_calculator.py +103 -0
- package/.claude/skills/market-breadth-analyzer/scripts/csv_client.py +225 -0
- package/.claude/skills/market-breadth-analyzer/scripts/market_breadth_analyzer.py +307 -0
- package/.claude/skills/market-breadth-analyzer/scripts/report_generator.py +330 -0
- package/.claude/skills/market-breadth-analyzer/scripts/scorer.py +271 -0
- package/.claude/skills/market-environment-analysis/SKILL.md +139 -0
- package/.claude/skills/market-environment-analysis/references/analysis_patterns.md +124 -0
- package/.claude/skills/market-environment-analysis/references/indicators.md +99 -0
- package/.claude/skills/market-environment-analysis/scripts/market_utils.py +127 -0
- package/.claude/skills/market-news-analyst/SKILL.md +714 -0
- package/.claude/skills/market-news-analyst/references/corporate_news_impact.md +446 -0
- package/.claude/skills/market-news-analyst/references/geopolitical_commodity_correlations.md +499 -0
- package/.claude/skills/market-news-analyst/references/market_event_patterns.md +393 -0
- package/.claude/skills/market-news-analyst/references/trusted_news_sources.md +510 -0
- package/.claude/skills/market-top-detector/SKILL.md +159 -0
- package/.claude/skills/market-top-detector/references/distribution_day_guide.md +100 -0
- package/.claude/skills/market-top-detector/references/historical_tops.md +142 -0
- package/.claude/skills/market-top-detector/references/market_top_methodology.md +167 -0
- package/.claude/skills/market-top-detector/scripts/calculators/__init__.py +17 -0
- package/.claude/skills/market-top-detector/scripts/calculators/breadth_calculator.py +116 -0
- package/.claude/skills/market-top-detector/scripts/calculators/defensive_rotation_calculator.py +127 -0
- package/.claude/skills/market-top-detector/scripts/calculators/distribution_day_calculator.py +161 -0
- package/.claude/skills/market-top-detector/scripts/calculators/index_technical_calculator.py +254 -0
- package/.claude/skills/market-top-detector/scripts/calculators/leading_stock_calculator.py +198 -0
- package/.claude/skills/market-top-detector/scripts/calculators/sentiment_calculator.py +213 -0
- package/.claude/skills/market-top-detector/scripts/fmp_client.py +158 -0
- package/.claude/skills/market-top-detector/scripts/market_top_detector.py +349 -0
- package/.claude/skills/market-top-detector/scripts/report_generator.py +314 -0
- package/.claude/skills/market-top-detector/scripts/scorer.py +473 -0
- package/.claude/skills/market-top-detector/scripts/tests/conftest.py +9 -0
- package/.claude/skills/market-top-detector/scripts/tests/helpers.py +49 -0
- package/.claude/skills/market-top-detector/scripts/tests/test_breadth.py +62 -0
- package/.claude/skills/market-top-detector/scripts/tests/test_defensive_rotation.py +56 -0
- package/.claude/skills/market-top-detector/scripts/tests/test_distribution_day.py +92 -0
- package/.claude/skills/market-top-detector/scripts/tests/test_index_technical.py +73 -0
- package/.claude/skills/market-top-detector/scripts/tests/test_leading_stock.py +57 -0
- package/.claude/skills/market-top-detector/scripts/tests/test_scorer.py +180 -0
- package/.claude/skills/market-top-detector/scripts/tests/test_sentiment.py +64 -0
- package/.claude/skills/options-strategy-advisor/README.md +469 -0
- package/.claude/skills/options-strategy-advisor/SKILL.md +959 -0
- package/.claude/skills/options-strategy-advisor/scripts/black_scholes.py +495 -0
- package/.claude/skills/pair-trade-screener/README.md +389 -0
- package/.claude/skills/pair-trade-screener/SKILL.md +622 -0
- package/.claude/skills/pair-trade-screener/references/cointegration_guide.md +745 -0
- package/.claude/skills/pair-trade-screener/references/methodology.md +853 -0
- package/.claude/skills/pair-trade-screener/scripts/analyze_spread.py +394 -0
- package/.claude/skills/pair-trade-screener/scripts/find_pairs.py +535 -0
- package/.claude/skills/portfolio-manager/README.md +394 -0
- package/.claude/skills/portfolio-manager/SKILL.md +750 -0
- package/.claude/skills/portfolio-manager/references/alpaca-mcp-setup.md +367 -0
- package/.claude/skills/portfolio-manager/references/asset-allocation.md +502 -0
- package/.claude/skills/portfolio-manager/references/diversification-principles.md +553 -0
- package/.claude/skills/portfolio-manager/references/portfolio-risk-metrics.md +603 -0
- package/.claude/skills/portfolio-manager/references/position-evaluation.md +477 -0
- package/.claude/skills/portfolio-manager/references/rebalancing-strategies.md +715 -0
- package/.claude/skills/portfolio-manager/references/risk-profile-questionnaire.md +608 -0
- package/.claude/skills/portfolio-manager/references/target-allocations.md +558 -0
- package/.claude/skills/portfolio-manager/scripts/test_alpaca_connection.py +286 -0
- package/.claude/skills/scenario-analyzer/SKILL.md +317 -0
- package/.claude/skills/scenario-analyzer/references/headline_event_patterns.md +264 -0
- package/.claude/skills/scenario-analyzer/references/scenario_playbooks.md +320 -0
- package/.claude/skills/scenario-analyzer/references/sector_sensitivity_matrix.md +217 -0
- package/.claude/skills/sector-analyst/SKILL.md +206 -0
- package/.claude/skills/sector-analyst/assets/industory_performance_1.jpeg +0 -0
- package/.claude/skills/sector-analyst/assets/industory_performance_2.jpeg +0 -0
- package/.claude/skills/sector-analyst/assets/sector_performance.jpeg +0 -0
- package/.claude/skills/sector-analyst/references/sector_rotation.md +170 -0
- package/.claude/skills/stanley-druckenmiller-investment/SKILL.md +84 -0
- package/.claude/skills/stanley-druckenmiller-investment/references/case-studies.md +148 -0
- package/.claude/skills/stanley-druckenmiller-investment/references/investment-philosophy.md +80 -0
- package/.claude/skills/stanley-druckenmiller-investment/references/market-analysis-guide.md +146 -0
- package/.claude/skills/stock/NOTION_SETUP.md +33 -0
- package/.claude/skills/stock/SKILL.md +38 -0
- package/.claude/skills/technical-analyst/SKILL.md +238 -0
- package/.claude/skills/technical-analyst/assets/analysis_template.md +183 -0
- package/.claude/skills/technical-analyst/references/technical_analysis_framework.md +282 -0
- package/.claude/skills/theme-detector/SKILL.md +320 -0
- package/.claude/skills/theme-detector/assets/report_template.md +155 -0
- package/.claude/skills/theme-detector/references/cross_sector_themes.md +252 -0
- package/.claude/skills/theme-detector/references/finviz_industry_codes.md +403 -0
- package/.claude/skills/theme-detector/references/thematic_etf_catalog.md +333 -0
- package/.claude/skills/theme-detector/references/theme_detection_methodology.md +430 -0
- package/.claude/skills/theme-detector/scripts/calculators/__init__.py +1 -0
- package/.claude/skills/theme-detector/scripts/calculators/heat_calculator.py +123 -0
- package/.claude/skills/theme-detector/scripts/calculators/industry_ranker.py +98 -0
- package/.claude/skills/theme-detector/scripts/calculators/lifecycle_calculator.py +172 -0
- package/.claude/skills/theme-detector/scripts/calculators/theme_classifier.py +195 -0
- package/.claude/skills/theme-detector/scripts/calculators/theme_discoverer.py +280 -0
- package/.claude/skills/theme-detector/scripts/config_loader.py +142 -0
- package/.claude/skills/theme-detector/scripts/default_theme_config.py +254 -0
- package/.claude/skills/theme-detector/scripts/etf_scanner.py +609 -0
- package/.claude/skills/theme-detector/scripts/finviz_performance_client.py +131 -0
- package/.claude/skills/theme-detector/scripts/report_generator.py +490 -0
- package/.claude/skills/theme-detector/scripts/representative_stock_selector.py +673 -0
- package/.claude/skills/theme-detector/scripts/scorer.py +87 -0
- package/.claude/skills/theme-detector/scripts/tests/README.md +21 -0
- package/.claude/skills/theme-detector/scripts/tests/conftest.py +9 -0
- package/.claude/skills/theme-detector/scripts/tests/test_config_loader.py +239 -0
- package/.claude/skills/theme-detector/scripts/tests/test_etf_scanner.py +810 -0
- package/.claude/skills/theme-detector/scripts/tests/test_heat_calculator.py +245 -0
- package/.claude/skills/theme-detector/scripts/tests/test_industry_ranker.py +256 -0
- package/.claude/skills/theme-detector/scripts/tests/test_lifecycle_calculator.py +301 -0
- package/.claude/skills/theme-detector/scripts/tests/test_report_generator.py +624 -0
- package/.claude/skills/theme-detector/scripts/tests/test_representative_stock_selector.py +898 -0
- package/.claude/skills/theme-detector/scripts/tests/test_scorer.py +185 -0
- package/.claude/skills/theme-detector/scripts/tests/test_theme_classifier.py +534 -0
- package/.claude/skills/theme-detector/scripts/tests/test_theme_detector_e2e.py +467 -0
- package/.claude/skills/theme-detector/scripts/tests/test_theme_discoverer.py +458 -0
- package/.claude/skills/theme-detector/scripts/tests/test_uptrend_client.py +76 -0
- package/.claude/skills/theme-detector/scripts/theme_detector.py +815 -0
- package/.claude/skills/theme-detector/scripts/themes.yaml +168 -0
- package/.claude/skills/theme-detector/scripts/uptrend_client.py +241 -0
- package/.claude/skills/uptrend-analyzer/SKILL.md +108 -0
- package/.claude/skills/uptrend-analyzer/references/uptrend_methodology.md +215 -0
- package/.claude/skills/uptrend-analyzer/scripts/calculators/__init__.py +1 -0
- package/.claude/skills/uptrend-analyzer/scripts/calculators/historical_context_calculator.py +122 -0
- package/.claude/skills/uptrend-analyzer/scripts/calculators/market_breadth_calculator.py +145 -0
- package/.claude/skills/uptrend-analyzer/scripts/calculators/momentum_calculator.py +183 -0
- package/.claude/skills/uptrend-analyzer/scripts/calculators/sector_participation_calculator.py +204 -0
- package/.claude/skills/uptrend-analyzer/scripts/calculators/sector_rotation_calculator.py +218 -0
- package/.claude/skills/uptrend-analyzer/scripts/data_fetcher.py +236 -0
- package/.claude/skills/uptrend-analyzer/scripts/report_generator.py +329 -0
- package/.claude/skills/uptrend-analyzer/scripts/scorer.py +276 -0
- package/.claude/skills/uptrend-analyzer/scripts/uptrend_analyzer.py +219 -0
- package/.claude/skills/us-market-bubble-detector/CHANGELOG.md +118 -0
- package/.claude/skills/us-market-bubble-detector/SKILL.md +545 -0
- package/.claude/skills/us-market-bubble-detector/references/bubble_framework.md +335 -0
- package/.claude/skills/us-market-bubble-detector/references/historical_cases.md +327 -0
- package/.claude/skills/us-market-bubble-detector/references/implementation_guide.md +473 -0
- package/.claude/skills/us-market-bubble-detector/references/quick_reference.md +354 -0
- package/.claude/skills/us-market-bubble-detector/references/quick_reference_en.md +342 -0
- package/.claude/skills/us-market-bubble-detector/scripts/bubble_scorer.py +309 -0
- package/.claude/skills/us-stock-analysis/SKILL.md +294 -0
- package/.claude/skills/us-stock-analysis/references/financial-metrics.md +172 -0
- package/.claude/skills/us-stock-analysis/references/fundamental-analysis.md +129 -0
- package/.claude/skills/us-stock-analysis/references/report-template.md +207 -0
- package/.claude/skills/us-stock-analysis/references/technical-analysis.md +93 -0
- package/.claude/skills/value-dividend-screener/SKILL.md +562 -0
- package/.claude/skills/value-dividend-screener/references/fmp_api_guide.md +348 -0
- package/.claude/skills/value-dividend-screener/references/screening_methodology.md +315 -0
- package/.claude/skills/value-dividend-screener/scripts/screen_dividend_stocks.py +1138 -0
- package/.claude/skills/vcp-screener/SKILL.md +79 -0
- package/.claude/skills/vcp-screener/references/fmp_api_endpoints.md +45 -0
- package/.claude/skills/vcp-screener/references/scoring_system.md +154 -0
- package/.claude/skills/vcp-screener/references/vcp_methodology.md +124 -0
- package/.claude/skills/vcp-screener/scripts/calculators/__init__.py +1 -0
- package/.claude/skills/vcp-screener/scripts/calculators/pivot_proximity_calculator.py +139 -0
- package/.claude/skills/vcp-screener/scripts/calculators/relative_strength_calculator.py +161 -0
- package/.claude/skills/vcp-screener/scripts/calculators/trend_template_calculator.py +228 -0
- package/.claude/skills/vcp-screener/scripts/calculators/vcp_pattern_calculator.py +322 -0
- package/.claude/skills/vcp-screener/scripts/calculators/volume_pattern_calculator.py +121 -0
- package/.claude/skills/vcp-screener/scripts/fmp_client.py +162 -0
- package/.claude/skills/vcp-screener/scripts/report_generator.py +317 -0
- package/.claude/skills/vcp-screener/scripts/scorer.py +155 -0
- package/.claude/skills/vcp-screener/scripts/screen_vcp.py +536 -0
- package/.claude/skills/vcp-screener/scripts/tests/__init__.py +0 -0
- package/.claude/skills/vcp-screener/scripts/tests/conftest.py +9 -0
- package/.claude/skills/vcp-screener/scripts/tests/test_vcp_screener.py +834 -0
- package/.claude/skills/weekly-trade-strategy/.claude/agents/druckenmiller-strategy-planner.md +300 -0
- package/.claude/skills/weekly-trade-strategy/.claude/agents/market-news-analyzer.md +239 -0
- package/.claude/skills/weekly-trade-strategy/.claude/agents/technical-market-analyst.md +187 -0
- package/.claude/skills/weekly-trade-strategy/.claude/agents/us-market-analyst.md +218 -0
- package/.claude/skills/weekly-trade-strategy/.claude/agents/weekly-trade-blog-writer.md +318 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/breadth-chart-analyst/SKILL.md +662 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/breadth-chart-analyst/assets/SP500_Breadth_Index_200MA_8MA.jpeg +0 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/breadth-chart-analyst/assets/US_Stock_Market_Uptrend_Ratio.jpeg +0 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/breadth-chart-analyst/assets/breadth_analysis_template.md +558 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/breadth-chart-analyst/references/breadth_chart_methodology.md +590 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/earnings-calendar/SKILL.md +721 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/earnings-calendar/assets/earnings_report_template.md +102 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/earnings-calendar/earnings_calendar_2025-11-02.md +447 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/earnings-calendar/references/fmp_api_guide.md +590 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/earnings-calendar/scripts/fetch_earnings_fmp.py +443 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/earnings-calendar/scripts/generate_report.py +366 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/economic-calendar-fetcher/SKILL.md +365 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/economic-calendar-fetcher/references/fmp_api_documentation.md +345 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/economic-calendar-fetcher/scripts/get_economic_calendar.py +267 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/market-environment-analysis/SKILL.md +139 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/market-environment-analysis/references/analysis_patterns.md +124 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/market-environment-analysis/references/indicators.md +99 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/market-environment-analysis/scripts/market_utils.py +127 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/market-news-analyst/SKILL.md +714 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/market-news-analyst/references/corporate_news_impact.md +446 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/market-news-analyst/references/geopolitical_commodity_correlations.md +499 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/market-news-analyst/references/market_event_patterns.md +393 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/market-news-analyst/references/trusted_news_sources.md +510 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/sector-analyst/SKILL.md +206 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/sector-analyst/assets/industory_performance_1.jpeg +0 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/sector-analyst/assets/industory_performance_2.jpeg +0 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/sector-analyst/assets/sector_performance.jpeg +0 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/sector-analyst/references/sector_rotation.md +170 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/stanley-druckenmiller-investment/SKILL.md +84 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/stanley-druckenmiller-investment/references/case-studies.md +148 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/stanley-druckenmiller-investment/references/investment-philosophy.md +80 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/stanley-druckenmiller-investment/references/market-analysis-guide.md +146 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/technical-analyst/SKILL.md +238 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/technical-analyst/assets/analysis_template.md +183 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/technical-analyst/references/technical_analysis_framework.md +282 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/us-market-bubble-detector/CHANGELOG.md +118 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/us-market-bubble-detector/SKILL.md +545 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/us-market-bubble-detector/references/bubble_framework.md +335 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/us-market-bubble-detector/references/historical_cases.md +327 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/us-market-bubble-detector/references/implementation_guide.md +473 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/us-market-bubble-detector/references/quick_reference.md +354 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/us-market-bubble-detector/references/quick_reference_en.md +342 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/us-market-bubble-detector/scripts/bubble_scorer.py +309 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/us-stock-analysis/SKILL.md +294 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/us-stock-analysis/references/financial-metrics.md +172 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/us-stock-analysis/references/fundamental-analysis.md +129 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/us-stock-analysis/references/report-template.md +207 -0
- package/.claude/skills/weekly-trade-strategy/.claude/skills/us-stock-analysis/references/technical-analysis.md +93 -0
- package/.claude/skills/weekly-trade-strategy/CLAUDE.md +454 -0
- package/.claude/skills/weekly-trade-strategy/README.md +287 -0
- package/.claude/skills/weekly-trade-strategy/blogs/.gitkeep +0 -0
- package/.claude/skills/weekly-trade-strategy/charts/.gitkeep +0 -0
- package/.claude/skills/weekly-trade-strategy/earnings_data.json +10054 -0
- package/.claude/skills/weekly-trade-strategy/skills/breadth-chart-analyst/SKILL.md +662 -0
- package/.claude/skills/weekly-trade-strategy/skills/breadth-chart-analyst/assets/SP500_Breadth_Index_200MA_8MA.jpeg +0 -0
- package/.claude/skills/weekly-trade-strategy/skills/breadth-chart-analyst/assets/US_Stock_Market_Uptrend_Ratio.jpeg +0 -0
- package/.claude/skills/weekly-trade-strategy/skills/breadth-chart-analyst/assets/breadth_analysis_template.md +558 -0
- package/.claude/skills/weekly-trade-strategy/skills/breadth-chart-analyst/references/breadth_chart_methodology.md +590 -0
- package/.claude/skills/weekly-trade-strategy/skills/earnings-calendar/SKILL.md +721 -0
- package/.claude/skills/weekly-trade-strategy/skills/earnings-calendar/assets/earnings_report_template.md +102 -0
- package/.claude/skills/weekly-trade-strategy/skills/earnings-calendar/earnings_calendar_2025-11-02.md +447 -0
- package/.claude/skills/weekly-trade-strategy/skills/earnings-calendar/references/fmp_api_guide.md +590 -0
- package/.claude/skills/weekly-trade-strategy/skills/earnings-calendar/scripts/fetch_earnings_fmp.py +443 -0
- package/.claude/skills/weekly-trade-strategy/skills/earnings-calendar/scripts/generate_report.py +366 -0
- package/.claude/skills/weekly-trade-strategy/skills/economic-calendar-fetcher/SKILL.md +365 -0
- package/.claude/skills/weekly-trade-strategy/skills/economic-calendar-fetcher/references/fmp_api_documentation.md +345 -0
- package/.claude/skills/weekly-trade-strategy/skills/economic-calendar-fetcher/scripts/get_economic_calendar.py +267 -0
- package/.claude/skills/weekly-trade-strategy/skills/market-environment-analysis/SKILL.md +139 -0
- package/.claude/skills/weekly-trade-strategy/skills/market-environment-analysis/references/analysis_patterns.md +124 -0
- package/.claude/skills/weekly-trade-strategy/skills/market-environment-analysis/references/indicators.md +99 -0
- package/.claude/skills/weekly-trade-strategy/skills/market-environment-analysis/scripts/market_utils.py +127 -0
- package/.claude/skills/weekly-trade-strategy/skills/market-news-analyst/SKILL.md +714 -0
- package/.claude/skills/weekly-trade-strategy/skills/market-news-analyst/references/corporate_news_impact.md +446 -0
- package/.claude/skills/weekly-trade-strategy/skills/market-news-analyst/references/geopolitical_commodity_correlations.md +499 -0
- package/.claude/skills/weekly-trade-strategy/skills/market-news-analyst/references/market_event_patterns.md +393 -0
- package/.claude/skills/weekly-trade-strategy/skills/market-news-analyst/references/trusted_news_sources.md +510 -0
- package/.claude/skills/weekly-trade-strategy/skills/sector-analyst/SKILL.md +206 -0
- package/.claude/skills/weekly-trade-strategy/skills/sector-analyst/assets/industory_performance_1.jpeg +0 -0
- package/.claude/skills/weekly-trade-strategy/skills/sector-analyst/assets/industory_performance_2.jpeg +0 -0
- package/.claude/skills/weekly-trade-strategy/skills/sector-analyst/assets/sector_performance.jpeg +0 -0
- package/.claude/skills/weekly-trade-strategy/skills/sector-analyst/references/sector_rotation.md +170 -0
- package/.claude/skills/weekly-trade-strategy/skills/stanley-druckenmiller-investment/SKILL.md +84 -0
- package/.claude/skills/weekly-trade-strategy/skills/stanley-druckenmiller-investment/references/case-studies.md +148 -0
- package/.claude/skills/weekly-trade-strategy/skills/stanley-druckenmiller-investment/references/investment-philosophy.md +80 -0
- package/.claude/skills/weekly-trade-strategy/skills/stanley-druckenmiller-investment/references/market-analysis-guide.md +146 -0
- package/.claude/skills/weekly-trade-strategy/skills/technical-analyst/SKILL.md +238 -0
- package/.claude/skills/weekly-trade-strategy/skills/technical-analyst/assets/analysis_template.md +183 -0
- package/.claude/skills/weekly-trade-strategy/skills/technical-analyst/references/technical_analysis_framework.md +282 -0
- package/.claude/skills/weekly-trade-strategy/skills/us-market-bubble-detector/CHANGELOG.md +118 -0
- package/.claude/skills/weekly-trade-strategy/skills/us-market-bubble-detector/SKILL.md +545 -0
- package/.claude/skills/weekly-trade-strategy/skills/us-market-bubble-detector/references/bubble_framework.md +335 -0
- package/.claude/skills/weekly-trade-strategy/skills/us-market-bubble-detector/references/historical_cases.md +327 -0
- package/.claude/skills/weekly-trade-strategy/skills/us-market-bubble-detector/references/implementation_guide.md +473 -0
- package/.claude/skills/weekly-trade-strategy/skills/us-market-bubble-detector/references/quick_reference.md +354 -0
- package/.claude/skills/weekly-trade-strategy/skills/us-market-bubble-detector/references/quick_reference_en.md +342 -0
- package/.claude/skills/weekly-trade-strategy/skills/us-market-bubble-detector/scripts/bubble_scorer.py +309 -0
- package/.claude/skills/weekly-trade-strategy/skills/us-stock-analysis/SKILL.md +294 -0
- package/.claude/skills/weekly-trade-strategy/skills/us-stock-analysis/references/financial-metrics.md +172 -0
- package/.claude/skills/weekly-trade-strategy/skills/us-stock-analysis/references/fundamental-analysis.md +129 -0
- package/.claude/skills/weekly-trade-strategy/skills/us-stock-analysis/references/report-template.md +207 -0
- package/.claude/skills/weekly-trade-strategy/skills/us-stock-analysis/references/technical-analysis.md +93 -0
- package/.mcp.json +3 -0
- package/cli.mjs +16 -16
- package/package.json +4 -2
|
@@ -0,0 +1,573 @@
|
|
|
1
|
+
# Institutional Flow Interpretation Framework
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
This framework provides a systematic approach to interpreting institutional ownership changes and converting 13F filing data into actionable investment signals. Use this as a decision tree for analyzing stocks discovered through institutional flow tracking.
|
|
6
|
+
|
|
7
|
+
## Signal Quality Assessment Matrix
|
|
8
|
+
|
|
9
|
+
### Dimension 1: Change Magnitude
|
|
10
|
+
|
|
11
|
+
**Strong Change (High Signal Quality):**
|
|
12
|
+
- Institutional ownership change: >15% QoQ
|
|
13
|
+
- Number of institutions change: >10 net new or exited
|
|
14
|
+
- Dollar value change: >$100M net flow
|
|
15
|
+
- **Quality:** Unmistakable signal, warrants immediate attention
|
|
16
|
+
|
|
17
|
+
**Moderate Change (Medium Signal Quality):**
|
|
18
|
+
- Institutional ownership change: 5-15% QoQ
|
|
19
|
+
- Number of institutions change: 3-10 net change
|
|
20
|
+
- Dollar value change: $25M-$100M net flow
|
|
21
|
+
- **Quality:** Meaningful signal, validate with other factors
|
|
22
|
+
|
|
23
|
+
**Weak Change (Low Signal Quality):**
|
|
24
|
+
- Institutional ownership change: <5% QoQ
|
|
25
|
+
- Number of institutions change: <3 net change
|
|
26
|
+
- Dollar value change: <$25M net flow
|
|
27
|
+
- **Quality:** Noise, likely portfolio adjustments or rebalancing
|
|
28
|
+
|
|
29
|
+
### Dimension 2: Consistency (Multi-Quarter Trend)
|
|
30
|
+
|
|
31
|
+
**Sustained Trend (High Quality):**
|
|
32
|
+
- 3+ quarters in same direction
|
|
33
|
+
- Accelerating magnitude (Q1: +5%, Q2: +8%, Q3: +12%)
|
|
34
|
+
- Consistent across market environments
|
|
35
|
+
- **Quality:** High conviction signal
|
|
36
|
+
|
|
37
|
+
**Emerging Trend (Medium Quality):**
|
|
38
|
+
- 2 consecutive quarters in same direction
|
|
39
|
+
- Stable magnitude
|
|
40
|
+
- **Quality:** Developing signal, monitor next quarter
|
|
41
|
+
|
|
42
|
+
**Single Quarter (Low Quality):**
|
|
43
|
+
- Only 1 quarter of change
|
|
44
|
+
- May reverse next quarter
|
|
45
|
+
- **Quality:** Inconclusive, wait for confirmation
|
|
46
|
+
|
|
47
|
+
**Inconsistent (No Signal):**
|
|
48
|
+
- Flip-flopping between quarters
|
|
49
|
+
- No clear direction
|
|
50
|
+
- **Quality:** Noise, ignore
|
|
51
|
+
|
|
52
|
+
### Dimension 3: Institution Quality Mix
|
|
53
|
+
|
|
54
|
+
**High Quality Mix (Weight 3.0x):**
|
|
55
|
+
- Dominated by Tier 1 superinvestors (Berkshire, Baupost, etc.)
|
|
56
|
+
- Multiple quality value investors agreeing
|
|
57
|
+
- Long-term oriented capital
|
|
58
|
+
- **Interpretation:** Strong validation
|
|
59
|
+
|
|
60
|
+
**Medium Quality Mix (Weight 2.0x):**
|
|
61
|
+
- Mix of Tier 2 active mutual funds
|
|
62
|
+
- Some quality participants
|
|
63
|
+
- Mostly research-driven
|
|
64
|
+
- **Interpretation:** Moderate validation
|
|
65
|
+
|
|
66
|
+
**Low Quality Mix (Weight 0.5x):**
|
|
67
|
+
- Dominated by passive index funds
|
|
68
|
+
- Momentum/quant funds
|
|
69
|
+
- Following price action
|
|
70
|
+
- **Interpretation:** Weak validation, likely late to trend
|
|
71
|
+
|
|
72
|
+
### Dimension 4: Concentration of Changes
|
|
73
|
+
|
|
74
|
+
**Clustered Buying/Selling (High Quality):**
|
|
75
|
+
- Multiple quality institutions moving same direction simultaneously
|
|
76
|
+
- Coordinated timing (not literally, but similar conclusions)
|
|
77
|
+
- High clustering score (>50 using framework from institutional_investor_types.md)
|
|
78
|
+
- **Interpretation:** Independent research reaching same conclusion = high conviction
|
|
79
|
+
|
|
80
|
+
**Scattered Activity (Medium Quality):**
|
|
81
|
+
- Mix of buyers and sellers
|
|
82
|
+
- No clear consensus
|
|
83
|
+
- Clustering score 20-50
|
|
84
|
+
- **Interpretation:** Divergent views, less clear signal
|
|
85
|
+
|
|
86
|
+
**Single Institution (Low Quality):**
|
|
87
|
+
- Only one significant mover
|
|
88
|
+
- Others flat or opposite
|
|
89
|
+
- Clustering score <20
|
|
90
|
+
- **Interpretation:** Idiosyncratic, institution-specific reason
|
|
91
|
+
|
|
92
|
+
## Comprehensive Signal Interpretation Framework
|
|
93
|
+
|
|
94
|
+
### Level 1: Strong Buy Signal (95th percentile)
|
|
95
|
+
|
|
96
|
+
**Criteria (ALL must be met):**
|
|
97
|
+
1. **Magnitude:** Institutional ownership increasing >15% QoQ
|
|
98
|
+
2. **Consistency:** 3+ consecutive quarters of accumulation
|
|
99
|
+
3. **Quality:** Clustering score >60 (multiple Tier 1/2 investors buying)
|
|
100
|
+
4. **Concentration:** Rising institutional concentration (top 10 holders increasing %)
|
|
101
|
+
5. **Type:** Quality investors adding, not just index funds
|
|
102
|
+
6. **Fundamental Support:** Revenue/earnings growth positive
|
|
103
|
+
7. **Price Action:** Stock underperformed or neutral (not already up 50%+)
|
|
104
|
+
|
|
105
|
+
**Interpretation:**
|
|
106
|
+
- Smart money accumulating before broader market recognition
|
|
107
|
+
- High probability of significant price appreciation in next 1-4 quarters
|
|
108
|
+
- Likely catalysts being anticipated by institutions
|
|
109
|
+
|
|
110
|
+
**Action:**
|
|
111
|
+
- **New position:** BUY with conviction (2-5% portfolio position)
|
|
112
|
+
- **Existing position:** ADD to position
|
|
113
|
+
- **Risk management:** Normal position sizing, standard stop-loss
|
|
114
|
+
|
|
115
|
+
**Historical Success Rate:** ~75-80% positive returns over 12 months
|
|
116
|
+
|
|
117
|
+
**Example Pattern:**
|
|
118
|
+
```
|
|
119
|
+
Stock XYZ - Sustained Quality Accumulation
|
|
120
|
+
|
|
121
|
+
Q1 2024:
|
|
122
|
+
- Institutional ownership: 45% → 50% (+5%)
|
|
123
|
+
- New holders: Baupost Group (Tier 1)
|
|
124
|
+
- Clustering score: 35
|
|
125
|
+
|
|
126
|
+
Q2 2024:
|
|
127
|
+
- Institutional ownership: 50% → 58% (+8%)
|
|
128
|
+
- Increasers: Berkshire (+20%), Fidelity (+15%), Dodge & Cox (+10%)
|
|
129
|
+
- Clustering score: 55
|
|
130
|
+
|
|
131
|
+
Q3 2024:
|
|
132
|
+
- Institutional ownership: 58% → 68% (+10%)
|
|
133
|
+
- Increasers: Berkshire (+10% more), Baupost (+25%), T. Rowe Price (new position)
|
|
134
|
+
- Clustering score: 72
|
|
135
|
+
|
|
136
|
+
Stock price during period: $45 → $48 (+6.7%)
|
|
137
|
+
Revenue growth: +12% YoY
|
|
138
|
+
P/E: 18x (sector average: 22x)
|
|
139
|
+
|
|
140
|
+
Signal: STRONG BUY
|
|
141
|
+
Interpretation: Quality value investors seeing opportunity before market, sustained accumulation
|
|
142
|
+
Expected outcome: Stock re-rating to sector average P/E = $48 × (22/18) = $58.67 (+22% upside)
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### Level 2: Moderate Buy Signal (75th percentile)
|
|
146
|
+
|
|
147
|
+
**Criteria (Most must be met):**
|
|
148
|
+
1. **Magnitude:** Institutional ownership increasing 7-15% QoQ
|
|
149
|
+
2. **Consistency:** 2 consecutive quarters of accumulation
|
|
150
|
+
3. **Quality:** Clustering score 40-60 (mix of Tier 1/2 investors)
|
|
151
|
+
4. **Type:** More quality buyers than sellers
|
|
152
|
+
5. **Fundamental Support:** At least stable fundamentals
|
|
153
|
+
6. **Price Action:** Not extended (not up >30% in past quarter)
|
|
154
|
+
|
|
155
|
+
**Interpretation:**
|
|
156
|
+
- Institutions building positions
|
|
157
|
+
- Positive outlook but not unanimously bullish
|
|
158
|
+
- Moderate probability of price appreciation
|
|
159
|
+
|
|
160
|
+
**Action:**
|
|
161
|
+
- **New position:** BUY with moderate conviction (1-3% portfolio position)
|
|
162
|
+
- **Existing position:** HOLD or small ADD
|
|
163
|
+
- **Risk management:** Tighter stop-loss, monitor quarterly
|
|
164
|
+
|
|
165
|
+
**Historical Success Rate:** ~60-65% positive returns over 12 months
|
|
166
|
+
|
|
167
|
+
### Level 3: Neutral/Hold Signal (50th percentile)
|
|
168
|
+
|
|
169
|
+
**Criteria:**
|
|
170
|
+
1. **Magnitude:** Institutional ownership change <5% QoQ
|
|
171
|
+
2. **Consistency:** No clear trend
|
|
172
|
+
3. **Quality:** Mixed clustering score (20-40)
|
|
173
|
+
4. **Type:** Similar number of buyers and sellers
|
|
174
|
+
|
|
175
|
+
**Interpretation:**
|
|
176
|
+
- No clear institutional consensus
|
|
177
|
+
- Status quo
|
|
178
|
+
- Let other factors drive decision
|
|
179
|
+
|
|
180
|
+
**Action:**
|
|
181
|
+
- **New position:** PASS (wait for clearer signal)
|
|
182
|
+
- **Existing position:** HOLD (no change)
|
|
183
|
+
- **Risk management:** Standard position sizing
|
|
184
|
+
|
|
185
|
+
**Historical Success Rate:** ~50% (random walk)
|
|
186
|
+
|
|
187
|
+
### Level 4: Moderate Sell Signal (25th percentile)
|
|
188
|
+
|
|
189
|
+
**Criteria (Most must be met):**
|
|
190
|
+
1. **Magnitude:** Institutional ownership decreasing 7-15% QoQ
|
|
191
|
+
2. **Consistency:** 2 consecutive quarters of distribution
|
|
192
|
+
3. **Quality:** Tier 1/2 investors reducing positions
|
|
193
|
+
4. **Type:** More quality sellers than buyers
|
|
194
|
+
5. **Price Action:** Stock may still be rising (distribution into strength)
|
|
195
|
+
|
|
196
|
+
**Interpretation:**
|
|
197
|
+
- Smart money reducing exposure
|
|
198
|
+
- Early warning sign
|
|
199
|
+
- Potential deterioration in fundamentals or valuation concerns
|
|
200
|
+
|
|
201
|
+
**Action:**
|
|
202
|
+
- **New position:** AVOID
|
|
203
|
+
- **Existing position:** TRIM or SELL (reduce to 50% of normal position size)
|
|
204
|
+
- **Risk management:** Tighten stop-loss, prepare to exit
|
|
205
|
+
|
|
206
|
+
**Historical Success Rate:** ~60-65% underperform market over 12 months
|
|
207
|
+
|
|
208
|
+
### Level 5: Strong Sell Signal (5th percentile)
|
|
209
|
+
|
|
210
|
+
**Criteria (ALL must be met):**
|
|
211
|
+
1. **Magnitude:** Institutional ownership decreasing >15% QoQ
|
|
212
|
+
2. **Consistency:** 3+ consecutive quarters of distribution
|
|
213
|
+
3. **Quality:** Clustering score >60 on SELL side (multiple Tier 1/2 investors exiting)
|
|
214
|
+
4. **Concentration:** Declining institutional concentration (top holders exiting)
|
|
215
|
+
5. **Type:** Quality investors exiting, only passive/momentum funds remaining
|
|
216
|
+
6. **Price Action:** May still be positive (smart money exits before crash)
|
|
217
|
+
|
|
218
|
+
**Interpretation:**
|
|
219
|
+
- Widespread institutional exodus
|
|
220
|
+
- Serious fundamental concerns (even if not yet visible)
|
|
221
|
+
- High probability of significant decline
|
|
222
|
+
- Institutional investors know something market doesn't
|
|
223
|
+
|
|
224
|
+
**Action:**
|
|
225
|
+
- **New position:** DO NOT BUY (even if stock looks cheap)
|
|
226
|
+
- **Existing position:** SELL immediately (full exit)
|
|
227
|
+
- **Short consideration:** Consider short if technical setup supports
|
|
228
|
+
|
|
229
|
+
**Historical Success Rate:** ~75-80% negative returns over 12 months
|
|
230
|
+
|
|
231
|
+
**Example Pattern:**
|
|
232
|
+
```
|
|
233
|
+
Stock ABC - Sustained Quality Distribution
|
|
234
|
+
|
|
235
|
+
Q1 2024:
|
|
236
|
+
- Institutional ownership: 72% → 68% (-4%)
|
|
237
|
+
- Exits: Small hedge fund
|
|
238
|
+
- Clustering score: -15
|
|
239
|
+
|
|
240
|
+
Q2 2024:
|
|
241
|
+
- Institutional ownership: 68% → 60% (-8%)
|
|
242
|
+
- Decreasers: Fidelity (-20%), Wellington (-15%)
|
|
243
|
+
- Exits: 2 more funds
|
|
244
|
+
- Clustering score: -42
|
|
245
|
+
|
|
246
|
+
Q3 2024:
|
|
247
|
+
- Institutional ownership: 60% → 48% (-12%)
|
|
248
|
+
- Decreasers: Berkshire (-30%), Dodge & Cox (-25%), T. Rowe Price (-20%)
|
|
249
|
+
- Exits: 5 quality funds
|
|
250
|
+
- Clustering score: -85
|
|
251
|
+
|
|
252
|
+
Stock price during period: $80 → $75 (-6.25%)
|
|
253
|
+
Revenue growth: Slowing from +20% to +8% YoY
|
|
254
|
+
Management: Guiding lower for next quarter (not yet public in Q2)
|
|
255
|
+
|
|
256
|
+
Signal: STRONG SELL
|
|
257
|
+
Interpretation: Quality investors exiting ahead of visible deterioration
|
|
258
|
+
Expected outcome: Stock decline to $50-60 range as problems become apparent (-25% to -40%)
|
|
259
|
+
Actual outcome (next 2 quarters): Stock fell to $52 (-35% from Q3 peak)
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
## Contextual Adjustments
|
|
263
|
+
|
|
264
|
+
### Adjustment 1: Market Cap Considerations
|
|
265
|
+
|
|
266
|
+
**Large Cap (>$10B):**
|
|
267
|
+
- Harder for institutions to accumulate without moving price
|
|
268
|
+
- Sustained accumulation = very strong signal
|
|
269
|
+
- Distribution easier to hide
|
|
270
|
+
- **Adjustment:** Increase signal strength for accumulation (+0.5 levels)
|
|
271
|
+
|
|
272
|
+
**Mid Cap ($2B-$10B):**
|
|
273
|
+
- Sweet spot for institutional accumulation
|
|
274
|
+
- Standard signal strength
|
|
275
|
+
- **Adjustment:** No adjustment (baseline)
|
|
276
|
+
|
|
277
|
+
**Small Cap ($300M-$2B):**
|
|
278
|
+
- Can be moved easily by single institution
|
|
279
|
+
- Need broader participation for strong signal
|
|
280
|
+
- **Adjustment:** Require higher clustering score (+10 points)
|
|
281
|
+
|
|
282
|
+
**Micro Cap (<$300M):**
|
|
283
|
+
- Limited institutional interest
|
|
284
|
+
- 13F data less relevant
|
|
285
|
+
- **Adjustment:** De-weight institutional signals (-0.5 levels)
|
|
286
|
+
|
|
287
|
+
### Adjustment 2: Current Valuation
|
|
288
|
+
|
|
289
|
+
**Undervalued (P/E <15, P/B <2, FCF Yield >8%):**
|
|
290
|
+
- Institutional accumulation = value investors seeing opportunity
|
|
291
|
+
- Higher probability of success
|
|
292
|
+
- **Adjustment:** +0.5 signal strength
|
|
293
|
+
|
|
294
|
+
**Fairly Valued (P/E 15-25, typical metrics):**
|
|
295
|
+
- Standard interpretation
|
|
296
|
+
- **Adjustment:** No adjustment
|
|
297
|
+
|
|
298
|
+
**Overvalued (P/E >30, P/B >5, FCF Yield <3%):**
|
|
299
|
+
- Institutional accumulation may be late-stage momentum
|
|
300
|
+
- Distribution more significant (quality investors taking profits)
|
|
301
|
+
- **Adjustment:** -0.5 signal strength for accumulation, +0.5 for distribution
|
|
302
|
+
|
|
303
|
+
### Adjustment 3: Sector/Industry Dynamics
|
|
304
|
+
|
|
305
|
+
**Secular Growth Sector (Tech, Healthcare Innovation):**
|
|
306
|
+
- Institutional accumulation normal
|
|
307
|
+
- Need higher magnitude for strong signal
|
|
308
|
+
- **Adjustment:** Require +5% higher ownership change
|
|
309
|
+
|
|
310
|
+
**Cyclical Sector (Industrials, Materials, Energy):**
|
|
311
|
+
- Pay attention to economic cycle
|
|
312
|
+
- Early cycle accumulation = strong signal
|
|
313
|
+
- Late cycle distribution = strong signal
|
|
314
|
+
- **Adjustment:** Context-dependent, weight by macro environment
|
|
315
|
+
|
|
316
|
+
**Defensive Sector (Utilities, Consumer Staples, REITs):**
|
|
317
|
+
- Lower growth, stable ownership
|
|
318
|
+
- Large changes more meaningful
|
|
319
|
+
- **Adjustment:** Lower thresholds (-3% ownership change)
|
|
320
|
+
|
|
321
|
+
### Adjustment 4: Recent Price Action
|
|
322
|
+
|
|
323
|
+
**Stock Down >20% in past quarter:**
|
|
324
|
+
- Institutional accumulation = contrarian buying (value opportunity)
|
|
325
|
+
- **Interpretation:** Very strong signal if quality investors
|
|
326
|
+
- **Adjustment:** +1.0 signal strength
|
|
327
|
+
|
|
328
|
+
**Stock Flat to +10%:**
|
|
329
|
+
- Standard interpretation
|
|
330
|
+
- **Adjustment:** No adjustment
|
|
331
|
+
|
|
332
|
+
**Stock Up >30% in past quarter:**
|
|
333
|
+
- Institutional accumulation may be chasing momentum (late)
|
|
334
|
+
- Distribution less meaningful (profit-taking)
|
|
335
|
+
- **Adjustment:** -0.5 signal strength for accumulation
|
|
336
|
+
|
|
337
|
+
**Stock Up >100% in past year:**
|
|
338
|
+
- Institutional distribution = smart money taking profits (very significant)
|
|
339
|
+
- New accumulation suspect (likely late-stage momentum)
|
|
340
|
+
- **Adjustment:** +1.0 signal strength for distribution, -1.0 for accumulation
|
|
341
|
+
|
|
342
|
+
## Multi-Factor Integration
|
|
343
|
+
|
|
344
|
+
### Combining Institutional Flow with Other Signals
|
|
345
|
+
|
|
346
|
+
**Institutional Flow + Fundamental Analysis:**
|
|
347
|
+
|
|
348
|
+
| Institutional Signal | Fundamental Signal | Combined Interpretation | Action |
|
|
349
|
+
|---------------------|-------------------|------------------------|---------|
|
|
350
|
+
| Strong Buy | Strong Buy | Very High Conviction | BUY LARGE (5%+ position) |
|
|
351
|
+
| Strong Buy | Neutral | High Conviction | BUY (3-5% position) |
|
|
352
|
+
| Strong Buy | Weak | Contrarian Value | BUY SMALL (1-2%, monitor) |
|
|
353
|
+
| Moderate Buy | Strong Buy | High Conviction | BUY (3-5% position) |
|
|
354
|
+
| Moderate Buy | Neutral | Moderate Conviction | BUY SMALL (1-3% position) |
|
|
355
|
+
| Neutral | Strong Buy | Fundamental-Driven | BUY (2-4% position) |
|
|
356
|
+
| Moderate Sell | Strong Buy | Investigate Divergence | HOLD (research further) |
|
|
357
|
+
| Strong Sell | Strong Buy | **Major Red Flag** | AVOID (institutions know something) |
|
|
358
|
+
| Strong Sell | Weak | Confirmed Decline | SELL or SHORT |
|
|
359
|
+
|
|
360
|
+
**Institutional Flow + Technical Analysis:**
|
|
361
|
+
|
|
362
|
+
| Institutional Signal | Technical Signal | Combined Interpretation | Action |
|
|
363
|
+
|---------------------|------------------|------------------------|---------|
|
|
364
|
+
| Strong Buy | Breakout | Confirmed Uptrend | BUY on breakout |
|
|
365
|
+
| Strong Buy | Basing | Accumulation Before Move | BUY in base, add on breakout |
|
|
366
|
+
| Strong Buy | Downtrend | Early/Contrarian | WAIT for technical confirmation |
|
|
367
|
+
| Moderate Buy | Breakout | Confirming Move | BUY on pullback to breakout level |
|
|
368
|
+
| Neutral | Breakout | Technically Driven | TRADE (not invest) |
|
|
369
|
+
| Moderate Sell | Breakdown | Confirmed Downtrend | SELL |
|
|
370
|
+
| Strong Sell | Breakdown | Accelerating Decline | SELL IMMEDIATELY |
|
|
371
|
+
|
|
372
|
+
**Institutional Flow + Insider Trading:**
|
|
373
|
+
|
|
374
|
+
| Institutional Signal | Insider Signal | Combined Interpretation | Action |
|
|
375
|
+
|---------------------|----------------|------------------------|---------|
|
|
376
|
+
| Strong Buy | Insider Buying | **Maximum Conviction** | BUY LARGE |
|
|
377
|
+
| Strong Buy | Neutral | Strong Signal | BUY |
|
|
378
|
+
| Strong Buy | Insider Selling | Investigate Discrepancy | BUY SMALL (monitor) |
|
|
379
|
+
| Neutral | Insider Buying | Insider Conviction | BUY MODERATE |
|
|
380
|
+
| Moderate Sell | Insider Buying | **Conflicting Signals** | HOLD (investigate) |
|
|
381
|
+
| Moderate Sell | Insider Selling | Confirming Distribution | SELL |
|
|
382
|
+
| Strong Sell | Insider Selling | **Maximum Conviction SELL** | EXIT IMMEDIATELY |
|
|
383
|
+
|
|
384
|
+
## Sector Rotation Framework
|
|
385
|
+
|
|
386
|
+
### Using Institutional Flow to Identify Sector Rotation
|
|
387
|
+
|
|
388
|
+
**Step 1: Calculate Aggregate Sector-Level Institutional Flow**
|
|
389
|
+
|
|
390
|
+
For each sector (Technology, Healthcare, Financials, etc.):
|
|
391
|
+
```
|
|
392
|
+
Sector Institutional Flow Score =
|
|
393
|
+
Sum of (Stock Institutional Ownership Change × Market Cap) for all stocks in sector
|
|
394
|
+
/ Total Sector Market Cap
|
|
395
|
+
|
|
396
|
+
Positive score = Net institutional inflow to sector
|
|
397
|
+
Negative score = Net institutional outflow from sector
|
|
398
|
+
```
|
|
399
|
+
|
|
400
|
+
**Step 2: Rank Sectors by Flow Score**
|
|
401
|
+
|
|
402
|
+
```
|
|
403
|
+
Top 3 sectors (highest positive flow) = Accumulation sectors
|
|
404
|
+
Middle sectors = Neutral
|
|
405
|
+
Bottom 3 sectors (most negative flow) = Distribution sectors
|
|
406
|
+
```
|
|
407
|
+
|
|
408
|
+
**Step 3: Interpret by Market Cycle**
|
|
409
|
+
|
|
410
|
+
**Early Cycle (Post-Recession Recovery):**
|
|
411
|
+
- **Expect Accumulation:** Technology, Consumer Discretionary, Financials
|
|
412
|
+
- **Expect Distribution:** Utilities, Consumer Staples, Healthcare
|
|
413
|
+
- **Signal:** If institutional flow matches expectations = confirmation
|
|
414
|
+
- **Signal:** If institutional flow opposes expectations = investigate (possible false recovery or delayed cycle)
|
|
415
|
+
|
|
416
|
+
**Mid Cycle (Economic Expansion):**
|
|
417
|
+
- **Expect Accumulation:** Industrials, Materials, Energy
|
|
418
|
+
- **Expect Distribution:** Defensive sectors
|
|
419
|
+
- **Signal:** Rotation into cyclicals confirms expansion
|
|
420
|
+
|
|
421
|
+
**Late Cycle (Peak Growth):**
|
|
422
|
+
- **Expect Accumulation:** Energy, Materials (inflation protection)
|
|
423
|
+
- **Expect Distribution:** Technology, Consumer Discretionary (profit-taking)
|
|
424
|
+
- **Signal:** Rotation to inflation hedges signals late cycle
|
|
425
|
+
|
|
426
|
+
**Recession:**
|
|
427
|
+
- **Expect Accumulation:** Utilities, Consumer Staples, Healthcare
|
|
428
|
+
- **Expect Distribution:** Cyclicals, Growth stocks
|
|
429
|
+
- **Signal:** Flight to safety
|
|
430
|
+
|
|
431
|
+
**Step 4: Portfolio Allocation Based on Sector Flow**
|
|
432
|
+
|
|
433
|
+
```
|
|
434
|
+
High Institutional Inflow Sectors:
|
|
435
|
+
- Overweight (30-40% of equity allocation)
|
|
436
|
+
- Select best stocks within sector using institutional flow
|
|
437
|
+
|
|
438
|
+
Neutral Sectors:
|
|
439
|
+
- Market weight (10-20% of equity allocation)
|
|
440
|
+
|
|
441
|
+
High Institutional Outflow Sectors:
|
|
442
|
+
- Underweight or zero weight (0-10% of equity allocation)
|
|
443
|
+
- Sell existing positions showing institutional distribution
|
|
444
|
+
```
|
|
445
|
+
|
|
446
|
+
## Practical Decision Tree
|
|
447
|
+
|
|
448
|
+
### For New Position Consideration:
|
|
449
|
+
|
|
450
|
+
```
|
|
451
|
+
1. Run institutional flow analysis on stock
|
|
452
|
+
↓
|
|
453
|
+
2. What is the signal level?
|
|
454
|
+
↓
|
|
455
|
+
├─ Strong Buy Signal (Level 1)
|
|
456
|
+
│ ├─ Check fundamentals: Strong → BUY LARGE (5%+)
|
|
457
|
+
│ ├─ Check fundamentals: Neutral → BUY (3-5%)
|
|
458
|
+
│ └─ Check fundamentals: Weak → BUY SMALL (1-2%), monitor
|
|
459
|
+
│
|
|
460
|
+
├─ Moderate Buy Signal (Level 2)
|
|
461
|
+
│ ├─ Check fundamentals: Strong → BUY (3-5%)
|
|
462
|
+
│ ├─ Check fundamentals: Neutral → BUY SMALL (1-3%)
|
|
463
|
+
│ └─ Check fundamentals: Weak → PASS
|
|
464
|
+
│
|
|
465
|
+
├─ Neutral (Level 3)
|
|
466
|
+
│ └─ Decide based on other factors (fundamental, technical)
|
|
467
|
+
│
|
|
468
|
+
├─ Moderate Sell Signal (Level 4)
|
|
469
|
+
│ └─ AVOID (do not initiate)
|
|
470
|
+
│
|
|
471
|
+
└─ Strong Sell Signal (Level 5)
|
|
472
|
+
└─ AVOID or SHORT (if appropriate)
|
|
473
|
+
```
|
|
474
|
+
|
|
475
|
+
### For Existing Position Review:
|
|
476
|
+
|
|
477
|
+
```
|
|
478
|
+
1. Run quarterly institutional flow analysis
|
|
479
|
+
↓
|
|
480
|
+
2. What is the signal level?
|
|
481
|
+
↓
|
|
482
|
+
├─ Strong Buy Signal (Level 1)
|
|
483
|
+
│ └─ ADD to position (up to maximum 10% portfolio weight)
|
|
484
|
+
│
|
|
485
|
+
├─ Moderate Buy Signal (Level 2)
|
|
486
|
+
│ └─ HOLD or small ADD
|
|
487
|
+
│
|
|
488
|
+
├─ Neutral (Level 3)
|
|
489
|
+
│ └─ HOLD (no change)
|
|
490
|
+
│
|
|
491
|
+
├─ Moderate Sell Signal (Level 4)
|
|
492
|
+
│ ├─ Check fundamentals: Deteriorating → TRIM to 50% or SELL
|
|
493
|
+
│ ├─ Check fundamentals: Stable → TRIM to 75%
|
|
494
|
+
│ └─ Check fundamentals: Strong → HOLD (monitor closely)
|
|
495
|
+
│
|
|
496
|
+
└─ Strong Sell Signal (Level 5)
|
|
497
|
+
└─ SELL immediately (full exit)
|
|
498
|
+
```
|
|
499
|
+
|
|
500
|
+
## Common Mistakes to Avoid
|
|
501
|
+
|
|
502
|
+
### Mistake 1: Overreacting to Single Quarter
|
|
503
|
+
|
|
504
|
+
**Problem:** One quarter of institutional buying/selling may not be a trend
|
|
505
|
+
|
|
506
|
+
**Solution:**
|
|
507
|
+
- Require 2+ quarters for moderate signals
|
|
508
|
+
- Require 3+ quarters for strong conviction
|
|
509
|
+
- View single quarter as hypothesis, not confirmation
|
|
510
|
+
|
|
511
|
+
### Mistake 2: Ignoring Index Fund Flows
|
|
512
|
+
|
|
513
|
+
**Problem:** Treating passive inflows like active accumulation
|
|
514
|
+
|
|
515
|
+
**Solution:**
|
|
516
|
+
- Separate active from passive using institutional tiers
|
|
517
|
+
- Weight Tier 1/2 heavily, Tier 4 (index funds) minimally
|
|
518
|
+
- Focus on WHO is buying, not just THAT institutions are buying
|
|
519
|
+
|
|
520
|
+
### Mistake 3: Following Too Late
|
|
521
|
+
|
|
522
|
+
**Problem:** Institutional buying visible in 13F after 45-day lag; stock may have already moved
|
|
523
|
+
|
|
524
|
+
**Solution:**
|
|
525
|
+
- Use 13F as confirming signal, not entry trigger
|
|
526
|
+
- Combine with technical analysis for timing
|
|
527
|
+
- Be willing to buy after initial move if institutional thesis strong
|
|
528
|
+
|
|
529
|
+
### Mistake 4: Ignoring Price Action Context
|
|
530
|
+
|
|
531
|
+
**Problem:** Institutional buying in falling stock (catching falling knife) vs rising stock (momentum)
|
|
532
|
+
|
|
533
|
+
**Solution:**
|
|
534
|
+
- Institutional accumulation + falling price = potential value opportunity (higher conviction)
|
|
535
|
+
- Institutional accumulation + rising price = momentum (lower conviction, may be late)
|
|
536
|
+
- Adjust signal strength based on recent price action
|
|
537
|
+
|
|
538
|
+
### Mistake 5: Equal Weighting All Institutions
|
|
539
|
+
|
|
540
|
+
**Problem:** Treating index fund flows same as Berkshire Hathaway
|
|
541
|
+
|
|
542
|
+
**Solution:**
|
|
543
|
+
- Use institutional tier weighting framework
|
|
544
|
+
- Tier 1 (Superinvestors): 3.0-3.5x weight
|
|
545
|
+
- Tier 2 (Quality Active): 2.0-2.5x weight
|
|
546
|
+
- Tier 3 (Average): 1.0-1.5x weight
|
|
547
|
+
- Tier 4 (Passive): 0.0-0.5x weight
|
|
548
|
+
|
|
549
|
+
## Summary Checklist
|
|
550
|
+
|
|
551
|
+
Before making investment decision based on institutional flow:
|
|
552
|
+
|
|
553
|
+
**✅ Verification Checklist:**
|
|
554
|
+
- [ ] Signal level determined (Strong/Moderate/Neutral Buy or Sell)
|
|
555
|
+
- [ ] Multi-quarter trend confirmed (2+ quarters same direction)
|
|
556
|
+
- [ ] Institution quality assessed (Tier 1/2 involvement?)
|
|
557
|
+
- [ ] Clustering score calculated (>50 for strong signals)
|
|
558
|
+
- [ ] Market cap context considered (adjustment needed?)
|
|
559
|
+
- [ ] Valuation context considered (adjustment needed?)
|
|
560
|
+
- [ ] Recent price action reviewed (adjustment needed?)
|
|
561
|
+
- [ ] Fundamental analysis completed (aligns with institutional thesis?)
|
|
562
|
+
- [ ] Technical analysis reviewed (entry timing optimized?)
|
|
563
|
+
- [ ] Position sizing determined based on signal strength
|
|
564
|
+
- [ ] Risk management plan established (stop-loss, monitoring frequency)
|
|
565
|
+
|
|
566
|
+
**Final Decision Framework:**
|
|
567
|
+
- **5+ yes = High Conviction:** BUY/SELL with conviction
|
|
568
|
+
- **3-4 yes = Moderate Conviction:** HOLD or Small BUY/TRIM
|
|
569
|
+
- **<3 yes = Low Conviction:** PASS or minimal position
|
|
570
|
+
|
|
571
|
+
---
|
|
572
|
+
|
|
573
|
+
This interpretation framework should be used as a systematic guide, not rigid rules. Market conditions, individual stock characteristics, and portfolio constraints should also inform final decisions. Institutional flow is a powerful signal but works best when combined with fundamental and technical analysis.
|