返回顶部
n

nautilus-trader鹦鹉螺交易者

>

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 0.1.0
安全检测
已通过
385
下载量
免费
免费
1
收藏
概述
安装方式
版本历史

nautilus-trader

Nautilus Trader 技能

针对NautilusTrader开发的全面辅助。包含完整的Hyperliquid主网集成及用于实盘交易的SDK补丁。



概述

本技能涵盖:

  • - 使用NautilusTrader进行策略开发
  • 使用Parquet数据目录进行回测
  • 在Hyperliquid主网上部署实盘交易
  • 针对Hyperliquid价格精度要求的SDK补丁

适用场景

  • - 使用NautilusTrader构建交易策略
  • 使用历史数据运行回测
  • 将策略部署到Hyperliquid主网
  • 调试NautilusTrader适配器问题
  • 使用多时间框架(MTF)指标

前置条件

核心依赖

bash

NautilusTrader(回测 + 实盘交易框架)


pip install nautilus_trader

Hyperliquid SDK(用于实盘交易补丁)

pip install hyperliquid-python-sdk eth-account python-dotenv

数据处理

pip install pandas numpy

验证安装

python
import nautilus_trader
print(fNautilus Trader: {nautilus_trader.version})

已验证版本 v1.222.0

环境变量

创建用于Hyperliquid凭证的.env文件:

bash
HYPERLIQUIDPK=yourprivatekeywithout0xprefix
HYPERLIQUID_VAULT=0xYourVaultAddressHere



快速开始

1. 应用Hyperliquid补丁(用于实盘交易)

python

关键:在Nautilus Trader之前导入补丁


import hyperliquid_patch

然后正常导入Nautilus

from nautilus_trader.adapters.hyperliquid import HYPERLIQUID from nautilus_trader.live.node import TradingNode

2. 基础策略模板

python
from nautilus_trader.trading.strategy import Strategy
from nautilus_trader.config import StrategyConfig
from nautilus_trader.model.data import Bar, BarType
from nautilus_trader.model.enums import OrderSide, TimeInForce
from nautilus_trader.model.identifiers import InstrumentId
from decimal import Decimal

class MyStrategyConfig(StrategyConfig):
instrument_id: str
bar_type: str
trade_size: Decimal = Decimal(0.1)

class MyStrategy(Strategy):
def init(self, config: MyStrategyConfig):
super().init(config)
self.instrumentid = InstrumentId.fromstr(config.instrument_id)
self.bartype = BarType.fromstr(config.bar_type)
self.tradesize = config.tradesize

def on_start(self):
self.instrument = self.cache.instrument(self.instrument_id)
self.subscribebars(self.bartype)

def on_bar(self, bar: Bar):
# 在此编写策略逻辑
pass

def on_stop(self):
self.closeallpositions(self.instrument_id)



策略开发

平均K线指标

python
from nautilus_trader.indicators.base.indicator import Indicator
from nautilus_trader.model.data import Bar

class HeikenAshi(Indicator):
平均K线蜡烛平滑指标。

def init(self):
super().init([])
self.ha_open = 0.0
self.ha_close = 0.0
self.ha_high = 0.0
self.ha_low = 0.0
self.prevha_open = None
self.prevha_close = None
self.initialized = False

def handle_bar(self, bar: Bar) -> None:
o, h, l, c = float(bar.open), float(bar.high), float(bar.low), float(bar.close)

self.ha_close = (o + h + l + c) / 4

if self.prevha_open is None:
self.ha_open = (o + c) / 2
else:
self.haopen = (self.prevhaopen + self.prevha_close) / 2

self.hahigh = max(h, self.haopen, self.ha_close)
self.halow = min(l, self.haopen, self.ha_close)

self.prevhaopen = self.haopen
self.prevhaclose = self.haclose
self.initialized = True

@property
def is_bullish(self) -> bool:
return self.haclose > self.haopen

@property
def is_bearish(self) -> bool:
return self.haclose < self.haopen

def reset(self) -> None:
self.prevha_open = None
self.prevha_close = None
self.initialized = False

多时间框架EMA策略

完整的多时间框架EMA + 平均K线策略实现请参见 references/hyperliquid.md。

