Skip to content

Latest commit

 

History

23 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI Market Analysis Push (MVP)

自动完成“数据采集 -> 智能分析 -> 飞书推送”的每日市场分析任务。

1. 功能范围

  • 新闻数据:NewsAPI + AKShare 新闻(可用时)
  • 量价数据:加密自选列表(binance_spot / binance_futures / coinapi
  • 加密辅助信息源:Fear & Greed、CoinGecko Global(免 API Key)
  • 分析生成:OpenAI 兼容 chat/completions 接口
  • 推送渠道:飞书自定义机器人(支持可选签名)
  • 调度方式:GitHub Actions 每日两次(北京时间 09:05 / 18:00)
  • 额外推送:GitHub Actions 每日一次前端面试题(北京时间 20:00,5条中级 React 题)
  • 报告结构:消息面与技术面共振 + 加密(1小时/4小时)多空计划(含止盈止损、支撑压力)

2. 项目结构

  • main.py:入口,编排完整流水线
  • interview_main.py:前端面试题推送入口(每日5题)
  • src/config.py:配置加载与参数校验
  • src/data/news.py:新闻采集与标准化
  • src/data/market.py:市场数据采集与指标计算
  • src/analysis/context_builder.py:分析上下文构建
  • src/analysis/llm.py:LLM调用 + 降级报告
  • src/analysis/interview_questions.py:面试题生成(LLM + 兜底)
  • src/push/feishu.py:飞书推送与签名
  • .github/workflows/daily.yml:定时任务
  • .github/workflows/frontend-interview-daily.yml:前端面试题定时任务

3. 本地运行

3.1 安装依赖

python -m venv .venv
. .venv/Scripts/activate  # Windows PowerShell: .venv\\Scripts\\Activate.ps1
pip install -r requirements.txt

3.2 配置环境变量

复制 .env.example.env 并填写:

  • 必填:FEISHU_WEBHOOK_URL
  • 推荐配置:LLM_API_KEY(不配则走降级报告)
  • 可选:NEWSAPI_KEY COINAPI_KEY FEISHU_SECRET LLM_BASE_URL LLM_MODEL
  • 自选配置:
    • CRYPTO_SOURCE=binance_spot(可选:binance_futurescoinapi
    • CRYPTO_SYMBOLS=BTCUSDT,ETHUSDT(当 source 为币安时)
    • COINAPI_SYMBOLS=BITSTAMP_SPOT_BTC_USD(当 source 为 coinapi 时)

3.3 执行

python main.py

4. GitHub Actions 配置

在仓库 Settings -> Secrets and variables -> Actions 中配置:

  • Secrets:
    • NEWSAPI_KEY
    • COINAPI_KEY
    • LLM_API_KEY
    • FEISHU_WEBHOOK_URL
    • FEISHU_SECRET(可选)
  • Variables(可选覆盖默认值):
    • CRYPTO_SOURCE
    • CRYPTO_SYMBOLS
    • COINAPI_SYMBOLS
    • LLM_BASE_URL
    • LLM_MODEL
    • LLM_TIMEOUT_SECONDS
    • NEWS_QUERY
    • NEWS_LANGUAGE
    • NEWS_PAGE_SIZE
    • MARKET_LOOKBACK_DAYS

工作流支持手动触发(workflow_dispatch)和定时触发:

  • daily.yml:每日两次(北京时间 09:05 / 18:00)
  • frontend-interview-daily.yml:每日一次(北京时间 20:00,推送 5 条中级 React 面试题)

5. 失败兜底策略

  • 任一数据源失败:不中断流程,在报告中记录异常
  • LLM失败:自动降级为结构化摘要报告并继续推送
  • 飞书推送失败:任务返回非零状态,便于在 Actions 中告警

6. 常见排错

  • Missing required environment variable:检查 .env 或 Actions secrets
  • newsapi failed:检查 NEWSAPI_KEY、额度和 query
  • btc failed:检查 COINAPI_KEYCOINAPI_SYMBOLS
  • crypto failed:检查 CRYPTO_SOURCE 与对应 symbol 列表格式是否匹配
  • LLM returned empty content:切换模型或检查 LLM_BASE_URL
  • Feishu push failed:检查 webhook 地址、签名密钥是否匹配

7. 关于是否需要更多API

当前版本已能输出“消息面+技术面共振”的结构化加密报告。
若要提升交易信号可信度,可按需增加以下可选API:

  • BTC衍生品面:资金费率、未平仓量、清算热力(如交易所或聚合服务API)
  • 宏观事件面:美债利率、美元指数、大宗商品联动

建议策略:先跑现有版本,观察1-2周后再逐项增加数据源,避免一次性扩展过大影响稳定性。

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages