Quality Money Management : Process Engineering and Best Practices for Systematic Trading and Investment

(Michael S) #1

108 CHAPTER ◆ 1 0 Prototype in Modeling Software


Spreadsheet risk management is a new area of research aimed at creating patches for problems that arise
from use of the wrong tool. Using a hammer to drive screws creates problems. Patching holes and replac-
ing stripped screws is not a solution. Using the right tools for implementation and quality management
prevents problems from arising.

The primary reason for creating a prototype is to resolve uncertainties early in the
process—can the system make money? And, is it feasible, can it be built? A prototype is
useful for revealing and resolving ambiguity and incompleteness in the requirements. The
presence of unclarified portions of requirements may create an expectation gap between
the management ’ s vision and the developers ’ understanding. Prototyping makes software
requirements tangible by bringing use cases to life and closes gaps in a team ’ s under-
standing of requirements. (Financial engineers may be the only ones able to understand
the equations and symbols. Prototyping helps explain complex calculations to less quanti-
tative team members.) Early feedback on prototypes of GUIs, reports, and business logic
helps the stakeholders arrive at a shared understanding of the system ’ s requirements and
performance, which reduces the risk of dissatisfaction.
Prototypes of GUIs and report generation modules are generally called horizontal pro-
totypes. These do not include details of the inner workings of the system, but rather depict
a portion of the user interface, and let a product team explore behaviors and refine require-
ments. Horizontal prototypes often use facades of UIs and permit navigation, but with no
real functionality behind it. The information that appears will be faked and report contents
will be hardcoded. Vertical prototypes, on the other hand, implement slices of applica-
tion functionality from the GUI through to business rules. Vertical prototypes are used for
optimizing algorithms, evaluating database schema,or testing critical performance require-
ments, though such prototypes may not be able to produce real-time responses.

10.2.1. Prototyping Tips


Prototype modeling is a combination of investigating and demonstrating the essential
components of the proposed trading system. The outcome is a definitive requirements
specification. Later, the prototype models will act as the basis for the development of pro-
duction software. Here are some tips toward effective prototyping:

● Include internal or external documentation, consisting of:


  • A brief description of the model and who built it.

  • The version number and location of the master copy.

  • Details about the input data used in the model.

  • Summary of model change requests, that is, a model change control document.

  • Summary of logical assumptions.^6
    ● For all members of the product team, use the same style conventions, for example,
    font, color coding, size. These conventions are part of the internal language of the
    product team.
    ● Make prototype tracking and control a priority.
    ● While financial engineers and programmers will be involved in prototype develop-
    ment. The process must include and, furthermore, should be overseen by someone
    trained in software testing.

Free download pdf