Skip to content

milltechfx/data-scientist-coding-challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Data Science Assessment Task

📄 Take-Home Assignment: EUR/USD Weekly Direction Prediction

Objective

Your task is to build a machine learning model to predict the weekly price direction (up, down or no change) of the EUR/USD exchange rate.

The primary goal is not to maximize accuracy, but to demonstrate your understanding of ML principles and processes, including data handling, feature engineering, model design, and evaluation.


📊 Data Provided

You will be given a weekly time series dataset with the following daily variables:

  • EUR/USD spot exchange rate
  • US 2-Year Treasury Yield (USGG10YR)
  • German 2-Year Bund Yield (GDBR10)
  • EUR/USD implied volatility (EURUSDV1M)
  • VIX (Volatility Index)

The dataset is provided in the file: Data_Scientist_Data.xlsx


📌 Your Tasks

1. Define the Prediction Problem

  • Formulate the target variable as the next-week direction of EUR/USD (+1 if the exchange rate goes up, -1 if it goes down, 0 if it doesn't change)
  • Explain your reasoning for framing the problem as classification/regression
  • Your assignment should cover:
    • Exploratory Data Analysis
    • Feature Engineering
    • Model Development
    • Model Evaluation
    • Results and Interpretation
  • Train at least two different ML models and compare their performance across key metrics
  • Don't worry about accuracy score - you will not be assessed by the accuracy score at all. It's more about demonstrating good ML practices and reasoning
  • Submit your Python Code or Jupyter Notebook

2. Software Development Extension: Interactive Dashboard

Objective

Develop a simple interactive dashboard to present and analyze the results of your EUR/USD weekly direction prediction model. This will allow a non-technical user to explore the data, run predictions, and understand the model outputs.

Requirements

Framework
  • You may use Streamlit, Dash, or any similar Python web framework
Core Features
  • Data upload: Allow a user to upload a CSV/Excel file in the same format as provided
  • Model predictions: Run your trained model on the uploaded dataset (or on a subset of it)
  • Visualizations:
    • Plot the historical EUR/USD spot rate and highlight weekly predicted vs actual directions
    • Show at least one model interpretability element (e.g., feature importance, SHAP summary, or coefficient weights)
  • Performance summary: Display confusion matrix or classification metrics (precision/recall/F1) on test data
User Experience
  • The dashboard should be easy to use and logically structured
  • Include clear labels, titles, and short descriptions for plots/tables
Code Quality
  • Structure your code so that the ML logic (data loading, feature engineering, training, prediction) is separated from the dashboard app code
  • Include comments or docstrings where necessary

🔧 Deliverables

  • Source code for the dashboard (Python files)
  • Instructions for how to run the app locally (e.g., streamlit run app.py)
  • (Optional) A requirements.txt file with dependencies

📋 Submission Instructions

Environment Setup

  • Use pip for package management and dependency installation
  • Create a requirements.txt file listing all necessary dependencies

Time Limit

  • Complete this assignment within 2 days maximum
  • Focus on demonstrating your approach and methodology rather than perfecting accuracy

Submission Process

  • DO NOT commit your changes to GitHub
  • Zip your entire project directory
  • Send your completed assignment via email l

What to Include in Your Submission

  1. All Python files (.py or .ipynb)
  2. requirements.txt file
  3. Brief documentation on how to run your code
  4. Any saved model files

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors