These annual updates are becoming a habit..
I actually hadn’t touched PART in over a year, but found myself with an itch to do some coding in December 2014 and started to do some work, and it has been a very productive six weeks. Highlights:
- The entire codebase is now in C++
- Basic command line UI is up and running (e.g. through an XTerm, Terminal.app, or Cygwin command line)
- Successfully compiled & tested on:
- Mac OS X Mavericks
- openSUSE Linux
- The following data can be loaded into the system:
- The following functions can be performed on the loaded data:
- time weighted return (monthly, up to an “as-of” date)
- As per my original vision, all functionality functions on either the Fund, Book, or Portfolio level
- If you do not have a price available, the system will reach out to Yahoo! Finance and try to pull the security price for that day (way cool!!!)
- Export holdings and TWR to a CSV file
All in all, the system is shaping up where I want it to be. I’ll post some screenshots soon, albeit only of the text based UI. I have also started a feature request thread over at Canadian Money Forum to ask folks for what they would like to see in an application. Through my testing, I have identified a large number of gaps in my holdings (e.g. I still show positions in my Questrade account, which I haven’t used in years; this is because I didn’t add transactions to transfer shares out of the Questrade account, and into the BMO InvestorLine account, when I moved).
Now, limitations/caveats at the moment:
- Text based UI only — no graphics here!
- Currently cannot save data back; so when the system pulls prices from Yahoo! Finance, when you exit and restart, those prices are gone.
- Cannot edit data (e.g. cannot edit a transaction).
Basically, everything is configured via CSV files for now, and you cannot write data back out. This was by design: by leaving everything in CSV files, I was able to ignore details around saving data, and creating a fancy UI for editing data in the app. I knew that if I went down that path, I would spend so much time on the UI that I would never get the business logic done. But, now that the business logic is functioning, I can start working on the UI.
I’ll be posting a new timeline/milestone list shortly!!