input: from typing import Tuple
  
  
  def train_stock_forecast_model(data: pd.DataFrame) -> Tuple[tf.keras.models.Sequential, float]:
      """ Train a deep learning model to predict stock market movements based on historical data.
      The function splits the data into training and testing sets, builds a neural network model,
      trains it, and returns the trained model along with its performance score.
      >>> import pandas as pd
      >>> data = pd.read_csv('data.csv')
      >>> model, score = train_stock_forecast_model(data)
      >>> score < 0.1
      True
      """
      # Split data into train and test data
      X_train = data.iloc[:, 0]  # Choosing the independent variable
      y_train = data.iloc[:, 1]  # Choosing the dependent variable
      X_test = data.iloc[:, 0]   # Choosing the independent variable
      y_test = data.iloc[:, 1]   # Choosing the dependent variable
  
      # Build a deep learning model
      model = Sequential()
      model.add(Dense(64, input_shape=(1,), activation='relu'))
      model.add(Dense(128, activation='relu'))
      model.add(Dense(64, activation='relu'))
      model.add(Dense(1))
  
      # Compile the model
      model.compile(optimizer='adam', loss='mse', metrics=['mse'])
  
      # Train the model
      model.fit(X_train, y_train, batch_size=64, epochs=20, validation_data=(X_test, y_test))
  
      # Evaluate the model
      score = model.evaluate(X_test, y_test, verbose=0)
      return model, score
output:     # Normalize the data
      X_train = (X_train - X_train.mean()) / X_train.std()
      X_test = (X_test - X_test.mean()) / X_test.std()
  
      # Convert to numpy arrays
      X_train = np.array(X_train).reshape(-1, 1)
      y_train = np.array(y_train).reshape(-1, 1)
      X_test = np.array(X_test).reshape(-1, 1)
      y_test = np.array(y_test).reshape(-1, 1)
  
      # Train the model
      model.fit(X_train, y_train, batch_size=64, epochs=20, validation_data=(X_test, y_test))
  
      # Evaluate the model
      score = model.evaluate(X_test, y_test, verbose=0)[0]
      return model, score