Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
1a184a2
ARIMA fixed
rdhakan13 Aug 3, 2025
82cf13f
ARIMA fixed
rdhakan13 Aug 3, 2025
29e72dc
update mlrunsdb
rdhakan13 Aug 3, 2025
578eed8
arima
rdhakan13 Aug 4, 2025
8908778
adding metric analysis
rdhakan13 Aug 4, 2025
0fa3893
ARIMA exp forecasts
rdhakan13 Aug 4, 2025
011ee25
code finalised
rdhakan13 Aug 4, 2025
9c21cc0
removed incorrect exp
rdhakan13 Aug 4, 2025
5a46d15
ARIMA results fixed
rdhakan13 Aug 4, 2025
5c38aa9
Arima code finalised
rdhakan13 Aug 4, 2025
f9c5617
ARIMA results
rdhakan13 Aug 4, 2025
5570ca9
clean up
rdhakan13 Aug 4, 2025
f6db1b2
adding skopt
rdhakan13 Aug 5, 2025
63a4997
XGB code finalised
rdhakan13 Aug 7, 2025
c1146b8
XGB code refined
rdhakan13 Aug 7, 2025
9f74fdd
XGB validation tests done
rdhakan13 Aug 7, 2025
8fb4ed9
mlruns clean up
rdhakan13 Aug 9, 2025
b4ce1fa
biGRU model code done
rdhakan13 Aug 9, 2025
0dabc73
bigru base tests done
rdhakan13 Aug 9, 2025
16ad478
bigru base test results
rdhakan13 Aug 9, 2025
0d0d641
cleaned up make targets
rdhakan13 Aug 10, 2025
d0e56c3
bigru done
rdhakan13 Aug 10, 2025
0ccc2cf
models finalised
rdhakan13 Aug 10, 2025
5dc51bf
Bigru test forecasts
rdhakan13 Aug 10, 2025
953bc63
xgb test results
rdhakan13 Aug 10, 2025
c11ddda
db file update
rdhakan13 Aug 10, 2025
060ef34
db file update
rdhakan13 Aug 10, 2025
05fd950
convert files to csv
rdhakan13 Aug 10, 2025
4270d60
reset due to precision scores
rdhakan13 Aug 10, 2025
b1ebc21
ARIMa done, xgb validation tests need doing
rdhakan13 Aug 10, 2025
72526f1
BiGRU exps done
rdhakan13 Aug 12, 2025
54ffbb7
1DCNN-BiGRU base exp done
rdhakan13 Aug 13, 2025
258818c
XGB and BIGRU
rdhakan13 Aug 16, 2025
4180a85
more xgb experiments
rdhakan13 Aug 16, 2025
3e0d7dd
1dcnn-gru val done
rdhakan13 Aug 16, 2025
e81c603
all done :-)
rdhakan13 Aug 16, 2025
ae9f3f3
truly the final one
rdhakan13 Aug 16, 2025
666849b
saving minor changes
rdhakan13 Aug 16, 2025
560a19d
Merge branch 'final-experiments' of https://github.com/rdhakan13/ETH_…
rdhakan13 Aug 16, 2025
93c5660
converting models to keras format
rdhakan13 Aug 23, 2025
890c3cf
adding all the outsides docs
rdhakan13 Aug 24, 2025
e47aef5
finalised notebook work
rdhakan13 Aug 24, 2025
309476b
adding all the results
rdhakan13 Aug 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 0 additions & 19 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ on:
push:
branches:
- main
- ec2-experiments
paths:
- configs/**
- src/**
Expand All @@ -29,25 +28,7 @@ on:
- poetry.lock

jobs:
reject-ec2:
if: github.event_name == 'push' && github.ref != 'refs/heads/ec2-experiments'
runs-on: ubuntu-latest
steps:
- name: Check if pushed by EC2 Deploy Key
run: |
AUTHOR_NAME=$(jq -r .pusher.name "$GITHUB_EVENT_PATH")
AUTHOR_EMAIL=$(jq -r .pusher.email "$GITHUB_EVENT_PATH")

echo "Commit by $AUTHOR_NAME <$AUTHOR_EMAIL>"

if [[ "$AUTHOR_NAME" == "ec2-deploy-bot" ]] || [[ "$AUTHOR_EMAIL" == "ec2@myinfra.local" ]]; then
echo "Blocked deploy key push to main."
exit 1
fi

echo "Push allowed."
unit-tests:
# if: (github.event_name == 'push' || github.event_name == 'pull_request') && github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
env:
PYTHONPATH: ${{ github.workspace }}/src
Expand Down
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ temp/
.coverage
.venv/
htmlcov/
cloc_report.txt
.vscode/
LSTM.ipynb
GRU.ipynb
Expand Down
20 changes: 5 additions & 15 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ SRC = ./src/
YML_FILE = environment.yml
ENV_NAME = STD_DS_LIB
EC2_SETUP_SCRIPT = ./scripts/setup.sh
MLFLOW_PORT = 5000
MLFLOW_DB = mlruns_1
JUPYTER_PORT = 8888

.ONESHELL:
.PHONY:
Expand Down Expand Up @@ -71,11 +74,6 @@ else
.venv/bin/mypy $(SRC)
endif

run-script:
@echo Running script...
python $(SCRIPT_NAME)
@echo Done!

run:
ifeq ($(OS),Windows_NT)
@python -c "import os, sys; \
Expand Down Expand Up @@ -105,16 +103,8 @@ lines-of-code-report:

start-mlflow-local:activate
@echo Starting MLflow UI...
mlflow ui --backend-store-uri sqlite:///mlruns/mlruns.db --host localhost --port 5000
mlflow ui --backend-store-uri sqlite:///mlruns/$(MODEL)/$(MLFLOW_DB).db --host ${HOST} --port $(MLFLOW_PORT)

start-jupyter-local:activate
@echo Starting Jupyter Notebook...
jupyter notebook

start-mlflow-ec2:activate
@echo Starting MLflow UI on EC2...
tmux new -s mlflow -d "mlflow ui --backend-store-uri sqlite:///mlruns/mlruns.db --host=0.0.0.0 --port=5000"

start-jupyter-ec2:activate
@echo Starting Jupyter Notebook on EC2...
tmux new -s jupyter -d "jupyter-notebook --no-browser --port=8888 --ip=0.0.0.0"
jupyter-notebook --no-browser --port=$(JUPYTER_PORT) --ip=${HOST}
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# :rocket: Ethereum price prediction using hybrid deep learning algorithms
# :rocket: Ethereum price prediction using Internal & External Factors

## :page_facing_up: Overview

## :floppy_disk: Dataset
## :floppy_disk: Data

### Yahoo Finance
To acquire cryptocurrency price data (Open, High, Low, Close, Adj Close & Volume), [yfinance](https://github.com/ranaroussi/yfinance), built by Ran Aroussi, was used to pull all the available price data at a daily interval for Ethereum, Bitcoin and Litecoin from [Yahoo Finance](https://finance.yahoo.com/).
Expand Down Expand Up @@ -77,6 +77,7 @@ ETH_Price_Prediction/
├── tests/ # Unit-tests for src
│
├── .gitignore
├── cloc_report.txt
├── LICENSE
├── Makefile
├── README.md
Expand Down
28 changes: 28 additions & 0 deletions cloc_report.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
github.com/AlDanial/cloc v 2.04 T=0.79 s (26.7 files/s, 3891.5 lines/s)
-------------------------------------------------------------------------------------------------------
File blank comment code
-------------------------------------------------------------------------------------------------------
.\src\preprocessing\data_loader.py 40 72 254
.\src\common\plotter.py 34 102 184
.\src\data\bitinfocharts.py 51 63 174
.\src\preprocessing\data_cleaner.py 22 52 140
.\src\preprocessing\feature_generator.py 16 27 125
.\src\data\google_news.py 33 36 112
.\src\common\utils.py 47 76 102
.\src\common\config_loader.py 24 49 89
.\src\preprocessing\data_scaler.py 31 45 82
.\src\common\stats.py 28 34 81
.\src\pipeline\get_raw_data.py 14 3 72
.\src\data\etherscan.py 21 24 71
.\src\pipeline\process_raw_data.py 11 3 68
.\src\data\yahoo_finance.py 25 41 65
.\src\common\logger.py 13 15 60
.\src\sentiment_analyser\bert_sentiment_analyser.py 6 3 50
.\src\data\oklink.py 17 24 46
.\src\sentiment_analyser\vader_sentiment_analyser.py 5 0 37
.\src\pipeline\conduct_sentiment_analysis.py 10 3 36
.\src\pipeline\compile_final_data.py 12 4 33
.\src\sentiment_analyser\base.py 9 19 14
-------------------------------------------------------------------------------------------------------
SUM: 469 695 1895
-------------------------------------------------------------------------------------------------------
Binary file added mlruns/1DCNN-BiGRU/1DCNN-BiGRU_best.keras
Binary file not shown.
1 change: 1 addition & 0 deletions mlruns/1DCNN-BiGRU/1DCNN-BiGRU_best/fingerprint.pb
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Ë÷ÇŽñË·¶ÿäÁ’ÁãñšSä· ÚˆÞ„Õ( Û•Ü❐Ì(ÇØœÑØ‰¯Š2
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading
Loading