# 特性

> 原文：[`www.backtrader.com/home/features/`](https://www.backtrader.com/home/features/)

### 实时交易

与 Interactive Brokers、Oanda v1、VisualChart 以及外部第三方经纪人（alpaca、Oanda v2、ccxt，...）一起使用

### 基于`0`的索引

+   在数组中使用`0`表示当前时刻，以解决访问数组值时的前瞻性偏差

+   使用`-1`，`-2`（即：负值）表示**最后**时刻，以与 Python 的定义保持同步

+   任何正索引表示**未来**（在`event-only`模式下测试代码，会出错）

### 事件和矢量化

+   交易逻辑和经纪人始终基于事件运行

+   如果可能，指标的计算是矢量化的（源数据可以预加载）

一切都可以在仅事件模式下运行，无需预加载数据，就像实时运行一样

### 数据源（包括实时数据）

+   内置支持多种数据源：*CSV*、数据库数据源、YahooFinance、交互经纪人、Oanda v1，...

+   可以同时运行任意数量的数据源（受内存限制，显然）

    警告

    注意幸存者偏差！

+   可以混合和运行多个时间框架

+   集成重采样和重播功能

### 内置电池的经纪人

+   订单类型：`Market`、`Limit`、`Stop`、`StopLimit`、`StopTrail`、`StopTrailLimit`、`OCO`、`Bracket`、`MarketOnClose`

+   多空卖出

+   未来类工具的持续现金调整

+   用户定义的佣金方案和信用利息

+   基金模式

+   成交量填充策略

+   自定义滑点

### 策略 - 交易逻辑

+   在操作之前自动计算热身期

+   多个策略（针对同一经纪人）可以并行运行

+   多种订单生成方法（`buy/sell`、`order_target_xxx`、自动信号）

+   事件通知：传入数据、数据源提供者、订单、交易、定时器

### 指标

超过 122 种指标，常见的指标都在其中

+   许多移动平均线（`SMA`、`EMA`，...）、经典指标（`MACD`、`Stochastic`、`RSI`，...）和其他指标

+   `ta-lib`集成

### 性能分析器

几个内置的性能分析器（`TimeReturns`、`TradeAnalyzer`、`SharpeRatio`、`VWR`、`SQN`，...）

### 绘图（额外）

使用单个命令进行自动化（可定制）绘图

注意

为了使其工作，必须安装`matplotlib`

### 大小调整器

定义并插入智能自动化的押注策略

### 观察者

代理可以被绘制，并且可以观察系统中的一切（通常用于绘制统计数据）

### 杂项

+   定时器用于随时间重复的操作

+   交易日历

+   时区支持

### 纯 Python

使用最强大且易于使用的编程语言之一。无需外部库。

+   使用面向对象的方法轻松地将拼图的各个部分拼合在一起

+   操作符在可能的情况下进行重载，以提供自然语言构造，例如：

    ```py
    `av_diff = bt.ind.SMA(period=30) - bt.ind.SMA(period=15)` 
    ```

    其中`av_diff`将包含`30`和`15`周期的简单移动平均线的差值

+   对于语言结构，不能被覆盖，比如`and`，`or`，`if`，提供了等效的*函数*以确保没有功能丢失，例如

    ```py
    `av_and = bt.And(av_diff > 0, self.data.close < bt.ind.SMA(period=30))` 
    ```
