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,335 @@
|
|
|
1
|
+
# Detailed Bubble Theory Framework
|
|
2
|
+
|
|
3
|
+
## Table of Contents
|
|
4
|
+
1. [Core Concept](#core-concept)
|
|
5
|
+
2. [Minsky/Kindleberger Model](#minskykindleberger-model)
|
|
6
|
+
3. [Behavioral Psychology Elements](#behavioral-psychology-elements)
|
|
7
|
+
4. [Quantitative Indicators for Detection](#quantitative-indicators-for-detection)
|
|
8
|
+
5. [Practical Response Strategies](#practical-response-strategies)
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Core Concept
|
|
13
|
+
|
|
14
|
+
### The Essence of Bubbles: Social Norm Inversion Through Social Contagion
|
|
15
|
+
|
|
16
|
+
True bubbles are determined not by **price levels** but by **the phase of crowd psychology**.
|
|
17
|
+
|
|
18
|
+
#### Core Characteristics
|
|
19
|
+
|
|
20
|
+
1. **Critical Information Cascade**
|
|
21
|
+
- Spread to all layers (including non-investors) is complete
|
|
22
|
+
- FOMO (Fear of Missing Out) becomes social norm
|
|
23
|
+
- Social cost of being skeptical is maximized
|
|
24
|
+
|
|
25
|
+
2. **Social Calculation Inversion**
|
|
26
|
+
```
|
|
27
|
+
Normal state: Conformity pressure < Value of independent judgment
|
|
28
|
+
Bubble state: Conformity pressure > Value of independent judgment
|
|
29
|
+
```
|
|
30
|
+
Completion is near when "pain of not conforming < pain of holding contrarian views"
|
|
31
|
+
|
|
32
|
+
3. **Institutionalized Confirmation Bias**
|
|
33
|
+
- Media, experts, and laypeople repeat the same narrative
|
|
34
|
+
- Counterevidence is ignored or excluded
|
|
35
|
+
- "This time is different" becomes the mantra
|
|
36
|
+
|
|
37
|
+
### Signal Example: Taxi Driver Investment Talk
|
|
38
|
+
|
|
39
|
+
Modern version of Joe Kennedy selling before the 1929 crash after hearing a shoeshine boy talk stocks.
|
|
40
|
+
|
|
41
|
+
**Why this is a decisive signal:**
|
|
42
|
+
- Information reaches the final tier = cascade complete
|
|
43
|
+
- "Last buyer" cohort enters = demand exhaustion near
|
|
44
|
+
- "Sure to profit" perception without expertise = peak risk ignorance
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Minsky/Kindleberger Model
|
|
49
|
+
|
|
50
|
+
5-stage bubble progression model (Hyman Minsky / Charles Kindleberger)
|
|
51
|
+
|
|
52
|
+
### 1. Displacement (Trigger)
|
|
53
|
+
|
|
54
|
+
**Characteristics:**
|
|
55
|
+
- Structural changes like new technology, institutional reform, monetary easing
|
|
56
|
+
- Legitimate investment opportunities emerge
|
|
57
|
+
- Rational price rises
|
|
58
|
+
|
|
59
|
+
**Real Examples:**
|
|
60
|
+
- 1990s: Internet revolution
|
|
61
|
+
- 2010s: Mobile/cloud
|
|
62
|
+
- 2020-21: Pandemic-response ultra-easing + remote work technology
|
|
63
|
+
|
|
64
|
+
### 2. Boom (Expansion)
|
|
65
|
+
|
|
66
|
+
**Characteristics:**
|
|
67
|
+
- Self-reinforcing loop: price rise → media exposure → new participants → liquidity expansion
|
|
68
|
+
- Positive expert views increase
|
|
69
|
+
- Valuations high but "explainable by growth expectations"
|
|
70
|
+
|
|
71
|
+
**Psychology:**
|
|
72
|
+
- Availability bias: Success stories dominate
|
|
73
|
+
- Herding: Even institutional investors feel pressure to join
|
|
74
|
+
|
|
75
|
+
**Detection Indicators:**
|
|
76
|
+
- Sustained trading volume increase
|
|
77
|
+
- Accelerating new account openings
|
|
78
|
+
- Annual returns in 75-90th percentile
|
|
79
|
+
|
|
80
|
+
### 3. Euphoria (Exuberance)
|
|
81
|
+
|
|
82
|
+
**Characteristics:**
|
|
83
|
+
- Narrative becomes "common sense," dissent labeled "outdated"
|
|
84
|
+
- Leverage increases (margin trading, futures, derivatives)
|
|
85
|
+
- New issuances proliferate (IPO/ICO/SPAC)
|
|
86
|
+
- Even low-quality stocks rally
|
|
87
|
+
|
|
88
|
+
**Psychology:**
|
|
89
|
+
- Overconfidence: "I'm special"
|
|
90
|
+
- Confirmation bias: Accept only favorable information
|
|
91
|
+
- Regret aversion: Overly fear "missing gains after selling"
|
|
92
|
+
|
|
93
|
+
**Detection Indicators:**
|
|
94
|
+
- VIX falls (risk dismissal)
|
|
95
|
+
- Extreme Put/Call ratio bias
|
|
96
|
+
- Margin balances at all-time highs
|
|
97
|
+
- Proliferation of "XX-related" products
|
|
98
|
+
|
|
99
|
+
### 4. Profit Taking (Exit Begins)
|
|
100
|
+
|
|
101
|
+
**Characteristics:**
|
|
102
|
+
- Early participants (smart money) begin taking profits
|
|
103
|
+
- But crowd continues chasing with FOMO
|
|
104
|
+
- Volatility (price fluctuation) increases
|
|
105
|
+
|
|
106
|
+
**Psychological Divergence:**
|
|
107
|
+
- Smart money: Loss aversion (prioritize securing gains)
|
|
108
|
+
- Crowd: FOMO peaks ("don't miss out")
|
|
109
|
+
|
|
110
|
+
**Detection Indicators:**
|
|
111
|
+
- Volume surges + increased price swings
|
|
112
|
+
- Insider selling increases
|
|
113
|
+
- Short interest rises (sophisticated skepticism)
|
|
114
|
+
|
|
115
|
+
### 5. Panic (Reversal)
|
|
116
|
+
|
|
117
|
+
**Characteristics:**
|
|
118
|
+
- Objective confirmation of trend breakdown (failure to make new highs, MA breaks)
|
|
119
|
+
- Forced liquidations → liquidation cascade
|
|
120
|
+
- Liquidity evaporates
|
|
121
|
+
|
|
122
|
+
**Psychology:**
|
|
123
|
+
- Loss aversion reverses: "don't want to realize loss" → "must avoid further loss by panic selling"
|
|
124
|
+
- Herding reverses: buying crowd → selling crowd
|
|
125
|
+
|
|
126
|
+
**Detection Indicators:**
|
|
127
|
+
- Circuit breakers triggered
|
|
128
|
+
- Chain of margin calls
|
|
129
|
+
- Mark-to-market losses at all-time worst levels
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Behavioral Psychology Elements
|
|
134
|
+
|
|
135
|
+
### 1. FOMO (Fear of Missing Out)
|
|
136
|
+
|
|
137
|
+
**Mechanism:**
|
|
138
|
+
- Social proof: "Everyone's buying → must be right"
|
|
139
|
+
- Regret aversion: "regret of missing out" > "regret of losing money"
|
|
140
|
+
|
|
141
|
+
**Bubble Condition:**
|
|
142
|
+
FOMO elevates from individual psychology to **social norm** → non-conformity becomes professional/social risk
|
|
143
|
+
|
|
144
|
+
### 2. Confirmation Bias
|
|
145
|
+
|
|
146
|
+
**Bubble-Period Amplification:**
|
|
147
|
+
- Media echo chambers
|
|
148
|
+
- Social media algorithm filter bubbles
|
|
149
|
+
- Expert conformity pressure (contrarianism = career risk)
|
|
150
|
+
|
|
151
|
+
### 3. Overconfidence
|
|
152
|
+
|
|
153
|
+
**Bubble-Period Characteristics:**
|
|
154
|
+
- "Only I can sell at the top"
|
|
155
|
+
- "This time is different"
|
|
156
|
+
- Risk management neglect
|
|
157
|
+
|
|
158
|
+
### 4. Dangerous Combination: Loss Aversion × Regret Aversion
|
|
159
|
+
|
|
160
|
+
**Most Dangerous Phase:**
|
|
161
|
+
Investors who experienced "rapid rise after early profit-taking"
|
|
162
|
+
|
|
163
|
+
1. Take profit → price rises further → regret
|
|
164
|
+
2. Re-enter → buy high → can't cut loss due to loss aversion
|
|
165
|
+
3. Further rise → illusion of being "right" reinforces
|
|
166
|
+
4. Miss exit when reversal comes
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## Quantitative Indicators for Detection
|
|
171
|
+
|
|
172
|
+
### Category 1: Social Penetration
|
|
173
|
+
|
|
174
|
+
| Indicator | Data Source | Alert Threshold |
|
|
175
|
+
|-----------|------------|----------------|
|
|
176
|
+
| Google Search Trends | Google Trends API | 5x+ normal |
|
|
177
|
+
| Social Media Mentions | Twitter/Reddit API | z-score > +3 |
|
|
178
|
+
| New Account Openings | Brokerage data | 200%+ YoY |
|
|
179
|
+
| Media Coverage | News APIs | Weekly article count 10x normal |
|
|
180
|
+
|
|
181
|
+
### Category 2: Price Dynamics
|
|
182
|
+
|
|
183
|
+
| Indicator | Calculation | Alert Threshold |
|
|
184
|
+
|-----------|------------|----------------|
|
|
185
|
+
| Annualized Return | Annualize 90-day return | Exceeds 95th percentile |
|
|
186
|
+
| Price Acceleration | 2nd derivative sign and magnitude | Positive and increasing |
|
|
187
|
+
| Volatility Skew | Put/Call ratio | < 0.5 (extreme optimism) |
|
|
188
|
+
| Distance from 52W High | (Current - 52W High) / 52W High | Within -5%, clustering |
|
|
189
|
+
|
|
190
|
+
### Category 3: Leverage & Positioning
|
|
191
|
+
|
|
192
|
+
| Indicator | Data Source | Alert Threshold |
|
|
193
|
+
|-----------|------------|----------------|
|
|
194
|
+
| Margin Balance | FINRA | All-time high |
|
|
195
|
+
| Mark-to-Market P&L | Exchange data | Extreme unrealized gains (reversal risk) |
|
|
196
|
+
| Futures Positioning | CFTC COT | Speculators extremely long |
|
|
197
|
+
| Funding Rate | Crypto exchanges | 50%+ annual sustained |
|
|
198
|
+
|
|
199
|
+
### Category 4: New Issuance & Entry
|
|
200
|
+
|
|
201
|
+
| Indicator | Data Source | Alert Threshold |
|
|
202
|
+
|-----------|------------|----------------|
|
|
203
|
+
| IPO Count | Renaissance IPO Index | 100%+ YoY |
|
|
204
|
+
| SPAC Formation | SPAC statistics | 100+ per quarter |
|
|
205
|
+
| Theme ETF Launches | ETF.com | 5+ "XX-related" per month |
|
|
206
|
+
|
|
207
|
+
### Category 5: Valuation
|
|
208
|
+
|
|
209
|
+
| Indicator | Calculation | Alert Threshold |
|
|
210
|
+
|-----------|------------|----------------|
|
|
211
|
+
| Shiller CAPE | P/E using 10-year real earnings average | >30 (historically high) |
|
|
212
|
+
| Buffett Indicator | Market cap / GDP | >150% (overheating) |
|
|
213
|
+
| Sector Divergence | Top sector vs bottom sector P/E difference | 3x+ gap |
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## Practical Response Strategies
|
|
218
|
+
|
|
219
|
+
### Offense: Profit-Taking Strategy
|
|
220
|
+
|
|
221
|
+
#### 1. Mechanical Stair-Step Profit-Taking
|
|
222
|
+
|
|
223
|
+
```
|
|
224
|
+
Target Return Profit % Remaining Position
|
|
225
|
+
+20% 25% 75%
|
|
226
|
+
+40% 25% 50%
|
|
227
|
+
+60% 25% 25%
|
|
228
|
+
+80% 25% 0%
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
**Benefits:**
|
|
232
|
+
- Eliminates psychological pressure
|
|
233
|
+
- Mitigates "post-sale rise" regret
|
|
234
|
+
- Guarantees partial profit capture
|
|
235
|
+
|
|
236
|
+
#### 2. Time-Diversified Exit
|
|
237
|
+
|
|
238
|
+
**NG Pattern:**
|
|
239
|
+
Concentrate profit-taking on specific events (earnings, product launch, index inclusion)
|
|
240
|
+
|
|
241
|
+
**Recommended:**
|
|
242
|
+
- Sell 10% daily over 2 weeks
|
|
243
|
+
- Distribute before/during/after events
|
|
244
|
+
|
|
245
|
+
#### 3. Trailing Stop (Volatility-Adjusted)
|
|
246
|
+
|
|
247
|
+
```python
|
|
248
|
+
stop_price = current_price - (ATR × coefficient)
|
|
249
|
+
# ATR: Average True Range (20-day average fluctuation)
|
|
250
|
+
# Coefficient: 2.0 (normal), 1.5 (bubble zone, tightened)
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
### Defense: Risk Management
|
|
254
|
+
|
|
255
|
+
#### 1. Pre-Determined Drawdown Tolerance
|
|
256
|
+
|
|
257
|
+
```
|
|
258
|
+
Expected Max DD Position Size
|
|
259
|
+
-10% 100% (full position)
|
|
260
|
+
-20% 50%
|
|
261
|
+
-30% 33%
|
|
262
|
+
-40% 25%
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
#### 2. Risk Budget by Bubble Stage (REVISED v2.1)
|
|
266
|
+
|
|
267
|
+
| Bubble Stage | Score | Total Risk Budget | New Entry | Stop Coefficient |
|
|
268
|
+
|-------------|-------|------------------|-----------|-----------------|
|
|
269
|
+
| Normal | 0-4 | 100% | Normal | 2.0 ATR |
|
|
270
|
+
| Caution | 5-7 | 70-80% | 50% reduced | 1.8 ATR |
|
|
271
|
+
| Elevated Risk | 8-9 | 50-70% | Selective | 1.6 ATR |
|
|
272
|
+
| Euphoria | 10-12 | 40-50% | Stop | 1.5 ATR |
|
|
273
|
+
| Critical | 13-15 | 20-30% | Stop | 1.2 ATR |
|
|
274
|
+
|
|
275
|
+
**Key Changes in v2.1:**
|
|
276
|
+
- Added "Elevated Risk" phase (8-9 points) for more granular risk management
|
|
277
|
+
- Adjusted risk budgets to be less extreme at 9-point level
|
|
278
|
+
- Maximum score reduced to 15 (Phase 2: 12 max, Phase 3: 3 max with strict criteria)
|
|
279
|
+
|
|
280
|
+
#### 3. Short-Selling Timing (Critical)
|
|
281
|
+
|
|
282
|
+
**NG Pattern:**
|
|
283
|
+
- Early shorts based on subjective "too high"
|
|
284
|
+
- Bubbles "last longer than expected" ("Markets can remain irrational longer than you can remain solvent")
|
|
285
|
+
|
|
286
|
+
**Recommended Conditions (Composite):**
|
|
287
|
+
1. Weekly chart shows clear lower highs
|
|
288
|
+
2. Volume peaks out (enters declining trend)
|
|
289
|
+
3. Funding rate drops sharply (crypto) / margin balance declines (stocks)
|
|
290
|
+
4. Media/search trends peak out
|
|
291
|
+
5. Weak stocks within sector start breaking down first
|
|
292
|
+
|
|
293
|
+
Consider starting when minimum 3 conditions met.
|
|
294
|
+
|
|
295
|
+
#### 4. Separate Cash Accounts
|
|
296
|
+
|
|
297
|
+
- **Long-term investment account**: Buy & hold, dividend reinvestment, rebalancing only
|
|
298
|
+
- **Trading account**: Short-term trading, bubble profit-taking, reversal shorts
|
|
299
|
+
|
|
300
|
+
**Purpose:** Prevent decision confusion, maintain psychological stability
|
|
301
|
+
|
|
302
|
+
### Practical Daily Checklist
|
|
303
|
+
|
|
304
|
+
Check every morning before market open:
|
|
305
|
+
|
|
306
|
+
- [ ] Update Bubble-O-Meter (score 8 indicators)
|
|
307
|
+
- [ ] Update ATR trailing stops for held positions
|
|
308
|
+
- [ ] Verify planned new entries are appropriate given bubble stage
|
|
309
|
+
- [ ] Check for sudden media/social media trend changes
|
|
310
|
+
- [ ] Confirm major indices' distance from 52-week highs
|
|
311
|
+
- [ ] Check leverage indicators (margin balance, funding rate)
|
|
312
|
+
- [ ] Check VIX level and Put/Call ratio
|
|
313
|
+
- [ ] Check sector breadth (broad rally or selective)
|
|
314
|
+
|
|
315
|
+
---
|
|
316
|
+
|
|
317
|
+
## Summary: Golden Rules for Practice
|
|
318
|
+
|
|
319
|
+
1. **"See process, not price"**
|
|
320
|
+
Evaluate bubbles not by levels but by crowd psychology phase transitions
|
|
321
|
+
|
|
322
|
+
2. **"When taxi drivers talk stocks, exit"**
|
|
323
|
+
Last buyer cohort entry = demand exhaustion near
|
|
324
|
+
|
|
325
|
+
3. **"'This time is different' is always the same"**
|
|
326
|
+
When "This time is different" becomes the mantra, be very cautious
|
|
327
|
+
|
|
328
|
+
4. **"Mechanical rules protect psychology"**
|
|
329
|
+
When conformity pressure peaks, strict adherence to pre-determined rules is lifeline
|
|
330
|
+
|
|
331
|
+
5. **"Short after confirmation, take profits early"**
|
|
332
|
+
Bubble collapses come late but suddenly. Contrarian shorts dangerous. Profits mechanically.
|
|
333
|
+
|
|
334
|
+
6. **"When skepticism hurts, the end begins"**
|
|
335
|
+
The moment social cost exceeds independent judgment is the critical point
|
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
# Historical Bubble Cases and Pattern Analysis
|
|
2
|
+
|
|
3
|
+
## Table of Contents
|
|
4
|
+
1. [Late 1990s: Dotcom Bubble](#dotcom-bubble)
|
|
5
|
+
2. [Late 2017: Crypto Bubble](#crypto-bubble)
|
|
6
|
+
3. [2020-21: Pandemic Bubble Complex](#pandemic-bubble)
|
|
7
|
+
4. [Common Patterns and Lessons](#common-patterns)
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Dotcom Bubble (1995-2000)
|
|
12
|
+
|
|
13
|
+
### Timeline
|
|
14
|
+
|
|
15
|
+
**1995-1997: Displacement (Trigger)**
|
|
16
|
+
- Netscape IPO (August 1995): More than doubled on first day
|
|
17
|
+
- Internet penetration: US 5% → 20%
|
|
18
|
+
- Legitimate technological innovation and investment opportunities
|
|
19
|
+
|
|
20
|
+
**1998-Early 1999: Boom (Expansion)**
|
|
21
|
+
- NASDAQ 100: Sustained +40% annual growth
|
|
22
|
+
- Adding ".com" to name alone drove stock prices up ("the .com effect")
|
|
23
|
+
- IPO first-day returns averaged +70%
|
|
24
|
+
|
|
25
|
+
**Late 1999-March 2000: Euphoria (Exuberance)**
|
|
26
|
+
- "Old Economy vs New Economy" binary opposition
|
|
27
|
+
- "Clicks vs Bricks" (online is invincible)
|
|
28
|
+
- Valuation metrics ignored: "P/E is outdated"
|
|
29
|
+
|
|
30
|
+
**March 10, 2000: Peak (NASDAQ 5,048.62)**
|
|
31
|
+
|
|
32
|
+
**March 2000-October 2002: Panic & Crash**
|
|
33
|
+
- NASDAQ: -78% (5,048 → 1,114)
|
|
34
|
+
- Many bankruptcies: Pets.com, Webvan, eToys, etc.
|
|
35
|
+
|
|
36
|
+
### Bubble-O-Meter Score Estimate (March 2000)
|
|
37
|
+
|
|
38
|
+
| Indicator | Score | Rationale |
|
|
39
|
+
|-----------|-------|-----------|
|
|
40
|
+
| Mass Penetration | 2 | Family/friends entering "day trading" |
|
|
41
|
+
| Media Saturation | 2 | Time magazine cover "Amazon.com", CNBC ratings surge |
|
|
42
|
+
| New Entrants | 2 | Online brokerage accounts +300% YoY |
|
|
43
|
+
| Issuance Flood | 2 | 457 IPOs (1999), many low-quality |
|
|
44
|
+
| Leverage | 1 | Margin trading increased, but not to mortgage levels |
|
|
45
|
+
| Price Acceleration | 2 | NASDAQ +85% annual (1999) |
|
|
46
|
+
| Valuation Disconnect | 2 | "Profits unnecessary, only revenue growth matters" |
|
|
47
|
+
| Correlation & Breadth | 2 | Even unprofitable companies rallying, no quality selection |
|
|
48
|
+
|
|
49
|
+
**Total: 15/16 points (Critical Zone)**
|
|
50
|
+
|
|
51
|
+
### Lessons
|
|
52
|
+
|
|
53
|
+
1. **The Magic of the ".com" Suffix**
|
|
54
|
+
Name change alone drove +50%+ stock price gains (e.g., Zapata → Zap.com)
|
|
55
|
+
|
|
56
|
+
2. **IPO Mania Danger**
|
|
57
|
+
First-day returns of +100%+ becoming normal = abnormal demand overheating
|
|
58
|
+
|
|
59
|
+
3. **"Growth Without Profits" Limits**
|
|
60
|
+
Many "Get Big Fast" strategies failed, ignoring cash flow consequences
|
|
61
|
+
|
|
62
|
+
4. **Fed Rate Hikes as Trigger**
|
|
63
|
+
Consecutive rate hikes 1999-2000 → funding cost rise → valuation justification impossible
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Crypto Bubble (2017)
|
|
68
|
+
|
|
69
|
+
### Timeline
|
|
70
|
+
|
|
71
|
+
**2016-Early 2017: Displacement & Boom**
|
|
72
|
+
- Bitcoin: $1,000 → $3,000 (June 2017)
|
|
73
|
+
- Emergence of ICO (Initial Coin Offering)
|
|
74
|
+
- Rise of altcoins like Ethereum, Ripple
|
|
75
|
+
|
|
76
|
+
**August-November 2017: Accelerating Boom**
|
|
77
|
+
- Bitcoin: $3,000 → $10,000
|
|
78
|
+
- Coinbase app #1 on US App Store
|
|
79
|
+
- "Blockchain revolution" narrative spreads
|
|
80
|
+
|
|
81
|
+
**December 2017: Euphoria Peak**
|
|
82
|
+
- Bitcoin: $10,000 → $19,783 (December 17 peak)
|
|
83
|
+
- **Taxi drivers preaching crypto** (iconic episode from text)
|
|
84
|
+
- University lectures producing "instant experts"
|
|
85
|
+
- Family gatherings dominated by investment talk
|
|
86
|
+
|
|
87
|
+
**December 18, 2017-December 2018: Crash**
|
|
88
|
+
- Bitcoin: $19,783 → $3,200 (-84%)
|
|
89
|
+
- ICO scams exposed, regulatory crackdown
|
|
90
|
+
|
|
91
|
+
### Bubble-O-Meter Score Estimate (Mid-December 2017)
|
|
92
|
+
|
|
93
|
+
| Indicator | Score | Rationale |
|
|
94
|
+
|-----------|-------|-----------|
|
|
95
|
+
| Mass Penetration | 2 | Taxi drivers, grandparents asserting "must buy" |
|
|
96
|
+
| Media Saturation | 2 | Google searches for "Bitcoin" at all-time high, daily CNBC specials |
|
|
97
|
+
| New Entrants | 2 | Coinbase new accounts exceeding 300k/day |
|
|
98
|
+
| Issuance Flood | 2 | 966 ICOs (2017), majority fraudulent |
|
|
99
|
+
| Leverage | 2 | 100x leverage trading on BitMEX etc. surging |
|
|
100
|
+
| Price Acceleration | 2 | Doubled in one month ($10k→$20k), acceleration positive and increasing |
|
|
101
|
+
| Valuation Disconnect | 2 | "Digital gold," "end of fiat currency" narratives dominant |
|
|
102
|
+
| Correlation & Breadth | 2 | Even obscure altcoins +1000%+ |
|
|
103
|
+
|
|
104
|
+
**Total: 16/16 points (Critical Zone - Perfect Score)**
|
|
105
|
+
|
|
106
|
+
### Lessons
|
|
107
|
+
|
|
108
|
+
1. **"Most Dangerous Phase: Rapid Rise After Selling"**
|
|
109
|
+
Example from text: Took profit at $8k→$13k → 10 days later approaching $20k → regret and re-entry impulse
|
|
110
|
+
|
|
111
|
+
2. **Leverage Destructive Power**
|
|
112
|
+
100x leverage = total loss on 5% adverse move, liquidation cascade accelerates crash
|
|
113
|
+
|
|
114
|
+
3. **ICO Scam Proliferation**
|
|
115
|
+
Raised billions with only whitepapers → many absconded
|
|
116
|
+
|
|
117
|
+
4. **Regulatory Risk Underestimation**
|
|
118
|
+
"Impossible to regulate" narrative → collapse when China/Korea closed exchanges
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Pandemic Bubble (2020-2021)
|
|
123
|
+
|
|
124
|
+
### Timeline
|
|
125
|
+
|
|
126
|
+
**March-June 2020: Displacement**
|
|
127
|
+
- COVID-19 panic → historic monetary easing
|
|
128
|
+
- Fed asset purchases, zero rates, fiscal support
|
|
129
|
+
- "TINA" (There Is No Alternative): No investment alternative to stocks
|
|
130
|
+
|
|
131
|
+
**July 2020-Early 2021: Boom**
|
|
132
|
+
- NASDAQ 100: +50% (2020 full year)
|
|
133
|
+
- Work-from-home/DX stocks lead (Zoom, Peloton, Shopify)
|
|
134
|
+
- Robinhood account openings surge, "Stonks" meme culture
|
|
135
|
+
|
|
136
|
+
**Early 2021: Euphoria**
|
|
137
|
+
- Meme stocks (GME, AMC) wild swings
|
|
138
|
+
- SPAC boom (Q1 2021: 298 formations)
|
|
139
|
+
- NFT mania (Beeple artwork $69M, "Bored Ape" etc.)
|
|
140
|
+
- Crypto resurgence (BTC $64k, "DeFi Summer")
|
|
141
|
+
|
|
142
|
+
**November 2021: Peak (NASDAQ 16,057)**
|
|
143
|
+
|
|
144
|
+
**2022: Reversal**
|
|
145
|
+
- Fed hawkish pivot (inflation response)
|
|
146
|
+
- Interest rate rises → growth stock plunge
|
|
147
|
+
- NASDAQ: -33% (2022 full year)
|
|
148
|
+
- Crypto bubble collapse (Luna, FTX failures)
|
|
149
|
+
|
|
150
|
+
### Bubble-O-Meter Score Estimate (November 2021)
|
|
151
|
+
|
|
152
|
+
| Indicator | Score | Rationale |
|
|
153
|
+
|-----------|-------|-----------|
|
|
154
|
+
| Mass Penetration | 2 | WallStreetBets, TikTok investment influencers proliferating |
|
|
155
|
+
| Media Saturation | 2 | CNBC ratings surge, housewife investment specials |
|
|
156
|
+
| New Entrants | 2 | Young demographic accounts 3x on Robinhood etc. |
|
|
157
|
+
| Issuance Flood | 2 | 613 SPACs (2021 full year), many low-quality |
|
|
158
|
+
| Leverage | 1 | Individual options trading surged, but not excessive mortgage levels |
|
|
159
|
+
| Price Acceleration | 2 | Numerous growth stocks +100%+ annual |
|
|
160
|
+
| Valuation Disconnect | 2 | Extreme DCF assuming "zero discount rate," profit ignored |
|
|
161
|
+
| Correlation & Breadth | 1 | Concentrated in FAANG etc., not broad rally |
|
|
162
|
+
|
|
163
|
+
**Total: 14/16 points (Critical Zone)**
|
|
164
|
+
|
|
165
|
+
### Special Factors
|
|
166
|
+
|
|
167
|
+
1. **Composite Bubble**
|
|
168
|
+
Stocks, crypto, NFTs, SPACs simultaneously erupting, capital swirling
|
|
169
|
+
|
|
170
|
+
2. **Memeification**
|
|
171
|
+
Investment decisions shift from "fundamentals" to "memes" and "community" (GME, DOGE)
|
|
172
|
+
|
|
173
|
+
3. **Zero-Rate Side Effects**
|
|
174
|
+
"Risk-free rate = 0" → illusion that theoretical price of all assets approaches ∞
|
|
175
|
+
|
|
176
|
+
### Lessons
|
|
177
|
+
|
|
178
|
+
1. **End of Monetary Easing = Bubble Collapse Trigger**
|
|
179
|
+
Reversal moment Fed turned hawkish (November 2021)
|
|
180
|
+
|
|
181
|
+
2. **Multi-Asset Simultaneous Bubbles Amplify Danger**
|
|
182
|
+
Correlation approaches 1.0 → diversification benefit vanishes
|
|
183
|
+
|
|
184
|
+
3. **Meme Investment Limits**
|
|
185
|
+
Short-term crowd frenzy unsustainable, fundamental reversion inevitable
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## Common Patterns
|
|
190
|
+
|
|
191
|
+
### Pattern 1: Trigger Always "Monetary Policy Shift"
|
|
192
|
+
|
|
193
|
+
| Bubble | Peak Timing | Policy Shift | Time Lag |
|
|
194
|
+
|--------|------------|--------------|----------|
|
|
195
|
+
| Dotcom | March 2000 | Fed rate hikes (1999-2000) | Immediate |
|
|
196
|
+
| Crypto 2017 | December 2017 | China regulatory crackdown | 1 month |
|
|
197
|
+
| Pandemic | November 2021 | Fed hawkish signal | Immediate |
|
|
198
|
+
|
|
199
|
+
### Pattern 2: Bubble Stage Time Allocation
|
|
200
|
+
|
|
201
|
+
```
|
|
202
|
+
Typical Bubble Cycle (total 18-36 months):
|
|
203
|
+
Displacement: 20% of duration (tech innovation, policy change)
|
|
204
|
+
Boom: 40% of duration (rational expansion)
|
|
205
|
+
Euphoria: 30% of duration (exuberance)
|
|
206
|
+
Profit Taking: 5% of duration (caution period)
|
|
207
|
+
Panic: 5% of duration (crash)
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
**Important:** Euphoria occupies 1/3 of total = source of "lasts too long" impression
|
|
211
|
+
|
|
212
|
+
### Pattern 3: Staged Social Penetration Expansion
|
|
213
|
+
|
|
214
|
+
```
|
|
215
|
+
Phase 1: Experts, early adopters (institutional investors, tech enthusiasts)
|
|
216
|
+
↓ 1-2 years
|
|
217
|
+
Phase 2: Educated class, white-collar workers (doctors, lawyers, salarymen)
|
|
218
|
+
↓ 6-12 months
|
|
219
|
+
Phase 3: General public (taxi drivers, housewives, students)
|
|
220
|
+
↓ 1-3 months
|
|
221
|
+
Peak reached
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
**Lesson:** When Phase 3 detected, 1-3 months remaining
|
|
225
|
+
|
|
226
|
+
### Pattern 4: Media Role
|
|
227
|
+
|
|
228
|
+
**Boom Period:**
|
|
229
|
+
- Cautiously optimistic "expert views"
|
|
230
|
+
- Risks also mentioned
|
|
231
|
+
|
|
232
|
+
**Euphoria Period:**
|
|
233
|
+
- FOMO incitement: "Don't miss out"
|
|
234
|
+
- Over-exposure of success stories
|
|
235
|
+
- Risk warners labeled "outdated"
|
|
236
|
+
|
|
237
|
+
**Panic Period:**
|
|
238
|
+
- Flip to pessimism
|
|
239
|
+
- "Who's to blame" witch hunt
|
|
240
|
+
|
|
241
|
+
### Pattern 5: Price Patterns
|
|
242
|
+
|
|
243
|
+
**Uptrend:**
|
|
244
|
+
```
|
|
245
|
+
Stage 1: Gradual rise (+15-25% annual)
|
|
246
|
+
Stage 2: Acceleration (+40-60% annual)
|
|
247
|
+
Stage 3: Parabolic (100%+ in months)
|
|
248
|
+
↑ Public entry here
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
**Downtrend:**
|
|
252
|
+
```
|
|
253
|
+
Stage 1: Correction (-10-15%) → "buying opportunity" perception
|
|
254
|
+
Stage 2: Failed bounce, double top forms
|
|
255
|
+
Stage 3: Collapse (-50%+) → Panic
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
### Pattern 6: "This Time Is Different" Excuse Patterns
|
|
259
|
+
|
|
260
|
+
| Bubble | "This Time Is Different" Reason | Reality |
|
|
261
|
+
|--------|--------------------------------|---------|
|
|
262
|
+
| Dotcom | Internet revolution, Old Economy over | Growth without profits unsustainable |
|
|
263
|
+
| Housing 2008 | Housing prices never fall, securitization spreads risk | Subprime collapse |
|
|
264
|
+
| Crypto 2017 | End of fiat, governments can't regulate | Regulatory crackdown causes crash |
|
|
265
|
+
| Pandemic | Infinite QE, perpetual zero rates, no inflation | Inflation surge → tightening |
|
|
266
|
+
|
|
267
|
+
**Lesson:** When "this time is different" becomes the mantra, historical repetition is near
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
## Application to Practice
|
|
272
|
+
|
|
273
|
+
### Case Study: Ideal Response During 2017 Crypto Bubble
|
|
274
|
+
|
|
275
|
+
**Premise:** Purchased Bitcoin in January 2017 at $1k with $1,000
|
|
276
|
+
|
|
277
|
+
**Actual Price Progression:**
|
|
278
|
+
- June: $3k (+200%)
|
|
279
|
+
- August: $5k (+400%)
|
|
280
|
+
- November: $10k (+900%)
|
|
281
|
+
- December 17: $19.8k (+1,880%, peak)
|
|
282
|
+
- December 2018: $3.2k (-84% from peak)
|
|
283
|
+
|
|
284
|
+
#### Scenario A: "Perfect Timing" Illusion (Impossible to Execute)
|
|
285
|
+
|
|
286
|
+
Sell everything at $19.8k = $19,800 profit
|
|
287
|
+
|
|
288
|
+
**Problem:** Cannot predict peak in advance, pure luck
|
|
289
|
+
|
|
290
|
+
#### Scenario B: Stair-Step Profit-Taking (Executable)
|
|
291
|
+
|
|
292
|
+
```
|
|
293
|
+
$3k → Sell 25% = $750 (remaining $2,250 invested)
|
|
294
|
+
$5k → Sell 25% = $1,250 (remaining $1,500 invested)
|
|
295
|
+
$10k → Sell 25% = $2,500 (remaining $750 invested)
|
|
296
|
+
$15k → Sell 25% = $3,750 (position fully closed)
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
**Total Profit:** $8,250
|
|
300
|
+
**vs Peak:** 42% (less than half of perfect)
|
|
301
|
+
**But:** Reliably executable, psychologically stable
|
|
302
|
+
|
|
303
|
+
#### Scenario C: ATR Trailing Stop (Executable + Upside Capture)
|
|
304
|
+
|
|
305
|
+
- Early December 2017, ATR (20-day) ≈ $1,500
|
|
306
|
+
- Using coefficient 1.5: Stop = $10,000 - ($1,500 × 1.5) = $7,750
|
|
307
|
+
- December 17 peak $19,800 → Stop updated: $19,800 - $2,250 = $17,550
|
|
308
|
+
- Decline starts → Sell all at $17,550
|
|
309
|
+
|
|
310
|
+
**Total Profit:** $16,550 (-11% from peak exit)
|
|
311
|
+
**Benefits:** Maximum upside capture, early decline exit
|
|
312
|
+
|
|
313
|
+
### Integrated Lessons
|
|
314
|
+
|
|
315
|
+
1. **Abandon "Perfection"**
|
|
316
|
+
Peak selling impossible. Aim for "satisfaction" with stair-step profit-taking
|
|
317
|
+
|
|
318
|
+
2. **Mechanical Rule Superiority**
|
|
319
|
+
ATR trailing eliminates emotion, exits early in bubble collapse
|
|
320
|
+
|
|
321
|
+
3. **Flexibility by Bubble Stage**
|
|
322
|
+
- Boom period: Stair-step profit-taking (conservative)
|
|
323
|
+
- Euphoria period: ATR trailing (aggressive)
|
|
324
|
+
- Panic signs: Immediate exit (defensive)
|
|
325
|
+
|
|
326
|
+
4. **Managing Post-Hoc Regret**
|
|
327
|
+
Evaluation criterion: "secure profit capture" not "could have made more"
|