سسس
سسس
import pandas as pd
import numpy as np
import os
from multiprocessing import Pool, cpu_count
from tqdm import tqdm
from google.colab import drive
# Function to download stock data from Yahoo Finance and save it locally
def download_stock_data(tickers, save_path):
if not os.path.exists(save_path):
os.makedirs(save_path)
tasks = []
for ticker, data in stock_data.items():
stock_close = data['Close'].values
if len(stock_close) == 0 or np.std(stock_close) == 0:
continue
stock_close_normalized = (stock_close - np.mean(stock_close)) /
np.std(stock_close)
tasks.append((chart_close_normalized, stock_close_normalized, ticker))
if len(non_overlapping) > 1:
for idx1, sim1 in non_overlapping:
chart_start_date = chart_data['Date'].iloc[0]
chart_end_date = chart_data['Date'].iloc[-1]
stock_start_date = stock_data[ticker]['Date'].iloc[idx1]
stock_end_date = stock_data[ticker]['Date'].iloc[min(idx1 +
len(chart_close), len(stock_data[ticker]) - 1)]
result = {
"ticker": ticker,
"similarity": sim1,
"chart_period": (chart_start_date, chart_end_date),
"stock_period": (stock_start_date, stock_end_date)
}
results.append(result)
print(f"Ticker: {ticker}")
print(f"Similarity: {sim1}")
print(f"Chart Period: {chart_start_date} to
{chart_end_date}")
print(f"Stock Period: {stock_start_date} to
{stock_end_date}")
print("\n")
return results