quantwise 1.2.0 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (362) hide show
  1. package/.claude/skills/README.md +80 -0
  2. package/.claude/skills/backtest-expert/SKILL.md +206 -0
  3. package/.claude/skills/backtest-expert/references/failed_tests.md +236 -0
  4. package/.claude/skills/backtest-expert/references/methodology.md +227 -0
  5. package/.claude/skills/breadth-chart-analyst/SKILL.md +583 -0
  6. package/.claude/skills/breadth-chart-analyst/assets/SP500_Breadth_Index_200MA_8MA.jpeg +0 -0
  7. package/.claude/skills/breadth-chart-analyst/assets/US_Stock_Market_Uptrend_Ratio.jpeg +0 -0
  8. package/.claude/skills/breadth-chart-analyst/assets/breadth_analysis_template.md +558 -0
  9. package/.claude/skills/breadth-chart-analyst/references/breadth_chart_methodology.md +590 -0
  10. package/.claude/skills/canslim-screener/SKILL.md +599 -0
  11. package/.claude/skills/canslim-screener/references/canslim_methodology.md +606 -0
  12. package/.claude/skills/canslim-screener/references/fmp_api_endpoints.md +707 -0
  13. package/.claude/skills/canslim-screener/references/interpretation_guide.md +516 -0
  14. package/.claude/skills/canslim-screener/references/scoring_system.md +597 -0
  15. package/.claude/skills/canslim-screener/scripts/calculators/earnings_calculator.py +343 -0
  16. package/.claude/skills/canslim-screener/scripts/calculators/growth_calculator.py +334 -0
  17. package/.claude/skills/canslim-screener/scripts/calculators/institutional_calculator.py +347 -0
  18. package/.claude/skills/canslim-screener/scripts/calculators/leadership_calculator.py +380 -0
  19. package/.claude/skills/canslim-screener/scripts/calculators/market_calculator.py +244 -0
  20. package/.claude/skills/canslim-screener/scripts/calculators/new_highs_calculator.py +194 -0
  21. package/.claude/skills/canslim-screener/scripts/calculators/supply_demand_calculator.py +221 -0
  22. package/.claude/skills/canslim-screener/scripts/finviz_stock_client.py +227 -0
  23. package/.claude/skills/canslim-screener/scripts/fmp_client.py +393 -0
  24. package/.claude/skills/canslim-screener/scripts/report_generator.py +405 -0
  25. package/.claude/skills/canslim-screener/scripts/scorer.py +625 -0
  26. package/.claude/skills/canslim-screener/scripts/screen_canslim.py +361 -0
  27. package/.claude/skills/canslim-screener/scripts/test_institutional_endpoint.py +109 -0
  28. package/.claude/skills/chart/SKILL.md +20 -0
  29. package/.claude/skills/dividend-growth-pullback-screener/SKILL.md +322 -0
  30. package/.claude/skills/dividend-growth-pullback-screener/references/dividend_growth_compounding.md +400 -0
  31. package/.claude/skills/dividend-growth-pullback-screener/references/fmp_api_guide.md +642 -0
  32. package/.claude/skills/dividend-growth-pullback-screener/references/rsi_oversold_strategy.md +333 -0
  33. package/.claude/skills/dividend-growth-pullback-screener/scripts/screen_dividend_growth_rsi.py +1155 -0
  34. package/.claude/skills/earnings-calendar/SKILL.md +721 -0
  35. package/.claude/skills/earnings-calendar/assets/earnings_report_template.md +102 -0
  36. package/.claude/skills/earnings-calendar/references/fmp_api_guide.md +590 -0
  37. package/.claude/skills/earnings-calendar/scripts/fetch_earnings_fmp.py +443 -0
  38. package/.claude/skills/earnings-calendar/scripts/generate_report.py +366 -0
  39. package/.claude/skills/economic-calendar-fetcher/SKILL.md +365 -0
  40. package/.claude/skills/economic-calendar-fetcher/references/fmp_api_documentation.md +345 -0
  41. package/.claude/skills/economic-calendar-fetcher/scripts/get_economic_calendar.py +267 -0
  42. package/.claude/skills/ftd-detector/SKILL.md +147 -0
  43. package/.claude/skills/ftd-detector/references/ftd_methodology.md +188 -0
  44. package/.claude/skills/ftd-detector/references/post_ftd_guide.md +185 -0
  45. package/.claude/skills/ftd-detector/scripts/fmp_client.py +158 -0
  46. package/.claude/skills/ftd-detector/scripts/ftd_detector.py +280 -0
  47. package/.claude/skills/ftd-detector/scripts/post_ftd_monitor.py +404 -0
  48. package/.claude/skills/ftd-detector/scripts/rally_tracker.py +508 -0
  49. package/.claude/skills/ftd-detector/scripts/report_generator.py +341 -0
  50. package/.claude/skills/ftd-detector/scripts/tests/conftest.py +9 -0
  51. package/.claude/skills/ftd-detector/scripts/tests/helpers.py +107 -0
  52. package/.claude/skills/ftd-detector/scripts/tests/test_post_ftd_monitor.py +311 -0
  53. package/.claude/skills/ftd-detector/scripts/tests/test_rally_tracker.py +302 -0
  54. package/.claude/skills/institutional-flow-tracker/README.md +362 -0
  55. package/.claude/skills/institutional-flow-tracker/SKILL.md +357 -0
  56. package/.claude/skills/institutional-flow-tracker/references/13f_filings_guide.md +383 -0
  57. package/.claude/skills/institutional-flow-tracker/references/institutional_investor_types.md +580 -0
  58. package/.claude/skills/institutional-flow-tracker/references/interpretation_framework.md +573 -0
  59. package/.claude/skills/institutional-flow-tracker/scripts/analyze_single_stock.py +457 -0
  60. package/.claude/skills/institutional-flow-tracker/scripts/track_institution_portfolio.py +108 -0
  61. package/.claude/skills/institutional-flow-tracker/scripts/track_institutional_flow.py +450 -0
  62. package/.claude/skills/macro-regime-detector/SKILL.md +86 -0
  63. package/.claude/skills/macro-regime-detector/references/historical_regimes.md +124 -0
  64. package/.claude/skills/macro-regime-detector/references/indicator_interpretation_guide.md +144 -0
  65. package/.claude/skills/macro-regime-detector/references/regime_detection_methodology.md +138 -0
  66. package/.claude/skills/macro-regime-detector/scripts/calculators/__init__.py +1 -0
  67. package/.claude/skills/macro-regime-detector/scripts/calculators/concentration_calculator.py +165 -0
  68. package/.claude/skills/macro-regime-detector/scripts/calculators/credit_conditions_calculator.py +124 -0
  69. package/.claude/skills/macro-regime-detector/scripts/calculators/equity_bond_calculator.py +198 -0
  70. package/.claude/skills/macro-regime-detector/scripts/calculators/sector_rotation_calculator.py +123 -0
  71. package/.claude/skills/macro-regime-detector/scripts/calculators/size_factor_calculator.py +131 -0
  72. package/.claude/skills/macro-regime-detector/scripts/calculators/utils.py +347 -0
  73. package/.claude/skills/macro-regime-detector/scripts/calculators/yield_curve_calculator.py +279 -0
  74. package/.claude/skills/macro-regime-detector/scripts/fmp_client.py +134 -0
  75. package/.claude/skills/macro-regime-detector/scripts/macro_regime_detector.py +278 -0
  76. package/.claude/skills/macro-regime-detector/scripts/report_generator.py +327 -0
  77. package/.claude/skills/macro-regime-detector/scripts/scorer.py +574 -0
  78. package/.claude/skills/macro-regime-detector/scripts/tests/conftest.py +9 -0
  79. package/.claude/skills/macro-regime-detector/scripts/tests/test_concentration.py +78 -0
  80. package/.claude/skills/macro-regime-detector/scripts/tests/test_credit_conditions.py +59 -0
  81. package/.claude/skills/macro-regime-detector/scripts/tests/test_equity_bond.py +74 -0
  82. package/.claude/skills/macro-regime-detector/scripts/tests/test_helpers.py +90 -0
  83. package/.claude/skills/macro-regime-detector/scripts/tests/test_scorer.py +439 -0
  84. package/.claude/skills/macro-regime-detector/scripts/tests/test_sector_rotation.py +78 -0
  85. package/.claude/skills/macro-regime-detector/scripts/tests/test_size_factor.py +59 -0
  86. package/.claude/skills/macro-regime-detector/scripts/tests/test_utils.py +126 -0
  87. package/.claude/skills/macro-regime-detector/scripts/tests/test_yield_curve.py +64 -0
  88. package/.claude/skills/market-breadth-analyzer/SKILL.md +121 -0
  89. package/.claude/skills/market-breadth-analyzer/references/breadth_analysis_methodology.md +168 -0
  90. package/.claude/skills/market-breadth-analyzer/scripts/calculators/__init__.py +1 -0
  91. package/.claude/skills/market-breadth-analyzer/scripts/calculators/bearish_signal_calculator.py +150 -0
  92. package/.claude/skills/market-breadth-analyzer/scripts/calculators/cycle_calculator.py +168 -0
  93. package/.claude/skills/market-breadth-analyzer/scripts/calculators/divergence_calculator.py +119 -0
  94. package/.claude/skills/market-breadth-analyzer/scripts/calculators/historical_context_calculator.py +120 -0
  95. package/.claude/skills/market-breadth-analyzer/scripts/calculators/ma_crossover_calculator.py +115 -0
  96. package/.claude/skills/market-breadth-analyzer/scripts/calculators/trend_level_calculator.py +103 -0
  97. package/.claude/skills/market-breadth-analyzer/scripts/csv_client.py +225 -0
  98. package/.claude/skills/market-breadth-analyzer/scripts/market_breadth_analyzer.py +307 -0
  99. package/.claude/skills/market-breadth-analyzer/scripts/report_generator.py +330 -0
  100. package/.claude/skills/market-breadth-analyzer/scripts/scorer.py +271 -0
  101. package/.claude/skills/market-environment-analysis/SKILL.md +139 -0
  102. package/.claude/skills/market-environment-analysis/references/analysis_patterns.md +124 -0
  103. package/.claude/skills/market-environment-analysis/references/indicators.md +99 -0
  104. package/.claude/skills/market-environment-analysis/scripts/market_utils.py +127 -0
  105. package/.claude/skills/market-news-analyst/SKILL.md +714 -0
  106. package/.claude/skills/market-news-analyst/references/corporate_news_impact.md +446 -0
  107. package/.claude/skills/market-news-analyst/references/geopolitical_commodity_correlations.md +499 -0
  108. package/.claude/skills/market-news-analyst/references/market_event_patterns.md +393 -0
  109. package/.claude/skills/market-news-analyst/references/trusted_news_sources.md +510 -0
  110. package/.claude/skills/market-top-detector/SKILL.md +159 -0
  111. package/.claude/skills/market-top-detector/references/distribution_day_guide.md +100 -0
  112. package/.claude/skills/market-top-detector/references/historical_tops.md +142 -0
  113. package/.claude/skills/market-top-detector/references/market_top_methodology.md +167 -0
  114. package/.claude/skills/market-top-detector/scripts/calculators/__init__.py +17 -0
  115. package/.claude/skills/market-top-detector/scripts/calculators/breadth_calculator.py +116 -0
  116. package/.claude/skills/market-top-detector/scripts/calculators/defensive_rotation_calculator.py +127 -0
  117. package/.claude/skills/market-top-detector/scripts/calculators/distribution_day_calculator.py +161 -0
  118. package/.claude/skills/market-top-detector/scripts/calculators/index_technical_calculator.py +254 -0
  119. package/.claude/skills/market-top-detector/scripts/calculators/leading_stock_calculator.py +198 -0
  120. package/.claude/skills/market-top-detector/scripts/calculators/sentiment_calculator.py +213 -0
  121. package/.claude/skills/market-top-detector/scripts/fmp_client.py +158 -0
  122. package/.claude/skills/market-top-detector/scripts/market_top_detector.py +349 -0
  123. package/.claude/skills/market-top-detector/scripts/report_generator.py +314 -0
  124. package/.claude/skills/market-top-detector/scripts/scorer.py +473 -0
  125. package/.claude/skills/market-top-detector/scripts/tests/conftest.py +9 -0
  126. package/.claude/skills/market-top-detector/scripts/tests/helpers.py +49 -0
  127. package/.claude/skills/market-top-detector/scripts/tests/test_breadth.py +62 -0
  128. package/.claude/skills/market-top-detector/scripts/tests/test_defensive_rotation.py +56 -0
  129. package/.claude/skills/market-top-detector/scripts/tests/test_distribution_day.py +92 -0
  130. package/.claude/skills/market-top-detector/scripts/tests/test_index_technical.py +73 -0
  131. package/.claude/skills/market-top-detector/scripts/tests/test_leading_stock.py +57 -0
  132. package/.claude/skills/market-top-detector/scripts/tests/test_scorer.py +180 -0
  133. package/.claude/skills/market-top-detector/scripts/tests/test_sentiment.py +64 -0
  134. package/.claude/skills/options-strategy-advisor/README.md +469 -0
  135. package/.claude/skills/options-strategy-advisor/SKILL.md +959 -0
  136. package/.claude/skills/options-strategy-advisor/scripts/black_scholes.py +495 -0
  137. package/.claude/skills/pair-trade-screener/README.md +389 -0
  138. package/.claude/skills/pair-trade-screener/SKILL.md +622 -0
  139. package/.claude/skills/pair-trade-screener/references/cointegration_guide.md +745 -0
  140. package/.claude/skills/pair-trade-screener/references/methodology.md +853 -0
  141. package/.claude/skills/pair-trade-screener/scripts/analyze_spread.py +394 -0
  142. package/.claude/skills/pair-trade-screener/scripts/find_pairs.py +535 -0
  143. package/.claude/skills/portfolio-manager/README.md +394 -0
  144. package/.claude/skills/portfolio-manager/SKILL.md +750 -0
  145. package/.claude/skills/portfolio-manager/references/alpaca-mcp-setup.md +367 -0
  146. package/.claude/skills/portfolio-manager/references/asset-allocation.md +502 -0
  147. package/.claude/skills/portfolio-manager/references/diversification-principles.md +553 -0
  148. package/.claude/skills/portfolio-manager/references/portfolio-risk-metrics.md +603 -0
  149. package/.claude/skills/portfolio-manager/references/position-evaluation.md +477 -0
  150. package/.claude/skills/portfolio-manager/references/rebalancing-strategies.md +715 -0
  151. package/.claude/skills/portfolio-manager/references/risk-profile-questionnaire.md +608 -0
  152. package/.claude/skills/portfolio-manager/references/target-allocations.md +558 -0
  153. package/.claude/skills/portfolio-manager/scripts/test_alpaca_connection.py +286 -0
  154. package/.claude/skills/scenario-analyzer/SKILL.md +317 -0
  155. package/.claude/skills/scenario-analyzer/references/headline_event_patterns.md +264 -0
  156. package/.claude/skills/scenario-analyzer/references/scenario_playbooks.md +320 -0
  157. package/.claude/skills/scenario-analyzer/references/sector_sensitivity_matrix.md +217 -0
  158. package/.claude/skills/sector-analyst/SKILL.md +206 -0
  159. package/.claude/skills/sector-analyst/assets/industory_performance_1.jpeg +0 -0
  160. package/.claude/skills/sector-analyst/assets/industory_performance_2.jpeg +0 -0
  161. package/.claude/skills/sector-analyst/assets/sector_performance.jpeg +0 -0
  162. package/.claude/skills/sector-analyst/references/sector_rotation.md +170 -0
  163. package/.claude/skills/stanley-druckenmiller-investment/SKILL.md +84 -0
  164. package/.claude/skills/stanley-druckenmiller-investment/references/case-studies.md +148 -0
  165. package/.claude/skills/stanley-druckenmiller-investment/references/investment-philosophy.md +80 -0
  166. package/.claude/skills/stanley-druckenmiller-investment/references/market-analysis-guide.md +146 -0
  167. package/.claude/skills/stock/NOTION_SETUP.md +33 -0
  168. package/.claude/skills/stock/SKILL.md +38 -0
  169. package/.claude/skills/technical-analyst/SKILL.md +238 -0
  170. package/.claude/skills/technical-analyst/assets/analysis_template.md +183 -0
  171. package/.claude/skills/technical-analyst/references/technical_analysis_framework.md +282 -0
  172. package/.claude/skills/theme-detector/SKILL.md +320 -0
  173. package/.claude/skills/theme-detector/assets/report_template.md +155 -0
  174. package/.claude/skills/theme-detector/references/cross_sector_themes.md +252 -0
  175. package/.claude/skills/theme-detector/references/finviz_industry_codes.md +403 -0
  176. package/.claude/skills/theme-detector/references/thematic_etf_catalog.md +333 -0
  177. package/.claude/skills/theme-detector/references/theme_detection_methodology.md +430 -0
  178. package/.claude/skills/theme-detector/scripts/calculators/__init__.py +1 -0
  179. package/.claude/skills/theme-detector/scripts/calculators/heat_calculator.py +123 -0
  180. package/.claude/skills/theme-detector/scripts/calculators/industry_ranker.py +98 -0
  181. package/.claude/skills/theme-detector/scripts/calculators/lifecycle_calculator.py +172 -0
  182. package/.claude/skills/theme-detector/scripts/calculators/theme_classifier.py +195 -0
  183. package/.claude/skills/theme-detector/scripts/calculators/theme_discoverer.py +280 -0
  184. package/.claude/skills/theme-detector/scripts/config_loader.py +142 -0
  185. package/.claude/skills/theme-detector/scripts/default_theme_config.py +254 -0
  186. package/.claude/skills/theme-detector/scripts/etf_scanner.py +609 -0
  187. package/.claude/skills/theme-detector/scripts/finviz_performance_client.py +131 -0
  188. package/.claude/skills/theme-detector/scripts/report_generator.py +490 -0
  189. package/.claude/skills/theme-detector/scripts/representative_stock_selector.py +673 -0
  190. package/.claude/skills/theme-detector/scripts/scorer.py +87 -0
  191. package/.claude/skills/theme-detector/scripts/tests/README.md +21 -0
  192. package/.claude/skills/theme-detector/scripts/tests/conftest.py +9 -0
  193. package/.claude/skills/theme-detector/scripts/tests/test_config_loader.py +239 -0
  194. package/.claude/skills/theme-detector/scripts/tests/test_etf_scanner.py +810 -0
  195. package/.claude/skills/theme-detector/scripts/tests/test_heat_calculator.py +245 -0
  196. package/.claude/skills/theme-detector/scripts/tests/test_industry_ranker.py +256 -0
  197. package/.claude/skills/theme-detector/scripts/tests/test_lifecycle_calculator.py +301 -0
  198. package/.claude/skills/theme-detector/scripts/tests/test_report_generator.py +624 -0
  199. package/.claude/skills/theme-detector/scripts/tests/test_representative_stock_selector.py +898 -0
  200. package/.claude/skills/theme-detector/scripts/tests/test_scorer.py +185 -0
  201. package/.claude/skills/theme-detector/scripts/tests/test_theme_classifier.py +534 -0
  202. package/.claude/skills/theme-detector/scripts/tests/test_theme_detector_e2e.py +467 -0
  203. package/.claude/skills/theme-detector/scripts/tests/test_theme_discoverer.py +458 -0
  204. package/.claude/skills/theme-detector/scripts/tests/test_uptrend_client.py +76 -0
  205. package/.claude/skills/theme-detector/scripts/theme_detector.py +815 -0
  206. package/.claude/skills/theme-detector/scripts/themes.yaml +168 -0
  207. package/.claude/skills/theme-detector/scripts/uptrend_client.py +241 -0
  208. package/.claude/skills/uptrend-analyzer/SKILL.md +108 -0
  209. package/.claude/skills/uptrend-analyzer/references/uptrend_methodology.md +215 -0
  210. package/.claude/skills/uptrend-analyzer/scripts/calculators/__init__.py +1 -0
  211. package/.claude/skills/uptrend-analyzer/scripts/calculators/historical_context_calculator.py +122 -0
  212. package/.claude/skills/uptrend-analyzer/scripts/calculators/market_breadth_calculator.py +145 -0
  213. package/.claude/skills/uptrend-analyzer/scripts/calculators/momentum_calculator.py +183 -0
  214. package/.claude/skills/uptrend-analyzer/scripts/calculators/sector_participation_calculator.py +204 -0
  215. package/.claude/skills/uptrend-analyzer/scripts/calculators/sector_rotation_calculator.py +218 -0
  216. package/.claude/skills/uptrend-analyzer/scripts/data_fetcher.py +236 -0
  217. package/.claude/skills/uptrend-analyzer/scripts/report_generator.py +329 -0
  218. package/.claude/skills/uptrend-analyzer/scripts/scorer.py +276 -0
  219. package/.claude/skills/uptrend-analyzer/scripts/uptrend_analyzer.py +219 -0
  220. package/.claude/skills/us-market-bubble-detector/CHANGELOG.md +118 -0
  221. package/.claude/skills/us-market-bubble-detector/SKILL.md +545 -0
  222. package/.claude/skills/us-market-bubble-detector/references/bubble_framework.md +335 -0
  223. package/.claude/skills/us-market-bubble-detector/references/historical_cases.md +327 -0
  224. package/.claude/skills/us-market-bubble-detector/references/implementation_guide.md +473 -0
  225. package/.claude/skills/us-market-bubble-detector/references/quick_reference.md +354 -0
  226. package/.claude/skills/us-market-bubble-detector/references/quick_reference_en.md +342 -0
  227. package/.claude/skills/us-market-bubble-detector/scripts/bubble_scorer.py +309 -0
  228. package/.claude/skills/us-stock-analysis/SKILL.md +294 -0
  229. package/.claude/skills/us-stock-analysis/references/financial-metrics.md +172 -0
  230. package/.claude/skills/us-stock-analysis/references/fundamental-analysis.md +129 -0
  231. package/.claude/skills/us-stock-analysis/references/report-template.md +207 -0
  232. package/.claude/skills/us-stock-analysis/references/technical-analysis.md +93 -0
  233. package/.claude/skills/value-dividend-screener/SKILL.md +562 -0
  234. package/.claude/skills/value-dividend-screener/references/fmp_api_guide.md +348 -0
  235. package/.claude/skills/value-dividend-screener/references/screening_methodology.md +315 -0
  236. package/.claude/skills/value-dividend-screener/scripts/screen_dividend_stocks.py +1138 -0
  237. package/.claude/skills/vcp-screener/SKILL.md +79 -0
  238. package/.claude/skills/vcp-screener/references/fmp_api_endpoints.md +45 -0
  239. package/.claude/skills/vcp-screener/references/scoring_system.md +154 -0
  240. package/.claude/skills/vcp-screener/references/vcp_methodology.md +124 -0
  241. package/.claude/skills/vcp-screener/scripts/calculators/__init__.py +1 -0
  242. package/.claude/skills/vcp-screener/scripts/calculators/pivot_proximity_calculator.py +139 -0
  243. package/.claude/skills/vcp-screener/scripts/calculators/relative_strength_calculator.py +161 -0
  244. package/.claude/skills/vcp-screener/scripts/calculators/trend_template_calculator.py +228 -0
  245. package/.claude/skills/vcp-screener/scripts/calculators/vcp_pattern_calculator.py +322 -0
  246. package/.claude/skills/vcp-screener/scripts/calculators/volume_pattern_calculator.py +121 -0
  247. package/.claude/skills/vcp-screener/scripts/fmp_client.py +162 -0
  248. package/.claude/skills/vcp-screener/scripts/report_generator.py +317 -0
  249. package/.claude/skills/vcp-screener/scripts/scorer.py +155 -0
  250. package/.claude/skills/vcp-screener/scripts/screen_vcp.py +536 -0
  251. package/.claude/skills/vcp-screener/scripts/tests/__init__.py +0 -0
  252. package/.claude/skills/vcp-screener/scripts/tests/conftest.py +9 -0
  253. package/.claude/skills/vcp-screener/scripts/tests/test_vcp_screener.py +834 -0
  254. package/.claude/skills/weekly-trade-strategy/.claude/agents/druckenmiller-strategy-planner.md +300 -0
  255. package/.claude/skills/weekly-trade-strategy/.claude/agents/market-news-analyzer.md +239 -0
  256. package/.claude/skills/weekly-trade-strategy/.claude/agents/technical-market-analyst.md +187 -0
  257. package/.claude/skills/weekly-trade-strategy/.claude/agents/us-market-analyst.md +218 -0
  258. package/.claude/skills/weekly-trade-strategy/.claude/agents/weekly-trade-blog-writer.md +318 -0
  259. package/.claude/skills/weekly-trade-strategy/.claude/skills/breadth-chart-analyst/SKILL.md +662 -0
  260. package/.claude/skills/weekly-trade-strategy/.claude/skills/breadth-chart-analyst/assets/SP500_Breadth_Index_200MA_8MA.jpeg +0 -0
  261. package/.claude/skills/weekly-trade-strategy/.claude/skills/breadth-chart-analyst/assets/US_Stock_Market_Uptrend_Ratio.jpeg +0 -0
  262. package/.claude/skills/weekly-trade-strategy/.claude/skills/breadth-chart-analyst/assets/breadth_analysis_template.md +558 -0
  263. package/.claude/skills/weekly-trade-strategy/.claude/skills/breadth-chart-analyst/references/breadth_chart_methodology.md +590 -0
  264. package/.claude/skills/weekly-trade-strategy/.claude/skills/earnings-calendar/SKILL.md +721 -0
  265. package/.claude/skills/weekly-trade-strategy/.claude/skills/earnings-calendar/assets/earnings_report_template.md +102 -0
  266. package/.claude/skills/weekly-trade-strategy/.claude/skills/earnings-calendar/earnings_calendar_2025-11-02.md +447 -0
  267. package/.claude/skills/weekly-trade-strategy/.claude/skills/earnings-calendar/references/fmp_api_guide.md +590 -0
  268. package/.claude/skills/weekly-trade-strategy/.claude/skills/earnings-calendar/scripts/fetch_earnings_fmp.py +443 -0
  269. package/.claude/skills/weekly-trade-strategy/.claude/skills/earnings-calendar/scripts/generate_report.py +366 -0
  270. package/.claude/skills/weekly-trade-strategy/.claude/skills/economic-calendar-fetcher/SKILL.md +365 -0
  271. package/.claude/skills/weekly-trade-strategy/.claude/skills/economic-calendar-fetcher/references/fmp_api_documentation.md +345 -0
  272. package/.claude/skills/weekly-trade-strategy/.claude/skills/economic-calendar-fetcher/scripts/get_economic_calendar.py +267 -0
  273. package/.claude/skills/weekly-trade-strategy/.claude/skills/market-environment-analysis/SKILL.md +139 -0
  274. package/.claude/skills/weekly-trade-strategy/.claude/skills/market-environment-analysis/references/analysis_patterns.md +124 -0
  275. package/.claude/skills/weekly-trade-strategy/.claude/skills/market-environment-analysis/references/indicators.md +99 -0
  276. package/.claude/skills/weekly-trade-strategy/.claude/skills/market-environment-analysis/scripts/market_utils.py +127 -0
  277. package/.claude/skills/weekly-trade-strategy/.claude/skills/market-news-analyst/SKILL.md +714 -0
  278. package/.claude/skills/weekly-trade-strategy/.claude/skills/market-news-analyst/references/corporate_news_impact.md +446 -0
  279. package/.claude/skills/weekly-trade-strategy/.claude/skills/market-news-analyst/references/geopolitical_commodity_correlations.md +499 -0
  280. package/.claude/skills/weekly-trade-strategy/.claude/skills/market-news-analyst/references/market_event_patterns.md +393 -0
  281. package/.claude/skills/weekly-trade-strategy/.claude/skills/market-news-analyst/references/trusted_news_sources.md +510 -0
  282. package/.claude/skills/weekly-trade-strategy/.claude/skills/sector-analyst/SKILL.md +206 -0
  283. package/.claude/skills/weekly-trade-strategy/.claude/skills/sector-analyst/assets/industory_performance_1.jpeg +0 -0
  284. package/.claude/skills/weekly-trade-strategy/.claude/skills/sector-analyst/assets/industory_performance_2.jpeg +0 -0
  285. package/.claude/skills/weekly-trade-strategy/.claude/skills/sector-analyst/assets/sector_performance.jpeg +0 -0
  286. package/.claude/skills/weekly-trade-strategy/.claude/skills/sector-analyst/references/sector_rotation.md +170 -0
  287. package/.claude/skills/weekly-trade-strategy/.claude/skills/stanley-druckenmiller-investment/SKILL.md +84 -0
  288. package/.claude/skills/weekly-trade-strategy/.claude/skills/stanley-druckenmiller-investment/references/case-studies.md +148 -0
  289. package/.claude/skills/weekly-trade-strategy/.claude/skills/stanley-druckenmiller-investment/references/investment-philosophy.md +80 -0
  290. package/.claude/skills/weekly-trade-strategy/.claude/skills/stanley-druckenmiller-investment/references/market-analysis-guide.md +146 -0
  291. package/.claude/skills/weekly-trade-strategy/.claude/skills/technical-analyst/SKILL.md +238 -0
  292. package/.claude/skills/weekly-trade-strategy/.claude/skills/technical-analyst/assets/analysis_template.md +183 -0
  293. package/.claude/skills/weekly-trade-strategy/.claude/skills/technical-analyst/references/technical_analysis_framework.md +282 -0
  294. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-market-bubble-detector/CHANGELOG.md +118 -0
  295. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-market-bubble-detector/SKILL.md +545 -0
  296. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-market-bubble-detector/references/bubble_framework.md +335 -0
  297. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-market-bubble-detector/references/historical_cases.md +327 -0
  298. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-market-bubble-detector/references/implementation_guide.md +473 -0
  299. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-market-bubble-detector/references/quick_reference.md +354 -0
  300. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-market-bubble-detector/references/quick_reference_en.md +342 -0
  301. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-market-bubble-detector/scripts/bubble_scorer.py +309 -0
  302. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-stock-analysis/SKILL.md +294 -0
  303. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-stock-analysis/references/financial-metrics.md +172 -0
  304. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-stock-analysis/references/fundamental-analysis.md +129 -0
  305. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-stock-analysis/references/report-template.md +207 -0
  306. package/.claude/skills/weekly-trade-strategy/.claude/skills/us-stock-analysis/references/technical-analysis.md +93 -0
  307. package/.claude/skills/weekly-trade-strategy/CLAUDE.md +454 -0
  308. package/.claude/skills/weekly-trade-strategy/README.md +287 -0
  309. package/.claude/skills/weekly-trade-strategy/blogs/.gitkeep +0 -0
  310. package/.claude/skills/weekly-trade-strategy/charts/.gitkeep +0 -0
  311. package/.claude/skills/weekly-trade-strategy/earnings_data.json +10054 -0
  312. package/.claude/skills/weekly-trade-strategy/skills/breadth-chart-analyst/SKILL.md +662 -0
  313. package/.claude/skills/weekly-trade-strategy/skills/breadth-chart-analyst/assets/SP500_Breadth_Index_200MA_8MA.jpeg +0 -0
  314. package/.claude/skills/weekly-trade-strategy/skills/breadth-chart-analyst/assets/US_Stock_Market_Uptrend_Ratio.jpeg +0 -0
  315. package/.claude/skills/weekly-trade-strategy/skills/breadth-chart-analyst/assets/breadth_analysis_template.md +558 -0
  316. package/.claude/skills/weekly-trade-strategy/skills/breadth-chart-analyst/references/breadth_chart_methodology.md +590 -0
  317. package/.claude/skills/weekly-trade-strategy/skills/earnings-calendar/SKILL.md +721 -0
  318. package/.claude/skills/weekly-trade-strategy/skills/earnings-calendar/assets/earnings_report_template.md +102 -0
  319. package/.claude/skills/weekly-trade-strategy/skills/earnings-calendar/earnings_calendar_2025-11-02.md +447 -0
  320. package/.claude/skills/weekly-trade-strategy/skills/earnings-calendar/references/fmp_api_guide.md +590 -0
  321. package/.claude/skills/weekly-trade-strategy/skills/earnings-calendar/scripts/fetch_earnings_fmp.py +443 -0
  322. package/.claude/skills/weekly-trade-strategy/skills/earnings-calendar/scripts/generate_report.py +366 -0
  323. package/.claude/skills/weekly-trade-strategy/skills/economic-calendar-fetcher/SKILL.md +365 -0
  324. package/.claude/skills/weekly-trade-strategy/skills/economic-calendar-fetcher/references/fmp_api_documentation.md +345 -0
  325. package/.claude/skills/weekly-trade-strategy/skills/economic-calendar-fetcher/scripts/get_economic_calendar.py +267 -0
  326. package/.claude/skills/weekly-trade-strategy/skills/market-environment-analysis/SKILL.md +139 -0
  327. package/.claude/skills/weekly-trade-strategy/skills/market-environment-analysis/references/analysis_patterns.md +124 -0
  328. package/.claude/skills/weekly-trade-strategy/skills/market-environment-analysis/references/indicators.md +99 -0
  329. package/.claude/skills/weekly-trade-strategy/skills/market-environment-analysis/scripts/market_utils.py +127 -0
  330. package/.claude/skills/weekly-trade-strategy/skills/market-news-analyst/SKILL.md +714 -0
  331. package/.claude/skills/weekly-trade-strategy/skills/market-news-analyst/references/corporate_news_impact.md +446 -0
  332. package/.claude/skills/weekly-trade-strategy/skills/market-news-analyst/references/geopolitical_commodity_correlations.md +499 -0
  333. package/.claude/skills/weekly-trade-strategy/skills/market-news-analyst/references/market_event_patterns.md +393 -0
  334. package/.claude/skills/weekly-trade-strategy/skills/market-news-analyst/references/trusted_news_sources.md +510 -0
  335. package/.claude/skills/weekly-trade-strategy/skills/sector-analyst/SKILL.md +206 -0
  336. package/.claude/skills/weekly-trade-strategy/skills/sector-analyst/assets/industory_performance_1.jpeg +0 -0
  337. package/.claude/skills/weekly-trade-strategy/skills/sector-analyst/assets/industory_performance_2.jpeg +0 -0
  338. package/.claude/skills/weekly-trade-strategy/skills/sector-analyst/assets/sector_performance.jpeg +0 -0
  339. package/.claude/skills/weekly-trade-strategy/skills/sector-analyst/references/sector_rotation.md +170 -0
  340. package/.claude/skills/weekly-trade-strategy/skills/stanley-druckenmiller-investment/SKILL.md +84 -0
  341. package/.claude/skills/weekly-trade-strategy/skills/stanley-druckenmiller-investment/references/case-studies.md +148 -0
  342. package/.claude/skills/weekly-trade-strategy/skills/stanley-druckenmiller-investment/references/investment-philosophy.md +80 -0
  343. package/.claude/skills/weekly-trade-strategy/skills/stanley-druckenmiller-investment/references/market-analysis-guide.md +146 -0
  344. package/.claude/skills/weekly-trade-strategy/skills/technical-analyst/SKILL.md +238 -0
  345. package/.claude/skills/weekly-trade-strategy/skills/technical-analyst/assets/analysis_template.md +183 -0
  346. package/.claude/skills/weekly-trade-strategy/skills/technical-analyst/references/technical_analysis_framework.md +282 -0
  347. package/.claude/skills/weekly-trade-strategy/skills/us-market-bubble-detector/CHANGELOG.md +118 -0
  348. package/.claude/skills/weekly-trade-strategy/skills/us-market-bubble-detector/SKILL.md +545 -0
  349. package/.claude/skills/weekly-trade-strategy/skills/us-market-bubble-detector/references/bubble_framework.md +335 -0
  350. package/.claude/skills/weekly-trade-strategy/skills/us-market-bubble-detector/references/historical_cases.md +327 -0
  351. package/.claude/skills/weekly-trade-strategy/skills/us-market-bubble-detector/references/implementation_guide.md +473 -0
  352. package/.claude/skills/weekly-trade-strategy/skills/us-market-bubble-detector/references/quick_reference.md +354 -0
  353. package/.claude/skills/weekly-trade-strategy/skills/us-market-bubble-detector/references/quick_reference_en.md +342 -0
  354. package/.claude/skills/weekly-trade-strategy/skills/us-market-bubble-detector/scripts/bubble_scorer.py +309 -0
  355. package/.claude/skills/weekly-trade-strategy/skills/us-stock-analysis/SKILL.md +294 -0
  356. package/.claude/skills/weekly-trade-strategy/skills/us-stock-analysis/references/financial-metrics.md +172 -0
  357. package/.claude/skills/weekly-trade-strategy/skills/us-stock-analysis/references/fundamental-analysis.md +129 -0
  358. package/.claude/skills/weekly-trade-strategy/skills/us-stock-analysis/references/report-template.md +207 -0
  359. package/.claude/skills/weekly-trade-strategy/skills/us-stock-analysis/references/technical-analysis.md +93 -0
  360. package/.mcp.json +3 -0
  361. package/cli.mjs +16 -16
  362. package/package.json +4 -2
