ClawSkills logoClawSkills

Clawback

通过自动经纪执行和风险管理来镜像国会股票交易。当您想要追踪并自动根据国会进行交易时使用

介绍

# ClawBack

**利用自动化券商执行模拟国会议员股票交易**

## Agent Instructions

当用户调用 `/clawback` 时,根据参数执行相应的命令:

### Commands

| Command | Action | |---------|--------| | `/clawback setup` | 交互式设置 - 提示输入凭证(见下文) | | `/clawback status` | 检查状态:`cd {baseDir} && source venv/bin/activate && python -m clawback.cli status` | | `/clawback run` | 开始交易:`cd {baseDir} && source venv/bin/activate && python -m clawback.cli run` | | `/clawback` | 默认为状态检查 |

### `/clawback setup` - 交互式设置流程

当用户运行 `/clawback setup` 时,请按以下步骤操作:

**Step 1: 安装依赖项(如需要)** 检查 `{baseDir}/venv` 是否存在。如果不存在,请运行: ```bash cd {baseDir} && python3 -m venv venv && source venv/bin/activate && pip install -e . ```

**Step 2: 提示输入 E*TRADE 凭证** 请向用户询问每个值:

1. **Environment (环境)**:询问“您想使用 **sandbox**(测试环境)还是 **production**(实盘资金)?” - 默认值:sandbox

2. **Consumer Key**:询问“输入您的 E*TRADE Consumer Key(来自 developer.etrade.com):” - 必填字段

3. **Consumer Secret**:询问“输入您的 E*TRADE Consumer Secret:” - 必填字段

4. **Account ID**:询问“输入您的 E*TRADE Account ID(或留空以便在 OAuth 后获取):” - 可选 - 可以稍后获取

**Step 3: 保存配置** 使用提供的值创建/更新 `~/.clawback/config.json`: ```json { "broker": { "adapter": "etrade", "environment": "<sandbox or production>", "credentials": { "apiKey": "<consumer_key>", "apiSecret": "<consumer_secret>" } }, "trading": { "accountId": "<account_id>", "initialCapital": 50000, "tradeScalePercentage": 0.01, "maxPositionPercentage": 0.05, "dailyLossLimit": 0.02 }, "notifications": { "telegram": { "enabled": true, "useOpenClaw": true } }, "congress": { "dataSource": "official", "pollIntervalHours": 24, "minimumTradeSize": 10000 } } ```

**Step 4: 确认设置** 告知用户:“配置已保存至 ~/.clawback/config.json。运行 `/clawback status` 进行验证。”

### Getting E*TRADE API Credentials

指引用户前往:https://developer.etrade.com 1. 创建开发者账户 2. 创建新应用(首先创建沙盒应用用于测试) 3. 复制 Consumer Key 和 Consumer Secret

### Configuration Location

- 配置文件:`~/.clawback/config.json` - 技能目录:`{baseDir}`

### Reading Saved Configuration

要检查用户是否已配置凭证,请读取 `~/.clawback/config.json`: - 如果文件不存在或凭证为空 → 提示进行设置 - 如果凭证存在 → 可以继续执行 status/run 命令

CLI 会自动从 `~/.clawback/config.json` 读取所有操作所需的配置。

### Checking Setup Status

在运行 `/clawback status` 或 `/clawback run` 之前,请验证: 1. `{baseDir}/venv` 存在(依赖项已安装) 2. `~/.clawback/config.json` 存在且 `broker.credentials.apiKey` 不为空

如果缺少任何一项,建议先运行 `/clawback setup`。

---

ClawBack 追踪国会议员(众议院和参议院)披露的股票交易,并在您的 E*TRADE 券商账户中执行按比例调整的仓位。该工具基于这样一个前提:由于信息优势,国会领袖的业绩始终跑赢市场。

## Default Target Politicians

ClawBack 默认监控这些政治家(可配置):

| Politician | Chamber | Priority | |------------|---------|----------| | Nancy Pelosi | House | 1 (highest) | | Dan Crenshaw | House | 2 | | Tommy Tuberville | Senate | 2 | | Marjorie Taylor Greene | House | 3 |

## Trading Strategy Defaults

| Parameter | Default | Description | |-----------|---------|-------------| | Trade Delay | 3 days | 披露后等待交易的时间 | | Holding Period | 30 days | 仓位的持有时间目标 | | Position Size | 5% | 每笔交易的最大分配比例 | | Stop-Loss | 8% | 每个仓位的止损线 | | Portfolio Drawdown | 15% | 停止交易前的最大组合回撤 | | Disclosure Checks | 10:00, 14:00, 18:00 ET | 每日检查时间 |

## Features

- **Real-time disclosure tracking** (实时披露追踪) - 来自官方众议院书记官和参议院 eFD 来源 - **Automated trade execution** (自动交易执行) - 通过 E*TRADE API(目前唯一支持的券商) - **Smart position sizing** (智能仓位调整) - 根据您的账户规模调整交易 - **Trailing stop-losses** (移动止损) - 锁定利润,限制亏损 - **Risk management** (风险管理) - 回撤限制,连续亏损保护 - **Telegram notifications** (Telegram 通知) - 接收新交易和止损的警报 - **Backtesting engine** (回测引擎) - 在历史数据上测试策略

## Performance (Backtest Results)

| Strategy | Win Rate | Return | Sharpe | |----------|----------|--------|--------| | 3-day delay, 30-day hold | 42.9% | +6.2% | 0.39 | | 9-day delay, 90-day hold | 57.1% | +4.7% | 0.22 |

