-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
V1.1.0: RateString bounding #65
Comments
Further on this it is noted that |
@perlboy , regarding the number of decimal places, given the data is for machine consumption rather than human consumption, the standards should not enforce trailing zeros for |
@anzbankau If it was originally designated as a
Once again, if rates were being described as raw As I understood it at the time the *String types were specifically introduced to allow for these unique presentation requirements. The upside of specific formatting specification is that automated detection of invalid payloads is somewhat simplified. This change request comes about to ensure that the custom data types have continued usefulness. The alternative would be a change request to abandon |
How can no change be supported when there are already clear issues with conformance in even existing payloads (see #162)? As stated originally:
Perhaps the DSB should consider those impacted more than those releasing invalid (but currently technically valid) payloads. |
Preamble: Biza currently has 42 open issues within Standards Maintenance. In an effort to optimise our own backlog we are closing those which have no actual response from the DSB. They may be reopened at a later time or referenced when the issues are highlighted by third parties. No response has been received on this and the DSB does not appear to have shown interest in resolving it. |
Description
Following release to the Slate site of V1.1.0 yesterday we have now initiated analysis of changes using the diff previously provided in #56.
We note the change in bounding for RateString whereby the removal of the -100% to 100% bound has been removed, specifically this sentence: "A number constrained to the range [-1.0, 1.0]"
For clarity, this bound was originally in place prior to support for negative interest rates as 0 -> 100% and consequently was implemented (by me) in a way with the least impact on the existing Standard among some opposition to supporting negative rates in the first place....
This aside and with an understanding that some interest rates may be higher than 100% we recommend a "reasonable" bound be put in place. In our experience when processing existing payloads available in market we have found this bound has been a tell-tale sign of errors within bank payloads where invalid rates are published due to division errors.
Essentially, through this change there is likely to be conformant but highly unlikely payloads made available due to human error.
Area Affected
RateString
definitionChange Proposed
Reinstate a "reasonable" bound for RateString. If -100% to 100% is unsuitable then maybe -200% to 200%. In our experience the most common incorrectly specified rate string we have identified has been something like 20.49% being described as a RateString of
20.49
rather than0.2049
.Additionally, implement a similar rule to
AmountString
which requires at least 2 decimal places as percentages are, by definition, fractions of 100.With the change made in V1.1.0 such an invalid payload would pass conformance.
Alternative
If
RateString
is going to represent nothing more than a number then there appears to be minimal value in forcing the payload to be a string. As such a conversion to a nativenumber
, potentially with a Min/Max value bound would be aligned to international specifications.The text was updated successfully, but these errors were encountered: