import pandas as pd
import pickle

def preprocess_dataset(file_path):
    df = pd.read_csv(file_path, parse_dates=[0])

    result = {}
    for ticker in df['tck_iem_cd'].unique():
        ticker_data = df[df['tck_iem_cd'] == ticker]
        result[ticker] = ticker_data[['gts_iem_ong_pr', 'gts_iem_end_pr', 'gts_iem_hi_pr', 'gts_iem_low_pr']].values.tolist()

    return result

def chunk_sequences(data, window_size=3):
    """
    Chunks the data into sequences of a given window size.
    """
    chunks = []
    for i in range(len(data) - window_size + 1):
        chunks.append(data[i:i+window_size])
    return chunks

def preprocess_data_for_training(data, window_size=3):
    all_sequences = []

    for ticker, prices in data.items():
        chunks = chunk_sequences(prices, window_size)
        all_sequences.extend(chunks)

    return all_sequences

file_path = "NASDAQ_DT_FC_STK_QUT.csv"
preprocessed_data = preprocess_dataset(file_path)
all_sequences = preprocess_data_for_training(preprocessed_data)

# Save all_sequences to a pickle file
with open('data_3candles.pkl', 'wb') as f:
    pickle.dump(all_sequences, f)
