MSMoneyQuotes - Details and Help
MSMoneyQuotes has been broken recently due to changes in Microsoft's Quote Web Services. Please see this post for more information.
On 6/30/2019, I have revere-engineered the new Quote Web Services and updated MSMoneyQuotes with the changes. Please see the post for a link to download the update.
Here is some basic information about MSMoneyQuotes.exe
- Supports both the Deluxe and the Home & Business versions of Microsoft Money 2005, 2006, 2007, Plus (aka 2008) and Sunset. It does not work with versions prior to 2005.
- Runs on Windows XP, 7, 8, 8.1, 10
- Supports opening Money files protected by a "Money Password".
- Does not support opening Money files if they are protected by a Windows Live (Passport). You need to remove your Passport protection in this case.
- Supports opening Money files that are the same version of Money you have installed. In other words, you can’t open 2007 Money files if you have Money 2008 installed. The Money files must be converted to the version of Money you have installed.
- Can be run with or without Money running.
- Uses the MSN Money website to get online quote data.
- If a symbol doesn't "work" on MSN Money, then it won't work in my program. At a minimum, MSMoneyQuotes requires valid values for Last and "Time of Last Sale" to consider a symbol to be "working".
- Can be used to import quotes from a CSV file instead of getting online quotes.
MSMoneyQuotes.exe is a "command-line" executable (aka a console application).
It can be run from a DOS prompt, and/or a shortcut on your desktop, taskbar or start menu.
See the Setup section for instructions on how to create a shortcut to MSMoneyQuotes.exe
If MSMoneyQuotes runs without any problems, it will simply exit. If you’re setup to run MSMoneyQuotes using a shortcut, then the DOS window will simply go away.
If MSMoneyQuotes encounters some sort of problem, it will output an error message and then prompt you to press a key. The key press is there to prevent the DOS window from closing and thus gives you a chance to see the error message. Likewise, if the –v option is specified, a key press is required so you can see the output before the window closes.
MSMoneyQuotes accepts the following optional parameters. I’ll show you how to use these in a shortcut below.
Usage: [-f file] [-p password] [-r] [-o] [-a] [-m] [-i file] [-t] [-c] [-v] [-b]
-f Target a specific Money file. By default, the current Money file is used.
-p The password to use if the Money file is "Money Password" protected.
-r Remember Password. Use with -p to save the password. Use without -p afterwards to use the saved password automatically.
-o Open Money if not already open.
-a Automatically update quotes every 15 minutes as long as Money is open.
-m Use SymbolMap.csv file to resolve symbols.
-i Import quotes from csv file.
-t Include additional timestamp column from csv file. Use with -i to import historical quotes.
-c Update currency exchange rates.
-v Verbose output.
-b Batch file mode. Suppress "Press any key..." prompts to allow running unattended from a batch file.
By default MSMoneyQuotes will update your "current" Money file. That is, the Money file you last had open in Money. However, the –f option allows you to override this behavior and update any arbitrary Money file you’d like.
If your Money file does not have a "Money password", then you don’t need to use the –p option.
If it does have a "Money password", then by default MSMoneyQuotes will prompt you to enter the password every time MSMoneyQuotes runs.
If you don’t want to be prompted to enter your password, you can supply the password to MSMoneyQuotes by using the –p option.
For example: MSMoneyQuotes.exe -p mypassword123
The -r option can be used to instruct MSMoneyQuotes to securely "remember" a password. This option is useful if your Money file is password protected, but you don't want to use the -p option in your shortcut. Obviously placing the password in the shortcut is insecure because the password is in plain text in the shortcut properties.
Here's how to use the -r option:
As a one-time setup, you’d run MSMoneyQuotes.exe with both -r and -p. You could run this from a DOS prompt. This would result in the program storing the password specified in the -p parameter. The password will be securely encrypted and saved in the computer’s registry. During this step MSMoneyQuotes will simply save the password and then exit. It will not run through its normal steps of updating quotes, opening Money, etc.
After this is setup, you’d then need to simply run MSMoneyQuotes with the -r option, and will no longer need the -p option (in fact, make sure you remove the -p option or MSMoneyQuotes won't update quotes!). When just the -r option is specified without the -p option, MSMoneyQuotes will use the previously saved password. The program internally decrypts the password and uses it to open the Money file and then run as it normally would.
Using the -r option means you will no longer need to use the -p option in your shortcut, and thus your password is more secure.
Note that you will still need to enter the password in Money in order for it to open the Money file. There’s no way pass a password to msmoney.exe.
If -o is specified, then MSMoneyQuotes will automatically open Money in addition to updating quotes. With this option, I believe users can get in the habit of using MSMoneyQuotes’s shortcut instead of the standard Money shortcut as a means to open Money (with the added benefit of updated quotes!). The -o option will do nothing if Money is already running, so it’s safe to simply leave the -o option in your shortcut permanently. If both the -f and -o options are specified, then Money will open to the file specified in the -f argument.
One idea is to put the MSMoneyQuotes shortcut on your taskbar and use it to open Money. Then while Money is open, if you’d like to update quotes again, you simply click the shortcut again to update quotes.
If -a is specified, then MSMoneyQuotes will stay open and automatically update quotes every 15 minutes while Money is open. MSMoneyQuotes will automatically close when Money is closed.
To use the -a option, you should do one of the following:
- Use both the -o and -a options together to ensure Money is running when MSMoneyQuotes runs.
– OR –
- If you use -a without -o, then make sure Money is open before MSMoneyQuotes is run. Or at least run Money within 10 seconds of running MSMoneyQuotes. If you don’t have Money running then MSMoneyQuotes will exit after 10 seconds.
If -m is specified, then MSMoneyQuotes will look for a SymbolMap.csv file in the same folder as MSMoneyQuotes.exe and use it to resolve symbols. SymbolMap.csv is used to manually map symbols from your Money file to symbols on MSN Money (aka financial instruments).
If the symbol is found in SymbolMap.csv, then MSMoneyQuotes will simply use the mapped MSN Money symbol (aka financial instruments) from the file. Otherwise it will follow the normal flow and use the MSN Money web services to attempt to resolve the symbol.
If you use –m and SymbolMap.csv doesn’t exists, MSMoneyQuotes will run "normally" (i.e. as if you didn’t use –m) and use the MSN Money web services to attempt to resolve the symbols. However in this case, MSMoneyQuotes will create a SymbolMap.csv file for you using all the symbols it automatically resolved using the MSN Money web services.
With this in mind, I recommend you run MSMoneyQuotes once with –m to let it create your SymbolMap.csv file for you. And then you can continue to use –m and add/remove/update symbol mappings from SymboMap.csv as necessary.
Consider using the -m option if MSN Money is unable to consistently resolve symbols. Many users have reported MSN Money occasionally has problems resolving symbols and as a result you see "symbol not found on msn money" error messages outputed MSMoneyQuotes's -v option.
By using the -m SymbolMap.csv option, you can skip the online symbol resolve step and instead have MSMoneyQuotes use the manually resolved symbol mappings from SymbolMap.csv. For example, recently MSN Money has been unable to resolve the symbol "MSFT". So you’d go figure out the proper symbol mapping on your own and enter it into SymbolMap.csv.
The format of SymbolMap.csv is:
[Symbol You Used In Money],[Financial Instrument On MSN Money]
Example of mapping your "MSFT" symbol in MS Money to the financial instrument on MSN Money. Enter a new line in SymbolMap.csv:
This is essentially telling MSMoneyQuotes the following: For the "MSFT" symbol in Money, please use the "126.1.MSFT.NAS" Financial Instrument in the quote service call to MSN Money to get quotes.
Example of a fund:
You may be able to find some financial instruments by googling for your fund and looking at the Morningstar pages:
6/30/2019: MSN Money no longer places the financial instrument in the URL. The approach of extracing the financial instrument from the MSN Money URLs no longer works. Please use the new Search page:
Financial Instrument Search Page
You can get the symbol mapping by looking at the URL. It's the text after "fi-" ("fi" stands for financial instrument):
Google search for ASIN code GB0030617699 (Janus Henderson European Growth Fund I Acc)
Pick the Morningstar web page hit (top of the Google search list for me)
Extract the required symbol from the web address F0GBR054VC
You now have the proper MSN Money symbol for MSFT, so enter a new line in SymbolMap.csv:
Now MSMoneyQuotes will use "126.1.MSFT.NAS" directly to fetch quotes instead of needing to first resolve the symbol online.
Example of a fund:
There is one tricky scenario. For symbols that have a slash ("/") MSN Money needs to represent the symbol a little funny so URLs work (a slash has a speical meaning for URLs, so it can't be part of the symbol).
To represent a "/" in a symbol, MSN Money uses a special placeholder that looks like this: "|SLA|".
The "|" symbol is encoded in the URL with this value: "%7C".
So the "%7CSLA%7C" part of the URL translates to "|SLA|".
To get the proper symbol to enter in the SymbolMap.csv file, you just need to replace the "%7CSLA%7C" part with "/".
The -m option can also be used for securites that don't seem to have a symbol on MSN Money, but you can find on the website. Examples:
Lastly, MSMoneyQuotes will run much faster when using -m because it eliminates the need to make online web service calls for symbols it resolves using SymbolMap.csv. It can go directly to the "fetch quotes" step.
Starting with version 2.3, SymbolMap.csv also accepts a third column which allows you to specify the ISO currency code. This "Currency Override" feature was added as a workaround due to the MSN Money quote data having the incorrect currency.
See this MSN Money Forum post
for more details.
To use, you’ll need to manually modify the SymbolMap.csv file. Basically for any security that MSN Money is reporting the incorrect currency, you’ll want to “override” the currency via the SymbolMap.csv file.
For example, if MSN Money is returning the currency for RDSB as GBP (which is incorrect), you’ll want to tell my program to actually interpret the prices as GBX. You an do this via the extra column in the SymbolMap.csv file (add “,GBX”).
If -i is specified, then MSMoneyQuotes will import quotes from the provided csv file instead of getting online quotes. This option was built to support importing quotes from a downloaded csv file from FT.com.
See more details on the FT.com Quotes page.
This option must be used along with the above -i option. If -t is specified, then MSMoneyQuotes will import an additonal timestamp column from the csv file and use it for the time of last sale.
The csv file should contain an additional column that list dates in the following format: year-month-day. For example, January 16th, 2018 should be formatted like: 2018-01-16.
Essentially this option allows your to import historical quotes from a csv file into MS Money.
See more details on the FT.com Quotes page.
If -c is specified, then MSMoneyQuotes will fetch online currency exchange rates from MSN Money and update your Money file with these rates. You can see currency exchange rates in Money by going to Tools/Settings --> Program settings --> Update Currencies...
If -v is specified, then MSMoneyQuotes will output extra information about each symbol in your money file and pause. Primarily it will tell you if it successfully found the symbol on MSN Money and updated the security in your Money file. This may be helpful to diagnose problems. The pause option is also useful if you use a shortcut to the program and want to keep the DOS window from disappearing before you’ve had a chance to review other messages.
If you have any question about which securities MSMoneyQuotes is updating, use the –v option to see exactly what’s going on.
If -b is specified, then MSMoneyQuotes will suppress the "Press any key..." prompt when using the -v option. This is useful if you want to use MSMoneyQuotes from an unattended batch file and would like to use the -v option.
After trying/buying MSMoneyQuotes, you’ll be able to download MSMoneyQuotes.exe from my website. You can save it anywhere you like such as the C: drive, in your documents folder, in the Money installation folder, wherever. Then create a shortcut by right-clicking on MSMoneyQuotes.exe, select “Sent To”, and then “Desktop (create shortcut)”. You can then also drag that shortcut from your desktop to your Windows Taskbar to create a button there.
If you have Norton AntiVirus and it's complaining about WS.Reputation.1 detection for MSMoneyQuotes.exe, you may have to remove it from Quarantine. This happens because MSMoneyQuotes.exe is a new program so Norton is unable to evaluate its "reputation". I assure there is no malicious code in my program.
Instructions on removing from Quarantine can be found here
At this point, running MSMoneyQuotes can be a one click process by leveraging the shortcut.
If you have a Money password and want to use a shortcut to run MSMoneyQuotes without getting prompted to enter the password, then you have three options:
- Remove your password protection from your Money file
– OR –
- Modify your shortcut to use the "-p" option described above and put the password right in the shortcut's target field.
– OR –
- Modify your shortcut to use the "-r" option described above (after running the program at least once with both the -r and -p options to save your password)
Instructions for (B):
Assuming you've created a shortcut to MSMoneyQuotes and put that shortcut on your Desktop, here's how you would add the -p option.
- Right-click on your Desktop shortcut and select "Properties"
- Go to the "Shortcut" tab (you'll probably already be on this tab by default)
- Find the "Target" input field. It should be something like C:\MSMoneyQuotes.exe (the path will depend on where you saved my program)
- Edit the "Target input field to look something like "C:\MSMoneyQuotes.exe" -p YourMoneyPassword (replace with your actual password. The quotes are necessary if the file path has spaces. There is a space after the last quote, then –p, then a space, then your password.)
- Click "OK"
- Now when you double-click the shortcut, it will automatically use the Money Password and run without prompting you.
Use the same steps above to add the -f, –o, –a -r or -v options to the shortcut. Just put a space between each option.
"C:\MSMoneyQuotes.exe" -p YourMoneyPassword –o -a
MSMoneyQuotes works by following these basic steps:
- Determines if and where Money is installed on your machine.
- Determines the path to the file you last had opened
- Uses your installed Money libraries to open your Money file
- Loads a list of securities to get quotes for. MSMoneyQuotes uses the same logic as the original Money code to determine which securities to fetch quotes for. It does not attempt to fetch quotes for things like Bonds, CDs and TBills, even if those securities have a symbol. MSN Money won’t have quote data for these anyway.
- Makes online quote service calls to resolve the symbols in your Money file to appropriate symbols (aka financial instruments) on MSN Money. (e.g. MSFT will be mapped to 126.1.MSFT.NAS)
- Makes online quote service calls to fetch quotes. Multiple calls may be necessary depending on the number of symbols.
- Extracts the relevant information from the quote data and determines if a symbol is "working" on not. At a minimum, the quote data needs to have a valid Last Price and Time of Last Sale to be considered valid.
- Update prices in the Money file for each valid symbol.
- Using Time of Last Sale, see if Money already has a price entry for this date. If yes, then update the price for this date. Otherwise create a new price entry for this date. The price type will display as “Online” in Money.
- Update the security properties such as 52 week high/low, market cap, volume, etc.
- Update the "Last Update" Money file property. This date shows up in areas such as the margin in the "Investment Analysis" page.
MSMoneyQuotes honors Portfolio Manager’s "Update Prices…" –> "Pick quotes to download…" selections.
If you do want quotes for a particular security, make sure it’s checked here.
If you don’t want to get quotes for a certain security, you can uncheck it.
Here is the complete list of quote fields updated by MSMoneyQuotes:
Last, change, open, high, low, 52 week high, 52 week low, PE, market cap and volume
Help and Support
Please read this section if you're having problems with MSMoneyQuotes working for you.
If your question is not answered below, then I can be reached at my support email address: email@example.com
You may also find additional information on Ameridan's Microsoft Money Offline Weblog and the MS Money Forum
See below, the MSN Money symbol is circled in red and the exchange in blue. You will need to ensure your Money file is using the proper symbol, and also ensure it has the proper country (i.e. the country that the exchange belongs to)
The "new" MSN Money website no longer accepts the "old" style index symbols like $COMPX and $DAX. You will need to update your symbols in Money accordingly.
If you cannot find the security you're looking for using MSN Money's "Quote Search" auto-complete input box, then it won't work in my program. My program relies on the same auto-complete service to resolve symbols. With that said, if you can find the security manually on the MSN Money website then you may be able to use the -m SymbolMap.csv option to get quotes for this security.
If quotes aren’t updating, use the –v option to help troubleshoot the problem.
If you can find the security on MSN Money, but my program is unable to resolve the symbol (which you can see when using the -v option), then go to MS Money's "Investment Details" and make sure the security's Country is correct. My program uses Money's country code prefix (e.g. US:, GB:, etc) when resolving symbols on MSN Money.
If you see a Last price of 0.00 on MSN Money, then MSMoneyQuotes considers this symbol to be "not working". With the –v option, MSMoneyQuotes will indicate the symbol is "invalid" on MSN Money.
If a symbol doesn’t show up when using the –v option, and you think it should, be sure its checked in the Portfolio Manager’s "Update Prices..." –> "Pick quotes to download..." dialog.
If you think a symbol is working on MSN but not in my program, then I’ll likely need your Money file, or at least an example Money file that demonstrates the problem. Email my support address and I’ll look into it.
You can run the program throughout the day. It will be smart enough to update the existing online price point. If that price point doesn’t exist, it will create one. The online price date is based on the security’s “time of last sale” date.
If there are symbols that don't work on MSN Money, consider using the -i import option to supplement the online quotes.
If you were previously using hleOfxquotes or Pocketsense to update quotes, you may need to update your symbols to match the symbols used by MSN Money.
I’ve been asked if I can I get quotes from ft.com. I’m currently unable to because (a) ft.com doesn’t have a programmatic API for me to get quotes (b) I wouldn’t be able to use the quotes legally anyway. It cost money for ft.com to get quote feeds so they don’t give it away for free.
I’ve been asked if I can I get quotes Yahoo, Google, etc. Again, I can't legally use these quotes. And besides, the services/APIs don't support non-US securities. See limitations documented for hleOfxquotes
If you get a "Unable to open and read file. The file does not exists." error it means MSMoneyQuotes is unable to open/read your MS Money file. This is likely due to Windows permissions issues (e.g. MSMoneyQuotes can't read a Money file that's under the "Program Files" directory). Try moving your Money file to your "Documents" folder and opening in MS Money, then try running MSMoneyQuotes which will try to read it from the new location.
- If a symbol doesn't "work" on MSN Money, then it won't work in my program. I cannot fix issues on MSN Money. I am not a Microsoft employee.
- I cannot control or fix quote issues on MSN Money, including stale quotes. I cannot fix issues on MSN Money. I am not a Microsoft employee.
- I cannot explain why a given symbol may or may not work on MSN Money at any given time. I cannot fix issues on MSN Money. I am not a Microsoft employee.
- MSMoneyQuotes consists of the technology to make web service calls to get online quotes and then open the Money file to update securities and price entries according to the data it receives. MSMoneyQuotes is at the mecry of the quotes it receives. I cannot fix issues on MSN Money. I am not a Microsoft employee.
- MSMoneyQuotes can legally use online quotes from MSN Money to automatically feed Money. I can't use Yahoo, Google, etc, it's illegal. Please don't email me to tell me I should use X, Y or Z for "better" quotes. I can't, end of story. And note, these other quote APIs break all the time too: Yahoo Broken
- If you can't live with the online quotes from MSN Money, then look into using the -i import option.
- Use the MSN Money's "Quote Search" auto-complete input box to determine if your security is supported.
Note: Technically this is due to UAC Virtualization where MS Money is actually writing the Money file to a different location even though the user thinks it's under the "Program Files" folder. As a result, MSMoneyQuotes is unable to find the Money file.
If you get a "Unable to connect to the internet. Please check your internet connection and/or anti-virus settings to allow MSMoneyQuotes to connect" error, please make sure your firewall isn't blocking MSMoneyQuotes. Also, on older versions of Windows, you may have to manually enable TLS 1.2 as the MSN Money quote services use it for thier HTTPS communication. Eanble TLS for Windows XP
- Version 1.0 - 05/07/2014 - Initial Release
- Version 1.1 - 05/21/2014 - Added the -r option
- Version 1.2 - 12/09/2014 - Added the -b and -i options
- Version 2.0 - 01/02/2015 - Switched to a new MSN Money online quote service
- Version 2.1 - 01/06/2015 - Added the -c option
- Version 2.2 - 06/16/2015 - Added the -m option
- Version 2.3 - 01/27/2018 - Added the -t option. Added "Currency Override" feature to the -m option
- Version 2.4 - 06/30/2019 - Updated to consume the new Microsoft Quote Services
- Version 2.5 - 07/06/2019 - Added logic to handle "GBp" to "GBX" currency mapping. Microsoft new Quote Services returns "GBp" for pence