跳转至

首页

面向量化交易者的生产级 DeFi 策略框架

PyPI version Python 3.12+ License: Apache-2.0 Discord Twitter

English | 中文 | Français | Español


Almanak SDK 提供了一个全面的框架,用于开发、测试和部署自主 DeFi 代理。基于意图驱动架构构建,策略以高级意图表达,代码量最少。

功能特性

  • 意图驱动架构 - 以高级意图(Swap、LP、Borrow 等)表达交易逻辑。框架自动处理编译和执行。
  • 三级状态管理 - 自动持久化,支持 HOT/WARM/COLD 三级存储以确保可靠性。
  • 全面的回测系统 - PnL 模拟、Anvil 分叉上的模拟交易和参数扫描。
  • 多链支持 - Ethereum、Arbitrum、Optimism、Base、Avalanche、Polygon、BSC、Sonic、Plasma、Blast、Mantle、Berachain 等。
  • 协议集成 - Uniswap V3、Aave V3、Morpho Blue、GMX V2、Pendle、Polymarket、Kraken 等。
  • 非托管设计 - 通过 Safe 智能账户完全控制您的资金。
  • 生产就绪 - 内置告警、卡顿检测、紧急管理和金丝雀部署。

安装

pip install almanak

Anvil 分叉测试(见下文)需要 Foundry

curl -L https://foundry.paradigm.xyz | bash
foundryup

快速开始

# 从模板创建新策略
almanak strat new

# 在本地 Anvil 分叉上运行 -- 无需钱包或 API 密钥
cd my_strategy
almanak strat run --network anvil --once

Anvil 分叉测试是推荐的起点。SDK 会自动启动本地分叉,使用默认的已充值钱包,零配置即可运行您的策略。请参阅快速入门获取完整教程。

编写策略

策略实现 decide() 方法,该方法接收一个 MarketSnapshot 并返回一个 Intent(或 None 跳过本轮):

from decimal import Decimal
from almanak.framework.intents import Intent
from almanak.framework.strategies import IntentStrategy, MarketSnapshot

class MyStrategy(IntentStrategy):
    """一个简单的均值回归策略。"""

    def decide(self, market: MarketSnapshot) -> Intent | None:
        eth_price = market.price("ETH")
        usdc = market.balance("USDC")

        if eth_price < Decimal("2000") and usdc.balance_usd > Decimal("500"):
            return Intent.swap(
                from_token="USDC",
                to_token="ETH",
                amount_usd=Decimal("500"),
            )
        return Intent.hold(reason="等待更好的条件")

架构

almanak/
  framework/           # V2 策略框架
    strategies/        # IntentStrategy 基类
    intents/           # 意图词汇表和编译器
    state/             # 三级状态管理
    execution/         # 交易编排
    backtesting/       # PnL、模拟交易、参数扫描
    connectors/        # 协议适配器
    data/              # 价格预言机、指标
    alerting/          # Slack/Telegram 通知
    services/          # 卡顿检测、紧急管理
  gateway/             # gRPC 网关侧车
  transaction_builder/ # 底层交易构建
  core/                # 枚举、模型、工具
  cli/                 # 命令行界面

所有策略通过网关专用架构运行以确保安全。网关侧车持有所有密钥并暴露受控的 gRPC API。策略容器没有密钥,也没有直接的互联网访问权限。

反馈与功能请求

有想法、发现了 bug 或想要请求新功能?请前往我们的 Discord 并在相应频道发帖。我们会积极监控那里的反馈,并据此制定 SDK 路线图。

下一步