input: 
  def predict_stock_market_movement(data: pd.DataFrame, train_size: float = 0.8) -> tuple:
      """
      Predicts stock market movements using a deep learning model. The model is trained on
      historical stock market data and predicts the next movement based on previous data.
      
      >>> data = pd.read_csv('data.csv')
      >>> X_train, y_train, X_test, y_test, model_score = predict_stock_market_movement(data)
      >>> len(X_train) > len(y_test)
      True
      >>> model_score > 0
      True
      """
      # Split the data into train and test sets
      train_length = int(len(data) * train_size)
      X_train = data.iloc[:train_length, 0]
      y_train = data.iloc[:train_length, 1]
      X_test = data.iloc[train_length:, 0]
      y_test = data.iloc[train_length:, 1]
      
      # Build and train the model
      model = build_and_train_model(X_train, y_train, X_test, y_test)
      
      # Evaluate the model
      score = model.evaluate(X_test, y_test, verbose=0)
      
      return X_train, y_train, X_test, y_test, score
  
  def build_and_train_model(X_train, y_train, X_test, y_test):
      import tensorflow as tf
      from tensorflow.keras.layers import Dense
      from tensorflow.keras.models import Sequential
      
      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))
      
      model.compile(optimizer='adam', loss='mse', metrics=['mse'])
      
      model.fit(X_train, y_train, batch_size=64, epochs=20, validation_data=(X_test, y_test))
      
      return model
  
output:     
      # Split the data into train and test sets
      train_length = int(len(data) * train_size)
      X_train = data.iloc[:train_length, :-1]
      y_train = data.iloc[:train_length, -1]
      X_test = data.iloc[train_length:, :-1]
      y_test = data.iloc[train_length:, -1]
      
      # Build and train the model
      model = build_and_train_model(X_train, y_train, X_test, y_test)
      
      # Evaluate the model
      score = model.evaluate(X_test, y_test, verbose=0)
      
      return X_train, y_train, X_test, y_test, score
  