Hello, Bruce:
I would like to reply to a few places in your detailed message where I
think I can clarify the argument.
On 2023-09-09 10:59, Bruce McCoy via gnucash-user wrote:
"he actual $value of this $price and #shares is $14.99896, a difference of
$0.00104."
At the moment, using these figures, GnuCash is (14.99896/15.0000000) * 100 =
99.993066666666666... % correct....
I think you left out part of my statement, and so made an incorrect
conclusion. I wrote:
On 2023-08-21 14:00, Jim DeLaHunt wrote:
Logically, $value = $price/share * #shares, and this should be precise
equality. But is possible for a brokerage statement to report values
which do not have precise equality. It sounds like Federated Hermes
reported $15.00 = $6.26 * 2.396, but the actual $value of this $price
and #shares is $14.99896, a difference of $0.00104.
You say that GnuCash is the entity which is "99.993066666666666... %
correct". I argued that it was Federated Hermes which was
"99.993066666666666... % correct. Before you worry about GnuCash's
handling of securities transactions, you should decide how you are going
to interpret the error of 0.00693333...% in the brokerage statement's
numbers.
You continue,
On 2023-09-09 10:59, Bruce McCoy via gnucash-user wrote:
For the moment, let's discuss a minor point.
"GnuCash takes the position that price is approximate and transient, but currency received and paid, and shares received and issued, are exact and persistent. Thus a GnuCash securities transaction stores the number of shares and the currency value of the transaction, and derives the price as $value/#shares..."
In this minor point, the viewpoint that the smallest units of currency are considered exact both by
governments and their financial companies will be investigated. One conclusion will be that GnuCash should
consider "price" and "currency received" as exact figures. A second is that GnuCash
should consider "shares received and issued" as an approximation, although it is not always true....
I believe you misunderstood my statement, in the quotation. I made no
comment about "the smallest units of currency". I said that "GnuCash
takes the position that... currency received and paid, and shares
received and issued, are exact and persistent." That is true regardless
of what the smallest unit of currency is.
You conclude, 'GnuCash should consider "price"... as exact figures.' No,
I said something quite different: "GnuCash takes the position that price
is approximate and transient...".
You conclude, 'GnuCash should consider "shares received and issued" as
an approximation, although it is not always true....' No, I said
something quite different: "GnuCash takes the position that... shares
received and issued, are exact and persistent" — not an approximation.
You give an example:
On 2023-09-09 10:59, Bruce McCoy via gnucash-user wrote:
...If someone were to ask us whether the way GnuCash treats the currency pricing is either
"approximate and transient" in the case of $6.26 per share or "exact and
persistent" in the case of the $15.00 annual account fee, what could our answer be? Buying
one share will cost 626 pennies. The annual fee is 1,500 pennies. Other than the quantity of
them, what is the essential difference in the pennies used to purchase a share and the pennies used
to pay the fee?
Our answer to your first question should be, "approximate and
transient". Buying one share costs (the currency value of the
transaction) divided by (the number of shares received and issued).
Thus, buying one share in this transaction costs 3750/599 $/share. The
brokerage statement's printed price of $6.26 per share is an
approximation of the actual price which the brokerage charged you. Our
answer to your second question should be, that you are using one word,
"pennies", to describe two different quantities — price, and currency
paid — and thus obscuring the essential difference that the first
quantity is by design derived from the second quantity.
Now on to the logical leap you make later in your message:
On 2023-09-09 10:59, Bruce McCoy via gnucash-user wrote:
...We could say "GnuCash takes the position that price is approximate and transient,
but currency received and paid, and shares received and issued, are exact and
persistent." Essentially that is how we have always considered the matter.
Is "We have always done it this way." a compelling response? ...
Yes, I think the first quote is an accurate statement of GnuCash's
design for recording securities transactions. The second statement,
"that is how we have always considered the matter", is a claim about
history. I don't know if it is true. Maybe GnuCash had a different
design in the past. I don't know.
But your next sentence frames "we have always done it this way" as a
supposed _justification_ for GnuCash's current design. I did not say
that. I don't know of a GnuCash design decision which says that. I
believe that you are inventing this justification and attributing it to
the GnuCash designers. I think that this is not a valid logical conclusion.
I don't know what justification the GnuCash designers would give for a
design "that price is approximate and transient, but currency received
and paid, and shares received and issued, are exact and persistent." But
I suspect that the justification might be, this is the design which best
serves the purpose of tracking the exchange of value in securities
transaction, and best support the accounting practices which GnuCash
users want.
On 2023-09-09 10:59, Bruce McCoy via gnucash-user wrote:
...Please let me know which areas are unclear, incorrect or both....
I have attempted to point out where I think your reasoning became
incorrect. I think that most of the rest of the detail follows from
these incorrect steps.
Perhaps it would be helpful for you to address two questions:
1. if your brokerage reports a transaction in terms of price, currency
received and paid, and shares received and issued, which are logically
inconsistent, how should you interpret that information? This is a step
you have to take before entering the transaction into your bookkeeping.
2. what is it about the treating the price as exact and persistent,
rather than approximate and transient, which is so compelling to you?
3. you appear to be advocating a change in how GnuCash records
securities transactions, to "to consider the currency values to be
exact, and let any approximation be in the shares traded." How will this
help a bookkeeper record a transaction based on a logically inconsistent
brokerage report, as in #1? How will this better serve the purpose of
tracking the exchange of value in securities transaction, and better
support the accounting practices which GnuCash users want?
Best regards,
—Jim DeLaHunt
On 2023-09-09 10:59, Bruce McCoy via gnucash-user wrote:
Jim,
Thank you for your response of Mon, Aug 21, 2023 at 5:00 PM via GnuCash-user. In it you said:
"Logically, $value = $price/share * #shares, and this should be precise
equality."
This is certainly true. And accuracy is a top consideration in a financial program.
GnuCash "...stores the price as a rational number, a ratio between numerator and denominator (i.e., a fraction). Thus it will exactly satisfy the logical equation."
It is also certainly true that this way of storing a value as a rational number is both excellent and exact. Our desire is to exactly satisfy the logical equation.
"he actual $value of this $price and #shares is $14.99896, a difference of
$0.00104."
At the moment, using these figures, GnuCash is (14.99896/15.0000000) * 100 =
99.993066666666666... % correct. GnuCash is currently doing well. The
incremental change needed is small. This should encourage us. This is our
major point for discussion. Please allow me to discuss it in detail in a later
post.
For the moment, let's discuss a minor point.
"GnuCash takes the position that price is approximate and transient, but currency received and paid, and shares received and issued, are exact and persistent. Thus a GnuCash securities transaction stores the number of shares and the currency value of the transaction, and derives the price as $value/#shares..."
In this minor point, the viewpoint that the smallest units of currency are considered exact both by
governments and their financial companies will be investigated. One conclusion will be that GnuCash should
consider "price" and "currency received" as exact figures. A second is that GnuCash
should consider "shares received and issued" as an approximation, although it is not always true.
The details are discussed next.
It is true that GnuCash treats the number of shares received and issued as exact and persistent
quantities. If someone were to ask us whether the way GnuCash treats the currency pricing is
either "approximate and transient" in the case of $6.26 per share or "exact and
persistent" in the case of the $15.00 annual account fee, what could our answer be? Buying
one share will cost 626 pennies. The annual fee is 1,500 pennies. Other than the quantity of
them, what is the essential difference in the pennies used to purchase a share and the pennies used
to pay the fee?
If we can show a difference in the pennies of one groups compared with the pennies in the second group, then we could maintain that one group could consist of pennies that are "approximate and transient" and the other group of pennies are "exact and persistent." What distinction could we make? We could say "GnuCash takes the position that price is approximate and transient, but currency received and paid, and shares received and issued, are exact and persistent." Essentially that is how we have always considered the matter.
Is "We have always done it this way." a compelling response? If we look at our general situations as human beings over the course of the centuries, are we living our lives with, for example, many different technologies than our ancestors used? If we looked at the specific cast of GnuCash itself, do we see features being added and defects being removed? From both the general and the specific examples, is "We have always done it this way." a compelling response? If so, we might continue as we have up to now. If not, we might consider a change.
If we are going to continue as GnuCash has up to now, we have to show the essential difference in the pennies used to purchase a share and the pennies used to pay the fee. As I fail to see an essential difference between the pennies in one group compared with the pennies in the other group, if someone were to ask me to explain why GnuCash holds the position it does in this matter, I would not know how to respond.
In double-entry financial transactions involving the smallest units of the same currency at the same time, when are the units of one side of the transaction given different values than the units on the other side of the transaction? I fail to remember any.
If we can not demonstrate an essential difference between the two groups of pennies, how can it be clear that they are different? If they are not different, they have to be the same. Both values have to be either "approximate" or "exact." If they are approximate, how do we distinguish that from their exact value? If they are exact, then when we divide the fee of 1,500 pennies by 626 pennies per share we may get an approximation of the number of shares purchased.
In this latest case, the currency values are considered to be exact and the transaction concerning the number of shares involved, although it, on occasion, may be exact, may frequently be an approximation.
In conclusion, GnuCash, through a simple change, would be improved by more
logical consistency. It is more consistent to consider the currency values to
be exact, and let any approximation be in the shares traded.
Thank you for reading this. Please let me know which areas are unclear,
incorrect or both.
Best Regards,
Bruce
_______________________________________________
gnucash-user mailing list
gnucash-user@gnucash.org
To update your subscription preferences or to unsubscribe:
https://lists.gnucash.org/mailman/listinfo/gnucash-user
-----
Please remember to CC this list on all your replies.
You can do this by using Reply-To-List or Reply-All.
_______________________________________________
gnucash-user mailing list
gnucash-user@gnucash.org
To update your subscription preferences or to unsubscribe:
https://lists.gnucash.org/mailman/listinfo/gnucash-user
-----
Please remember to CC this list on all your replies.
You can do this by using Reply-To-List or Reply-All.