eFinancialPlanner – Prototype V1.0  
Personal Financial Planning based on Maslowian Portfolio Theory
 All Classes Namespaces Files Functions Variables Typedefs Friends Macros Pages
eFinancialPlanner Prototype V1.0

Philippe J.S. De Brouwer

Introduction

This software is a first effort to implement Maslowian Portfolio Theory in a fully automated way.

Maslowian Portfolio Theory has been proposed by Prof. Dr. Philippe J.S. De Brouwer in 2008 (Journal of Asset Management, Vol.9, 6, pp. 359–365). This theory is the first effort since Markovicz' Modern Portfolio Theory from 1952 to propose a prescriptive portfolio theory that allows for multi-goal investing (a phenomenon also called ''mental accounting'') that was well descrived in the descriptive theory ''Behavioural Portfolio Theory'' of Hersh Shefrin and Meir Statman in 2001.

The theory ignores the modern myth of ''the investor's risk profile''. The concept that an investor should have one risk profile as used by Markovicz as a working hypthesis is based on magical thinking and results rather from the need of having such concept than from a real theory underpinning it.

The idea is to start from the investor and his/her world with his/her priotities in life. It is from this life-goals and their parameters that we derive the necessary paramters to find an optimal investment portfolio per investment goal.

Compilation

g++ -Wall -I/usr/include/cppconn efp.cpp -o OUTFILE -lmysqlcppconn -lcgicc
or optimal compilation:
g++ -Wall -I/usr/include/cppconn efp.cpp -o /usr/lib/cgi-bin/$OUTFILE -lmysqlcppconn /usr/lib/libcgicc.a -std=c++11 -finline-small-functions

Depends on

This software is based on an open source stack. Compiled it runs on a linux (Debian) system and via Apache it provides HTML5 to the browser and uses CSS3 to present the data. It should be fairly straightforward to make it work on other platforms.

  • Linux operating system
  • gnu C++ compiler collection
    apt-get install build-essential manpages-dev -y
    apt-get install cmake -y
  • MySQL databae
    apt-get install mysql-server -y
    apt-get install mysql-client -y
  • Apache2 web server
    sudo apt-get install apache2
    sudo a2enmod cgi
    sudo service apache2 restart
  • msql connector: mysqlcppconn
    sudo apt-get install libmysqlcppconn-dev
  • cgicc
    sudo apt-get install libcgicc5-dev
  • useful:
    apt-get install doxygen -y