Clawback技能使用说明
追回
通过自动化经纪商执行镜像国会股票交易
代理指令
当用户调用/clawback时,根据参数执行相应命令:
命令
当用户调用/clawback并附带任何参数时,执行相应命令:
| 命令 | 操作 |
|---|---|
/clawback setup | 运行设置向导:执行{baseDir}/bin/clawback.py setup |
/clawback status | 检查系统状态:执行{baseDir}/bin/clawback.py status |
/clawback run | 启动交易机器人:执行{baseDir}/bin/clawback.py run |
/clawback daemon | 作为后台服务运行:执行{baseDir}/bin/clawback.py daemon |
/clawback test | 测试通知:执行{baseDir}/bin/clawback.py test |
/clawback(无参数) | 显示帮助:执行{baseDir}/bin/clawback.py --help |
如何执行命令
选项1:使用包装脚本(推荐)执行ClawBack命令时,请始终:
- 使用位于
{baseDir}/bin/clawback.py - 的包装脚本
将命令作为参数传递(例如,{baseDir}/bin/clawback.py status - )
捕获并向用户显示输出选项2:直接执行Python(如果包装脚本不工作)
- 如果包装脚本失败,可以直接运行ClawBack:
cd {baseDir} - 激活虚拟环境:
source venv/bin/activate - 运行CLI:
python -m clawback.cli [command] - 捕获并显示输出
重要提示:始终检查虚拟环境是否存在于{baseDir}/venv。如果不存在,您可能需要先运行设置。
/clawback setup- 交互式设置流程
当用户运行/clawback setup时,请按照以下步骤操作:
步骤1:安装依赖项(如果需要)检查{baseDir}/venv是否存在。如果不存在,请运行:
cd {baseDir} && python3 -m venv venv && source venv/bin/activate && pip install -e .
步骤2:提示输入E*TRADE凭据向用户询问每个值:
-
环境:询问“您想要使用沙盒环境(测试)或生产环境(真实资金)?”
- 默认值:沙盒环境
-
消费者密钥:询问“请输入您的E*TRADE消费者密钥(来自developer.etrade.com):”
- 必填字段
-
消费者密钥:询问“请输入您的E*TRADE消费者密钥:”
- 必填字段
-
账户ID:询问“请输入您的E*TRADE账户ID(或留空在OAuth后获取):”
- 可选 - 可稍后获取
步骤3:保存配置创建/更新~/.clawback/config.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
}
}
步骤4:确认设置告知用户:“配置已保存至 ~/.clawback/config.json。运行/clawback status命令进行验证。”
获取 E*TRADE API 凭证
引导用户至:https://developer.etrade.com
- 创建开发者账户
- 创建新应用(建议先创建沙盒环境用于测试)
- 复制消费者密钥(Consumer Key)和消费者密钥(Consumer Secret)
配置文件位置
- 配置文件:
~/.clawback/config.json - 技能目录:
{baseDir}
读取已保存的配置
检查用户是否已配置凭证,请读取~/.clawback/config.json:
- 若文件不存在或凭证为空 → 提示进行设置
- 若凭证存在 → 可继续执行状态/运行命令
命令行界面(CLI)自动从~/.clawback/config.json读取所有操作所需信息。
检查设置状态
在运行前/clawback status或/clawback run,验证:
{baseDir}/venv存在(依赖项已安装)~/.clawback/config.json存在且非空broker.credentials.apiKey
如果任何一项缺失,建议先运行/clawback setup。
ClawBack 跟踪国会议员(众议院和参议院)披露的股票交易,并在您的 E*TRADE 经纪账户中执行按比例调整的头寸。其构建基于国会领袖因信息优势而持续跑赢市场的前提。
默认目标政客
ClawBack 默认监控以下政客(可配置):
| 政客 | 议院 | 优先级 |
|---|---|---|
| 南希·佩洛西 | 众议院 | 1(最高) |
| 丹·克伦肖 | 众议院 | 2 |
| 汤米·塔伯维尔 | 参议院 | 2 |
| 玛乔丽·泰勒·格林 | 众议院 | 3 |
交易策略默认值
| 参数 | 默认值 | 描述 |
|---|---|---|
| 交易延迟 | 3天 | 在信息披露后等待交易的时间 |
| 持有期 | 30天 | 头寸的目标持有时间 |
| 头寸规模 | 5% | 每笔交易的最大分配比例 |
| 止损 | 8% | 每个头寸的止损点 |
| 投资组合回撤 | 15% | 暂停交易前的最大投资组合损失 |
| 披露检查 | 东部时间 10:00, 14:00, 18:00 | 每日检查时间 |
功能
- 实时披露追踪源自众议院书记官和参议院电子财务披露官方来源
- 自动化交易执行通过 E*TRADE API(仅支持此券商)
- 智能仓位管理- 根据您的账户规模调整交易量
- 追踪止损- 锁定利润,限制损失
- 风险管理- 回撤限制,连续亏损保护
- Telegram 通知- 获取新交易和止损的提醒
- 回测引擎- 在历史数据上测试策略
表现(回测结果)
| 策略 | 胜率 | 回报率 | 夏普比率 |
|---|---|---|---|
| 3天延迟,30天持有期 | 42.9% | +6.2% | 0.39 |
| 9天延迟,90天持有期 | 57.1% | +4.7% | 0.22 |
根据NBER研究,国会领导人的年度表现超出标普500指数47%。
通过ClawHub安装
# Install from ClawHub registry
clawhub install clawback
# Or install from local directory
clawhub install ./clawback
故障排除
常见问题
-
技能未执行:如果
/clawback在OpenClaw中不起作用:- 检查技能是否位于正确位置:
{baseDir}/ - 验证包装脚本是否可执行:
chmod +x {baseDir}/bin/clawback.py - 检查虚拟环境是否存在:
{baseDir}/venv/
- 检查技能是否位于正确位置:
-
认证问题:如果E*TRADE认证失败:
- 运行认证工具:
python {baseDir}/scripts/auth_utility.py --auth - 运行
{baseDir}/bin/clawback.py setup以重新配置 - 检查凭证文件
~/.clawback/config.json - 验证E*TRADE API密钥是否有效
- 运行认证工具:
-
令牌过期:如果令牌过期(30天有效期):
- 运行:
python {baseDir}/scripts/auth_utility.py --refresh - 或开始新的认证:
python {baseDir}/scripts/auth_utility.py --auth
- 运行:
-
Python导入错误:如果看到"ModuleNotFoundError":
- 确保虚拟环境已激活
- 运行
pip install -e .在{baseDir}/ - 检查Python路径是否包含
{baseDir}/src
调试模式
要调试技能执行过程,请添加DEBUG=1环境变量:
DEBUG=1 {baseDir}/bin/clawback.py status
这将显示关于执行上下文的额外信息。
安装后设置
通过ClawHub安装后,install.sh脚本会自动运行:
- Python环境设置- 创建虚拟环境
- 包安装- 通过pip安装ClawBack
- 目录结构- 创建logs/、data/、config/目录
- 设置提示- 询问是否要运行设置向导
如果在安装过程中跳过了设置,可以手动运行:
cd ~/.openclaw/skills/clawback
./setup.sh # Interactive setup wizard
# or
clawback setup # CLI-based setup
改进的设置功能
- 更好的输入处理- 在交互式和非交互式模式下均可工作
- 输入验证- 验证E*TRADE API密钥格式
- 超时处理- 若无输入则自动使用默认值
- 错误恢复- 若命令行界面失败,则回退至手动设置
- 配置检查- 检测现有配置并提供选项
交互式设置向导
设置向导将引导您完成配置:
步骤1:环境选择
- 沙盒环境(推荐用于测试):无真实交易,使用E*TRADE开发者沙盒
- 生产环境:使用真实资金进行真实交易
步骤2:E*TRADE API凭证
- 消费者密钥:来自E*TRADE开发者门户
- 消费者密钥:来自 E*TRADE 开发者门户
步骤 3:身份验证
- E*TRADE 自动 OAuth 流程
- 打开浏览器进行授权
- 返回验证码
步骤 4:账户选择
- 列出所有可用的 E*TRADE 账户
- 选择用于交易的账户
步骤 5:Telegram 设置(可选)
- 通过 Telegram 机器人配置通知
- 如果可用,使用 OpenClaw 内置的 Telegram 频道
环境变量
设置完成后,凭据存储在.env:
# 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
使用方法
# 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
自动化交易
该clawback 守护进程命令持续运行,并包含:
- 披露检查于东部时间10:00、14:00、18:00(通常为文件发布时段)
- 交易执行于东部时间上午9:35(市场开盘后5分钟)
- 令牌刷新每90分钟一次(维持E*TRADE会话活跃)
- 交易时段强制规定(东部时间上午9:30至下午4:00)
数据来源
- 众议院书记官:https://disclosures-clerk.house.gov(PDF解析)
- 参议院电子财务披露系统:https://efdsearch.senate.gov(网络爬取)
- Financial Modeling Prep:增强型金融数据(可选)
支持券商
ClawBack目前仅支持ETRADE。适配器模式允许未来扩展支持其他券商,但目前仅ETRADE已完成实现与测试。
| 券商 | 适配器 | 状态 |
|---|---|---|
| E*TRADE | etrade_adapter.py | 已支持 |
风险管理
- 持仓限制: 每只股票最大持仓5%,最大持仓数20
- 止损设置: 单笔持仓8%止损,投资组合回撤15%止损
- 日度限制: 最大单日亏损3%
- PDT规则遵循: 保守型每日2笔交易限制
认证辅助工具
用于在主CLI之外进行E*TRADE手动认证:
# Standalone OAuth authentication script
cd {baseDir}
source venv/bin/activate
python scripts/auth_script.py
此工具生成授权URL,提示输入验证码,并完成认证流程。
文件位置
| 文件 | 用途 |
|---|---|
~/.clawback/config.json | 主配置文件 |
~/.clawback/.access_tokens.json | E*TRADE OAuth 令牌 |
~/.clawback/data/trading.db | SQLite 数据库 |
安全性
- 源代码中无硬编码凭证
- 基于环境变量的配置
- 用于 E*TRADE 的加密令牌存储
- Git 忽略
.env文件 - 可选的生产环境加密
支持
- 文档: 详细设置请参阅 README.md
- 问题:https://github.com/mainfraame/clawback/issues
- 社区:https://discord.com/invite/clawd
免责声明
交易涉及重大损失风险。本软件仅供教育用途。过去的国会交易表现不能保证未来结果。在进行实盘交易前,请务必使用E*TRADE模拟账户进行测试。


微信扫一扫,打赏作者吧~