daily report of @arkinvest ETF activity + data collection

Overview

ark_invest

daily weekday report of @arkinvest ETF activity + data collection

This script was created to:

  1. Extract and save daily csv's from ARKInvest's holdings.
  2. Quick command-line report about security additions and removals within each of the 6 ARK ETFs ($ARKK, $ARKW, $ARKG, $ARKQ, $ARKF, $PRNT)
  3. Quick command-line report about significant changes in security positions within each of the 6 ARK ETFs ($ARKK, $ARKW, $ARKG, $ARKQ, $ARKF, $PRNT)
  4. Option to save day-over-day changes in holdings within each of the 6 ARK ETFs ($ARKK, $ARKW, $ARKG, $ARKQ, $ARKF, $PRNT)

Current suggested process flow as follows:

From command-line:

  1. Run 'import_status()':
    • Saves current csv from ARKInvest site for each of the 6 ETFs as 'temp.csv' in respective data subdirectories.
    • Identifies whether the temp file is new, or a duplicate of your previous day's run. *ARK appears to upload new csv's at 7PM EST.
    • If step 2 does not identify a new import, the program will exit().
  2. Run 'allocation()':
    • Compares ticker presence within the two most recent confirmed files.
  3. Run 'changes(significance)':
    • Identifies significant increases or decreases in shares within the two most recent confirmed files. Significance parameter = float.
    • Example: changes(6.0) -> Within each ETF, return shares increase >= 6.0% AND return shares decrease <= -6.0%
  4. Run 'all_dfs()' if you would like to access each of the ETF's most recent day-over-day report. The function will return a list of pandas dataframes. *See below:
    • DoD_reports = all_dfs()
    • arkk = DoD_reports[0]
    • arkw = DoD_reports[1]
    • arkg = DoD_reports[2]
    • arkq = DoD_reports[3]
    • arkf = DoD_reports[4]
    • prnt = DoD_reports[5]

Still a work in progress but wanted to share with everyone asap. Curious to see if this is helpful!

Some items I am working through now:

  1. What if ARK updates some of the files, but not all?
  2. Is it convenient to exit program after identifying that a new csv is not available?
  3. You will notice a 'queue' variable that I am playing around with. This is to potentially only pass eligible import items to different functions.
  4. Considering using a SQLite db file instead of saving files to subdirectories (obviously not ideal)
  5. Considering dashboard or API endpoint on simplimoku.com (a simple site for ichimoku charting and ichimoku signal screener)
Lightweight, extensible data validation library for Python

Cerberus Cerberus is a lightweight and extensible data validation library for Python. v = Validator({'name': {'type': 'string'}}) v.validate({

eve 2.9k Dec 27, 2022
Lightspin AWS IAM Vulnerability Scanner

Red-Shadow Lightspin AWS IAM Vulnerability Scanner Description Scan your AWS IAM Configuration for shadow admins in AWS IAM based on misconfigured den

Lightspin 90 Dec 14, 2022
View part of your screen in grayscale or simulated color vision deficiency.

monolens View part of your screen in grayscale or filtered to simulate color vision deficiency. Watch the demo on YouTube. Install with pip install mo

Hans Dembinski 31 Oct 11, 2022
Lumen provides a framework for visual analytics, which allows users to build data-driven dashboards from a simple yaml specification

Lumen project provides a framework for visual analytics, which allows users to build data-driven dashboards from a simple yaml specification

HoloViz 120 Jan 04, 2023
Smoking Simulation is an app to simulate the spreading of smokers and non-smokers, their interactions and population during certain amount of time.

Smoking Simulation is an app to simulate the spreading of smokers and non-smokers, their interactions and population during certain

Bohdan Ruban 5 Nov 08, 2022
IPython/Jupyter notebook module for Vega and Vega-Lite

IPython Vega IPython/Jupyter notebook module for Vega 5, and Vega-Lite 4. Notebooks with embedded visualizations can be viewed on GitHub and nbviewer.

Vega 335 Nov 29, 2022
termplotlib is a Python library for all your terminal plotting needs.

termplotlib termplotlib is a Python library for all your terminal plotting needs. It aims to work like matplotlib. Line plots For line plots, termplot

Nico Schlömer 553 Dec 30, 2022
Generate visualizations of GitHub user and repository statistics using GitHub Actions.

GitHub Stats Visualization Generate visualizations of GitHub user and repository statistics using GitHub Actions. This project is currently a work-in-

Aditya Thakekar 1 Jan 11, 2022
Official Matplotlib cheat sheets

Official Matplotlib cheat sheets

Matplotlib Developers 6.7k Jan 09, 2023
An interactive GUI for WhiteboxTools in a Jupyter-based environment

whiteboxgui An interactive GUI for WhiteboxTools in a Jupyter-based environment GitHub repo: https://github.com/giswqs/whiteboxgui Documentation: http

Qiusheng Wu 105 Dec 15, 2022
Gaphas is the diagramming widget library for Python.

Gaphas Gaphas is the diagramming widget library for Python. Gaphas is a library that provides the user interface component (widget) for drawing diagra

Gaphor 144 Dec 14, 2022
Altair extension for saving charts in a variety of formats.

Altair Saver This packge provides extensions to Altair for saving charts to a variety of output types. Supported output formats are: .json/.vl.json: V

Altair 85 Dec 09, 2022
FairLens is an open source Python library for automatically discovering bias and measuring fairness in data

FairLens FairLens is an open source Python library for automatically discovering bias and measuring fairness in data. The package can be used to quick

Synthesized 69 Dec 15, 2022
100 Days of Code The Complete Python Pro Bootcamp for 2022

100-Day-With-Python 100 Days of Code - The Complete Python Pro Bootcamp for 2022. In this course, I spend with python language over 100 days, and I up

Rajdip Das 8 Jun 22, 2022
A pandas extension that solves all problems of Jalai/Iraninan/Shamsi dates

Jalali Pandas Extentsion A pandas extension that solves all problems of Jalai/Iraninan/Shamsi dates Features Series Extenstion Convert string to Jalal

51 Jan 02, 2023
Domain Connectivity Analysis Tools to analyze aggregate connectivity patterns across a set of domains during security investigations

DomainCAT (Domain Connectivity Analysis Tool) Domain Connectivity Analysis Tool is used to analyze aggregate connectivity patterns across a set of dom

DomainTools 34 Dec 09, 2022
A streamlit component for bi-directional communication with bokeh plots.

Streamlit Bokeh Events A streamlit component for bi-directional communication with bokeh plots. Its just a workaround till streamlit team releases sup

Ashish Shukla 123 Dec 25, 2022
The interactive graphing library for Python (includes Plotly Express) :sparkles:

plotly.py Latest Release User forum PyPI Downloads License Data Science Workspaces Our recommended IDE for Plotly’s Python graphing library is Dash En

Plotly 12.7k Jan 05, 2023
It's an application to calculate I from v and r. It can also plot a graph between V vs I.

Ohm-s-Law-Visualizer It's an application to calculate I from v and r using Ohm's Law. It can also plot a graph between V vs I. Story I'm doing my Unde

Sihab Sahariar 1 Nov 20, 2021