Week #3

Week #3 #

Implemented MVP features #

Describe all implemented features (with to relevant PRs/Issues for implemented features) in your MVP and functional user journey(s) The following features are developed for the MVP model:

The implemented MVP supports a functional user journey: the user can access a webpage, select a time period for gold (1 day), and choose to view either historical or predicted prices. The data is retrieved via backend APIs and visualized on an interactive chart.

Demonstration of the working MVP #

Youtube video demonstration

ML #

Link to the training code: link

The presented solution is a baseline model considered to be compared with the further model (LSTM, initial design present in script), as well as to provide the machine learning part structure for the API development.

The model choice is based on the literature suggesting boosting models as baselines. To train this model, the american futures gold dataset was used, the justifications for this step are proposed in the following report. The dataset contains information about open, close, high, and low prices as well as volume of trade at hourly rate. Moreover, additional features are proposed to enchance quality of the results. Finally, the model takes into account a few lagged historical prices to make new predictions because the statistical analysis demonstrated small correlation.

The forecasting process for the baseline model was set up as follows: the baseline forecasting models for key feature attributes (High, Low, and Volume) were selected to produce forecast for the next timestamp. Based on these forecasts, the indicators are computed, and the target baseline model predicts the output value. Then, this value is set as the past observation, and the next iteration happens. The following file contains all baseline models codes for training and producing forecasts.

To facilitate this process by decoupling the behavior of each model from the main logic, the following framework was developed.

Links to the initial model artifacts:

The baseline models were trained and dumped as files for further forecasts in the following folder. The framework allows to load the dumped models avoiding the need of training. The example of use is presented in the file.

Internal demo #

Date: June 25, 2025. Attendees: Internal team members.

Demo content:

  • Webpage showing gold price chart with options for 1h, 1d, 1w, 1m, 1y intervals.
  • Backend API providing historical and predicted data for selected periods.
  • Baseline ML model generating short-term predictions.

Feedback & decisions:

  • Disabled 1m and 1y intervals due to focus on short-term forecasting.
  • Agreed to also remove 1w and 1h interval for consistency.
  • Suggested splitting the combined chart (historical + predicted) into two separate views:
    • one for historical data
    • one for predicted data
  • Decided to implement view switching via button selection
  • Noted issue with date formatting in API responses; decided to convert all timestamps to ISO 8601 format in the backend

Next steps:

  • Finalize frontend split between historical and prediction views.
  • Update backend to return timestamps in ISO 8601.
  • Clean up interval options in UI.

Error handlings #

Basic error handling for API failures was implemented on both frontend and backend.

Weekly commitments #

Individual contribution of each participant #

Plan for Next Week #

  1. Enhance the LSTM model for further comparison.
  2. Add hyperparameter tuning for the LSTM model.
  3. Train and deploy the LSTM model.
  4. Possibly, research and design dataset filter.
  5. Create UI for different screens.
  6. Start implementing UI-kit.
  7. Research the idea of project deployment.

Confirmation of the code’s operability #

We confirm that the code in the main branch:

  • [✓] In working condition.
  • [✓] Run via docker-compose (or another alternative described in the README.md).