[ts-gen] Improved floating-point precision for log output

Bill Pippin pippin at owlriver.net
Fri Nov 20 16:32:07 EST 2009


Today's release includes a significant change to log format for floating
point data, e.g., currency prices.  Based on multiple user requests that
the log format not lose input precision, log output has been changed as
follows (adapted from the NEWS file):

      * Modify log format for floating point attributes to take
        precision from input data, with the two results that:
            + no display precision from message input is ever lost; and
            + log format columns do not line up as well as before.

        Changing the log format procedures to adaptively discover
        a "good" constant column width across the span of possible
        security symbols, and so recover column alignment, while
        still displaying all input precision, has not yet been done,
        and may take a while.

        Since column width determination will probably use the min
        tick information from contract data queries, implementation
        of this feature may well occur during work on contract/symbols
        fill, the major milestone task that follows both the current
        task, memory, and the next, versioning.  Please comment [here]
        if this is a problem.

Readers may wonder about my reference to milestone goals above.  Our
planning process for the trading-shim distinguishes between substantial
implementation goals, which I attempt to reach in order of planning
priority, and minor feature request goals, where priority may vary 
depending on a number of factors including popularity, though allotted
time is meant to be held to a small fraction of the overall development
effort.

The current and next few major goals in the milestone plan are:

        1.  improvements to memory allocation;

        2.  versioning, that is providing versioned support for
            multiple levels of the IB tws api; and

        3.  symbols and contract fill, that is improved management
            of contracts symbols and other contract information,
            whether from the database, or dynamically from contract
            data queries.

As suggested above, I am currently working on improvements to memory
allocation.  This had been nearby on our planning horizon for quite
a while, and comments by Nils helped break a near tie with the next
goal, versioning.  The work on memory allocation has already led to
significant reduction in the memory footprint, so much so that furthur
work will have less obvious effect, since I've reached a point of lower
returns.  Nevertheless I will finish work in this area so that I do not
have to return to it later.  I'll post to the list when I move on from
memory to versioning.

Today's fix to retain the input floating point precision for log
output falls under the heading of work on a minor feature request, one
that goes back to last summer.  Unfortunately, the redesign of log
formatting that it will eventually trigger is a more involved effort.

Parts of that work will probably be implemented during versioning,
to simplify log analysis, and the final touches will probably wait
for the availability of min tick information, as part of the third
major milestone goal above.

Thanks,

Bill


More information about the ts-general mailing list