Objective - to script a financial database and web application using SQL, Python, and the Voilà library to analyze the performance of a hypothetical FinTech ETF.
Beyond the scope of the assignment, the author sought to conduct additional refinement and/or analysis of the data obtained and demonstrate further visualization.... Supplemental and/or extra analysis beyond the scope of the project is noted as 'supplemental' were approrpiate.
Step II - Optimize the SQL Queries, analyze the ETF overall cumulative performance, provide visualization
This project leverages Jupyter Lab v3.4.4 and python v3.7 with the following packages:
-
numpy - Software library, NumPy is the fundamental package for scientific computing in Python, provides vast functionality.
-
pandas - Software library written for the python programming language for data manipulation and analysis.
-
read_sql_query - From 'pandas', read SQL query into a DataFrame; returns a DataFrame corresponding to the result set of the SQL query string.
-
concat - From 'pandas', concatenate pandas objects along a particular axis, allows optional set logic along the other axes.
-
hvplot - provides a high-level plotting API built on HoloViews that provides a general and consistent API for plotting data into numerous formats listed within linked documentation.
-
SQLAlchemy - the Python SQL toolkit and Object Relational Mapper that gives application developers the full power and flexibility of SQL.
-
Engine - From 'SQLAlchemy', the starting point for any SQLAlchemy application; creates a tailored Dialect object, as well as a Pool object which will establish a DBAPI connection.
-
Inspection - From 'SQLAlchemy', inspection module provides the inspect() function, which delivers runtime information about a wide variety of SQLAlchemy objects, both within the Core as well as the ORM.
MacBook Pro (16-inch, 2021)
Chip Appple M1 Max
macOS Monterey version 12.6
Homebrew 3.5.10
Homebrew/homebrew-core (git revision 0b6b6d9004e; last commit 2022-08-30)
Homebrew/homebrew-cask (git revision 63ae652861; last commit 2022-08-30)
anaconda Command line client 1.11.0
conda 22.9.0
Python 3.9.13
pip 22.2.2 from /opt/anaconda3/envs/jupyterlab_env/lib/python3.9/site-packages/pip (python 3.9)
git version 2.37.2
In the terminal, navigate to directory where you want to install this application from the repository and enter the following command
git clone git@github.com:Billie-LS/snaking_fintech_etf.git
From terminal, the installed application is run through jupyter lab web-based interactive development environment (IDE) interface by typing at prompt:
> jupyter lab
The file you will run is:
etf_analyzer.ipynb
Version control can be reviewed at:
Loki 'billie' Skylizard LinkedIn @GitHub
Vinicio De Sola LinkedIn @GitHub
Santiago Pedemonte LinkedIn @GitHub
Stratis Gavnoudias LinkedIn @GitHub
SQLAlchemy PYSHEET
set dataframe index pandas
pandas.DataFrame.to_sql pandas
inner joins W3 schools
annualized returns datacamp
add an empty column to a dataframe stack_overflow
MIT License
Copyright (c) [2022] [Loki 'billie' Skylizard]
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.