Repository for DSF crypto portfolio optimization.
Clone this repository
git clone https://github.com/dlt-science/crypto-portfolio.git
Navigate to the directory of the cloned repo
cd crypto-portfolio
To install the latest release on PyPI <https://pypi.org/project/toml/>
_, run:
pip install toml
- iOS
python3 -m venv venv
- Windows
python -m venv venv
- iOS
. venv/bin/activate
- Windows (in Command Prompt, NOT Powershell)
venv\Scripts\activate.bat
pip install -e ".[dev]"
Connect to a full node using ssh
with port forwarding flag -L
on:
ssh -L 8545:localhost:8545 satoshi.doc.ic.ac.uk
Assign URI value to WEB3_PROVIDER_URI
in a new terminal:
set -xg WEB3_PROVIDER_URI http://localhost:8545
All files in data/
are stored with lfs
.
To initialize Git LFS:
git lfs install
git lfs track data/**/*
To pull data files, use
git lfs pull
Always pull latest code first
git pull
Make changes locally, save. And then add, commit and push
git add [file-to-add]
git commit -m "update message"
git push
We follow PEP8 coding format. The most important rules above all:
- Keep code lines length below 80 characters. Maximum 120. Long code lines are NOT readable.
- We use snake_case to name function, variables. CamelCase for classes.
- We make our code as DRY (Don't repeat yourself) as possible.
- We give a description to classes, methods and functions.
- Variables should be self explaining and just right long:
implied_volatility
is preferred overimpl_v
implied_volatility
is preferred overimplied_volatility_from_broker_name
- Do not place .py files at root level (besides setup.py)!
- Do not upload big files > 100 MB.
- Do not upload log files.
- Do not declare constant variables in the MIDDLE of a function