Rounding issues
account reflected this as transferring all funds out of one security and into a new security.
[originally posted in Questions, but getting no traction there...reposting here as it is a 'real' problem]
In MD I have a SellXfr of security A and a BufXfr of the new security B in my 401(k) register to reflect this. However due to rounding errors, MD is still showing I have .0018 shares of security A for a total of $0.19. I don't know how to zero out the balance of security A. It seems creating a 'correctional' Xfr entry to just reconcile the difference always ends up with a minute rounding error meaning it's impossible for me to zero out security A.
Can anyone offer some advice on how to fix this?
On another note precision seems awful with MD. If I create an arbitrary entry of 1.00, it will become 1.00043 for example. The precision is very low. If MD uses the default of a Java double, the precision should be much higher. Even using floats the precision should be much higher. What's the deal with this?
Comments are currently closed for this discussion. You can start a new one.
Keyboard shortcuts
Generic
? | Show this help |
---|---|
ESC | Blurs the current field |
Comment Form
r | Focus the comment reply box |
---|---|
^ + ↩ | Submit the comment |
You can use Command ⌘
instead of Control ^
on Mac
1 Posted by Angie Rauscher on 16 Feb, 2010 04:33 PM
I apologize for the long delay in our response, I am embarrassed to say that we have been snowed under with questions about Moneydance 2010. When you enter the buy/sell transactions you should type the amount (in the Amount field) and the number of shares (and let the price auto-adjust). The price sometimes will not match exactly (to every single decimal place) because of how computers calculate floating point values. However, the number of shares and dollar amounts will always be recorded exactly as entered.
To get rid of the fractional share, edit the sell transaction that was supposed to get rid of it and change the #shares.
If this does not resolve your issue, please do let me know. I will keep an eye on this thread for your response. Please let me know if I can be of further assistance, and I apologize again for any inconvenience this may have caused you.
Angie Rauscher
Moneydance Support
Angie Rauscher closed this discussion on 16 Feb, 2010 04:33 PM.
jrhite re-opened this discussion on 19 Feb, 2010 03:54 AM
2 Posted by jrhite on 19 Feb, 2010 03:54 AM
Thanks for the response.
Unfortunately none of the suggestions work. The reason why is just as you say, floating point values are never quite exact. You mention that number of shares and dollar amounts are recorded exactly as entered but this is not my experience. Number of shares, and dollar amounts are both floating point values and as you mention are not quite exact in terms of how a computer store them.
What is frustrating, and what I am not understanding is the lack of 'precision' I am seeing in MoneyDance. For example if I enter in a value of 1.0 shares (or 1.0 dollars, etc..) this does not get stored as 1.00000001 (just as an example of high precision), but will get stored more like 1.0001 (again just an example of low precision). I know floating points or doubles are not exact, but they do have a great degree of precision, particularly doubles . So for starters I don't understand why MD lacks higher precision. Precision out to 8 or 9 decimal places would be sufficient, but precision to only 3 or 4 decimal places doesn't cut it. This is imprecise enough for records in MD to start to deviate from my actual account balances which is exactly the problem I am having.
I finally solved the problem of not being able to zero out the number of shares I owned for a given security. But the solution was not a good one. I downloaded the transactions and had to manually tweak the numbers until MD considered the balance '0'. The problem is now my records in MD are slightly off from my actual records in the account.
Angie Rauscher closed this discussion on 24 Jul, 2011 07:26 PM.