交易信号分析工具

bullarc是一款集成多种数据源(价格技术、新闻情绪、社交速度、链上流动、鲸鱼警报和期权活动)的交易信号分析工具,提供AI驱动的买卖持有信号和回测功能。

  • by bullarc
  • Go
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 bullarc/bullarc

使用说明

bullarc

Your terminal is now a trading desk.

牛市融合了价格技术指标、新闻情绪、社会速度、链上流量, 将鲸鱼警报和期权活动合并为单个买入/卖出/持有信号——供电 通过11个指标和人工智能驱动的信心评分。

快速开始

# Install
go install github.com/bullarc/bullarc/cmd/bullarc@latest

# Run the built-in demo (zero config, embedded data)
bullarc demo

没有API密钥,没有配置文件,没有数据下载。结果不到一秒钟。

它能做什么?

分析 --6个数据层,11个指标,1个复合信号

bullarc analyze --symbol AAPL --llm

反测试 --历史数据的回放策略

bullarc backtest --csv data.csv --indicators RSI_14,MACD_12_26_9,SuperTrend_7_3.0

纸张贸易 --使用真实市场数据、模拟货币自动执行

bullarc paper trade --symbol AAPL --confidence 70

AI审查 --Claude在20多次交易后分析您的交易模式

bullarc journal review

MCP服务器 --让Claude在Claude Desktop或Cursor中担任您的分析师

MASSIVE_API_KEY=xxx bullarc mcp install   # one-command Claude Code setup

特性

  • 11技术指标:SMA、EMA、RSI、MACD、布林带、SuperTrend、随机、ATR、VWAP、OBV
  • 多源信号融合:价格+新闻情绪+Reddit社交速度+链上加密流量+鲸鱼警报+期权活动
  • 人工智能驱动的分析:LLM驱动的信号解释、市场机制检测、异常检测、投资组合相关性
  • 回测:历史回放,模拟回报,最大回撤,胜率
  • 纸上交易:通过Alpaca自动执行,具有可配置的置信阈值
  • 行业杂志:记录每笔交易,通过过滤器查询,人工智能模式审查
  • MCP服务器:克劳德桌面/光标集成的10个工具
  • Go SDK:在您自己的应用程序中嵌入分析
  • 零配置演示:嵌入示例数据,开箱即用

数据源

来源 类型 身份验证
巨大的 (前身为Polygon.io) 股票、加密货币、期权 API密钥
羊驼 股票、加密货币、纸面交易 API密钥+机密
CSV/JSON 本地文件 无
Reddit(Tradestie) 社会情绪 无
Glassnode On-chain加密度量 API密钥
鲸鱼警报 大型加密货币传输 API密钥
多边形选项 异常选项活动 API密钥
羊驼新闻 新闻文章 API密钥

设置

# Store credentials once (optional — works without any keys via CSV mode)
bullarc configure --massive-key $MASSIVE_API_KEY
bullarc configure --alpaca-key $ALPACA_API_KEY --alpaca-secret $ALPACA_SECRET_KEY
bullarc configure --llm-key $ANTHROPIC_API_KEY

# Or just set env vars — bullarc auto-detects them
export MASSIVE_API_KEY=xxx        # Massive market data
export ALPACA_API_KEY=xxx         # Alpaca market data (alternative)
export ALPACA_SECRET_KEY=xxx
export ANTHROPIC_API_KEY=xxx      # LLM explanations (optional)

或者使用配置文件:

data_sources:
  default: massive
  massive:
    enabled: true
    api_key: "${MASSIVE_API_KEY}"

llm:
  provider: anthropic
  api_key: "${ANTHROPIC_API_KEY}"
  model: claude-opus-4-6

凭证解析顺序:标志>环境变量>密钥库(~/.config/bullarc/credentials)>配置文件。

命令行命令

