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,502 @@
|
|
|
1
|
+
# Asset Allocation Framework
|
|
2
|
+
|
|
3
|
+
This document provides comprehensive guidance on asset allocation principles, target allocations by risk profile, and rebalancing triggers for portfolio management.
|
|
4
|
+
|
|
5
|
+
## Core Principles
|
|
6
|
+
|
|
7
|
+
### 1. Asset Allocation Drives Returns
|
|
8
|
+
|
|
9
|
+
Academic research shows that asset allocation accounts for approximately 90% of portfolio return variability over time. Security selection and market timing contribute far less to long-term outcomes.
|
|
10
|
+
|
|
11
|
+
**Key Insight:** Getting the allocation right is more important than picking individual stocks.
|
|
12
|
+
|
|
13
|
+
### 2. Diversification Across Asset Classes
|
|
14
|
+
|
|
15
|
+
Different asset classes have different risk-return characteristics and respond differently to economic conditions:
|
|
16
|
+
|
|
17
|
+
| Asset Class | Expected Return | Volatility | Purpose |
|
|
18
|
+
|-------------|----------------|------------|---------|
|
|
19
|
+
| **Stocks (Equities)** | 8-10% | High (15-20%) | Growth, long-term appreciation |
|
|
20
|
+
| **Bonds (Fixed Income)** | 3-5% | Low (3-6%) | Income, capital preservation, volatility dampening |
|
|
21
|
+
| **Cash & Equivalents** | 1-2% | Very Low | Liquidity, stability, opportunistic deployment |
|
|
22
|
+
| **Real Estate** | 6-8% | Medium (10-15%) | Income, inflation hedge, diversification |
|
|
23
|
+
| **Commodities** | 4-6% | High (15-25%) | Inflation hedge, diversification |
|
|
24
|
+
| **Alternatives** | Varies | Varies | Non-correlated returns, risk management |
|
|
25
|
+
|
|
26
|
+
*Note: Returns are historical long-term averages and not guaranteed. Actual returns vary significantly.*
|
|
27
|
+
|
|
28
|
+
### 3. Risk Tolerance Alignment
|
|
29
|
+
|
|
30
|
+
Asset allocation should match investor's risk tolerance and time horizon:
|
|
31
|
+
|
|
32
|
+
- **Risk Capacity:** Financial ability to withstand losses (net worth, income stability, time horizon)
|
|
33
|
+
- **Risk Tolerance:** Emotional ability to withstand volatility (behavioral, psychological)
|
|
34
|
+
- **Risk Requirement:** Return needed to achieve financial goals
|
|
35
|
+
|
|
36
|
+
Optimal allocation balances all three factors.
|
|
37
|
+
|
|
38
|
+
## Asset Allocation by Risk Profile
|
|
39
|
+
|
|
40
|
+
### Conservative (Capital Preservation)
|
|
41
|
+
|
|
42
|
+
**Investor Profile:**
|
|
43
|
+
- Age: Typically 60+ or near retirement
|
|
44
|
+
- Time Horizon: 0-5 years
|
|
45
|
+
- Primary Goal: Preserve capital, generate income
|
|
46
|
+
- Risk Tolerance: Low - cannot afford significant losses
|
|
47
|
+
- Volatility Tolerance: Minimal (<5-8% annual drawdown)
|
|
48
|
+
|
|
49
|
+
**Target Allocation:**
|
|
50
|
+
- **Stocks:** 20-40%
|
|
51
|
+
- US Large Cap: 15-25%
|
|
52
|
+
- US Small/Mid Cap: 0-5%
|
|
53
|
+
- International: 5-10%
|
|
54
|
+
- **Bonds:** 50-70%
|
|
55
|
+
- Investment Grade Corporate: 20-30%
|
|
56
|
+
- Government Bonds: 20-30%
|
|
57
|
+
- High Yield: 0-10%
|
|
58
|
+
- **Cash:** 10-20%
|
|
59
|
+
- **Alternatives:** 0-10%
|
|
60
|
+
|
|
61
|
+
**Sector Guidelines (Equity Portion):**
|
|
62
|
+
- Defensive sectors: 60-70% (Utilities, Consumer Staples, Healthcare)
|
|
63
|
+
- Cyclical sectors: 30-40%
|
|
64
|
+
- Avoid: High-growth tech, speculative stocks
|
|
65
|
+
|
|
66
|
+
**Expected Outcomes:**
|
|
67
|
+
- Annual Return: 4-6%
|
|
68
|
+
- Max Drawdown: -10 to -15%
|
|
69
|
+
- Recovery Time: 1-2 years
|
|
70
|
+
|
|
71
|
+
### Moderate (Balanced Growth & Income)
|
|
72
|
+
|
|
73
|
+
**Investor Profile:**
|
|
74
|
+
- Age: Typically 40-60
|
|
75
|
+
- Time Horizon: 5-15 years
|
|
76
|
+
- Primary Goal: Balanced growth and income
|
|
77
|
+
- Risk Tolerance: Medium - can handle moderate volatility
|
|
78
|
+
- Volatility Tolerance: Moderate (10-15% annual drawdown)
|
|
79
|
+
|
|
80
|
+
**Target Allocation:**
|
|
81
|
+
- **Stocks:** 50-70%
|
|
82
|
+
- US Large Cap: 30-40%
|
|
83
|
+
- US Small/Mid Cap: 10-15%
|
|
84
|
+
- International: 10-15%
|
|
85
|
+
- **Bonds:** 25-40%
|
|
86
|
+
- Investment Grade Corporate: 15-25%
|
|
87
|
+
- Government Bonds: 5-10%
|
|
88
|
+
- High Yield: 5-10%
|
|
89
|
+
- **Cash:** 5-10%
|
|
90
|
+
- **Alternatives:** 0-10%
|
|
91
|
+
|
|
92
|
+
**Sector Guidelines (Equity Portion):**
|
|
93
|
+
- Defensive sectors: 40-50%
|
|
94
|
+
- Growth sectors: 30-40% (Technology, Communication, Consumer Discretionary)
|
|
95
|
+
- Cyclical sectors: 20-30% (Industrials, Financials, Materials)
|
|
96
|
+
|
|
97
|
+
**Expected Outcomes:**
|
|
98
|
+
- Annual Return: 6-8%
|
|
99
|
+
- Max Drawdown: -15 to -25%
|
|
100
|
+
- Recovery Time: 2-4 years
|
|
101
|
+
|
|
102
|
+
### Growth (Long-Term Capital Appreciation)
|
|
103
|
+
|
|
104
|
+
**Investor Profile:**
|
|
105
|
+
- Age: Typically 30-50
|
|
106
|
+
- Time Horizon: 10-25 years
|
|
107
|
+
- Primary Goal: Long-term wealth accumulation
|
|
108
|
+
- Risk Tolerance: Medium-High - can withstand volatility for higher returns
|
|
109
|
+
- Volatility Tolerance: Significant (15-20% annual drawdown)
|
|
110
|
+
|
|
111
|
+
**Target Allocation:**
|
|
112
|
+
- **Stocks:** 75-90%
|
|
113
|
+
- US Large Cap: 40-50%
|
|
114
|
+
- US Small/Mid Cap: 15-20%
|
|
115
|
+
- International: 15-20%
|
|
116
|
+
- Emerging Markets: 5-10%
|
|
117
|
+
- **Bonds:** 10-20%
|
|
118
|
+
- Investment Grade Corporate: 5-10%
|
|
119
|
+
- High Yield: 5-10%
|
|
120
|
+
- **Cash:** 2-5%
|
|
121
|
+
- **Alternatives:** 0-10%
|
|
122
|
+
|
|
123
|
+
**Sector Guidelines (Equity Portion):**
|
|
124
|
+
- Growth sectors: 45-55% (Technology, Healthcare, Communication)
|
|
125
|
+
- Cyclical sectors: 25-35%
|
|
126
|
+
- Defensive sectors: 20-30%
|
|
127
|
+
|
|
128
|
+
**Expected Outcomes:**
|
|
129
|
+
- Annual Return: 8-10%
|
|
130
|
+
- Max Drawdown: -20 to -35%
|
|
131
|
+
- Recovery Time: 3-5 years
|
|
132
|
+
|
|
133
|
+
### Aggressive (Maximum Growth)
|
|
134
|
+
|
|
135
|
+
**Investor Profile:**
|
|
136
|
+
- Age: Typically <40 or high net worth with long horizon
|
|
137
|
+
- Time Horizon: 15+ years
|
|
138
|
+
- Primary Goal: Maximize wealth, comfortable with high risk
|
|
139
|
+
- Risk Tolerance: High - can emotionally and financially withstand major losses
|
|
140
|
+
- Volatility Tolerance: Very high (20-30%+ annual drawdown)
|
|
141
|
+
|
|
142
|
+
**Target Allocation:**
|
|
143
|
+
- **Stocks:** 90-100%
|
|
144
|
+
- US Large Cap: 40-50%
|
|
145
|
+
- US Small/Mid Cap: 20-25%
|
|
146
|
+
- International: 15-20%
|
|
147
|
+
- Emerging Markets: 10-15%
|
|
148
|
+
- Alternatives: 0-5%
|
|
149
|
+
- **Bonds:** 0-10%
|
|
150
|
+
- **Cash:** 0-5%
|
|
151
|
+
|
|
152
|
+
**Sector Guidelines (Equity Portion):**
|
|
153
|
+
- Growth sectors: 50-60% (Technology, Healthcare, Consumer Discretionary)
|
|
154
|
+
- Cyclical sectors: 30-35%
|
|
155
|
+
- Defensive sectors: 10-20%
|
|
156
|
+
- May include speculative positions (small caps, growth stocks)
|
|
157
|
+
|
|
158
|
+
**Expected Outcomes:**
|
|
159
|
+
- Annual Return: 9-12%
|
|
160
|
+
- Max Drawdown: -30 to -50%
|
|
161
|
+
- Recovery Time: 4-7 years
|
|
162
|
+
|
|
163
|
+
## Sector Allocation Guidelines
|
|
164
|
+
|
|
165
|
+
### Defensive Sectors (Lower Volatility)
|
|
166
|
+
|
|
167
|
+
**Utilities (3-5% of equity allocation)**
|
|
168
|
+
- Characteristics: Stable cash flows, dividend-focused, regulated
|
|
169
|
+
- Economic Sensitivity: Low
|
|
170
|
+
- Use: Income generation, volatility dampening
|
|
171
|
+
- Overweight when: Late cycle, high uncertainty, rising rates
|
|
172
|
+
|
|
173
|
+
**Consumer Staples (5-10%)**
|
|
174
|
+
- Characteristics: Steady demand, pricing power, recession-resistant
|
|
175
|
+
- Economic Sensitivity: Low
|
|
176
|
+
- Use: Stability, dividend income
|
|
177
|
+
- Overweight when: Economic slowdown, defensive posture
|
|
178
|
+
|
|
179
|
+
**Healthcare (10-15%)**
|
|
180
|
+
- Characteristics: Demographic tailwinds, innovation-driven, essential services
|
|
181
|
+
- Economic Sensitivity: Low to Medium
|
|
182
|
+
- Use: Growth with defensive qualities
|
|
183
|
+
- Overweight when: Aging demographics, innovation cycle
|
|
184
|
+
|
|
185
|
+
### Growth Sectors (Higher Volatility, Higher Expected Returns)
|
|
186
|
+
|
|
187
|
+
**Technology (15-25%)**
|
|
188
|
+
- Characteristics: High growth, innovation-driven, secular trends
|
|
189
|
+
- Economic Sensitivity: Medium to High
|
|
190
|
+
- Use: Capital appreciation, secular growth
|
|
191
|
+
- Overweight when: Economic expansion, innovation cycles, low rates
|
|
192
|
+
- Caution: Concentration risk, valuation sensitivity
|
|
193
|
+
|
|
194
|
+
**Communication Services (5-10%)**
|
|
195
|
+
- Characteristics: Platform businesses, network effects, advertising-driven
|
|
196
|
+
- Economic Sensitivity: Medium
|
|
197
|
+
- Use: Growth, secular trends (digital transformation)
|
|
198
|
+
- Overweight when: Ad market strength, content consumption growth
|
|
199
|
+
|
|
200
|
+
**Consumer Discretionary (8-12%)**
|
|
201
|
+
- Characteristics: Cyclical demand, premium brands, e-commerce
|
|
202
|
+
- Economic Sensitivity: High
|
|
203
|
+
- Use: Economic growth exposure, consumer trends
|
|
204
|
+
- Overweight when: Strong consumer confidence, wage growth
|
|
205
|
+
|
|
206
|
+
### Cyclical Sectors (Economic Cycle Sensitive)
|
|
207
|
+
|
|
208
|
+
**Financials (10-15%)**
|
|
209
|
+
- Characteristics: Interest rate sensitive, credit cycle dependent
|
|
210
|
+
- Economic Sensitivity: High
|
|
211
|
+
- Use: Economic expansion exposure, dividend income
|
|
212
|
+
- Overweight when: Rising rates, strong economy, steepening yield curve
|
|
213
|
+
|
|
214
|
+
**Industrials (8-12%)**
|
|
215
|
+
- Characteristics: Capital goods, infrastructure, global trade
|
|
216
|
+
- Economic Sensitivity: High
|
|
217
|
+
- Use: Economic growth, infrastructure spending
|
|
218
|
+
- Overweight when: Fiscal stimulus, manufacturing upturn, globalization
|
|
219
|
+
|
|
220
|
+
**Materials (3-6%)**
|
|
221
|
+
- Characteristics: Commodity-driven, economic cycle dependent
|
|
222
|
+
- Economic Sensitivity: Very High
|
|
223
|
+
- Use: Inflation hedge, economic growth
|
|
224
|
+
- Overweight when: Infrastructure spending, commodity supercycles
|
|
225
|
+
|
|
226
|
+
**Energy (3-8%)**
|
|
227
|
+
- Characteristics: Commodity price driven, capital intensive, volatile
|
|
228
|
+
- Economic Sensitivity: High
|
|
229
|
+
- Use: Inflation hedge, commodity exposure
|
|
230
|
+
- Overweight when: Rising oil prices, underinvestment supply cycles
|
|
231
|
+
- Caution: ESG concerns, energy transition risk
|
|
232
|
+
|
|
233
|
+
**Real Estate (3-6%)**
|
|
234
|
+
- Characteristics: Income-focused, interest rate sensitive, inflation hedge
|
|
235
|
+
- Economic Sensitivity: Medium
|
|
236
|
+
- Use: Diversification, income, inflation protection
|
|
237
|
+
- Overweight when: Low rates, economic expansion, inflation
|
|
238
|
+
|
|
239
|
+
## Geographic Allocation
|
|
240
|
+
|
|
241
|
+
### US Equities (60-75% of total equity)
|
|
242
|
+
|
|
243
|
+
**Rationale:**
|
|
244
|
+
- Home market bias (reduce currency risk, familiar companies)
|
|
245
|
+
- Deepest, most liquid markets
|
|
246
|
+
- Strong corporate governance and shareholder rights
|
|
247
|
+
- Dollar-denominated returns
|
|
248
|
+
|
|
249
|
+
**Allocation by Market Cap:**
|
|
250
|
+
- Large Cap (>$10B): 60-70% of US equity
|
|
251
|
+
- Mid Cap ($2B-$10B): 20-25%
|
|
252
|
+
- Small Cap (<$2B): 10-15%
|
|
253
|
+
|
|
254
|
+
### International Developed Markets (15-25% of total equity)
|
|
255
|
+
|
|
256
|
+
**Regions:**
|
|
257
|
+
- Europe: 8-12%
|
|
258
|
+
- Japan: 3-5%
|
|
259
|
+
- UK: 2-4%
|
|
260
|
+
- Other (Canada, Australia): 2-4%
|
|
261
|
+
|
|
262
|
+
**Rationale:**
|
|
263
|
+
- Diversification (different economic cycles)
|
|
264
|
+
- Currency diversification
|
|
265
|
+
- Access to global industry leaders
|
|
266
|
+
- Valuation opportunities
|
|
267
|
+
|
|
268
|
+
**Considerations:**
|
|
269
|
+
- Currency risk (hedge or leave unhedged based on view)
|
|
270
|
+
- Political risk (EU regulatory environment, Brexit impact)
|
|
271
|
+
- Lower growth rates vs US
|
|
272
|
+
|
|
273
|
+
### Emerging Markets (5-15% of total equity)
|
|
274
|
+
|
|
275
|
+
**Regions:**
|
|
276
|
+
- China: 2-5%
|
|
277
|
+
- India: 1-3%
|
|
278
|
+
- Other Asia (Taiwan, Korea): 1-3%
|
|
279
|
+
- Latin America: 0-2%
|
|
280
|
+
- Other: 0-2%
|
|
281
|
+
|
|
282
|
+
**Rationale:**
|
|
283
|
+
- Higher growth potential
|
|
284
|
+
- Demographic advantages
|
|
285
|
+
- Commodity exposure
|
|
286
|
+
- Diversification
|
|
287
|
+
|
|
288
|
+
**Considerations:**
|
|
289
|
+
- Higher volatility
|
|
290
|
+
- Political and regulatory risk
|
|
291
|
+
- Currency volatility
|
|
292
|
+
- Liquidity concerns
|
|
293
|
+
|
|
294
|
+
**Risk Management:**
|
|
295
|
+
- Limit to 5-10% for moderate investors
|
|
296
|
+
- Use broad ETFs rather than individual stocks
|
|
297
|
+
- Monitor geopolitical developments
|
|
298
|
+
|
|
299
|
+
## Rebalancing Framework
|
|
300
|
+
|
|
301
|
+
### Rebalancing Triggers
|
|
302
|
+
|
|
303
|
+
**1. Time-Based Rebalancing**
|
|
304
|
+
- **Frequency:** Quarterly or Semi-Annually
|
|
305
|
+
- **Methodology:** Review allocation every 3-6 months, rebalance if needed
|
|
306
|
+
- **Pros:** Disciplined, predictable, simple
|
|
307
|
+
- **Cons:** May rebalance when not necessary (costs), or miss urgent needs
|
|
308
|
+
|
|
309
|
+
**2. Threshold-Based Rebalancing**
|
|
310
|
+
- **Trigger:** Allocation drifts >5% from target
|
|
311
|
+
- **Example:** If target is 60% stocks, rebalance when stocks reach <55% or >65%
|
|
312
|
+
- **Pros:** Responsive to market moves, cost-efficient
|
|
313
|
+
- **Cons:** Requires monitoring, may miss small drifts
|
|
314
|
+
|
|
315
|
+
**3. Hybrid Approach (Recommended)**
|
|
316
|
+
- **Method:** Check quarterly, rebalance only if drift >5%
|
|
317
|
+
- **Best of both worlds:** Disciplined review, cost-conscious execution
|
|
318
|
+
|
|
319
|
+
### Rebalancing Thresholds
|
|
320
|
+
|
|
321
|
+
| Allocation Drift | Action | Priority |
|
|
322
|
+
|-----------------|--------|----------|
|
|
323
|
+
| **<3%** | Monitor, no action needed | None |
|
|
324
|
+
| **3-5%** | Consider rebalancing (optional) | Low |
|
|
325
|
+
| **5-10%** | Rebalance recommended | Medium |
|
|
326
|
+
| **>10%** | Rebalance immediately | High |
|
|
327
|
+
|
|
328
|
+
**Position-Level Thresholds:**
|
|
329
|
+
- Single stock >15% of portfolio → Trim immediately
|
|
330
|
+
- Single stock >20% of portfolio → Urgent trim required
|
|
331
|
+
- Any position doubling target weight → Review and likely trim
|
|
332
|
+
|
|
333
|
+
### Rebalancing Methods
|
|
334
|
+
|
|
335
|
+
**1. Sell and Redeploy**
|
|
336
|
+
- **Method:** Sell overweight positions, buy underweight positions
|
|
337
|
+
- **Pros:** Precise rebalancing
|
|
338
|
+
- **Cons:** Tax implications (capital gains), transaction costs
|
|
339
|
+
|
|
340
|
+
**2. Direct New Contributions**
|
|
341
|
+
- **Method:** Use new cash to buy underweight positions
|
|
342
|
+
- **Pros:** No selling (tax-efficient), simple
|
|
343
|
+
- **Cons:** Slower rebalancing, requires regular contributions
|
|
344
|
+
|
|
345
|
+
**3. Dividend Reinvestment**
|
|
346
|
+
- **Method:** Reinvest dividends into underweight positions
|
|
347
|
+
- **Pros:** Tax-efficient, gradual rebalancing
|
|
348
|
+
- **Cons:** Very slow, limited impact
|
|
349
|
+
|
|
350
|
+
**4. Opportunistic (Tactical)**
|
|
351
|
+
- **Method:** Sell overweight positions on strength, buy underweight on weakness
|
|
352
|
+
- **Pros:** Improve execution prices
|
|
353
|
+
- **Cons:** Requires active monitoring, may delay rebalancing
|
|
354
|
+
|
|
355
|
+
**Recommendation:** Use method #1 (sell and redeploy) for large drifts (>10%), method #2 for small drifts (<5%), and method #4 when actively managing.
|
|
356
|
+
|
|
357
|
+
### Tax Considerations
|
|
358
|
+
|
|
359
|
+
**Tax-Loss Harvesting:**
|
|
360
|
+
- Sell positions with losses to offset capital gains
|
|
361
|
+
- Reinvest in similar (but not substantially identical) securities
|
|
362
|
+
- Avoid wash sale rule (30-day rule)
|
|
363
|
+
|
|
364
|
+
**Tax-Efficient Rebalancing:**
|
|
365
|
+
- Prioritize rebalancing in tax-advantaged accounts (IRA, 401k)
|
|
366
|
+
- In taxable accounts, hold winners >1 year for long-term capital gains rates
|
|
367
|
+
- Use new contributions to rebalance rather than selling
|
|
368
|
+
|
|
369
|
+
**Timing:**
|
|
370
|
+
- Rebalance in December to harvest losses
|
|
371
|
+
- Rebalance in January to deploy fresh capital
|
|
372
|
+
- Avoid year-end if sitting on large gains (defer taxes)
|
|
373
|
+
|
|
374
|
+
## Tactical Adjustments
|
|
375
|
+
|
|
376
|
+
While strategic asset allocation should be stable, tactical adjustments can enhance returns:
|
|
377
|
+
|
|
378
|
+
### Market Cycle Adjustments
|
|
379
|
+
|
|
380
|
+
**Early Bull Market:**
|
|
381
|
+
- Overweight: Cyclicals (Financials, Industrials, Materials)
|
|
382
|
+
- Underweight: Defensives (Utilities, Staples)
|
|
383
|
+
- Rationale: Economic acceleration favors cyclical sectors
|
|
384
|
+
|
|
385
|
+
**Mid Bull Market:**
|
|
386
|
+
- Overweight: Growth (Technology, Healthcare)
|
|
387
|
+
- Neutral: Cyclicals and Defensives
|
|
388
|
+
- Rationale: Expansion matures, focus on quality growth
|
|
389
|
+
|
|
390
|
+
**Late Bull Market:**
|
|
391
|
+
- Overweight: Defensives (Utilities, Staples, Healthcare)
|
|
392
|
+
- Underweight: Cyclicals
|
|
393
|
+
- Rationale: Prepare for slowdown, reduce beta
|
|
394
|
+
|
|
395
|
+
**Bear Market:**
|
|
396
|
+
- Overweight: Cash, Bonds, Defensive equities
|
|
397
|
+
- Underweight: Cyclical equities
|
|
398
|
+
- Rationale: Capital preservation, prepare for recovery
|
|
399
|
+
|
|
400
|
+
### Valuation-Based Adjustments
|
|
401
|
+
|
|
402
|
+
**When US stocks expensive (high Shiller PE >30):**
|
|
403
|
+
- Reduce US equity allocation by 5-10%
|
|
404
|
+
- Increase international or value stocks
|
|
405
|
+
- Increase cash/bonds
|
|
406
|
+
|
|
407
|
+
**When sectors extremely overvalued:**
|
|
408
|
+
- Trim sector allocation by 3-5%
|
|
409
|
+
- Redistribute to undervalued sectors
|
|
410
|
+
- Maintain overall equity target
|
|
411
|
+
|
|
412
|
+
### Interest Rate Adjustments
|
|
413
|
+
|
|
414
|
+
**Rising Rate Environment:**
|
|
415
|
+
- Shorten bond duration
|
|
416
|
+
- Overweight: Financials, Value stocks
|
|
417
|
+
- Underweight: High P/E growth, Utilities, REITs
|
|
418
|
+
|
|
419
|
+
**Falling Rate Environment:**
|
|
420
|
+
- Lengthen bond duration
|
|
421
|
+
- Overweight: Growth stocks, Technology, REITs
|
|
422
|
+
- Underweight: Financials
|
|
423
|
+
|
|
424
|
+
## Common Mistakes to Avoid
|
|
425
|
+
|
|
426
|
+
### 1. Market Timing
|
|
427
|
+
**Mistake:** Drastically changing allocation based on market predictions
|
|
428
|
+
**Impact:** Missing recoveries, buying high/selling low
|
|
429
|
+
**Solution:** Stick to strategic allocation, make only minor tactical adjustments
|
|
430
|
+
|
|
431
|
+
### 2. Over-Diversification
|
|
432
|
+
**Mistake:** Holding 100+ positions across 50 funds
|
|
433
|
+
**Impact:** Closet indexing, high fees, complexity
|
|
434
|
+
**Solution:** 15-30 individual stocks OR 5-10 ETFs for most investors
|
|
435
|
+
|
|
436
|
+
### 3. Under-Diversification
|
|
437
|
+
**Mistake:** Heavy concentration in single stock/sector (often employer stock)
|
|
438
|
+
**Impact:** Excessive risk, correlated life outcomes (job + portfolio)
|
|
439
|
+
**Solution:** Limit single stock to <10%, single sector to <25%
|
|
440
|
+
|
|
441
|
+
### 4. Ignoring Rebalancing
|
|
442
|
+
**Mistake:** "Let winners run" indefinitely
|
|
443
|
+
**Impact:** Portfolio drifts to high risk, concentration increases
|
|
444
|
+
**Solution:** Disciplined rebalancing schedule, trim winners
|
|
445
|
+
|
|
446
|
+
### 5. Emotional Rebalancing
|
|
447
|
+
**Mistake:** Panic selling in crashes, euphoric buying in bubbles
|
|
448
|
+
**Impact:** Locking in losses, buying tops
|
|
449
|
+
**Solution:** Systematic rebalancing rules, ignore emotions
|
|
450
|
+
|
|
451
|
+
### 6. Chasing Performance
|
|
452
|
+
**Mistake:** Shifting to last year's top-performing sectors
|
|
453
|
+
**Impact:** Mean reversion, buying expensive
|
|
454
|
+
**Solution:** Maintain strategic allocation, resist recency bias
|
|
455
|
+
|
|
456
|
+
## Allocation Review Checklist
|
|
457
|
+
|
|
458
|
+
Use this checklist when reviewing portfolio allocation:
|
|
459
|
+
|
|
460
|
+
**Asset Class Level:**
|
|
461
|
+
- [ ] Current stock/bond/cash allocation vs target (within 5%?)
|
|
462
|
+
- [ ] Risk profile still appropriate for goals/timeline?
|
|
463
|
+
- [ ] Any major life changes requiring allocation shift?
|
|
464
|
+
- [ ] Tax considerations for rebalancing?
|
|
465
|
+
|
|
466
|
+
**Sector Level:**
|
|
467
|
+
- [ ] Any sector >30% of equity allocation?
|
|
468
|
+
- [ ] Defensive sectors appropriate for market cycle?
|
|
469
|
+
- [ ] Growth vs value balance appropriate?
|
|
470
|
+
- [ ] Sector allocations reasonable vs benchmark?
|
|
471
|
+
|
|
472
|
+
**Geographic Level:**
|
|
473
|
+
- [ ] US vs International allocation on target?
|
|
474
|
+
- [ ] Emerging market exposure appropriate for risk tolerance?
|
|
475
|
+
- [ ] Any country concentration concerns?
|
|
476
|
+
- [ ] Currency exposure considerations?
|
|
477
|
+
|
|
478
|
+
**Position Level:**
|
|
479
|
+
- [ ] Any single stock >15% of portfolio?
|
|
480
|
+
- [ ] Top 10 holdings represent what % of portfolio?
|
|
481
|
+
- [ ] Any highly correlated positions creating concentration?
|
|
482
|
+
- [ ] Position sizes match conviction and risk?
|
|
483
|
+
|
|
484
|
+
**Performance Level:**
|
|
485
|
+
- [ ] Performance vs benchmark acceptable?
|
|
486
|
+
- [ ] Any positions consistently underperforming?
|
|
487
|
+
- [ ] Winners becoming too large (>2x initial allocation)?
|
|
488
|
+
- [ ] Losers requiring re-evaluation (broken thesis)?
|
|
489
|
+
|
|
490
|
+
## Summary
|
|
491
|
+
|
|
492
|
+
**Key Takeaways:**
|
|
493
|
+
|
|
494
|
+
1. **Asset allocation is the primary driver of returns** - Get the big picture right
|
|
495
|
+
2. **Match allocation to risk tolerance and time horizon** - Don't take more risk than you can handle
|
|
496
|
+
3. **Diversify across asset classes, sectors, and geographies** - Don't put all eggs in one basket
|
|
497
|
+
4. **Rebalance systematically** - Trim winners, add to losers, maintain discipline
|
|
498
|
+
5. **Minimize taxes and costs** - Tax-efficient rebalancing, low-cost implementation
|
|
499
|
+
6. **Stay the course** - Avoid emotional decisions, stick to the plan
|
|
500
|
+
7. **Review regularly but change rarely** - Annual review, infrequent major changes
|
|
501
|
+
|
|
502
|
+
**Remember:** Asset allocation should reflect your personal circumstances, not market forecasts. The best allocation is one you can stick with through market cycles.
|