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,267 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Economic Calendar Fetcher using FMP API
4
+ Retrieves economic events and data releases for specified date range
5
+ """
6
+
7
+ import os
8
+ import sys
9
+ import json
10
+ import argparse
11
+ from datetime import datetime, timedelta
12
+ from typing import Dict, List, Optional
13
+ import urllib.request
14
+ import urllib.error
15
+ import urllib.parse
16
+
17
+
18
+ def get_api_key() -> Optional[str]:
19
+ """
20
+ Get FMP API key from environment variable.
21
+
22
+ Returns:
23
+ API key string or None if not found
24
+ """
25
+ api_key = os.environ.get('FMP_API_KEY')
26
+ if not api_key:
27
+ print("Warning: FMP_API_KEY environment variable not set", file=sys.stderr)
28
+ return api_key
29
+
30
+
31
+ def fetch_economic_calendar(
32
+ from_date: str,
33
+ to_date: str,
34
+ api_key: str
35
+ ) -> List[Dict]:
36
+ """
37
+ Fetch economic calendar data from FMP API.
38
+
39
+ Args:
40
+ from_date: Start date in YYYY-MM-DD format
41
+ to_date: End date in YYYY-MM-DD format
42
+ api_key: FMP API key
43
+
44
+ Returns:
45
+ List of economic event dictionaries
46
+
47
+ Raises:
48
+ urllib.error.HTTPError: If API request fails
49
+ ValueError: If response is invalid
50
+ """
51
+ base_url = "https://financialmodelingprep.com/api/v3/economic_calendar"
52
+
53
+ # Build query parameters
54
+ params = {
55
+ 'from': from_date,
56
+ 'to': to_date,
57
+ 'apikey': api_key
58
+ }
59
+
60
+ # Construct URL with parameters
61
+ url = f"{base_url}?{urllib.parse.urlencode(params)}"
62
+
63
+ try:
64
+ # Make API request
65
+ with urllib.request.urlopen(url) as response:
66
+ if response.status != 200:
67
+ raise ValueError(f"API returned status code {response.status}")
68
+
69
+ data = json.loads(response.read().decode('utf-8'))
70
+
71
+ if not isinstance(data, list):
72
+ raise ValueError(f"Unexpected API response format: {type(data)}")
73
+
74
+ return data
75
+
76
+ except urllib.error.HTTPError as e:
77
+ error_body = e.read().decode('utf-8') if e.fp else 'No error details'
78
+ raise urllib.error.HTTPError(
79
+ e.url, e.code, f"FMP API error: {e.reason}. Details: {error_body}",
80
+ e.hdrs, e.fp
81
+ )
82
+ except urllib.error.URLError as e:
83
+ raise ValueError(f"Network error: {e.reason}")
84
+
85
+
86
+ def validate_date_range(from_date: str, to_date: str) -> None:
87
+ """
88
+ Validate date range is within FMP API limits (max 90 days).
89
+
90
+ Args:
91
+ from_date: Start date in YYYY-MM-DD format
92
+ to_date: End date in YYYY-MM-DD format
93
+
94
+ Raises:
95
+ ValueError: If date range is invalid or exceeds 90 days
96
+ """
97
+ try:
98
+ start = datetime.strptime(from_date, '%Y-%m-%d')
99
+ end = datetime.strptime(to_date, '%Y-%m-%d')
100
+ except ValueError as e:
101
+ raise ValueError(f"Invalid date format. Use YYYY-MM-DD: {e}")
102
+
103
+ if start > end:
104
+ raise ValueError(f"Start date {from_date} is after end date {to_date}")
105
+
106
+ delta = (end - start).days
107
+ if delta > 90:
108
+ raise ValueError(f"Date range ({delta} days) exceeds maximum of 90 days")
109
+
110
+ # Warn if querying past dates
111
+ today = datetime.now().date()
112
+ if end.date() < today:
113
+ print(f"Warning: End date {to_date} is in the past", file=sys.stderr)
114
+
115
+
116
+ def format_event_output(events: List[Dict], output_format: str = 'json') -> str:
117
+ """
118
+ Format economic events for output.
119
+
120
+ Args:
121
+ events: List of event dictionaries from FMP API
122
+ output_format: Output format ('json' or 'text')
123
+
124
+ Returns:
125
+ Formatted string
126
+ """
127
+ if output_format == 'json':
128
+ return json.dumps(events, indent=2, ensure_ascii=False)
129
+
130
+ elif output_format == 'text':
131
+ lines = []
132
+ lines.append(f"Economic Calendar Events (Total: {len(events)})")
133
+ lines.append("=" * 80)
134
+
135
+ for event in events:
136
+ lines.append(f"\nDate: {event.get('date', 'N/A')}")
137
+ lines.append(f"Country: {event.get('country', 'N/A')}")
138
+ lines.append(f"Event: {event.get('event', 'N/A')}")
139
+ lines.append(f"Currency: {event.get('currency', 'N/A')}")
140
+ lines.append(f"Impact: {event.get('impact', 'N/A')}")
141
+
142
+ previous = event.get('previous')
143
+ estimate = event.get('estimate')
144
+ actual = event.get('actual')
145
+
146
+ if previous is not None:
147
+ lines.append(f"Previous: {previous}")
148
+ if estimate is not None:
149
+ lines.append(f"Estimate: {estimate}")
150
+ if actual is not None:
151
+ lines.append(f"Actual: {actual}")
152
+
153
+ change = event.get('change')
154
+ change_pct = event.get('changePercentage')
155
+ if change is not None:
156
+ lines.append(f"Change: {change}")
157
+ if change_pct is not None:
158
+ lines.append(f"Change %: {change_pct}%")
159
+
160
+ lines.append("-" * 80)
161
+
162
+ return "\n".join(lines)
163
+
164
+ else:
165
+ raise ValueError(f"Unknown output format: {output_format}")
166
+
167
+
168
+ def main():
169
+ """Main execution function."""
170
+ parser = argparse.ArgumentParser(
171
+ description='Fetch economic calendar events from FMP API',
172
+ formatter_class=argparse.RawDescriptionHelpFormatter,
173
+ epilog="""
174
+ Examples:
175
+ # Fetch events for next 7 days (default)
176
+ python get_economic_calendar.py
177
+
178
+ # Fetch events for specific date range
179
+ python get_economic_calendar.py --from 2025-01-01 --to 2025-01-31
180
+
181
+ # Provide API key via argument (overrides environment variable)
182
+ python get_economic_calendar.py --api-key YOUR_KEY_HERE
183
+
184
+ # Output as formatted text instead of JSON
185
+ python get_economic_calendar.py --format text
186
+
187
+ # Save output to file
188
+ python get_economic_calendar.py --output calendar.json
189
+ """
190
+ )
191
+
192
+ # Date range arguments
193
+ today = datetime.now().date()
194
+ default_from = today.strftime('%Y-%m-%d')
195
+ default_to = (today + timedelta(days=7)).strftime('%Y-%m-%d')
196
+
197
+ parser.add_argument(
198
+ '--from', dest='from_date',
199
+ default=default_from,
200
+ help=f'Start date in YYYY-MM-DD format (default: {default_from})'
201
+ )
202
+ parser.add_argument(
203
+ '--to', dest='to_date',
204
+ default=default_to,
205
+ help=f'End date in YYYY-MM-DD format (default: {default_to})'
206
+ )
207
+
208
+ # API key argument
209
+ parser.add_argument(
210
+ '--api-key', dest='api_key',
211
+ help='FMP API key (overrides FMP_API_KEY environment variable)'
212
+ )
213
+
214
+ # Output format
215
+ parser.add_argument(
216
+ '--format', choices=['json', 'text'],
217
+ default='json',
218
+ help='Output format (default: json)'
219
+ )
220
+
221
+ # Output file
222
+ parser.add_argument(
223
+ '--output', '-o',
224
+ help='Output file path (default: stdout)'
225
+ )
226
+
227
+ # Parse arguments
228
+ args = parser.parse_args()
229
+
230
+ # Get API key
231
+ api_key = args.api_key or get_api_key()
232
+ if not api_key:
233
+ print("Error: FMP API key is required. Set FMP_API_KEY environment variable or use --api-key",
234
+ file=sys.stderr)
235
+ sys.exit(1)
236
+
237
+ try:
238
+ # Validate date range
239
+ validate_date_range(args.from_date, args.to_date)
240
+
241
+ # Fetch events
242
+ print(f"Fetching economic calendar from {args.from_date} to {args.to_date}...",
243
+ file=sys.stderr)
244
+ events = fetch_economic_calendar(args.from_date, args.to_date, api_key)
245
+
246
+ print(f"Retrieved {len(events)} events", file=sys.stderr)
247
+
248
+ # Format output
249
+ output = format_event_output(events, args.format)
250
+
251
+ # Write output
252
+ if args.output:
253
+ with open(args.output, 'w', encoding='utf-8') as f:
254
+ f.write(output)
255
+ print(f"Output written to {args.output}", file=sys.stderr)
256
+ else:
257
+ print(output)
258
+
259
+ sys.exit(0)
260
+
261
+ except Exception as e:
262
+ print(f"Error: {e}", file=sys.stderr)
263
+ sys.exit(1)
264
+
265
+
266
+ if __name__ == '__main__':
267
+ main()
@@ -0,0 +1,139 @@
1
+ ---
2
+ name: market-environment-analysis
3
+ description: 综合市场环境分析与报告工具。分析全球市场,包括美国、欧洲、亚洲市场、外汇、大宗商品和经济指标。提供风险偏好/风险规避评估、板块分析和技术指标解读。触发关键词包括:market analysis, market environment, global markets, trading environment, market conditions, investment climate, market sentiment, forex analysis, stock market analysis, 市场环境, 市场分析, 行情状况, 投资环境。
4
+ ---
5
+
6
+ # 市场环境分析
7
+
8
+ 随时理解市场状况并创建专业市场报告的综合分析工具。
9
+
10
+ ## 核心工作流程
11
+
12
+ ### 1. 初始数据收集
13
+ 使用web_search工具收集最新市场数据:
14
+ 1. 主要股票指数(S&P 500、NASDAQ、Dow、日经225、上证综指、恒生指数)
15
+ 2. 外汇汇率(USD/JPY、EUR/USD、主要货币对)
16
+ 3. 大宗商品价格(WTI原油、黄金、白银)
17
+ 4. 美国国债收益率(2年期、10年期、30年期)
18
+ 5. VIX指数(恐慌指标)
19
+ 6. 市场交易状态(开盘/收盘/当前值)
20
+
21
+ ### 2. 市场环境评估
22
+ 根据收集的数据评估以下内容:
23
+ - **趋势方向**:上升趋势/下降趋势/区间震荡
24
+ - **风险情绪**:风险偏好(Risk-on)/风险规避(Risk-off)
25
+ - **波动率状态**:VIX反映的市场焦虑水平
26
+ - **板块轮动**:资金流向
27
+
28
+ ### 3. 报告结构
29
+
30
+ #### 标准报告格式:
31
+ ```
32
+ 1. 执行摘要(3-5个关键要点)
33
+ 2. 全球市场概览
34
+ - 美国市场
35
+ - 亚洲市场
36
+ - 欧洲市场
37
+ 3. 外汇与大宗商品趋势
38
+ 4. 关键事件与经济指标
39
+ 5. 风险因素分析
40
+ 6. 投资策略启示
41
+ ```
42
+
43
+ ## 脚本使用
44
+
45
+ ### market_utils.py
46
+ 提供报告创建的通用函数:
47
+ ```bash
48
+ # 生成报告标题
49
+ python scripts/market_utils.py
50
+
51
+ # Available functions:
52
+ - format_market_report_header(): Create header
53
+ - get_market_session_times(): Check trading hours
54
+ - categorize_volatility(vix): Interpret VIX levels
55
+ - format_percentage_change(value): Format price changes
56
+ ```
57
+
58
+ ## 参考文档
59
+
60
+ ### 关键指标解读 (references/indicators.md)
61
+ 需要时参考:
62
+ - 各指数的重要水平
63
+ - 技术分析要点
64
+ - 板块特定的关注领域
65
+
66
+ ### 分析模式 (references/analysis_patterns.md)
67
+ 分析时参考:
68
+ - 风险偏好/风险规避标准
69
+ - 经济指标解读
70
+ - 市场间相关性
71
+ - 季节性和市场异常
72
+
73
+ ## 输出示例
74
+
75
+ ### 快速摘要版本
76
+ ```
77
+ 📊 市场摘要 [2025/01/15 14:00]
78
+ ━━━━━━━━━━━━━━━━━━━━━
79
+ 【美国】S&P 500: 5,123.45 (+0.45%)
80
+ 【日本】日经225: 38,456.78 (-0.23%)
81
+ 【外汇】USD/JPY: 149.85 (↑0.15)
82
+ 【VIX】16.2(正常范围)
83
+
84
+ ⚡ 关键事件
85
+ - 日本GDP快报
86
+ - 美国就业报告
87
+
88
+ 📈 环境:风险偏好持续
89
+ ```
90
+
91
+ ### 详细分析版本
92
+ 从执行摘要开始,然后逐节详细分析。
93
+ 关键明确事项:
94
+ 1. 当前市场阶段(看涨/看跌/中性)
95
+ 2. 短期方向(1-5天展望)
96
+ 3. 需监控的风险事件
97
+ 4. 建议的仓位调整
98
+
99
+ ## 重要注意事项
100
+
101
+ ### 时区意识
102
+ - 考虑所有主要市场时区
103
+ - 美国市场:晚间至凌晨(亚洲时间)
104
+ - 欧洲市场:下午至晚间(亚洲时间)
105
+ - 亚洲市场:上午至下午(当地时间)
106
+
107
+ ### 经济日历优先级
108
+ 按重要性分类:
109
+ - ⭐⭐⭐ 关键(FOMC、NFP、CPI等)
110
+ - ⭐⭐ 重要(GDP、零售销售等)
111
+ - ⭐ 参考级别
112
+
113
+ ### 数据来源优先级
114
+ 1. 官方发布(央行、政府统计)
115
+ 2. 主要财经媒体(Bloomberg、Reuters)
116
+ 3. 券商报告
117
+ 4. 分析师共识预期
118
+
119
+ ## 故障排除
120
+
121
+ ### 数据收集注意事项
122
+ - 检查市场假期(假日日历)
123
+ - 注意夏令时变更
124
+ - 区分快报数据和终值数据
125
+
126
+ ### 市场波动应对
127
+ 1. 首先梳理事实
128
+ 2. 参考历史类似事件
129
+ 3. 多源交叉验证
130
+ 4. 保持客观分析
131
+
132
+ ## 自定义选项
133
+
134
+ 根据用户投资风格调整:
135
+ - **日内交易者**:关注日内图表、订单流
136
+ - **波段交易者**:侧重日线/周线技术面
137
+ - **长期投资者**:关注基本面、宏观经济
138
+ - **外汇交易者**:货币相关性、利率差异
139
+ - **期权交易者**:波动率分析、Greeks监控
@@ -0,0 +1,124 @@
1
+ # Market Analysis Patterns
2
+
3
+ ## Market Pattern Analysis
4
+
5
+ ### Trend Identification
6
+ 1. **Uptrend**
7
+ - Higher highs and higher lows
8
+ - Moving averages trending upward
9
+ - Price rises accompanied by volume increases
10
+
11
+ 2. **Downtrend**
12
+ - Lower highs and lower lows
13
+ - Moving averages trending downward
14
+ - Decreased volume on bounces
15
+
16
+ 3. **Range-Bound Market**
17
+ - Trading within defined range
18
+ - Moving averages sideways
19
+ - Declining volume trend
20
+
21
+ ### Risk-On / Risk-Off Assessment
22
+
23
+ #### Risk-On Environment Characteristics
24
+ - Stock markets rising (especially emerging markets)
25
+ - High-yield currency buying (AUD, NZD, etc.)
26
+ - VIX index declining
27
+ - Interest rates rising
28
+ - Risk assets like crude oil rising
29
+
30
+ #### Risk-Off Environment Characteristics
31
+ - Flight to safe assets (yen buying, Swiss franc buying)
32
+ - Gold prices rising
33
+ - Bond buying (yields falling)
34
+ - VIX index rising
35
+ - Emerging market currencies and stocks selling
36
+
37
+ ## Economic Indicator Interpretation
38
+
39
+ ### Employment Data (US)
40
+
41
+ - **Nonfarm Payrolls (NFP)**
42
+ - +200k or more above expectations: Strong employment, rate hike expectations
43
+ - -100k or more below expectations: Employment deterioration, rate cut expectations
44
+
45
+ - **Unemployment Rate**
46
+ - 3.5% or below: Near full employment
47
+ - 4.0% or above: Signs of employment environment deterioration
48
+
49
+ ### Inflation Indicators
50
+
51
+ - **CPI (Consumer Price Index)**
52
+ - 2% YoY: Fed target level
53
+ - 3%+: Inflation alert
54
+ - Below 1%: Deflation risk
55
+
56
+ - **PPI (Producer Price Index)**
57
+ - Important as CPI leading indicator
58
+ - Captures upstream inflation
59
+
60
+ ### Central Bank Policy
61
+
62
+ - **Fed (Federal Reserve)**
63
+ - Watch dot plot
64
+ - Policy rate outlook changes
65
+
66
+ - **BOJ (Bank of Japan)**
67
+ - YCC (Yield Curve Control) policy
68
+ - ETF purchase trends
69
+
70
+ - **ECB (European Central Bank)**
71
+ - 2% inflation target
72
+ - Response to regional disparities
73
+
74
+ ## Inter-Market Correlation Analysis
75
+
76
+ ### Positive Correlation Patterns
77
+ - Stocks ↑ → Interest rates ↑ (strong economy)
78
+ - USD/JPY ↑ → Nikkei ↑ (exporters favorable)
79
+ - Crude oil ↑ → Inflation expectations ↑
80
+
81
+ ### Inverse Correlation Patterns
82
+ - Interest rates ↑ → Bond prices ↓
83
+ - Dollar ↑ → Gold prices ↓
84
+ - VIX ↑ → Stocks ↓
85
+
86
+ ## Seasonality & Anomalies
87
+
88
+ ### Monthly Patterns
89
+ - **January Effect**: New year fund inflows
90
+ - **Sell in May**: Pre-summer doldrums position closing
91
+ - **September**: Historically weak month
92
+ - **December**: Tax-loss selling, Santa Claus rally
93
+
94
+ ### Day-of-Week Effects
95
+ - **Monday**: Weekend risk pricing
96
+ - **Friday**: Position adjustments
97
+
98
+ ### Fiscal Year-End
99
+ - **End of March**: Japanese corporate fiscal year, repatriation flows
100
+ - **End of December**: Western corporate fiscal year
101
+
102
+ ## Technical Indicator Usage
103
+
104
+ ### Trend Indicators
105
+ - **Moving Averages**: 25-day, 75-day, 200-day line relationships
106
+ - **MACD**: Identifying trend turning points
107
+ - **Bollinger Bands**: Volatility and contrarian entry points
108
+
109
+ ### Oscillators
110
+ - **RSI**: Over 70 overbought, below 30 oversold
111
+ - **Stochastics**: Short-term turning points
112
+ - **Volume**: Confirming price movement reliability
113
+
114
+ ## Sentiment Analysis
115
+
116
+ ### Capturing Investor Psychology
117
+ - **Put/Call Ratio**: Option market skew
118
+ - **Bull/Bear Ratio**: Investor surveys
119
+ - **Fear & Greed Index**: CNN Fear & Greed Index
120
+
121
+ ### News Flow Analysis
122
+ - Headline tone changes
123
+ - Media coverage frequency
124
+ - Social media buzzwords
@@ -0,0 +1,99 @@
1
+ # Market Indicators Reference
2
+
3
+ ## Major Stock Indices
4
+
5
+ ### Japan
6
+ - **Nikkei 225**: Stock price average of 225 representative stocks on Tokyo Stock Exchange Prime
7
+ - Key levels: 30,000, 35,000, 40,000 yen
8
+ - Moving averages: Emphasize 25-day, 75-day, 200-day lines
9
+
10
+ - **TOPIX**: Market-cap weighted average of all Tokyo Stock Exchange Prime stocks
11
+ - Better reflects overall market
12
+ - Heavily influenced by banking/financial sector
13
+
14
+ ### United States
15
+ - **S&P 500**: 500 large-cap US stocks
16
+ - Most representative US stock index
17
+ - Key levels: 4,000, 4,500, 5,000 points
18
+
19
+ - **NASDAQ**: Tech-focused
20
+ - Reflects mega-cap tech stock trends like GAFAM
21
+ - Higher volatility
22
+
23
+ - **Dow Jones Industrial Average**: Simple average of 30 stocks
24
+ - Historically significant but limited representation
25
+
26
+ ## Foreign Exchange Rates
27
+
28
+ ### USD/JPY (Dollar-Yen)
29
+ - Greatest impact on Japanese economy
30
+ - Key levels: 140, 145, 150, 155 yen
31
+ - BOJ intervention alert line: Reference past intervention records
32
+
33
+ ### EUR/JPY (Euro-Yen)
34
+ - Related to European economy
35
+ - Influenced by ECB policy
36
+
37
+ ### CNY/JPY (Yuan-Yen)
38
+ - Reflects Chinese economic trends
39
+ - Indicator of Asian trade
40
+
41
+ ## Volatility Indicators
42
+
43
+ ### VIX Index (Fear Index)
44
+ - Calculated from S&P 500 option prices
45
+ - Quantifies market anxiety psychology
46
+ - Interpretation:
47
+ - 10-15: Low volatility, stable market
48
+ - 15-20: Normal range
49
+ - 20-30: Unstable, caution needed
50
+ - 30+: High stress, panic selling
51
+
52
+ ### Nikkei VI
53
+ - Volatility indicator for Nikkei Average
54
+ - Japanese version of VIX
55
+
56
+ ## Commodities
57
+
58
+ ### Crude Oil (WTI/Brent)
59
+ - Important as inflation indicator
60
+ - Reflects geopolitical risks
61
+ - Key levels: 70, 80, 90, 100 dollars/barrel
62
+
63
+ ### Gold
64
+ - Representative safe asset
65
+ - Tends to rise during dollar weakness/inflation
66
+ - Key levels: 1,900, 2,000, 2,100 dollars/ounce
67
+
68
+ ## Interest Rates & Bonds
69
+
70
+ ### US 10-Year Treasury Yield
71
+ - Most critical interest rate indicator
72
+ - Direct impact on stock valuations
73
+ - Key levels: 3.5%, 4.0%, 4.5%, 5.0%
74
+
75
+ ### Japan 10-Year Government Bond Yield
76
+ - Reflects BOJ policy
77
+ - Watch YCC target range
78
+
79
+ ## Sector-Specific Focus Points
80
+
81
+ ### Technology
82
+ - AI-related stock trends
83
+ - Semiconductor cycle
84
+ - Regulatory risks
85
+
86
+ ### Financials
87
+ - Heavily influenced by interest rate trends
88
+ - Bank lending attitudes
89
+ - Non-performing loan ratios
90
+
91
+ ### Energy
92
+ - Linked to crude oil prices
93
+ - Impact of decarbonization policies
94
+ - Renewable energy shift
95
+
96
+ ### Consumer
97
+ - Consumer confidence index
98
+ - Retail sales
99
+ - Inflation impact