# 7.3. Volatility Indicators (Chỉ báo biến động)

### 7.**3.1. Bollinger Bands**

> Bollinger Bands (Dải Bollinger) là một công cụ phân tích kỹ thuật được phát triển bởi John Bollinger vào những năm 1980. Bollinger Bands giúp đo lường sự biến động (volatility) của giá và xác định mức giá cao/thấp tiềm năng trong một xu hướng.
>
> Cấu tạo:
>
> * Dải trung tâm (Centerline): Đường trung bình động (thường là đường SMA 20 ngày) của giá.
> * Dải trên (Upper Band): Số lần chênh lệch chuẩn nhất định (thường là 2) tính trên đường trung tâm, được cộng thêm vào giá trị của đường trung tâm.
> * Dải dưới (Lower Band): Số lần chênh lệch chuẩn nhất định (thường là 2) tính trên đường trung tâm, được trừ đi khỏi giá trị của đường trung tâm.

```python
def bollinger_hband(column: pandas.core.series.Series, window: int = 20, window_dev: int = 2)

def bollinger_lband(column: pandas.core.series.Series, window: int = 20, window_dev: int = 2)
```

**Tham số**

| Tên tham số | Mô tả                                                                                | Kiểu dữ liệu  | Giá trị mặc định |
| ----------- | ------------------------------------------------------------------------------------ | ------------- | ---------------- |
| column      | Cột dữ liệu chứa các giá trị để tính toán Bollinger Bands.                           | pandas.Series |                  |
| window      | Số lượng điểm dữ liệu sử dụng trong phép tính Bollinger Bands.                       | int           | 20               |
| window\_dev | Số lượng độ lệch chuẩn sử dụng để tính toán khoảng cách các dải của Bollinger Bands. | int           | 2                |

Ví dụ

<pre class="language-python"><code class="lang-python">fi = client.FiinIndicator()
df['bollinger_hband'] = fi.bollinger_hband(df['close'], window=20, window_dev=2)
<strong>df['bollinger_lband'] = fi.bollinger_lband(df['close'], window=20, window_dev=2)
</strong>print(df)
</code></pre>

### **7.3.2. Supertrend**

> Supertrend (siêu xu hướng) là một công cụ phân tích kỹ thuật được phát triển bởi nhà đầu tư Olivier Seban vào năm 2010. Supertrend sử dụng kết hợp các yếu tố như giá cả ATR (Average True Range - Biên độ dao động trung bình thực) và xu hướng hiện tại để xác định xu hướng chính của thị trường và các điểm đảo chiều tiềm năng.

```python
def supertrend(high: pandas.core.series.Series, low: pandas.core.series.Series, close: pandas.core.series.Series, window: int = 14, multiplier: float = 3.0)


def supertrend_hband(high: pandas.core.series.Series, low: pandas.core.series.Series, close: pandas.core.series.Series, window: int = 14, multiplier: float = 3.0)


def supertrend_lband(high: pandas.core.series.Series, low: pandas.core.series.Series, close: pandas.core.series.Series, window: int = 14, multiplier: float = 3.0)
```

**Tham số:**

| Tên tham số | Mô tả                                                                        | Kiểu dữ liệu  | Giá trị mặc định |
| ----------- | ---------------------------------------------------------------------------- | ------------- | ---------------- |
| high        | Cột dữ liệu chứa các giá trị cột giá cao nhất để tính toán Supertrend.       | pandas.Series |                  |
| low         | Cột dữ liệu chứa các giá trị cột giá thấp nhất để tính toán Supertrend.      | pandas.Series |                  |
| close       | Cột dữ liệu chứa các giá trị cột giá đóng cửa để tính toán Supertrend.       | pandas.Series |                  |
| window      | Số lượng điểm dữ liệu sử dụng trong phép tính Supertrend.                    | int           | 14               |
| multiplier  | Hệ số nhân dùng để điều chỉnh độ rộng của chỉ báo Supertrend so với mức giá. | float         | 3.0              |

Ví dụ:

```python
fi = client.FiinIndicator()
df['supertrend'] = fi.supertrend(df['high'], df['low'], df['close'], window=14)
df['supertrend_hband'] = fi.supertrend_hband(df['high'], df['low'], df['close'], window=14)
df['supertrend_lband'] = fi.supertrend_lband(df['high'], df['low'], df['close'], window=14)
print(df)
```

### **7.3.3. ATR (AverageTrueRange)**

> ATR là khoảng dao động trung bình thực tế. Đây là chỉ báo để đo lường những biến động của giá trong một khoảng thời gian nhất định.
>
> Chỉ báo được giới thiệu trong cuốn sách “Tư tưởng mới trong Hệ thống kỹ thuật Giao dịch” của J. Welles Wilder Jr vào năm 1978. Thông qua chỉ báo, nhà đầu tư có thể dự đoán mức giá dao động trong tương lai. Nhờ đó, nhà đầu tư có cơ sở để đặt điểm cắt lỗ và chốt lời hợp lý.
>
>

```python
def atr(high: pandas.core.series.Series, low: pandas.core.series.Series, close: pandas.core.series.Series, window: int = 14)
```



**Tham số:**

| Tên tham số | Mô tả                                                            | Kiểu dữ liệu  | Giá trị mặc định |
| ----------- | ---------------------------------------------------------------- | ------------- | ---------------- |
| high        | Cột dữ liệu chứa các giá trị cột giá cao nhất để tính toán ATR.  | pandas.Series |                  |
| low         | Cột dữ liệu chứa các giá trị cột giá thấp nhất để tính toán ATR. | pandas.Series |                  |
| close       | Cột dữ liệu chứa các giá trị cột giá đóng cửa để tính toán ATR.  | pandas.Series |                  |
| window      | Số lượng điểm dữ liệu sử dụng trong phép tính ATR.               | int           | 14               |

Ví dụ:

```python
fi = client.FiinIndicator()
df['atr'] = fi.atr(df['high'], df['low'], df['close'], window=14)
print(df)
```
