Skip to content

agabrielson/investing

Repository files navigation

Investing Research Tools

Table of Contents
  1. About The Project
  2. Prerequisites
  3. Usage
  4. Approach
  5. Finding Funds of Interest
  6. License
  7. Disclaimer

About The Project

This repo speeds up the investing data collection to enable more consistent research. Finding the time to keep long term investment research up to date can be difficult. These scripts enable the discipline to be consistent and speed up data point collection. I typically migrate these data points into a larger portfolio spreadsheet.

Prerequisites

Clone the repo

git clone https://github.com/agabrielson/investing.git

Install dependencies

$ pip install -r Requirements.txt

Usage

Runable python scripts:

  • Mutual Funds
    • getAllMutualFunds.py: Get a list of existing mutual funds and descriptions, can be used to build the table needed for other fund scripts.
    • monthlyMetrics.py: Collect monthly pricing data for funds of interest. Most pricing services provide limited granularity.
    • getHoldings.py: Extract fund holdings and attempt to get monthly return
    • quartelyFundMetrics.py: Pull longer term data points together that can be extremely time consuming.
  • Exchange Traded Funds (ETFs)
    • getAllETFs.py: Get a list of existing ETFs with descriptions, can be used to build the table needed for other ETF scripts. Output can be used to generate SymbolsETF.csv
    • monthlyMetrics.py: Collect monthly pricing data for ETFs of interest. Most pricing services provide limited granularity.
    • getHoldings.py: Extract ETF holdings and attempt to get monthly return
    • quartelyETFMetrics.py: Pull longer term data points together that can be extremely time consuming. Note: ETFs have less data points than Mutual Funds
  • Stocks
    • getStocks.py: Get monthly stock returns for all stocks (US market)
    • stocksQuartely.py: Pull longer term stock data points together for all stocks (US market)
    • getHolders.py: Get the top 10 list of holders for a company

Examples calls are located in the header of each python file mentioned above

Approach

One way to use the toolset...

  1. Determine which investments you want to track
  2. Download data points for investments with the scripts
  3. Bring the data points together into a larger spreadsheet to see longer term monthly trends
  4. Analyze the trends that interest you
  5. You can decide which investments are right based on your strategy. tracking has a sample spreadsheet used to track data points over multiple months

Finding Investments of Interest

Mutual funds are typically described somewhere in Edgar. If you search for a specific fund, you can find others grouped within an instition. Note a bank like Fidelity has many institions. Not all funds referenced in Edgar are current - funds may have shutdown.

https://www.sec.gov/edgar/searchedgar/mutualsearch.html

CIK Lookup data

https://www.sec.gov/Archives/edgar/cik-lookup-data.txt

Edgar CIKS (Stocks)

https://www.sec.gov/files/company_tickers.json

This code appears to have all stocks:

https://github.com/shilewenuw/get_all_tickers

Searching mutual funds

https://www.sec.gov/cgi-bin/browse-edgar?company=&match=&CIK=FXAIX

Best list of all mutual funds:

https://www.marketwatch.com/tools/mutual-fund/list/A

License

Distributed under the MIT License. See LICENSE for more information.

Disclaimer

This disclaimer informs readers that the views, thoughts, and opinions expressed in the text belong solely to the author, and not necessarily to the author's employer, organization, committee or other group or individual.

In fact, you should develop an investment strategy that works for you

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages