Skip to content

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 tryi…

License

Notifications You must be signed in to change notification settings

85599/ThePassiveInvestor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ThePassiveInvestor

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. If you have Python you can also download the repository and run program.py.
  2. Unpack the ZIP file to your prefered location and run the file "ThePassiveInvestor.exe"
  3. Use the Yahoo Finance Screener (ETFs or Mutual Funds), select your preferences and click "Find ETFs". Then you can copy the URL.
    • You can also use 'Quote Lookup' (example)
    • You can also use an Excel file that has the tickers listed vertically.
  4. Open the program, enter your save location (i.e. C:/Documents/DevelopedMarketsETF.xlsx) and input the URL or Excelfile you decided to use in Step 2. Note that you do not have to create an Excel file, the program does this for you. However, it does not create folders.
  5. Run the program, this takes less than a minute to complete.
  6. Analyse the Excelfile created

If you have made an investment decision, 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.
    • The Sector Holdings can change over time but the general allocation will hold. However, it might be interesting to run the program every few months (or once a year) to update the Sector Holdings.
  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. Due to the function GOOGLEFINANCE, your investments' value is updated every few minutes. The spreadsheet uses data as input from what the program creates, but can also be used independently. It features the following.

  • Portfolio Tab
    • Display information about:
      • 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)
  • Statistics
    • Provides statistics about all tickers inputted which includes standard deviations, correlations, risk/return etc.
  • 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. Clone/Download this repository.
  2. Open CMD/PowerShell/Terminal in folder.
  3. install dependencies: pip install -r requirements.txt

Run/Develop

Run the following command:

  • python program.py

Build

Installation:

  • Windows:
    • pyinstaller --add-data="images;images" --icon=images\iconICO.ico --name=ThePassiveInvestor program.py
  • MacOS/Linux:
    • pyinstaller --add-data="images:images" --icon=images/iconICO.ico --name=ThePassiveInvestor --windowed program.py

Open the 'dist' folder and the 'ThePassiveInvestor' folder, run exe/app. Or:

  • Windows:
    • CMD:
      • start dist\ThePassiveInvestor\ThePassiveInvestor.exe
    • PowerShell:
      • dist\ThePassiveInvestor\ThePassiveInvestor.exe
  • MacOS
    • open dist/ThePassiveInvestor.app

Troubleshooting

The following issue is known:

  • Error pyi_rth_certifi: include the files found in the folder "SSL" to the main directory of the program. Alternatively, download the latest release which fixes this issue.

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

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 tryi…

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages