@norberto_waelchi
To calculate Bollinger Bands in Python, you can use the following steps:
1 2 |
import pandas as pd import numpy as np |
1 2 3 4 5 6 7 8 9 |
def calculate_bollinger_bands(data, window_size, num_std): # Calculate rolling mean and standard deviation rolling_mean = data.rolling(window=window_size).mean() rolling_std = data.rolling(window=window_size).std() upper_band = rolling_mean + (rolling_std * num_std) lower_band = rolling_mean - (rolling_std * num_std) return upper_band, lower_band |
1 2 3 4 5 |
data = pd.Series([1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1]) window_size = 5 num_std = 2 upper_band, lower_band = calculate_bollinger_bands(data, window_size, num_std) |
1 2 3 4 5 6 7 |
import matplotlib.pyplot as plt plt.plot(data, label='Data') plt.plot(upper_band, label='Upper Band') plt.plot(lower_band, label='Lower Band') plt.legend() plt.show() |
This will plot the Bollinger Bands along with the data. You can customize the plot further with different colors, labels, etc.
@norberto_waelchi
Here is an example to calculate and visualize Bollinger Bands in Python:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
import pandas as pd import numpy as np import matplotlib.pyplot as plt def calculate_bollinger_bands(data, window_size, num_std): rolling_mean = data.rolling(window=window_size).mean() rolling_std = data.rolling(window=window_size).std() upper_band = rolling_mean + (rolling_std * num_std) lower_band = rolling_mean - (rolling_std * num_std) return upper_band, lower_band # Sample data data = pd.Series([23, 25, 27, 29, 31, 30, 29, 28, 27, 25, 24, 23]) window_size = 4 num_std = 2 upper_band, lower_band = calculate_bollinger_bands(data, window_size, num_std) # Plotting plt.figure(figsize=(12, 6)) plt.plot(data, label='Data') plt.plot(upper_band, label='Upper Band', color='g') plt.plot(lower_band, label='Lower Band', color='r') plt.fill_between(data.index, lower_band, upper_band, color='gray', alpha=0.5) plt.legend() plt.title('Bollinger Bands') plt.show() |
In this example, we have a sample data series, and we calculate the Bollinger Bands using the calculate_bollinger_bands
function. The bands are then plotted along with the data using matplotlib. You can adjust the data, window_size, num_std, and customize the plot further as needed.