# Portfolio Management Software - Feature Request



## tendim (Nov 18, 2010)

Hi.

For the past few months I've been working on a Portfolio Management Software offering, with the intent of being able to balance investments across multiple brokerages, and provide true time weighted return calculations. I am in the final stages of testing it, and plan on having something for public testing in the coming few months.

Before doing that however, I wanted to throw out some feelers for what people would like to see in a portfolio management package. Currently my application delivers:


Managing investments across multiple investment brokerages.
Can calculate ACB across different accounts (e.g. if you have AC-B.TO in your Questrade account, and AC-B.TO in your InvestorLine account, it properly calculates the ACB taking into account transactions in both accounts). Cross account-calcs assume the same account class (e.g. non-registered, registered, or TFSA).
True time weighted return.
CSV export functionality.
meta data for each equity includes asset sub-class (e.g. consumer discretionary, fixed income, real estate, etc.), and geographic region.

The current goal is not to be graphics-rich (e.g. fancy graphs and reporting), but to output useful analysis which you can then pump into Excel, to create your graphs, etc. The long term goal is to have a full GUI (probably via Qt for cross-platform compatibility), but that is in the distant future (6+ months out).

So....requests? 

Cheers,
-10d


----------



## Guban (Jul 5, 2011)

Wow! Sounds like a great package.

Could we have:
Returns by calendar year, not just a running total compound rate of return. eg for 2014, 2013, 2012, ...
Stock split/consolidation feature
An overall networth and rate of return. 
I would love an automated market price input mechanism, so that the current price of a stock or mutual fund does not have to manually keyed in. (Am I dreaming here?)
An estimated monthly/quarterly income amount. This may be useful for an income investor to see so that their cashflow is laid out in front of them. eg. What month each bond pays out, and how much, or the approximate distribution of an income mutual fund, ...
It is likely useful to be able to show simple graphs and charts without importing to Excel. I suspect that many of your users won't have the necessary fluency in spreadsheets.

That's a few things off the top of my head. Suspect that there are many more things!


----------



## NorthernRaven (Aug 4, 2010)

