海外访问:www.kdjingpai.com
Ctrl + D 收藏本站

MarketPulse 是一个开源的金融资讯分析推送服务,托管在 GitHub,由用户 T1mn 开发。它基于 Google Gemini AI,自动获取最新金融新闻,分析市场影响,并生成包含投资建议、信心指数和来源可靠度的报告。分析结果通过 Bark 和 PushPlus 实时推送至用户设备。项目采用 Python 开发,支持多设备推送和自动化去重,适合关注股票市场的投资者和开发者。代码开放,社区可自由贡献,项目使用 MIT 许可证,允许灵活修改和使用。

功能列表

  • 自动获取 Finnhub 等平台的最新金融新闻。
  • 使用 Google Gemini AI 分析新闻,提供投资建议、信心指数和来源可靠度。
  • 通过 Bark 和 PushPlus 推送分析结果至手机或电脑。
  • 支持用户自定义关注的股票代码和信任的新闻源。
  • 自动去重,避免重复推送相同新闻。
  • 提供守护进程管理,支持后台运行、启动、停止和重启。
  • 日志系统记录运行状态,便于调试和监控。
  • 支持环境变量配置,保护 API 密钥安全。

使用帮助

安装流程

MarketPulse 是一个 Python 项目,安装需要基本的编程知识。以下是详细步骤:

  1. 安装 uv(推荐)
    为高效管理 Python 环境,建议安装 uv 工具。运行以下命令:

    curl -LsSf https://astral.sh/uv/install.sh | sh
    

    uv 能优化依赖解析,提升安装效率。

  2. 克隆代码库
    使用 Git 克隆项目到本地:

    git clone https://github.com/T1mn/MarketPulse.git
    cd MarketPulse
    
  3. 创建虚拟环境并安装依赖
    创建虚拟环境以隔离项目依赖:

    uv venv
    source .venv/bin/activate  # Linux/macOS
    # 或
    .venv\Scripts\activate  # Windows
    

    安装项目依赖:

    uv pip install -r requirements.txt
    uv pip install -e .
    

    依赖包括 google-generativeaipython-dotenvschedule 和 requests 等。

  4. 配置环境变量
    复制示例配置文件并重命名为 .env

    cp .env.example .env
    

    编辑 .env 文件,填入 API 密钥:

    FINNHUB_API_KEY=your_finnhub_api_key
    GEMINI_API_KEY=your_gemini_api_key
    BARK_KEY_1=your_first_bark_key
    PUSHPLUS_TOKEN=your_pushplus_token
    PUSHPLUS_TOPIC=your_topic_code
    

    获取密钥方法:

    • Finnhub API 密钥:注册 Finnhub 获取。
    • Gemini API 密钥:通过 Google Cloud 平台申请。
    • Bark 密钥:安装 Bark 应用后获取。
    • PushPlus Token:在 PushPlus 注册获取。
  5. 运行服务
    有两种运行方式:

    • 前台运行(调试用) :
    python -m MarketPulse.main
    
    • 后台运行(推荐) :
    python -m MarketPulse.daemon_manager start
    

    后台运行支持进程管理,服务启动后可关闭终端。

主要功能操作

  • 获取金融新闻
    MarketPulse 通过 Finnhub API 每 30 分钟(默认)获取最新金融新闻。用户可在 config.py 修改 NEWS_FETCH_INTERVAL 调整频率:

    NEWS_FETCH_INTERVAL = 30  # 分钟
    

    操作步骤:

    1. 启动服务后,程序自动从 Finnhub 获取新闻。
    2. 可在 config.py 配置信任新闻源,如:
      TRUSTED_SOURCES = ["Reuters", "Bloomberg", "CNBC"]
      
    3. 新闻数据保存在本地,供 AI 分析。
  • AI 分析与推送
    Google Gemini AI 分析新闻,生成包含投资建议、信心指数(百分比)和来源可靠度的报告。结果通过 Bark 或 PushPlus 推送。
    操作步骤:

    1. 确保 .env 文件配置了 Bark 或 PushPlus 密钥。
    2. 服务运行后,分析结果自动推送至配置的设备。
    3. Bark 推送显示为手机通知,PushPlus 支持微信推送(见 GitHub 仓库 img 文件夹中的示例)。
  • 自定义股票监控
    用户可配置关注的股票代码,跟踪特定公司新闻。
    操作步骤:

    1. 编辑 config.py,修改 US_MARKET_SYMBOLS
      US_MARKET_SYMBOLS = ["AAPL", "TSLA", "MSFT"]
      
    2. 保存后重启服务,程序将优先分析这些股票的新闻。
  • 守护进程管理
    MarketPulse 支持后台运行,管理命令如下:

    python -m MarketPulse.daemon_manager start   # 启动
    python -m MarketPulse.daemon_manager stop    # 停止
    python -m MarketPulse.daemon_manager restart # 重启
    python -m MarketPulse.daemon_manager status  # 查看状态
    

    进程 ID 保存在 market_pulse.pid 文件中,自动管理。

  • 日志查看
    日志保存在 logs 目录,包含:

    • market_pulse.log:主程序日志,最大 10MB,保留 5 个备份。
    • daemon.log:守护进程日志,最大 5MB,保留 3 个备份。
      查看实时日志:
    tail -f logs/market_pulse.log
    
  • 贡献代码
    作为开源项目,用户可通过 GitHub 提交改进。
    操作步骤:

    1. Fork 仓库到个人账户。
    2. 修改代码后提交 Pull Request。
    3. 参考 CONTRIBUTING.md(若存在)或直接提交问题和建议。

注意事项

  • 确保 API 密钥有效,Finnhub 和 Gemini 有请求限制,需遵守配额。
  • 首次运行会立即执行一次任务,之后按配置间隔运行。
  • 状态文件 app_state.json 记录已处理新闻 ID,避免重复推送。
  • 使用 uv 管理环境可提高依赖安装效率。
  • 日志文件定期轮转,避免占用过多磁盘空间。

应用场景

  1. 投资者获取实时市场洞察
    投资者通过 MarketPulse 接收 AI 分析的金融新闻,了解市场动态,获取投资建议,辅助决策。
  2. 开发者学习 AI 和金融数据处理
    开发者可研究代码,学习如何整合 Google Gemini AI、Finnhub API 和推送服务,适合 AI 和金融领域的实践。
  3. 企业监控特定股票新闻
    企业可配置关注股票代码,获取相关新闻分析,用于战略规划或风险管理。

QA

  1. MarketPulse 支持哪些新闻源?
    默认通过 Finnhub 获取新闻,支持配置信任源如 Reuters、Bloomberg 等,具体在 config.py 中设置。
  2. 需要付费 API 吗?
    是的,Finnhub 和 Gemini API 需要注册获取密钥,部分功能可能涉及免费配额或付费计划。
  3. 如何避免重复推送?
    项目使用 app_state.json 记录已处理新闻 ID,自动去重。
  4. 可以运行在云服务器上吗?
    可以,推荐使用守护进程模式运行,支持 Linux、Windows 等系统。
  5. 如何添加新功能?
    Fork 仓库,修改代码后提交 Pull Request。建议先查看 Issues 页面,了解社区需求。
0已收藏
0已赞

相关推荐

找不到AI工具?在这试试!

输入关键词,即可 无障碍访问 必应 搜索,快速找到本站所有 AI 工具。

邮箱

联系我们

回顶部

zh_CN简体中文