├── Procfile
├── requirements.txt
├── media
├── banner.jpg
├── notebook-to-pdf.gif
└── jupyter-dashboard-finance.gif
├── welcome.md
├── README.md
├── LICENSE
├── .gitignore
└── dashboard.ipynb
/Procfile:
--------------------------------------------------------------------------------
1 | web: mercury run 0.0.0.0:$PORT
2 |
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
1 | mljar-mercury
2 | mplfinance
3 | yfinance
4 |
--------------------------------------------------------------------------------
/media/banner.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pplonski/dashboard-python-jupyter-notebook/HEAD/media/banner.jpg
--------------------------------------------------------------------------------
/media/notebook-to-pdf.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pplonski/dashboard-python-jupyter-notebook/HEAD/media/notebook-to-pdf.gif
--------------------------------------------------------------------------------
/media/jupyter-dashboard-finance.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pplonski/dashboard-python-jupyter-notebook/HEAD/media/jupyter-dashboard-finance.gif
--------------------------------------------------------------------------------
/welcome.md:
--------------------------------------------------------------------------------
1 | # Dashboard in Python with Jupyter Notebook
2 |
3 | The finance dashboard was created in Python. The development was done with Jupyter Notebook. This website is serving notebook as web app. It is using MLJAR Mercury framework.
4 |
5 | The link to the code repository.
6 |
7 | The article on how to build a dashboard in Python with Jupyter Notebook.
8 |
9 | ## Dashboard
10 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 | # Dashboard in Python with Jupyter Notebook
4 |
5 | The finance dashboard was created in Python. The development was done with Jupyter Notebook. This website is serving notebook as web app. It is using MLJAR Mercury framework.
6 |
7 | ## Links
8 |
9 | Th web app is running at https://dashboard-jupyter-notebook.herokuapp.com/.
10 |
11 | The article on how to build a dashboard in Python with Jupyter Notebook.
12 |
13 | ## Dahsboard web app
14 | 
15 |
16 |
17 | ## Export notebook to PDF
18 | 
19 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 Piotr
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Byte-compiled / optimized / DLL files
2 | __pycache__/
3 | *.py[cod]
4 | *$py.class
5 |
6 | # C extensions
7 | *.so
8 |
9 | # Distribution / packaging
10 | .Python
11 | build/
12 | develop-eggs/
13 | dist/
14 | downloads/
15 | eggs/
16 | .eggs/
17 | lib/
18 | lib64/
19 | parts/
20 | sdist/
21 | var/
22 | wheels/
23 | pip-wheel-metadata/
24 | share/python-wheels/
25 | *.egg-info/
26 | .installed.cfg
27 | *.egg
28 | MANIFEST
29 |
30 | # PyInstaller
31 | # Usually these files are written by a python script from a template
32 | # before PyInstaller builds the exe, so as to inject date/other infos into it.
33 | *.manifest
34 | *.spec
35 |
36 | # Installer logs
37 | pip-log.txt
38 | pip-delete-this-directory.txt
39 |
40 | # Unit test / coverage reports
41 | htmlcov/
42 | .tox/
43 | .nox/
44 | .coverage
45 | .coverage.*
46 | .cache
47 | nosetests.xml
48 | coverage.xml
49 | *.cover
50 | *.py,cover
51 | .hypothesis/
52 | .pytest_cache/
53 |
54 | # Translations
55 | *.mo
56 | *.pot
57 |
58 | # Django stuff:
59 | *.log
60 | local_settings.py
61 | db.sqlite3
62 | db.sqlite3-journal
63 |
64 | # Flask stuff:
65 | instance/
66 | .webassets-cache
67 |
68 | # Scrapy stuff:
69 | .scrapy
70 |
71 | # Sphinx documentation
72 | docs/_build/
73 |
74 | # PyBuilder
75 | target/
76 |
77 | # Jupyter Notebook
78 | .ipynb_checkpoints
79 |
80 | # IPython
81 | profile_default/
82 | ipython_config.py
83 |
84 | # pyenv
85 | .python-version
86 |
87 | # pipenv
88 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
89 | # However, in case of collaboration, if having platform-specific dependencies or dependencies
90 | # having no cross-platform support, pipenv may install dependencies that don't work, or not
91 | # install all needed dependencies.
92 | #Pipfile.lock
93 |
94 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow
95 | __pypackages__/
96 |
97 | # Celery stuff
98 | celerybeat-schedule
99 | celerybeat.pid
100 |
101 | # SageMath parsed files
102 | *.sage.py
103 |
104 | # Environments
105 | .env
106 | .venv
107 | env/
108 | venv/
109 | ENV/
110 | env.bak/
111 | venv.bak/
112 |
113 | # Spyder project settings
114 | .spyderproject
115 | .spyproject
116 |
117 | # Rope project settings
118 | .ropeproject
119 |
120 | # mkdocs documentation
121 | /site
122 |
123 | # mypy
124 | .mypy_cache/
125 | .dmypy.json
126 | dmypy.json
127 |
128 | # Pyre type checker
129 | .pyre/
130 |
--------------------------------------------------------------------------------
/dashboard.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "raw",
5 | "metadata": {},
6 | "source": [
7 | "---\n",
8 | "title: Finance dashboard\n",
9 | "description: Dashboard with financial data\n",
10 | "show-code: False\n",
11 | "params:\n",
12 | " ticker: \n",
13 | " input: select\n",
14 | " value: TSLA\n",
15 | " label: Select ticker\n",
16 | " choices: [TSLA, COIN, MSFT, PLTR, SNOW, NFLX]\n",
17 | "---"
18 | ]
19 | },
20 | {
21 | "cell_type": "code",
22 | "execution_count": 1,
23 | "metadata": {},
24 | "outputs": [],
25 | "source": [
26 | "import yfinance as yf\n",
27 | "import mplfinance as mpf"
28 | ]
29 | },
30 | {
31 | "cell_type": "markdown",
32 | "metadata": {},
33 | "source": [
34 | "# Historic stock price 📈"
35 | ]
36 | },
37 | {
38 | "cell_type": "code",
39 | "execution_count": 2,
40 | "metadata": {},
41 | "outputs": [],
42 | "source": [
43 | "ticker = \"TSLA\""
44 | ]
45 | },
46 | {
47 | "cell_type": "code",
48 | "execution_count": 3,
49 | "metadata": {},
50 | "outputs": [
51 | {
52 | "name": "stdout",
53 | "output_type": "stream",
54 | "text": [
55 | "Selected ticker: TSLA\n"
56 | ]
57 | }
58 | ],
59 | "source": [
60 | "print(f\"Selected ticker: {ticker}\")"
61 | ]
62 | },
63 | {
64 | "cell_type": "code",
65 | "execution_count": 4,
66 | "metadata": {},
67 | "outputs": [],
68 | "source": [
69 | "history = yf.Ticker(ticker).history(period=\"3mo\")"
70 | ]
71 | },
72 | {
73 | "cell_type": "code",
74 | "execution_count": 5,
75 | "metadata": {},
76 | "outputs": [
77 | {
78 | "name": "stdout",
79 | "output_type": "stream",
80 | "text": [
81 | "3 months low: 620\n",
82 | "3 months high: 1152\n"
83 | ]
84 | }
85 | ],
86 | "source": [
87 | "print(f\"3 months low: {history.Low.min().astype(int)}\")\n",
88 | "print(f\"3 months high: {history.High.max().astype(int)}\")"
89 | ]
90 | },
91 | {
92 | "cell_type": "code",
93 | "execution_count": 6,
94 | "metadata": {},
95 | "outputs": [
96 | {
97 | "data": {
98 | "text/html": [
99 | "
\n",
100 | "\n",
113 | "
\n",
114 | " \n",
115 | " \n",
116 | " | \n",
117 | " Open | \n",
118 | " High | \n",
119 | " Low | \n",
120 | " Close | \n",
121 | " Volume | \n",
122 | " Dividends | \n",
123 | " Stock Splits | \n",
124 | "
\n",
125 | " \n",
126 | " | Date | \n",
127 | " | \n",
128 | " | \n",
129 | " | \n",
130 | " | \n",
131 | " | \n",
132 | " | \n",
133 | " | \n",
134 | "
\n",
135 | " \n",
136 | " \n",
137 | " \n",
138 | " | 2022-06-06 | \n",
139 | " 733.059998 | \n",
140 | " 734.599976 | \n",
141 | " 703.049988 | \n",
142 | " 714.840027 | \n",
143 | " 28068200 | \n",
144 | " 0 | \n",
145 | " 0 | \n",
146 | "
\n",
147 | " \n",
148 | " | 2022-06-07 | \n",
149 | " 702.000000 | \n",
150 | " 719.989990 | \n",
151 | " 690.280029 | \n",
152 | " 716.659973 | \n",
153 | " 24269500 | \n",
154 | " 0 | \n",
155 | " 0 | \n",
156 | "
\n",
157 | " \n",
158 | " | 2022-06-08 | \n",
159 | " 720.260010 | \n",
160 | " 749.890015 | \n",
161 | " 717.530029 | \n",
162 | " 725.599976 | \n",
163 | " 25403500 | \n",
164 | " 0 | \n",
165 | " 0 | \n",
166 | "
\n",
167 | " \n",
168 | " | 2022-06-09 | \n",
169 | " 748.020020 | \n",
170 | " 766.640015 | \n",
171 | " 717.979980 | \n",
172 | " 719.119995 | \n",
173 | " 32163800 | \n",
174 | " 0 | \n",
175 | " 0 | \n",
176 | "
\n",
177 | " \n",
178 | " | 2022-06-10 | \n",
179 | " 705.469971 | \n",
180 | " 718.500000 | \n",
181 | " 683.739990 | \n",
182 | " 696.690002 | \n",
183 | " 32512200 | \n",
184 | " 0 | \n",
185 | " 0 | \n",
186 | "
\n",
187 | " \n",
188 | "
\n",
189 | "
"
190 | ],
191 | "text/plain": [
192 | " Open High Low Close Volume \\\n",
193 | "Date \n",
194 | "2022-06-06 733.059998 734.599976 703.049988 714.840027 28068200 \n",
195 | "2022-06-07 702.000000 719.989990 690.280029 716.659973 24269500 \n",
196 | "2022-06-08 720.260010 749.890015 717.530029 725.599976 25403500 \n",
197 | "2022-06-09 748.020020 766.640015 717.979980 719.119995 32163800 \n",
198 | "2022-06-10 705.469971 718.500000 683.739990 696.690002 32512200 \n",
199 | "\n",
200 | " Dividends Stock Splits \n",
201 | "Date \n",
202 | "2022-06-06 0 0 \n",
203 | "2022-06-07 0 0 \n",
204 | "2022-06-08 0 0 \n",
205 | "2022-06-09 0 0 \n",
206 | "2022-06-10 0 0 "
207 | ]
208 | },
209 | "execution_count": 6,
210 | "metadata": {},
211 | "output_type": "execute_result"
212 | }
213 | ],
214 | "source": [
215 | "history.tail()"
216 | ]
217 | },
218 | {
219 | "cell_type": "code",
220 | "execution_count": 7,
221 | "metadata": {},
222 | "outputs": [
223 | {
224 | "data": {
225 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlAAAAFSCAYAAAA9wuHTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAABP2klEQVR4nO3deXxcVd3H8c+5WdvsaZsWKohiOChQFcpqaREqUAQKqLggKogbi7uIPj76gLjigmxS0bKJKChaBQpa0BYQkAKycwggikD3rNPs9zx/3ElI26SZSWZyJzPf9+vVVzN3lvvLyWTyu2f5HeO9R0RERERSF8QdgIiIiMhkowRKREREJE1KoERERETSpARKREREJE1KoERERETSVBx3AONljHkYmAE8G3csIiIiklfeAKz33r916zsmfQIFzKiqqp79xj32mh1XAKXFAT19YVynn1TUVqlTW6VObZU6tVXq1Fapy9e2euqJx2hvbxv2vnxIoJ594x57zf7VjTfHFsDshkpeWtcR2/knE7VV6tRWqVNbpU5tlTq1Veryta0+8J6j+cd99ww7wqU5UCIiIiJpUgIlIiIikiYlUCIiIiJpUgIlIiIikiYlUCIiIiJpUgIlIiIikiYlUCIiIiJpUgIlIiIikiYlUCIiIiJpUgIlIiIikiYlUCIiIiJpUgIlMk5XL10SdwgiIjLBlECJjJMSKBGRwqMESmQUSpBERGRrSqBERqEESkREtlYcdwAiuWrxogUkEh10tLexcP4+VFRUsmz5yrjDEhGRHKAESmQEiUQHTU1Ng7cbGxtjjEZERHKJhvBERERE0qQESkRERCRNGsITGYOF8+fS0tIMQHdXF3Pn7EptbR0rVq2OOTIREZkISqBExqClpZnSklKAwf8HEioREcl/GsITERERSZMSKBEREZE0KYESERERSZMSKBEREZE0KYESERERSZMSKBEREZE0KYESERERSZMSKBEREZE0KYESERERSZMSKJk0rl66JO4QREREACVQMomMlkApwRIRkYmiBEryhhIoERGZKNpMWHLewvlzaWlppruri7lzdqW2to4Vq1bHHZaIiBSwCUugrLV7AsuAHzvnLrHWLgBuBE51zt2cfMxuwBXAVOAB4AznnLfWfgo4OXn8q865WycqbolfS0szpSWllJaUDt4WERGJ04QM4VlrK4CLgTuS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\n",
226 | "text/plain": [
227 | ""
228 | ]
229 | },
230 | "metadata": {
231 | "needs_background": "light"
232 | },
233 | "output_type": "display_data"
234 | }
235 | ],
236 | "source": [
237 | "mpf.plot(history, type='candle', mav=(7),figratio=(18,10))"
238 | ]
239 | },
240 | {
241 | "cell_type": "code",
242 | "execution_count": null,
243 | "metadata": {},
244 | "outputs": [],
245 | "source": []
246 | },
247 | {
248 | "cell_type": "code",
249 | "execution_count": null,
250 | "metadata": {},
251 | "outputs": [],
252 | "source": []
253 | }
254 | ],
255 | "metadata": {
256 | "kernelspec": {
257 | "display_name": "djenv",
258 | "language": "python",
259 | "name": "djenv"
260 | },
261 | "language_info": {
262 | "codemirror_mode": {
263 | "name": "ipython",
264 | "version": 3
265 | },
266 | "file_extension": ".py",
267 | "mimetype": "text/x-python",
268 | "name": "python",
269 | "nbconvert_exporter": "python",
270 | "pygments_lexer": "ipython3",
271 | "version": "3.8.10"
272 | }
273 | },
274 | "nbformat": 4,
275 | "nbformat_minor": 4
276 | }
277 |
--------------------------------------------------------------------------------