Julia dashboard for analysis of cryptocurrency market data
MIT License
Interactive visualization of historical price (currently only in EUR), health metrics, candlestick and volume data for various cryptocurrencies. Data are obtained via API queries to Alpha Vantage. The app is written in Julia and makes use of Dash.jl along with its react framework to generate a dashboard style view accessible via a browser. Different moving averages are also calculated and plotted along with the daily average price data. Averaging window can be selected by the user.
Functionality of the app will be extended in the future by adding more technical indicators. Contributions are most welcome!
This package is available via the General registry. Add it to your working Julia environment by doing the following in the REPL:
pkg> add CryptoDashApp
Once all the packages are downloaded, you can make use of the CryptoDashApp module from the REPL itself or within a script by executing:
julia> using CryptoDashApp
julia> ENV["KEY_AV"] = "your_AlphaVantage_key"
julia> ENV["KEY_CG"] = "your_CoinGecko_key"
julia> load_keys()
julia> run_app(8056) # where 8056 is the port
Now, open a new tab in your browser and check if you can access http://0.0.0.0:8056/ or http://127.0.0.1:8056/
Assuming that you have Docker installed, and have generated both API keys, a Docker image can be created using the following steps:
Clone this repository and cd to the directory
Build the Docker image (Here my_app
is the name of the generated image)
docker build --build-arg key_av="YOUR_KEY" --build-arg key_cg="YOUR_KEY" -t my_app .
docker run -dp 127.0.0.1:8010:8010 my_app
docker logs --follow <container id>
First plot will take a few seconds to appear, wait patiently! If you are running this app for the first time, or on a different date, new data will be retrieved from Alpha Vantage, and then saved to CSV files on disk. Keep in mind that the free API key imposes a limit of five calls/minute, which means you won't be able to load data for more than five currencies in quick succession. In case you see an error, wait for a while and then try again.
For better visual quality, visit this link.