[ts-gen] Support added for fundamentals data req and msg types

Bill Pippin pippin at owlriver.net
Fri Nov 20 17:07:57 EST 2009


The shim now provides limited support access to the IB tws api
fundamentals data feature.  From the NEWS file:

      * Add support, given an account subscription for Reuters
        fundamentals data, for the related command, request and
        message events.  There is an example of the command syntax
        in the script exs/data.

        The ApiLevel configuration variable must be set to 41 or
        higher, and most other api features, including market data,
        history, and orders, become inaccessible; you'll need to
        run another session with the ApiLevel still at 23 in order
        to use these other api features.

The addition of this feature does not signal a shift from work on
memory management to the addition of new api version features.
In fact, support for the fundamentals data cmd-req-msg events was
added in order to better stress test memory allocation, since each
report token is a large xml document, often of several meg or more.

Although the command interface to this api feature has been in place
for quite a while, today marks the first publicly available release
to include a refactoring of the buffer component used for input
and formatting so that the processing of the fundamentals data reports
is both robust and efficient.  Also from the NEWS:

        Refactor Buffer ... [class] ...
        so that the large buffers needed for fundamentals data will
        be allocated only when needed, with a consequent reduction in
        memory footprint ...

        This provides the block-doubling features of vectors for
        buffers as well; e.g., during input, the InpBuf class starts
        with a small buffer size and yet dynamically discovers the
        buffer size used by read(2) ...

Please note the warning near the start of this post that many other
api features are not useable in the same session as fundamentals data.

Increasing the api level for those other request types, such as market
data, history, and orders, will wait until the work on memory is
finished, and I turn to the overall major milestone task of versioning.
For now, just run multiple sessions of the shim as needed.

Thanks,

Bill


More information about the ts-general mailing list