@@ -0,0 +1,309 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Bubble-O-Meter: 多维度评估美国股市泡沫程度的脚本
4
+
5
+ 8个指标各评0-2分,合计(0-16分)判定泡沫程度:
6
+ - 0-4: 正常区
7
+ - 5-8: 警戒区
8
+ - 9-12: 狂热区
9
+ - 13-16: 临界区
10
+
11
+ 使用方法:
12
+ python bubble_scorer.py --ticker SPY --period 1y
13
+ """
14
+
15
+ import argparse
16
+ import json
17
+ from datetime import datetime, timedelta
18
+ from typing import Dict, List, Tuple
19
+
20
+
21
+ class BubbleScorer:
22
+ """泡沫评分系统"""
23
+
24
+ def __init__(self):
25
+ self.indicators = {
26
+ "mass_penetration": {
27
+ "name": "大众渗透度",
28
+ "weight": 2,
29
+ "description": "非投资者群体的推荐和提及"
30
+ },
31
+ "media_saturation": {
32
+ "name": "媒体饱和度",
33
+ "weight": 2,
34
+ "description": "搜索、社交媒体、媒体曝光的急剧上升"
35
+ },
36
+ "new_accounts": {
37
+ "name": "新增入场",
38
+ "weight": 2,
39
+ "description": "开户数和资金流入的加速"
40
+ },
41
+ "new_issuance": {
42
+ "name": "新发行泛滥",
43
+ "weight": 2,
44
+ "description": "IPO/SPAC/相关产品的泛滥"
45
+ },
46
+ "leverage": {
47
+ "name": "杠杆",
48
+ "weight": 2,
49
+ "description": "保证金、信用、融资利率的偏离"
50
+ },
51
+ "price_acceleration": {
52
+ "name": "价格加速度",
53
+ "weight": 2,
54
+ "description": "收益率达到历史分布上游"
55
+ },
56
+ "valuation_disconnect": {
57
+ "name": "估值脱离",
58
+ "weight": 2,
59
+ "description": "基本面解释完全依赖叙事"
60
+ },
61
+ "breadth_expansion": {
62
+ "name": "相关性与广度",
63
+ "weight": 2,
64
+ "description": "低质量个股也全面上涨"
65
+ }
66
+ }
67
+
68
+ def calculate_score(self, scores: Dict[str, int]) -> Dict:
69
+ """
70
+ 从各指标分数计算综合评估
71
+
72
+ Args:
73
+ scores: 各指标分数字典 (0-2分)
74
+
75
+ Returns:
76
+ 评估结果字典
77
+ """
78
+ total_score = sum(scores.values())
79
+ max_score = len(self.indicators) * 2
80
+
81
+ # 泡沫阶段判定
82
+ if total_score <= 4:
83
+ phase = "正常区"
84
+ risk_level = "低"
85
+ action = "继续正常投资策略"
86
+ elif total_score <= 8:
87
+ phase = "警戒区"
88
+ risk_level = "中"
89
+ action = "开始部分止盈,缩小新仓位规模"
90
+ elif total_score <= 12:
91
+ phase = "狂热区"
92
+ risk_level = "高"
93
+ action = "加速阶梯式止盈,严格ATR追踪止损,总风险预算削减30-50%"
94
+ else:
95
+ phase = "临界区"
96
+ risk_level = "极高"
97
+ action = "大幅止盈或全额对冲,停止新入场,确认反转后考虑做空仓位"
98
+
99
+ # Minsky阶段估计
100
+ minsky_phase = self._estimate_minsky_phase(scores, total_score)
101
+
102
+ return {
103
+ "timestamp": datetime.now().isoformat(),
104
+ "total_score": total_score,
105
+ "max_score": max_score,
106
+ "percentage": round(total_score / max_score * 100, 1),
107
+ "phase": phase,
108
+ "risk_level": risk_level,
109
+ "minsky_phase": minsky_phase,
110
+ "recommended_action": action,
111
+ "indicator_scores": scores,
112
+ "detailed_indicators": self._format_indicator_details(scores)
113
+ }
114
+
115
+ def _estimate_minsky_phase(self, scores: Dict[str, int], total: int) -> str:
116
+ """Minsky/Kindleberger阶段估计"""
117
+ mass_pen = scores.get("mass_penetration", 0)
118
+ media = scores.get("media_saturation", 0)
119
+ price_acc = scores.get("price_acceleration", 0)
120
+
121
+ if total <= 4:
122
+ return "Displacement/Early Boom (触发/初期扩张)"
123
+ elif total <= 8:
124
+ if media >= 1 and price_acc >= 1:
125
+ return "Boom (扩张期)"
126
+ else:
127
+ return "Displacement/Early Boom (触发/初期扩张)"
128
+ elif total <= 12:
129
+ if mass_pen >= 2 and media >= 2:
130
+ return "Euphoria (狂热期) - FOMO已制度化"
131
+ else:
132
+ return "Late Boom/Early Euphoria (扩张后期/狂热初期)"
133
+ else:
134
+ if mass_pen >= 2:
135
+ return "Peak Euphoria/Profit Taking (狂热顶峰/止盈开始) - 临近反转"
136
+ else:
137
+ return "Euphoria (狂热期)"
138
+
139
+ def _format_indicator_details(self, scores: Dict[str, int]) -> List[Dict]:
140
+ """格式化指标详细信息"""
141
+ details = []
142
+ for key, value in scores.items():
143
+ indicator = self.indicators.get(key, {})
144
+ status = "🔴高" if value == 2 else "🟡中" if value == 1 else "🟢低"
145
+ details.append({
146
+ "indicator": indicator.get("name", key),
147
+ "score": value,
148
+ "status": status,
149
+ "description": indicator.get("description", "")
150
+ })
151
+ return details
152
+
153
+ def get_scoring_guidelines(self) -> str:
154
+ """返回各指标的评分指南"""
155
+ guidelines = """
156
+ ## 泡沫评分指南
157
+
158
+ ### 1. 大众渗透度 (Mass Penetration)
159
+ - 0分: 仅限专家和投资者群体讨论
160
+ - 1分: 普通人也有认知,但作为投资标的仍有限
161
+ - 2分: 非投资者(出租车司机、美容师、家人)积极推荐和提及
162
+
163
+ ### 2. 媒体饱和度 (Media Saturation)
164
+ - 0分: 正常水平的报道和搜索趋势
165
+ - 1分: 搜索趋势、社交媒体提及为平时的2-3倍
166
+ - 2分: 电视专题、杂志封面、搜索趋势暴涨(平时的5倍以上)
167
+
168
+ ### 3. 新增入场 (New Accounts & Inflows)
169
+ - 0分: 正常水平的开户和入金
170
+ - 1分: 开户数同比增长50-100%
171
+ - 2分: 开户数同比增长200%以上,大量"首次投资"人群涌入
172
+
173
+ ### 4. 新发行泛滥 (New Issuance Flood)
174
+ - 0分: 正常水平的IPO/产品发行
175
+ - 1分: IPO/SPAC/相关ETF同比增长50%以上
176
+ - 2分: 低质量IPO泛滥,"XX概念"基金/ETF滥造
177
+
178
+ ### 5. 杠杆 (Leverage Indicators)
179
+ - 0分: 保证金余额、信用损益在正常范围
180
+ - 1分: 保证金余额为历史均值的1.5倍,期货持仓偏离
181
+ - 2分: 保证金余额创历史新高,融资利率居高不下,极端持仓偏离
182
+
183
+ ### 6. 价格加速度 (Price Acceleration)
184
+ - 0分: 年化收益率在历史分布的中位数附近
185
+ - 1分: 年化收益率超过历史90百分位
186
+ - 2分: 年化收益率达到历史95-99百分位,或加速度(二阶导数)为正且递增
187
+
188
+ ### 7. 估值脱离 (Valuation Disconnect)
189
+ - 0分: 可用基本面合理解释
190
+ - 1分: 高估值但可用"成长预期"勉强解释
191
+ - 2分: 解释完全依赖"叙事""革命""范式转换","这次不一样"
192
+
193
+ ### 8. 相关性与广度 (Breadth & Correlation)
194
+ - 0分: 仅部分领涨股上涨
195
+ - 1分: 扩散至整个板块,mid-cap也上涨
196
+ - 2分: 低质量/low-cap个股也全面上涨,"僵尸企业"也上涨(最后的买家入场)
197
+ """
198
+ return guidelines
199
+
200
+ def format_output(self, result: Dict) -> str:
201
+ """将结果格式化为可读输出"""
202
+ output = f"""
203
+ {'='*60}
204
+ 🔍 美国市场泡沫度评估 - Bubble-O-Meter
205
+ {'='*60}
206
+
207
+ 评估时间: {result['timestamp']}
208
+
209
+ 【综合评分】
210
+ {result['total_score']}/{result['max_score']}分 ({result['percentage']}%)
211
+
212
+ 【市场阶段】
213
+ 当前: {result['phase']} (风险: {result['risk_level']})
214
+ Minsky阶段: {result['minsky_phase']}
215
+
216
+ 【建议操作】
217
+ {result['recommended_action']}
218
+
219
+ {'='*60}
220
+ 【各指标评分】
221
+ {'='*60}
222
+ """
223
+ for detail in result['detailed_indicators']:
224
+ output += f"\n{detail['status']} {detail['indicator']}: {detail['score']}/2分\n"
225
+ output += f" └─ {detail['description']}\n"
226
+
227
+ output += f"\n{'='*60}\n"
228
+
229
+ return output
230
+
231
+
232
+ def manual_assessment() -> Dict[str, int]:
233
+ """交互式手动评估"""
234
+ scorer = BubbleScorer()
235
+ print("\n" + "="*60)
236
+ print("🔍 美国市场泡沫度评估 - Manual Assessment")
237
+ print("="*60)
238
+ print("\n请对各指标评0-2分:")
239
+ print(scorer.get_scoring_guidelines())
240
+
241
+ scores = {}
242
+ for key, indicator in scorer.indicators.items():
243
+ while True:
244
+ try:
245
+ score = int(input(f"\n{indicator['name']} (0-2): "))
246
+ if 0 <= score <= 2:
247
+ scores[key] = score
248
+ break
249
+ else:
250
+ print("请输入0、1或2")
251
+ except ValueError:
252
+ print("请输入数字")
253
+
254
+ return scores
255
+
256
+
257
+ def main():
258
+ parser = argparse.ArgumentParser(
259
+ description="评估美国市场泡沫程度的Bubble-O-Meter"
260
+ )
261
+ parser.add_argument(
262
+ "--manual",
263
+ action="store_true",
264
+ help="交互式手动评估模式"
265
+ )
266
+ parser.add_argument(
267
+ "--scores",
268
+ type=str,
269
+ help="JSON格式的分数字符串 (例: '{\"mass_penetration\":2,\"media_saturation\":1,...}')"
270
+ )
271
+ parser.add_argument(
272
+ "--output",
273
+ choices=["text", "json"],
274
+ default="text",
275
+ help="输出格式"
276
+ )
277
+
278
+ args = parser.parse_args()
279
+ scorer = BubbleScorer()
280
+
281
+ # 获取分数
282
+ if args.manual:
283
+ scores = manual_assessment()
284
+ elif args.scores:
285
+ try:
286
+ scores = json.loads(args.scores)
287
+ except json.JSONDecodeError:
288
+ print("错误: 无效的JSON格式")
289
+ return 1
290
+ else:
291
+ print("错误: 请指定 --manual 或 --scores")
292
+ print("\n显示指南:")
293
+ print(scorer.get_scoring_guidelines())
294
+ return 1
295
+
296
+ # 执行评估
297
+ result = scorer.calculate_score(scores)
298
+
299
+ # 输出
300
+ if args.output == "json":
301
+ print(json.dumps(result, indent=2, ensure_ascii=False))
302
+ else:
303
+ print(scorer.format_output(result))
304
+
305
+ return 0
306
+
307
+
308
+ if __name__ == "__main__":
309
+ exit(main())
@@ -0,0 +1,294 @@
1
+ ---
2
+ name: us-stock-analysis
3
+ description: Comprehensive US stock analysis including fundamental analysis (financial metrics, business quality, valuation), technical analysis (indicators, chart patterns, support/resistance), stock comparisons, and investment report generation. Use when user requests analysis of US stock tickers (e.g., "analyze AAPL", "compare TSLA vs NVDA", "give me a report on Microsoft"), evaluation of financial metrics, technical chart analysis, or investment recommendations for American stocks.
4
+ ---
5
+
6
+ # US Stock Analysis
7
+
8
+ ## Overview
9
+
10
+ Perform comprehensive analysis of US stocks covering fundamental analysis (financials, business quality, valuation), technical analysis (indicators, trends, patterns), peer comparisons, and generate detailed investment reports. Fetch real-time market data via web search tools and apply structured analytical frameworks.
11
+
12
+ ## Data Sources
13
+
14
+ Always use web search tools to gather current market data:
15
+
16
+ **Primary Data to Fetch:**
17
+ 1. **Current stock price and trading data** (price, volume, 52-week range)
18
+ 2. **Financial statements** (income statement, balance sheet, cash flow)
19
+ 3. **Key metrics** (P/E, EPS, revenue, margins, debt ratios)
20
+ 4. **Analyst ratings and price targets**
21
+ 5. **Recent news and developments**
22
+ 6. **Peer/competitor data** (for comparisons)
23
+ 7. **Technical data** (moving averages, RSI, MACD when available)
24
+
25
+ **Search Strategy:**
26
+ - Use ticker symbol + specific data needed (e.g., "AAPL financial metrics 2024")
27
+ - For comprehensive data: Search for earnings reports, investor presentations, or SEC filings
28
+ - For technical data: Search for "AAPL technical analysis" or use financial data sites
29
+ - Always verify data recency (prefer data from last quarter)
30
+
31
+ **Quality Sources:**
32
+ - Yahoo Finance, Google Finance, MarketWatch, Seeking Alpha, Bloomberg, CNBC
33
+ - Company investor relations pages
34
+ - SEC filings (10-K, 10-Q) for detailed financials
35
+ - TradingView, StockCharts for technical data
36
+
37
+ ## Analysis Types
38
+
39
+ This skill supports four types of analysis. Determine which type(s) the user needs:
40
+
41
+ 1. **Basic Stock Info** - Quick overview with key metrics
42
+ 2. **Fundamental Analysis** - Deep dive into business, financials, valuation
43
+ 3. **Technical Analysis** - Chart patterns, indicators, trend analysis
44
+ 4. **Comprehensive Report** - Complete analysis combining all approaches
45
+
46
+ ## Analysis Workflows
47
+
48
+ ### 1. Basic Stock Information
49
+
50
+ **When to Use:** User asks for quick overview or basic info
51
+
52
+ **Steps:**
53
+ 1. Search for current stock data (price, volume, market cap)
54
+ 2. Gather key metrics (P/E, EPS, revenue growth, margins)
55
+ 3. Get 52-week range and year-to-date performance
56
+ 4. Find recent news or major developments
57
+ 5. Present in concise summary format
58
+
59
+ **Output Format:**
60
+ - Company description (1-2 sentences)
61
+ - Current price and trading metrics
62
+ - Key valuation metrics (table)
63
+ - Recent performance
64
+ - Notable recent news (if any)
65
+
66
+ ### 2. Fundamental Analysis
67
+
68
+ **When to Use:** User wants financial analysis, valuation assessment, or business evaluation
69
+
70
+ **Steps:**
71
+ 1. **Gather comprehensive financial data:**
72
+ - Revenue, earnings, cash flow (3-5 year trends)
73
+ - Balance sheet metrics (debt, cash, working capital)
74
+ - Profitability metrics (margins, ROE, ROIC)
75
+
76
+ 2. **Read references/fundamental-analysis.md** for analytical framework
77
+
78
+ 3. **Read references/financial-metrics.md** for metric definitions and calculations
79
+
80
+ 4. **Analyze business quality:**
81
+ - Competitive advantages
82
+ - Management track record
83
+ - Industry position
84
+
85
+ 5. **Perform valuation analysis:**
86
+ - Calculate key ratios (P/E, PEG, P/B, EV/EBITDA)
87
+ - Compare to historical averages
88
+ - Compare to peer group
89
+ - Estimate fair value range
90
+
91
+ 6. **Identify risks:**
92
+ - Company-specific risks
93
+ - Market/macro risks
94
+ - Red flags from financial data
95
+
96
+ 7. **Generate output** following references/report-template.md structure
97
+
98
+ **Critical Analyses:**
99
+ - Profitability trends (improving/declining margins)
100
+ - Cash flow quality (FCF vs earnings)
101
+ - Balance sheet strength (debt levels, liquidity)
102
+ - Growth sustainability
103
+ - Valuation vs peers and historical average
104
+
105
+ ### 3. Technical Analysis
106
+
107
+ **When to Use:** User asks for technical analysis, chart patterns, or trading signals
108
+
109
+ **Steps:**
110
+ 1. **Gather technical data:**
111
+ - Current price and recent price action
112
+ - Volume trends
113
+ - Moving averages (20-day, 50-day, 200-day)
114
+ - Technical indicators (RSI, MACD, Bollinger Bands)
115
+
116
+ 2. **Read references/technical-analysis.md** for indicator definitions and patterns
117
+
118
+ 3. **Identify trend:**
119
+ - Uptrend, downtrend, or sideways
120
+ - Strength of trend
121
+
122
+ 4. **Locate support and resistance levels:**
123
+ - Recent highs and lows
124
+ - Moving average levels
125
+ - Round numbers
126
+
127
+ 5. **Analyze indicators:**
128
+ - RSI: Overbought (>70) or oversold (<30)
129
+ - MACD: Crossovers and divergences
130
+ - Volume: Confirmation or divergence
131
+ - Bollinger Bands: Squeeze or expansion
132
+
133
+ 6. **Identify chart patterns:**
134
+ - Reversal patterns (head and shoulders, double top/bottom)
135
+ - Continuation patterns (flags, triangles)
136
+
137
+ 7. **Generate technical outlook:**
138
+ - Current trend assessment
139
+ - Key levels to watch
140
+ - Risk/reward analysis
141
+ - Short and medium-term outlook
142
+
143
+ **Interpretation Guidelines:**
144
+ - Confirm signals with multiple indicators
145
+ - Consider volume for validation
146
+ - Note divergences between price and indicators
147
+ - Always identify risk levels (stop-loss)
148
+
149
+ ### 4. Comprehensive Investment Report
150
+
151
+ **When to Use:** User asks for detailed report, investment recommendation, or complete analysis
152
+
153
+ **Steps:**
154
+ 1. **Perform data gathering** (as in Basic Info)
155
+
156
+ 2. **Execute fundamental analysis** (follow workflow above)
157
+
158
+ 3. **Execute technical analysis** (follow workflow above)
159
+
160
+ 4. **Read references/report-template.md** for complete report structure
161
+
162
+ 5. **Synthesize findings:**
163
+ - Integrate fundamental and technical insights
164
+ - Develop bull and bear cases
165
+ - Assess risk/reward
166
+
167
+ 6. **Generate recommendation:**
168
+ - Buy/Hold/Sell rating
169
+ - Target price with timeframe
170
+ - Conviction level
171
+ - Entry strategy
172
+
173
+ 7. **Create formatted report** following template structure
174
+
175
+ **Report Must Include:**
176
+ - Executive summary with recommendation
177
+ - Company overview
178
+ - Investment thesis (bull and bear cases)
179
+ - Fundamental analysis section
180
+ - Technical analysis section
181
+ - Valuation analysis
182
+ - Risk assessment
183
+ - Catalysts and timeline
184
+ - Conclusion
185
+
186
+ ## Stock Comparison Analysis
187
+
188
+ **When to Use:** User asks to compare two or more stocks (e.g., "compare AAPL vs MSFT")
189
+
190
+ **Steps:**
191
+ 1. **Gather data for all stocks:**
192
+ - Follow data gathering steps for each ticker
193
+ - Ensure comparable timeframes
194
+
195
+ 2. **Read references/fundamental-analysis.md** and references/financial-metrics.md
196
+
197
+ 3. **Create side-by-side comparison:**
198
+ - Business models comparison
199
+ - Financial metrics table (all key ratios)
200
+ - Valuation metrics table
201
+ - Growth rates comparison
202
+ - Profitability comparison
203
+ - Balance sheet strength
204
+
205
+ 4. **Identify relative strengths:**
206
+ - Where each company excels
207
+ - Quantified advantages
208
+
209
+ 5. **Technical comparison:**
210
+ - Relative strength
211
+ - Momentum comparison
212
+ - Which is in better technical position
213
+
214
+ 6. **Generate recommendation:**
215
+ - Which stock is more attractive and why
216
+ - Consider both fundamental and technical factors
217
+ - Portfolio allocation suggestion
218
+ - Risk-adjusted return assessment
219
+
220
+ **Output Format:** Follow "Comparison Report Structure" in references/report-template.md
221
+
222
+ ## Output Guidelines
223
+
224
+ **General Principles:**
225
+ - Use tables for financial data and comparisons (easy to scan)
226
+ - Bold key metrics and findings
227
+ - Include data sources and dates
228
+ - Quantify whenever possible
229
+ - Present both bull and bear perspectives
230
+ - Be clear about assumptions and uncertainties
231
+
232
+ **Formatting:**
233
+ - **Headers** for clear section separation
234
+ - **Tables** for metrics, comparisons, historical data
235
+ - **Bullet points** for lists, factors, risks
236
+ - **Bold text** for key findings, important metrics
237
+ - **Percentages** for growth rates, returns, margins
238
+ - **Currency** formatted consistently ($B for billions, $M for millions)
239
+
240
+ **Tone:**
241
+ - Objective and balanced
242
+ - Acknowledge uncertainty
243
+ - Support claims with data
244
+ - Avoid hyperbole
245
+ - Present risks clearly
246
+
247
+ ## Reference Files
248
+
249
+ Load these references as needed during analysis:
250
+
251
+ **references/technical-analysis.md**
252
+ - When: Performing technical analysis or interpreting indicators
253
+ - Contains: Indicator definitions, chart patterns, support/resistance concepts, analysis workflow
254
+
255
+ **references/fundamental-analysis.md**
256
+ - When: Performing fundamental analysis or business evaluation
257
+ - Contains: Business quality assessment, financial health analysis, valuation frameworks, risk assessment, red flags
258
+
259
+ **references/financial-metrics.md**
260
+ - When: Need definitions or calculation methods for financial ratios
261
+ - Contains: All key metrics with formulas (profitability, valuation, growth, liquidity, leverage, efficiency, cash flow)
262
+
263
+ **references/report-template.md**
264
+ - When: Creating comprehensive report or comparison
265
+ - Contains: Complete report structure, formatting guidelines, section templates, comparison format
266
+
267
+ ## Example Queries
268
+
269
+ **Basic Info:**
270
+ - "What's the current price of AAPL?"
271
+ - "Give me key metrics for Tesla"
272
+ - "Quick overview of Microsoft stock"
273
+
274
+ **Fundamental:**
275
+ - "Analyze NVDA's financials"
276
+ - "Is Amazon overvalued?"
277
+ - "Evaluate Apple's business quality"
278
+ - "What's Google's debt situation?"
279
+
280
+ **Technical:**
281
+ - "Technical analysis of TSLA"
282
+ - "Is Netflix oversold?"
283
+ - "Show me support levels for AAPL"
284
+ - "What's the trend for AMD?"
285
+
286
+ **Comprehensive:**
287
+ - "Complete analysis of Microsoft"
288
+ - "Give me a full report on AAPL"
289
+ - "Should I invest in Tesla? Give me detailed analysis"
290
+
291
+ **Comparison:**
292
+ - "Compare AAPL vs MSFT"
293
+ - "Tesla vs Nvidia - which is better?"
294
+ - "Analyze Meta vs Google"