18

GitHub - JerBouma/ThePassiveInvestor: Passive Investing for the Average Joe

 4 years ago
source link: https://github.com/JerBouma/ThePassiveInvestor
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md

The Passive Investor

Theories and research about the stock market have stated that the semi-strong form of market efficiency seems to hold. This means that all public information is accurately reflected in the price of an financial instrument. This makes the job of a portfolio manager primarily managing the desired risk appetite of the client and not explicitly trying to outperform the market. This fact in combination with Finance professionals all around the world looking for that 'edge' to make their investment decisions as profitable as possible, makes it so the average joe can not compete.

Therefore, the term 'Passive Investing' is often coined around. This refers to buying funds (either ETFs or Mutual Funds) that follow the index (i.e. S&P 500, Dow Jones Index) or a broad market (Developed Markets, MSCI World) for diversification benefits. This means that a sudden decrease in performance of one stock within the index does not (on average) lead to a significant decline in the index as a whole. This allows the holder to spend limited time monitoring his holdings, therefore the term 'Passive'.

With a large increase in ETFs available (over 5,000 in 2020), it can become difficult to make the best choice in what you wish to invest. There are many different providers (iShares, Vanguard, Invesco) as well as with changes to the underlying stocks (i.e. High Yield, Super Dividends, Equal Weighted). This is quickly reflected when looking for a S&P 500 ETF as there are over 20 different ETFs available.

With this program and the accompanying spreadsheet, I wish to make investment decisions easier to make and manage.

Set-Up / Installation

Installing the program and running an analysis:

  1. Download the most recent release here.
    • If you have Python you can also download the repository and run program.py.
  2. Use the Yahoo Finance Screener (ETFs or Mutual Funds)
    • You can also use 'Quote Lookup' (example)
    • You can also use an Excel file that has the tickers listed vertically.
  3. Open the program, enter your save location (i.e. C:/Documents/Investing/DevelopedMarketsETF.xlsx) and input the URL or Excelfile you decided to use in Step 2.
  4. Run the program, this takes less than a minute to complete.
  5. Analyse the Excelfile created

If you have made an investment decisions, you can now use the Spreadsheet:

  1. Download your own version here (File > Make a copy)
  2. Enter your order on the Orderdata tab
  3. Copy the Sector Holdings Mix (as found in the Excelfile created by the Program) to the Sector Holdings tab.
  4. Enter the ticker on the Portfolio tab to be able to monitor your holdings adequately.

In case you wish to use the Mobile View tab to monitor your investments on your phone:

  1. File > Publish to the Web > Only Mobile View tab
  2. Copy and bookmark the link obtained
  3. Open the link on your mobile phone
    • Recommended: in Chrome, select 'Add to Chromescreen' for easy access
  4. Expand columns accordingly to fill the screen

Functionality

In this section a brief overview and instruction is given on the program as well as the spreadsheet.

The Program

The program is able to output an overview of each fund on a seperate sheet. In this overview the following data is shown:

  • The title of the fund
  • A summary about the fund's purpose/goal
  • Sector Holdings (% in each sector)
  • Company Holdings (top 10 companies with highest %)
  • Risk Statistics (several measures of risk)
    • Displayed in 3, 5 and 10 years
    • Alpha
    • Beta
    • Mean Annual Return
    • R Squared
    • Standard Deviation
    • Sharpe Ratio
    • Treynor Ratio
  • Characteristics of the instrument
    • Inception date (start of fund)
    • Category
    • Total assets
    • Currency
    • Net Asset Value
    • Latest close price
  • Morningstar Style Box (style of the fund)
  • Last five annual returns
  • Graph depicting the adjusted close prices over the last 10 years
  • Last 10 years of adjusted close prices for all Tickers (hidden sheet)

The input should either be an Excel File (with solely tickers in it) or via Yahoo Finance's ETF or Mutual Fund Screener (see here and here). Note that the program can not handle stocks, bonds or anything else that is not a fund. This is because the data used is only available for funds and equity investing is not considered Passive Investing.

An example of the output can be found in the GIF below. This depicts several ETFs collected from the Top ETFs according to Yahoo Finance.

The Spreadsheet

The spreadsheet allow you to input your investment choices and track them accordingly. It uses data as input from what the program creates, but can also be used independently. It features the following.

  • Portfolio Tab
    • Display information about (all continiously updating):
      • Amount bought
      • Purchase date
      • Recent price
      • Bought price
      • Additional costs
      • Total invested
      • Recent value
      • Return (in % and €)
      • YTD trendline
      • Weight in the portfolio
      • Days
    • Recent changes in value of the Indices and Currency exchanges and their trends
    • Comparison between portfolio and indices as benchmarks
    • Accurate input on diversification
  • Orderbook Tab
    • Accurate tracking of orders made that are aggregated on the Portfolio tab
    • Allows the Portfolio Tab not to become cluttered when you invest frequently in the same fund
  • Sector Holdings tab
    • Is used to accurately depict the diversification displayed on the portfolio tab
    • Data can be obtained from the output from the program's created excelfile
    • Modifications on a hidden tab are made to correctly weight the diversification (based on amount bought)
  • Mobile View tab
    • Created to be bookmarked to quickly track holdings on a mobile phone
    • Requires the tab to be 'Published to the Web' and then bookmarked. Columns can be shifted to match screensize.

To see a live example and to obtain an empty copy see below:

You can create a copy of the empty version for personal use.

An example of the Portfolio tab can be found below:

Contribution

Projects are bound to have (small) errors and can always be improved. Therefore, I highly encourage you to submit issues and create pull requests to improve the program and/or the spreadsheet.

If you wish to test the packaging, you can do so by:

  1. Downloading the repository.
  2. Inside the repository execute the following command
    • pyinstaller --add-data="images;images" --icon=images\iconICO.ico --name=ThePassiveInvestor program.py
  3. Open the 'dist' folder.

Disclaimer

While the program allows you to make financial decisions more easily, it explicitely does not make the decisions for you. Therefore, these decisions remain your own and I am not responsible for any losses (or gains) made.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK