using-nautilus-trader
1
总安装量
1
周安装量
#53171
全站排名
安装命令
npx skills add https://github.com/poorrican/dotfiles --skill using-nautilus-trader
Agent 安装分布
codex
1
claude-code
1
Skill 文档
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.
- Docs: https://nautilustrader.io/docs/latest/
- API Reference: https://nautilustrader.io/docs/latest/api_reference/
- Source: https://github.com/nautechsystems/nautilus_trader
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 tradingAccountType.MARGIN– Margin/leverage trading