Простой пример анализа фондового рынка с использованием Python
Провести анализ фондового рынка с помощью Python, Pandas, Matplotlib и Plotly на основе данных, полученных из Yahoo Finance API.
Шаг 1: Настройка среды
Убедитесь, что у вас установлен Python вместе с библиотеками Pandas, Matplotlib и Plotly. Если они еще не установлены, их можно установить с помощью программы pip:
pip install yfinance
Шаг 2: Импорт необходимых библиотек
import pandas as pd
import matplotlib.pyplot as plt
import plotly.graph_objects as go
import yfinance as yf
Шаг 3: Получение данных о фондовом рынке
Вы можете использовать библиотеку yfinance для получения исторических данных по акциям из Yahoo Finance. Замените “AAPL” на выбранный вами символ акций:
ticker = "AAPL"
start_date = "2021-01-01"
end_date = "2021-12-31"
# Fetch historical stock data from Yahoo Finance
data = yf.download(ticker, start=start_date, end=end_date)
Шаг 4: Исследование и анализ данных
Начать можно с изучения и анализа данных:
# View the first few rows of the data
print(data.head())
# Calculate basic statistics
print(data.describe())
Шаг 5: Создание свечного графика
Построение свечного графика с использованием Matplotlib:
fig, ax = plt.subplots(figsize=(12, 6))
ax.set_title(f"{ticker} Candlestick Chart")
ax.plot(data.index, data["Close"], label="Closing Price", color="blue")
candlestick_colors = {
True: "green",
False: "red"
}
candlestick_width = 0.6
for i, (index, row) in enumerate(data.iterrows()):
is_bullish = row["Open"] < row["Close"]
color = candlestick_colors[is_bullish]
ax.bar(index, row["High"] - row["Low"], bottom=row["Low"], width=candlestick_width, color=color)
ax.vlines(index, row["Low"], row["High"], color=color, linewidth=1)
ax.vlines(index, row["Open"], row["Close"], color=color, linewidth=4)
ax.set_xlabel("Date")
ax.set_ylabel("Price")
ax.legend()
plt.show()
Шаг 6: Создание линейной диаграммы
Для создания линейного графика с помощью Plotly:
fig = go.Figure()
fig.add_trace(go.Scatter(x=data.index, y=data["Close"], mode='lines', name='Closing Price'))
fig.update_layout(
title=f"{ticker} Closing Price Line Chart",
xaxis_title="Date",
yaxis_title="Price",
showlegend=True
)
fig.show()
Эти шаги обеспечивают базовую основу для анализа фондового рынка с помощью Python и Yahoo Finance API.
+1
+1
3
+1
+1
+1