Project to develop analytics suite for ethiopian commodities exchange, specifically the coffee commodity
# Ethiopian Coffee Exchange (ECX) Analytics Suite
This project was designed to give a basic set of analytics tools for historical data relating to the Ethiopian Coffee Exchange. The initial scope is to provide a proof-of-concept market price prediction API alongside a set of visualisations tool for understanding market characteristics in the past 7 years.
## Installation
This repo is python based, so you should use whichever environment manager you prefer to install the relevant packages found in the `requirements.txt` file.
You should also download the relevant dataset from Kaggle Datasets here
kaggle.com . Either run the `make_data_directory.sh` file or create a data directory in the home directory with the following structure:
- data
- bronze
- silver
- gold
- feature_store
Extract the excel files into the bronze directory and delete the original `.zip` file.
## Usage
The project has three core functionalities:
* Data Processor
* Price Predictor
* Visualisation
### Data Processor
To run the data processing step, use the `data_processor_main.py` script found within the respective layer of the `ecx_analytics` package. This will populate the data directory with the appropriate data. This data model mimics the delta lake pattern
databricks.com in a lightweight manner.
### Price Predictor
The price prediction functionality uses a swagger-based endpoint, this can be running by issuing the command `python -m swagger_server` whilst in the home directory. This will spawn a local server which can be accessed via the browser. There is also a Dockerfile which can be used to spawn a server.
The application path is `{server}/ecx-analytics` . The swagger UI can be found at `{server}/ecx-analytics/ui`
Once the server is running, you can issue REST API calls to the server endpoints. Specifying the coffee symbol and target d …