命令 描述
bullarc demo 带有嵌入式数据的零配置演示
bullarc analyze 单次分析(单个或多个符号)
bullarc backtest 历史CSV的回溯测试策略
bullarc watch 实时信号连续轮询
bullarc paper trade 通过Alpaca进行自动票据交易
bullarc paper positions 列出未完成的论文职位
bullarc paper close-all 关闭所有纸张位置
bullarc journal list 列出已平仓交易
bullarc journal query 按交易品种、日期、赢家/输家过滤交易
bullarc journal review 人工智能驱动的交易模式审查
bullarc mcp 启动克劳德桌面/光标的MCP服务器
bullarc mcp install Claude Code的单命令MCP设置
bullarc mcp uninstall 从克劳德代码中删除MCP服务器
bullarc configure 存储凭据和监视列表
bullarc version 打印版本

MCP服务器

# One-command setup for Claude Code (auto-detects env vars)
MASSIVE_API_KEY=xxx bullarc mcp install

# Or start manually
bullarc mcp

install命令在Claude Code中全局注册bullarc——没有配置文件 需要。它检测 MASSIVE_API_KEY, ALPACA_API_KEY, ALPACA_SECRET_KEY,以及 ANTHROPIC_API_KEY 并将它们转发到MCP服务器。

通过JSON-RPC 2.0标准公开10个工具:

工具 说明
get_signals 分析符号,返回复合信号+置信度
backtest_strategy 在CSV上运行回溯测试,返回摘要统计数据
list_indicators 列出所有已注册的指标元数据
explain_signal LLM对交易信号的解释
stream_signals 基于推送的信号传输
explain_backtest 回溯测试+AI性能解释
get_news_sentiment 获取并评分新闻情绪
get_risk_metrics 基于ATR的头寸调整和止损
analyze_with_ai 多步LLM推理
compare_symbols 比较多个符号之间的信号

建筑

bullarc.go               # All interfaces and types. The API contract.
cmd/bullarc/             # CLI (cobra). Thin wrapper over the SDK.
internal/engine/         # Wires indicators, data sources, LLMs together.
internal/indicator/      # Pure computation. No I/O, no imports from other internals.
internal/datasource/     # Market data fetching. Implements DataSource interface.
internal/llm/            # LLM adapters. Implements LLMProvider interface.
internal/signal/         # Aggregates indicator outputs into Signal values.
internal/config/         # Config loading and credential storage.
internal/mcp/            # MCP server: JSON-RPC 2.0 over stdio.
internal/journal/        # Trade journal logging and querying.
pkg/sdk/                 # Public Go SDK. Wraps the engine behind a stable surface.
testutil/                # Shared test helpers.
testdata/                # CSV fixtures and reference values.

所有共享类型和接口都存在于根包中。内部包装 实现这些接口,但从不相互导入。仅 internal/engine 将它们连接在一起。

Go SDK

client := sdk.New(engine)

// One-shot analysis
result, err := client.Analyze(ctx, bullarc.AnalysisRequest{Symbol: "AAPL", UseLLM: true})

// Backtest
result, err := client.Backtest(ctx, bullarc.BacktestRequest{Symbol: "AAPL", Bars: bars})

// Stream signals (polling)
ch := client.StreamSymbols(ctx, []string{"AAPL", "MSFT"}, 5*time.Minute)
for sig := range ch {
    // sig.Type, sig.Confidence, sig.Symbol
}

// Push-based subscription
ch := client.Subscribe(ctx, bullarc.AnalysisRequest{Symbol: "AAPL"})

构建

make build       # Produces bin/bullarc
make test        # All tests with race detector
make check       # fmt + vet + test
make verify      # Build all + smoke tests
make lint        # golangci-lint
make demo        # Run the built-in demo
make demo-gif    # Generate demo.gif (requires VHS)

码头工人

docker run --rm \
  -e MASSIVE_API_KEY=<key> \
  -e ANTHROPIC_API_KEY=<key> \
  ghcr.io/bullarc/bullarc:latest analyze --symbol AAPL --llm

需求

  • 转到1.22+
  • 数据源和LLM提供程序的API密钥(可选-CSV模式在没有任何密钥的情况下工作)

许可证

麻省理工学院——见 许可证 了解详情。