根据 NBER 的研究,国会领袖的年化表现跑赢标普 500 指数 47%。

## Installation via ClawHub

```bash # Install from ClawHub registry clawhub install clawback

# Or install from local directory clawhub install ./clawback ```

### Post-Installation Setup

通过 ClawHub 安装后,`install.sh` 脚本会自动运行:

1. **Python Environment Setup** (Python 环境设置) - 创建虚拟环境 2. **Package Installation** (包安装) - 通过 pip 安装 ClawBack 3. **Directory Structure** (目录结构) - 创建 logs/、data/、config/ 目录 4. **Setup Prompt** (设置提示) - 询问您是否要运行设置向导

如果您在安装期间跳过了设置,请手动运行: ```bash cd ~/.openclaw/skills/clawback ./setup.sh # Interactive setup wizard # or clawback setup # CLI-based setup ```

### Improved Setup Features

- **Better input handling** (更好的输入处理) - 适用于交互式和非交互式模式 - **Input validation** (输入验证) - 验证 E*TRADE API 密钥格式 - **Timeout handling** (超时处理) - 如果无输入,自动使用默认值 - **Error recovery** (错误恢复) - 如果 CLI 失败,则回退到手动设置 - **Configuration check** (配置检查) - 检测现有配置并提供选项

## Interactive Setup Wizard

设置向导将引导您完成配置:

### Step 1: Environment Selection - **Sandbox**(推荐用于测试):无真实交易,使用 E*TRADE 开发者沙盒 - **Production**:使用真金白银的真实交易

### Step 2: E*TRADE API Credentials - **Consumer Key**:来自 E*TRADE 开发者门户 - **Consumer Secret**:来自 E*TRADE 开发者门户

### Step 3: Authentication - 与 E*TRADE 的自动 OAuth 流程 - 打开浏览器进行授权 - 返回验证码

### Step 4: Account Selection - 列出所有可用的 E*TRADE 账户 - 选择用于交易的账户

### Step 5: Telegram Setup (Optional) - 通过 Telegram bot 配置通知 - 如果可用,使用 OpenClaw 内置的 Telegram 频道

## Environment Variables

设置完成后,凭证存储在 `.env` 中:

```bash # E*TRADE API (required) BROKER_API_KEY=your_consumer_key_here BROKER_API_SECRET=your_consumer_secret_here BROKER_ACCOUNT_ID=your_account_id_here

# Telegram (optional) TELEGRAM_BOT_TOKEN=your_bot_token_here TELEGRAM_CHAT_ID=your_chat_id_here

# FMP API (optional) FMP_API_KEY=your_fmp_api_key_here ```

## Usage

```bash # Use the installed CLI command clawback run # Start interactive trading mode clawback daemon # Run as background service clawback status # Check system status clawback setup # Re-run setup wizard clawback test # Test Telegram notifications ```

## Automated Trading

`clawback daemon` 命令持续运行,包含: - **Disclosure checks** (披露检查) - 美东时间 10:00、14:00、18:00(通常发布文件的时间) - **Trade execution** (交易执行) - 美东时间上午 9:35(开盘后 5 分钟) - **Token refresh** (令牌刷新) - 每 90 分钟一次(保持 E*TRADE 会话活跃) - **Market hours enforcement** (交易时间强制执行)(美东时间上午 9:30 - 下午 4:00)

## Data Sources

- **House Clerk** (众议院书记官):https://disclosures-clerk.house.gov(PDF 解析) - **Senate eFD** (参议院 eFD):https://efdsearch.senate.gov(网页抓取) - **Financial Modeling Prep**:增强的金融数据(可选)

## Supported Brokers

ClawBack 目前仅支持 E*TRADE。适配器模式允许未来支持其他券商,但仅实现并测试了 E*TRADE。

| Broker | Adapter | Status | |--------|---------|--------| | E*TRADE | `etrade_adapter.py` | Supported |

## Risk Management

- **Position limits** (仓位限制):每个符号最大 5%,最多 20 个仓位 - **Stop-losses** (止损):每个仓位 8%,组合回撤 15% - **Daily limits** (每日限制):每日最大亏损 3% - **PDT compliance** (PDT 合规):保守的每天 2 笔交易限制

## Authentication Helpers

在主 CLI 之外手动进行 E*TRADE 身份验证:

```bash # Standalone OAuth authentication script cd {baseDir} source venv/bin/activate python scripts/auth_script.py ```

这将生成授权 URL,提示输入验证码,并完成身份验证。

## File Locations

| File | Purpose | |------|---------| | `~/.clawback/config.json` | 主配置 | | `~/.clawback/.access_tokens.json` | E*TRADE OAuth 令牌 | | `~/.clawback/data/trading.db` | SQLite 数据库 |

## Security

- 源代码中无硬编码凭证 - 基于环境变量的配置 - E*TRADE 的加密令牌存储 - Git 忽略的 `.env` 文件 - 可选的生产环境加密

## Support

- **Documentation** (文档):详细设置请参阅 README.md - **Issues** (问题):https://github.com/mainfraame/clawback/issues - **Community** (社区):https://discord.com/invite/clawd

## Disclaimer

**交易涉及巨大的亏损风险。** 本软件仅供教育目的使用。过去的国会交易业绩并不能保证未来的结果。在实盘交易之前,请务必使用 E*TRADE 沙盒账户进行测试。

更多产品