Создайте приложение для покупки акций: парсинг веб-страниц, API и машинное обучение

  1. Метод веб-скрапинга.
    Вы можете использовать веб-скрапинг для извлечения биржевых данных с финансовых веб-сайтов или API. Вот пример использования библиотеки BeautifulSoup:
import requests
from bs4 import BeautifulSoup
def get_stock_data(symbol):
    url = f"https://finance.yahoo.com/quote/{symbol}"
    response = requests.get(url)
    soup = BeautifulSoup(response.content, "html.parser")
    price_element = soup.find("div", {"class": "D(ib) Mend(20px)"}).find("span").text
    return price_element
# Example usage
stock_symbol = "AAPL"
stock_price = get_stock_data(stock_symbol)
print(f"The current price of {stock_symbol} is {stock_price}")
  1. API фондового рынка.
    Используйте API фондового рынка для получения данных в реальном времени. Вот пример использования API Alpha Vantage:
import requests
def get_stock_data(symbol, api_key):
    url = f"https://www.alphavantage.co/query?function=GLOBAL_QUOTE&symbol={symbol}&apikey={api_key}"
    response = requests.get(url)
    data = response.json()
    price = data["Global Quote"]["05. price"]
    return price
# Example usage
stock_symbol = "AAPL"
api_key = "your_api_key"
stock_price = get_stock_data(stock_symbol, api_key)
print(f"The current price of {stock_symbol} is {stock_price}")
  1. Метод машинного обучения.
    Используйте методы машинного обучения для прогнозирования цен на акции на основе исторических данных. Вот пример использования библиотеки scikit-learn и линейной регрессии:
from sklearn.linear_model import LinearRegression
import pandas as pd
def predict_stock_price(history_data, future_dates):
    df = pd.read_csv(history_data)
    X = df.iloc[:, :-1].values
    y = df.iloc[:, 1].values
    regressor = LinearRegression()
    regressor.fit(X, y)
    future_data = pd.read_csv(future_dates)
    future_X = future_data.iloc[:, :-1].values
    predicted_prices = regressor.predict(future_X)
    return predicted_prices
# Example usage
historical_data = "historical_data.csv"
future_dates = "future_dates.csv"
predicted_prices = predict_stock_price(historical_data, future_dates)
print(f"Predicted stock prices: {predicted_prices}")