All Projects → JerBouma → Thepassiveinvestor

JerBouma / Thepassiveinvestor

Licence: mit
Passive Investing for the Average Joe

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Thepassiveinvestor

Xlsx
Fast and reliable way to work with Microsoft Excel™ [xlsx] files in Golang
Stars: ✭ 132 (-42.36%)
Mutual labels:  spreadsheet
Yii2 Export
A library to export server/db data in various formats (e.g. excel, html, pdf, csv etc.)
Stars: ✭ 153 (-33.19%)
Mutual labels:  spreadsheet
Calx.js
jQuery Calx - a jQuery plugin for creating formula-based calculation form
Stars: ✭ 190 (-17.03%)
Mutual labels:  spreadsheet
X Spreadsheet
A web-based JavaScript(canvas) spreadsheet
Stars: ✭ 12,046 (+5160.26%)
Mutual labels:  spreadsheet
Unpivotr
Unpivot complex and irregular data layouts in R
Stars: ✭ 148 (-35.37%)
Mutual labels:  spreadsheet
Documentserver
ONLYOFFICE Document Server is an online office suite comprising viewers and editors for texts, spreadsheets and presentations, fully compatible with Office Open XML formats: .docx, .xlsx, .pptx and enabling collaborative editing in real time.
Stars: ✭ 2,335 (+919.65%)
Mutual labels:  spreadsheet
Functional Data Grid
Data grids in functional style with ReactJS
Stars: ✭ 125 (-45.41%)
Mutual labels:  spreadsheet
Excel to code
Roughly translate some Excel spreadsheets to Ruby or C.
Stars: ✭ 214 (-6.55%)
Mutual labels:  spreadsheet
Test files
📚 SheetJS Test Files (XLS/XLSX/XLSB and other spreadsheet formats)
Stars: ✭ 150 (-34.5%)
Mutual labels:  spreadsheet
Volbx
Graphical tool for data manipulation written in C++/Qt
Stars: ✭ 187 (-18.34%)
Mutual labels:  spreadsheet
Tui.grid
🍞🔡 The Powerful Component to Display and Edit Data. Experience the Ultimate Data Transformer!
Stars: ✭ 1,859 (+711.79%)
Mutual labels:  spreadsheet
Grid
Declarative React Canvas Grid primitive for Data table, Pivot table, Excel Worksheets and more 💥
Stars: ✭ 573 (+150.22%)
Mutual labels:  spreadsheet
Angular Handsontable
Angular Data Grid with Spreadsheet Look & Feel. Official Angular wrapper for Handsontable.
Stars: ✭ 175 (-23.58%)
Mutual labels:  spreadsheet
Spreadsheet server
A python server harnessing the calculational ability of LibreOffice Calc (thanks to 'pyoo'). It provides 'instant' access to the cell ranges of a set of spreadsheets.
Stars: ✭ 132 (-42.36%)
Mutual labels:  spreadsheet
Airrecord
Ruby wrapper for Airtable, your personal database
Stars: ✭ 193 (-15.72%)
Mutual labels:  spreadsheet
Importabular
5kb spreadsheet editor for the web, let your users import their data from excel.
Stars: ✭ 129 (-43.67%)
Mutual labels:  spreadsheet
Plainbudget
Minimalist Plain Text Budgeting
Stars: ✭ 167 (-27.07%)
Mutual labels:  spreadsheet
Xlsxwriter
A Python module for creating Excel XLSX files.
Stars: ✭ 2,766 (+1107.86%)
Mutual labels:  spreadsheet
Hyperformula
A complete, open-source Excel-like calculation engine written in TypeScript. Includes 380+ built-in functions. Maintained by the Handsontable team⚡
Stars: ✭ 210 (-8.3%)
Mutual labels:  spreadsheet
Tidyxl
Read untidy Excel files in R https://nacnudus.github.io/tidyxl/
Stars: ✭ 185 (-19.21%)
Mutual labels:  spreadsheet

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, 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. Unpack the ZIP file to your prefered location and run the file "ThePassiveInvestor.exe"
  3. Go to the FinanceDatabase and search the database for your preferred tickers. Then, place the tickers in an Excel sheet with the tickers listed vertically. See the example on the page of the FinanceDatabase.
    • You can also 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 your own 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

Functionality

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.

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:

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].