input: def predict_stock_market_movements(data: pd.DataFrame) -> float:
      """ 
      Builds and trains a deep learning model to predict stock market movements based on given data. 
      The data is split into training and testing datasets, and the model is trained using a neural network. 
      The model is then evaluated on the test data, and the mean squared error is returned.
  
      >>> df = pd.DataFrame({'X': [0, 1, 2, 3], 'y': [0, 1, 4, 9]})
      >>> predict_stock_market_movements(df)
      2.1
      """
      #split data into train and test data
      X_train = data.iloc[:, 0]
      y_train = data.iloc[:, 1]
      X_test = data.iloc[:, 0]
      y_test = data.iloc[:, 1]
  
      #Build a deep learning model
      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))
  
      score = model.evaluate(X_test, y_test, verbose=0)
      return score[1]
output:     #split data into train and test data
      X_train = data.iloc[:, 0]
      y_train = data.iloc[:, 1]
      X_test = data.iloc[:, 0]
      y_test = data.iloc[:, 1]
  
      #Build a deep learning model
      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))
  
      score = model.evaluate(X_test, y_test, verbose=0)
      return score[1]