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 70AI审查 --Claude在20多次交易后分析您的交易模式
bullarc journal reviewMCP服务器 --让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 mcpinstall命令在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= \
-e ANTHROPIC_API_KEY= \
ghcr.io/bullarc/bullarc:latest analyze --symbol AAPL --llm需求
- 转到1.22+
- 数据源和LLM提供程序的API密钥(可选-CSV模式在没有任何密钥的情况下工作)
许可证
麻省理工学院——见 许可证 了解详情。