* Ability to handle foreign currency accounts (i.e. CAD and USD holdings at one's brokerage). It might be useful to store an exchange rate with each transaction record (null or 1.0 for domestic transactions) so as to be able to do certain sorts of calculations.

* Run on OSX.

I took a look around awhile back for a portfolio package, but I'm cheap and lazy and didn't get one. I did look closely at a sleek Mac program called Investoscope, but while it could handle accounts in different currencies, the features that combined accounts into "portfolio views" could only work with accounts in one currency. 

Out of curiosity, what are you writing this in?


----------



## pwm (Jan 19, 2012)

I've used Quicken for 25 years. One feature it cannot do is have regular scheduled transactions in an investment account. Strange that is the case, since one can do so in a banking account. That would be one function that I would want.


----------



## tendim (Nov 18, 2010)

Guban said:


> Returns by calendar year, not just a running total compound rate of return. eg for 2014, 2013, 2012, ...
> Stock split/consolidation feature
> An overall networth and rate of return.
> I would love an automated market price input mechanism, so that the current price of a stock or mutual fund does not have to manually keyed in. (Am I dreaming here?)
> ...


Hm. The system currently does TWR on a monthly basis, I'll have to see how easy it is to scale it up to annual -- but it is a good idea. The following already exist:


Overall rate of return (it is treated as "TWR for all portfolios to today")
Stock split/consolidation
TWR by month
"flat pricing" - e.g. if you don't have a price on date X, it finds the closest price before date X to use -- useful if you have a holiday in one country, but not the other, for multi-currency 

I really looked at the price input mechanism and I'm toying with a few ideas, but it may end up being a web service that I have to offer as well, which pulls quotes from yahoo and/or google in the background. In the short term I think I might build in EODData support, since it is a commercially available option to folks (and what I will likely use in the short term). Downside is that the only package they have with TSX is the Silver package @ $19.95/month (USD!). Currently however, all of the prices are in a CSV file which I update manually at the end of each month.

I'll have to look at the monthly income as well -- something I never thought of, but I do perform the same manually in Excel.. I imagine it might be a combination of adding a "dividend date" and "dividend" to each security type, and then having some type of forecast.. Interesting....



NorthernRaven said:


> Ability to handle foreign currency accounts (i.e. CAD and USD holdings at one's brokerage). It might be useful to store an exchange rate with each transaction record (null or 1.0 for domestic transactions) so as to be able to do certain sorts of calculations.
> Run on OSX.
> 
> Out of curiosity, what are you writing this in?


Handles FX currently, only built for CAD and USD but easily scalable (the currencies are actually defined in a config file -- so you just add a new currency, e.g. "JPY,Japanese Yen", and POOF, you've now got another currency). Once you add a currency to the config file, you add the appropriate security to the securities config file, and then you're off to the races.

The system is being built in C++ on OS X 10.9 Mavericks. Right now it is all driven by the command line; this has allowed me to focus on the actual code, vs. the user interface. I will have to build a GUI before releasing it to the general public, which will likely be Qt.



pwm said:


> I've used Quicken for 25 years. One feature it cannot do is have regular scheduled transactions in an investment account. Strange that is the case, since one can do so in a banking account. That would be one function that I would want.


Interesting..This aligns nicely with Guban's idea above. I imagine I could do something similar to GnuCash which checks the system date when you launch it, and checks for any pending transactions, and then asks you to add them if they are pending.

Thanks so far for the ideas. Some of them are definitely longer term (e.g. cash flow projection/scheduled transactions), but good to add to the overall list.

Cheers.
-10d


----------



## NorthernRaven (Aug 4, 2010)

tendim said:


> The system is being built in C++ on OS X 10.9 Mavericks. Right now it is all driven by the command line; this has allowed me to focus on the actual code, vs. the user interface. I will have to build a GUI before releasing it to the general public, which will likely be Qt.


Hey, would you be willing to release the data schema for this? Would be interesting to see the connections, and might provoke a suggestion or two.


----------



## AltaRed (Jun 8, 2009)

pwm said:


> I've used Quicken for 25 years. One feature it cannot do is have regular scheduled transactions in an investment account. Strange that is the case, since one can do so in a banking account. That would be one function that I would want.


Likewise. That feature would be great for my monthly REIT distributions for example. Have you sent that 'improvement' request to Intuit (not that they have ever listened to anyone I know)? 

Another feature the OP is doing that could be useful to some in Quicken is calculating the weighted ACB across multiple taxable accounts, but not to mix ACBs between taxable and registered accounts.

Added: To OP: if you don't know about Quicken, you probably should know what your competition is doing and slice your product a little differently to differentiate it. Microsoft eventually gave up on Microsoft Money after trying to compete with Quicken.


----------



## pwm (Jan 19, 2012)

AltaRed: I did report this to them a while back and if I remember correctly, the US version of Quicken did in fact do what I wanted, but the Canadian version did not, for some unknown reason. I wonder if the new Quicken 2015 is finally fixed. Not that I would pay another $100 just to find out!


----------



## DenisD (Apr 19, 2009)

Does it calculate the ACB correctly when distributions contain ROC? How about the ACB of US dollar holdings? Superficial losses?


----------



## andrewf (Mar 1, 2010)

Good luck! My parents wanted help getting set up with portfolio management software. I helped them set up Quicken, which I found to be a huge disappointment, especially for the price. I find myself thinking that I'd rather set up an excel workbook so I could tweak the functionality to work the way that I think makes sense.


----------



## tendim (Nov 18, 2010)

AltaRed said:


> Another feature the OP is doing that could be useful to some in Quicken is calculating the weighted ACB across multiple taxable accounts, but not to mix ACBs between taxable and registered accounts.


Actually this is the exactly why I am building this, and it currently works as expected; but will need beta testers to confirm my results with their own when I release this to the wild.



AltaRed said:


> Added: To OP: if you don't know about Quicken, you probably should know what your competition is doing and slice your product a little differently to differentiate it. Microsoft eventually gave up on Microsoft Money after trying to compete with Quicken.


Well, this is more for fun right now, I am not planning on commercializing, other than possibly a model similar to Investoscope (limit # of holdings & transactions). The bigger hurdle is licensing: since I am using a fair amount of open code via the standard c++ libraries, GUI (qt), etc., I have to walk a fine line between what I keep closed-source and open-source.



DenisD said:


> Does it calculate the ACB correctly when distributions contain ROC? How about the ACB of US dollar holdings? Superficial losses?


ROC, yes. How does the ACB of USD holdings differ from CAD? Superficial losses, no..it will report your realized gains, and list the dates, but that is it - you would have to analyze outside of the app to handle that part.


----------



## Retired Peasant (Apr 22, 2013)

andrewf said:


> Good luck! My parents wanted help getting set up with portfolio management software. I helped them set up Quicken, which I found to be a huge disappointment, especially for the price. I find myself thinking that I'd rather set up an excel workbook so I could tweak the functionality to work the way that I think makes sense.


I think that's what quite a few people do - Excel. I have a number of Excel files, but have been thinking of using Access instead.


----------



## andrewf (Mar 1, 2010)

Really, the only value-add I can see on top of using your own excel worksheets is integrating historical quotes and tax information. I'm not aware of any publicly available software that does this.


----------



## tendim (Nov 18, 2010)

Guban said:


> I would love an automated market price input mechanism, so that the current price of a stock or mutual fund does not have to manually keyed in. (Am I dreaming here?)


...and, CHECK. The app now checks its local datastore for a price, and if it can't find the price, fetches it from Yahoo Finance. It then saves it to its own internal datastore for use later. So as you use the app more, it will capture more and more historical prices.


----------



## andrewf (Mar 1, 2010)

You can use Yahoo Finance to get historical quotes as well.


----------



## tendim (Nov 18, 2010)

andrewf said:


> You can use Yahoo Finance to get historical quotes as well.


True, and that is where I am pulling the info from. But now it pulls it automatically; you don't have to go to the site and manually re-key.


----------



## andrewf (Mar 1, 2010)

What I mean is you should not need to launch the app periodically to capture current quotes--it should be possible to build up the historical data.


----------



## BigMFfan (Feb 23, 2013)

pwm said:


> I've used Quicken for 25 years. One feature it cannot do is have regular scheduled transactions in an investment account. Strange that is the case, since one can do so in a banking account. That would be one function that I would want.


I've got all my expected dividends and interest payments set-up in all of my investment accounts -- what exactly are you trying to do? I use 2014, but have setup all these in Quicken 2008 (or earlier) -- and they've just carried forward.


----------



## pwm (Jan 19, 2012)

BigMFfan: Go into "Bill & Income Reminders". Look in the "for account" pull down list. Do any investment accounts show up there? Not in my Quicken 2009. Apparently investment accounts can be selected from the US version. That's what I want to do. Automatically have dividend payments entered in my investment account register, just like a payment or income event in my chequing account. Of course I have all my dividend payments memorized, but I have to enter them manually every time.


----------



## BigMFfan (Feb 23, 2013)

I'm not sure if it is the version you're using, but I can definitely see all my accounts. They are however grouped by type. When I first go into Bill & Income Reminders, all my banking accounts are there. I just have to click on the "Personal Investments" on the left and then all my investment accounts show up -- and I can choose whichever I want. I believe you should also be able to type in the account name in this field.

I can't remember when I first started using this feature for my investments -- it may have been 2008 or 2011 (I "upgrade" every 3 years).


----------



## pwm (Jan 19, 2012)

BigMFfan: Interesting. I'm running Quicken 2009 and the "Bill & Income Reminders" facility is strictly for "Banking" accounts only. It only applies to banking type transactions. IE. payments from, or income to, a banking type account. Maybe Quicken 2011 was the charm.


----------



## webber22 (Mar 6, 2011)

I've been using the Income reminders in Quicken for dividends for every version since 2008, currently with the 2012 version. Maybe it's a setup issue?
Also there's always a free version floating around, just make sure it's the Canadian version


----------



## pwm (Jan 19, 2012)

I stand corrected! I took another look, and you are correct. I was able to find my investment account in the selection list when I went into "add transaction reminder". My mistake. I've entered all my common and preferred share dividends and will see what happens. The ETFs and mutual fund distributions are not predictable amounts, so I'll keep doing those by hand I think. Thanks for getting me to take another look webber22 and BigMFfan. 

This thread topic started to creep a bit when talking about Quicken, but regardless, the fact still remains that this is a required feature of any financial software package.


----------



## vidm (Mar 4, 2012)

Tendim,

I am working on similar software for last 3 years. I choose Excel as report delivery environment. We will compete in the same market segment . 
My investment tracking tool is available at http://PortfolioSlicer.com


----------



## tendim (Nov 18, 2010)

vdm said:


> I am working on similar software for last 3 years. I choose Excel as report delivery environment. We will compete in the same market segment .
> My investment tracking tool is available at http://PortfolioSlicer.com


Well, not quite! Mine is a standalone app and the point was to do analysis without the rigamorole of Excel -- and doing TWR In Excel is a diffcult task. So our reporting is the same segment, but not the tool. 



andrewf said:


> What I mean is you should not need to launch the app periodically to capture current quotes--it should be possible to build up the historical data.


Sorry, I don't follow you. Unless an app is running in the background (or has a server component), it will _always_ have to be launched to capture any data.


----------

