Skip to content

Latest commit

 

History

History
103 lines (76 loc) · 3.73 KB

File metadata and controls

103 lines (76 loc) · 3.73 KB

stocklens/market/ — 市场环境

职责

美股宏观环境快照(12+ 指标)、大盘指数环境、PE 历史百分位、市场策略蓝图。

文件清单

文件 职责
us_macro.py USMacroSnapshot 美股宏观指标采集(线程池 US_MACRO)。Treasury.gov 黄线/T-bill CSV 抓取统一走 _fetch_treasury_yield_curve_row()(httpx + pandas.read_csv,一次抓取被 fed-rate 与 yield-curve 两路共享,存 us_macro_fast namespace);CNN F&G 与 TradingEconomics 抓取也统一用 httpx,无 requests 依赖
us_market_env.py USMarketEnv 大盘指数环境 + PE 百分位
market_news.py 市场新闻 IO 边界(Jin10 flash + Eastmoney SPY 聚合),供 pipeline shared_prefetch 调用。HTTP 层使用 httpx
profile.py 市场画像(特征聚合)
strategy.py 市场策略匹配(行情特征 → 策略建议)
__init__.py 导出

核心类

USMacroSnapshot(us_macro.py)

美股宏观指标采集,12 个指标分为快指标(实时)和慢指标(可缓存 24h)。

关键方法

  • fetch() -> dict — 获取完整宏观快照

    • 返回:
      {
          "fed_rate": 3.7,        # 联邦基金利率
          "cpi_yoy": 2.4,         # CPI 同比
          "unemployment": 4.3,    # 失业率
          "nfp": 13.0,            # 非农就业(万人)
          "vix": 33.53,           # VIX 恐慌指数
          "treasury_10y": 4.31,   # 10 年期国债收益率
          "treasury_2y": 3.79,    # 2 年期国债收益率
          "gold": 4701.7,         # 黄金价格
          "oil": 112.04,          # 原油价格
          "dxy": ...,             # 美元指数
          "sp500_pe": ...,        # 标普 500 PE
          "yield_spread": ...,    # 期限利差(10Y-2Y)
      }
  • get_market_value_trend(code: str) -> dict — 个股市值趋势(30 天变化)

    • 返回: {latest, 30d_ago, change_pct}

快/慢指标分离

  • 快指标(每次获取): VIX, 国债收益率, 黄金, 原油
  • 慢指标(缓存 24h): 联邦基金利率, CPI, 失业率, 非农
  • 日志: Fetching N indicators (M slow indicators cached)

USMarketEnv(us_market_env.py)

大盘指数环境。

关键方法

  • fetch() -> dict — 获取四大指数快照

    • 返回: 道琼斯/纳斯达克/纳斯达克100/标普500 的 {price, daily_change, 5d_change, 20d_change, trend}
    • trend: 📈 上涨趋势 / 📉 下跌趋势 / 📊 震荡
  • get_pe_percentile(code: str) -> dict — PE 历史百分位(近 1 年)

    • 返回:
      {
          "current_pe": 31.9,
          "min_pe": 21.87,
          "max_pe": 35.91,
          "median_pe": 31.03,
          "mean_pe": 30.09,
          "percentile": 59,       # 百分位
          "zone": "合理",          # 低估/合理/偏高/高估
          "data_days": 251,
      }
    • 分位判断: <25% 低估, 25-75% 合理, >75% 偏高, >90% 高估

MarketBlueprint(market_blueprint.py)

市场策略蓝图,根据宏观环境和大盘趋势生成策略建议。

关键方法

  • generate(macro: dict, market_env: dict) -> dict — 生成市场蓝图
    • 返回: {regime, risk_level, sector_bias, strategy_hints}

依赖关系

  • 依赖:akshareyfinancetickbridgeconfig
  • 被依赖:pipeline(宏观数据注入)、agent(market_tools)

配置项

无专属配置项,使用 tickbridge 的数据源。

注意事项

  • 宏观数据通过 akshare 获取,部分指标可能因网络问题返回 None
  • 慢指标缓存在内存中(L1 TTLCache),重启后需重新获取
  • PE 百分位基于 xueqiu 的动态 PE 数据,数据天数可能不足 251 天
  • VIX > 30 标记为"恐慌",20-30 为"焦虑",<20 为"平静"