关键概念:

  • - HTF(较高时间框架):通过EMA交叉判断趋势方向
  • LTF(较低时间框架):通过平均K线确认入场时机
  • 入场:趋势方向上的平均K线颜色变化
  • 出场:平均K线颜色反转

回测

引擎设置

python
from nautilus_trader.backtest.engine import BacktestEngine, BacktestEngineConfig
from nautilus_trader.model.currencies import USD
from nautilus_trader.model.enums import AccountType, OmsType
from nautilus_trader.model.identifiers import Venue
from nautilus_trader.model.objects import Money
from nautilus_trader.persistence.catalog import ParquetDataCatalog
from decimal import Decimal

def run_backtest():
config = BacktestEngineConfig(
trader_id=BACKTESTER-001,
logging_level=INFO,
)
engine = BacktestEngine(config=config)

# 添加交易场所
engine.add_venue(
venue=Venue(HYPERLIQUID),
oms_type=OmsType.NETTING,
account_type=AccountType.MARGIN,
base_currency=USD,
startingbalances=[Money(100000, USD)],
)

# 从目录加载数据
catalog = ParquetDataCatalog(./data_catalog)

instruments = catalog.instruments()
for instrument in instruments:
engine.add_instrument(instrument)

bars = catalog.bars()
engine.add_data(bars)

# 添加策略
strategy = MyStrategy(config=MyStrategyConfig(
instrument_id=SOL-USD.HYPERLIQUID,
bar_type=SOL-USD.HYPERLIQUID-5-MINUTE-LAST-EXTERNAL,
trade_size=Decimal(1.0),
))
engine.add_strategy(strategy)

# 运行
engine.run()

# 结果
print(engine.trader.generateaccountreport(Venue(HYPERLIQUID)))
print(engine.trader.generateorderfills_report())
print(engine.trader.generatepositionsreport())

engine.dispose()

数据目录

详细的目录操作请参见 references/backtesting.md 和 references/data.md:

  • - ParquetDataCatalog - 查询和管理Parquet数据文件
  • BarDataWrangler - 将pandas DataFrame转换为Nautilus Bar对象
  • write_data() - 将数据持久化到目录
  • query() - 使用时间过滤器检索数据

Hyperliquid实盘交易

节点配置

python
import os
from dotenv import load_dotenv

load_dotenv()

关键:在Nautilus导入之前应用补丁

import hyperliquid_patch

from nautilus_trader.adapters.hyperliquid import (
HYPERLIQUID,
HyperliquidDataClientConfig,
HyperliquidExecClientConfig,
)
from nautilus_trader.live.node import TradingNode, TradingNodeConfig
from nautilus_trader.config import LiveDataEngineConfig, LiveExecEngineConfig

def main():
node_config = TradingNodeConfig(
trader_id=LIVE-001,
data_engine=LiveDataEngineConfig(),
exec_engine=LiveExecEngineConfig(),
)

node = TradingNode(config=node_config)

data_config = HyperliquidDataClientConfig(
walletaddress=os.getenv(HYPERLIQUIDVAULT),
is_testnet=False,
)

exec_config = HyperliquidExecClientConfig(
walletaddress=os.getenv(HYPERLIQUIDVAULT),
privatekey=os.getenv(HYPERLIQUIDPK),
is_testnet=False,
)

node.build()

# 添加策略
strategy = MyStrategy(config=my_config)

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 nautilus-trader-1775919373 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 nautilus-trader-1775919373 技能

通过命令行安装

skillhub install nautilus-trader-1775919373

下载

⬇ 下载 nautilus-trader v0.1.0(免费)

文件大小: 204.67 KB | 发布时间: 2026-4-12 10:42

v0.1.0 最新 2026-4-12 10:42
Version 0.1.0

- Initial release of the NautilusTrader skill.
- Provides guidance for strategy development, backtesting, and live trading with NautilusTrader.
- Includes setup for Hyperliquid mainnet integration and SDK patch for price precision.
- Offers templates and examples for building, running, and backtesting trading strategies.
- Documentation covers indicator development, multi-timeframe strategies, and environment configuration.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部