using-nautilus-trader

High-performance algorithmic trading platform with event-driven architecture. Identical code for backtesting and live trading. Rust/Cython core with Python bindings.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "using-nautilus-trader" with this command: npx skills add poorrican/dotfiles/poorrican-dotfiles-using-nautilus-trader

NautilusTrader Skill

High-performance algorithmic trading platform with event-driven architecture. Identical code for backtesting and live trading. Rust/Cython core with Python bindings.

Always consult official docs for current API - the API evolves frequently with breaking changes before v2.x.

File Guide

Core Development

  • strategy-development.md - Strategy class, lifecycle, event handlers, order submission

  • backtesting.md - BacktestNode/Engine setup, fill models, data catalog

  • live-trading.md - TradingNode deployment, Redis, production safety

Data & Orders

  • data-models.md - QuoteTick, TradeTick, Bar, InstrumentId, BarType

  • orders.md - Order types, OrderFactory, bracket orders, emulation

  • cache.md - Query instruments, orders, positions, market data

Components

  • actors.md - Actor base class for non-trading components

  • indicators.md - Built-in indicators, registration, custom indicators

  • portfolio.md - Account balances, positions, PnL calculations

  • execution.md - Execution flow, risk engine, execution algorithms

Integration

  • integrations.md - Binance, Bybit, Interactive Brokers status

  • adapters.md - Custom adapter implementation

  • architecture.md - NautilusKernel, MessageBus, engines

Reference

  • examples.md - Complete working strategies

  • best-practices.md - Testing, optimization, safety

  • troubleshooting.md - Common issues

  • installation.md - Setup, precision modes

Critical Patterns

Register indicators BEFORE subscribing:

self.register_indicator_for_bars(self.bar_type, self.ema) self.subscribe_bars(self.bar_type) # Must be after registration

Use strategy's order_factory:

order = self.order_factory.market( instrument_id=instrument_id, order_side=OrderSide.BUY, quantity=Quantity.from_str("1.0"), ) self.submit_order(order)

BarType string format:

Format: {instrument_id}-{step}-{aggregation}-{price_type}-{source}

bar_type = BarType.from_str("BTCUSDT.BINANCE-1-MINUTE-LAST-EXTERNAL")

InstrumentId format:

Format: {symbol}.{venue}

instrument_id = InstrumentId.from_str("BTCUSDT.BINANCE")

Quantity/Price from strings (avoids precision issues):

quantity = Quantity.from_str("1.5") price = Price.from_str("50000.00")

Check indicator initialization:

def on_bar(self, bar: Bar): if not self.ema.initialized: return # Safe to use self.ema.value

OMS Types

  • OmsType.NETTING

  • Single position per instrument (crypto-style)

  • OmsType.HEDGING

  • Multiple positions per instrument (traditional futures)

Account Types

  • AccountType.CASH

  • Spot trading

  • AccountType.MARGIN

  • Margin/leverage trading

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

manage-dotfiles

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

code-quality

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

frontend-development

No summary provided by upstream source.

Repository SourceNeeds Review