Skip to content

Commit 14dfff6

Browse files
Update README. Remove some .gitkeep and reports/ dir
1 parent 094ef0d commit 14dfff6

File tree

4 files changed

+74
-75
lines changed

4 files changed

+74
-75
lines changed

README.md

+74-75
Original file line numberDiff line numberDiff line change
@@ -5,109 +5,108 @@ crypto-predict
55
![Docker Build](https://img.shields.io/docker/automated/danielstevenson/crypto-predict.svg)
66
![Docker Build Status](https://img.shields.io/docker/build/danielstevenson/crypto-predict.svg)
77

8-
This project is a easily reproducible python/flask/docker project to
9-
create an API that predicts the price of BTC and ETH using OHLCV data.
8+
This project is a easily reproducible Python/Docker project to create an API that predicts the price of BTC and ETH using OHLCV data. The API is defined using Zalando's connexion package, which leverages the Flask framework.
109

11-
Current implementation smooths the raw close % change data (previous 72 hours) using a Haar discrete wavelet transformation. This data
12-
is fed into a stacked autoencoder. The encoded layer of the autoencoder feeds into a dual-layer LSTM with linear activation function. The autoencoder and LSTM are trained simultaneously (network graph coming soon!).
10+
Current implementation smooths the raw close % change data (previous 72 hours) using a Haar discrete wavelet transformation. This data is fed into a stacked autoencoder. The encoded layer of the autoencoder feeds into a dual-layer LSTM with linear activation function. The autoencoder and LSTM are trained simultaneously (network graph coming soon!).
1311

1412
***Note: Anaconda is recommended to manage the project environment. Environment creation without Anaconda is untested***
1513

16-
Make Commands
17-
========
18-
19-
The Makefile contains the central entry points for common tasks related to this project.
20-
21-
Run the following to create the project python environment, install packages, get the training data from Cryptocompare API, featurize the data, and train models for use in the docker API.
22-
14+
## Install the Development Environment
2315
*from the top project directory*
2416
```bash
2517
mv .env_template .env # Must have a .env file for some functions to find correct path
2618
make create_environment
2719
conda activate crypto_predict
20+
make install_dev
21+
make test
22+
```
23+
24+
## Get/Process Data and Train Models with crypr-* Commands
25+
```bash
2826
crypr-data
2927
crypr-features
3028
crypr-models
31-
make run_docker
32-
make test
3329
```
3430

35-
Docker Usage
36-
============
37-
### Local
38-
<i> from top directory </i>
39-
```docker
40-
docker build -f ./docker/Dockerfile -t crypr-api .
41-
docker run -p 5000:5000 crypr-api
31+
## Run the API with Docker
32+
*from the top project directory*
33+
```bash
34+
make run_docker
4235
```
43-
Now find your prediction at localhost:5000/predict?coin={ETH or BTC}
36+
Now find your prediction at http://localhost:5000/predict?coin={ETH or BTC}
4437

45-
Future Directions
46-
=================
38+
## Future Directions
4739
- More coins!
4840
- Visualize price predictions in a web app based on the developed prediction api
4941
- Use unstructured text data to calculate sentiment or other metrics to use in prediction
5042
- Use transfer learning from financial markets and other crypto coins to enhance the RNN model
5143

52-
Project Organization
53-
------------
44+
## Project Organization
5445
```bash
55-
crypr/
46+
├── api/ # connexion pyfiles and config
47+
│   ├── app.py
48+
│   └── swagger.yaml
49+
├── crypr/ # Python Package
50+
│   ├── scripts/
51+
│   │   ├── make_dataset.py
52+
│   │   ├── make_features.py
53+
│   │   └── make_train_models.py
54+
│   ├── tests/
55+
│   │   ├── data/
56+
│   │   ├── test_app.py
57+
│   │   ├── test_base.py
58+
│   │   ├── test_cryptocompare.py
59+
│   │   ├── test_model.py
60+
│   │   ├── test_preprocessor.py
61+
│   │   └── unit_main_base.py
62+
│   ├── build.py
63+
│   ├── cryptocompare.py
64+
│   ├── decorator.py
65+
│   ├── models.py
66+
│   ├── preprocessors.py
67+
│   ├── train.py
68+
│   ├── util.py
69+
│   ├── visualize.py
70+
│   ├── wavelets.py
71+
│   └── zoo.py
72+
├── data/
73+
│   ├── external/
74+
│   ├── interim/
75+
│   ├── processed/ # Data generated by crypr-features
76+
│   └── raw/ # Data retrieved with crypr-data
77+
├── docker/ # Deploy the API
78+
│   ├── Dockerfile
79+
│   └── wait_for_healthy.sh
80+
├── models/ # DL models trained with crypr-models
81+
├── notebooks/
82+
│   ├── cwt_rnn_model_dev.ipynb
83+
│   ├── data_exploration.ipynb
84+
│   ├── model_dev.ipynb
85+
│   ├── preprocessing.ipynb
86+
│   ├── rnn_model_dev.ipynb
87+
│   ├── statistical_model_dev.ipynb
88+
│   ├── tree_model_dev.ipynb
89+
│   ├── wt_multiple_preprocessing.ipynb
90+
│   ├── wt_single_preprocessing.ipynb
91+
│   ├── wt_smooth_preprocessing.ipynb
92+
│   └── wt_smooth_rnn_model_dev.ipynb
93+
├── references/
94+
│   ├── bao2017.pdf
95+
│   └── hsieh2011.pdf
5696
├── Dockerfile.dockerhub # For hub.docker.com automated build hook
5797
├── LICENSE
5898
├── MANIFEST.in
5999
├── Makefile
60100
├── README.md
61101
├── requirements.txt # Development Python packages
62-
├── setup.py
63102
├── setup.cfg
64-
├── crypr/ # Python Package
65-
│ ├── api/
66-
│ │ ├── app.py
67-
│ │ └── json.py
68-
│ ├── base/
69-
│ │ ├── models.py
70-
│ │ └── preprocessors.py
71-
│ ├── data/
72-
│ │ └── cryptocompare.py
73-
│ ├── features/
74-
│ │ ├── build.py
75-
│ │ └── wavelets.py
76-
│ ├── models/
77-
│ │ ├── train.py
78-
│ │ └── zoo.py
79-
│ ├── plot/
80-
│ │ └── visualize.py
81-
│ ├── scripts/
82-
│ │ ├── make_dataset.py
83-
│ │ ├── make_features.py
84-
│ │ └── make_train_models.py
85-
│ ├── tests/
86-
│ │ ├── test_app.py
87-
│ │ ├── test_base.py
88-
│ │ ├── ...
89-
│ │ └── unit_xgboost_ETH_tx72_ty1_flag72.pkl
90-
│ └── util/
91-
│ ├── common.py
92-
│ └── io.py
93-
├── data
94-
│ ├── external/
95-
│ ├── interim/
96-
│ ├── processed/ # Data generated by crypr-features
97-
│ │ ├── X_test_BTC_haar_smooth_72.npy
98-
│ │ ├── X_test_ETH_haar_smooth_72.npy
99-
│ │ ├── ...
100-
│ │ └── y_train_ETH_haar_smooth_72.npy
101-
│ └── raw/ # Data retrieved with crypr-data
102-
│ ├── BTC.csv
103-
│ └── ETH.csv
104-
├── docker/ # Deploy the API from a container
105-
│ ├── Dockerfile
106-
│ └── wait_for_healthy.sh
107-
├── models/ # DL models trained with crypr-models
108-
├── notebooks/
109-
├── references/
110-
└── reports/
111-
└── figures/
103+
├── setup.py
104+
├── .travis.yml
105+
├── .gitignore
106+
├── .env_template
107+
├── .env # Copied from .env_template
108+
├── .dockerignore
109+
├── .coveralls.yml
110+
└── .coveragerc
112111
```
113112
--------

references/.gitkeep

Whitespace-only changes.

reports/.gitkeep

Whitespace-only changes.

reports/figures/.gitkeep

Whitespace-only changes.

0 commit comments

Comments
 (0)