113
surface and related prices could turn out to take several minutes. Hedge funds have
solved this problem using strategies ranging from solid-state drives to building a
function that stores all of the prices for fast retrieval. Solving the problem required
large amounts of up front work prior to building the system.
● Agreement to build the hardest parts first focuses the team on the true goal of the
software, rather than the goals of the individual components.
● Once the hard work is done, team members will find it much easier to break the system
into components since everyone will understand core relationships between the pieces.
● Killing a project that has only one failed component is easy. Projects where many
simple components (such as user interfaces, reports, and calculations) are already
built are hard to kill. By the time the project reaches the most difficult stage, team
members may feel compelled to force them to “ work ” even though the core engine
does not function properly.
10.5. STEP 3, LOOP 2: Prototype New Calculations
In the previous step, financial engineers should have documented the logic behind the
trading/investment system in an unambiguous statement of how prototypes should cal-
culate the results. Furthermore, financial engineers will have assembled research articles
and highlighted equations and algorithms that may apply to the trading system. All of
the resources and information and articles should be organized in folders and the folders
cataloged by title, concept, and author.
Once financial engineers have laid out all the methods and valuation equations, devel-
opers can prototype them one by one in an organized fashion.
10.6. STEP 3, LOOP 3: BUILD CONSOLIDATED PROTOTYPE
A full prototype should include test data and user interface mock-ups for all dynamic inputs. One trading
firm realized too late that real market scenarios including price jumps would cause big losses in their sys-
tem. They could have tested for big jumps earlier and saved thousands of dollars in programming costs.
We recommend keeping a single folder with subfolders to contain all of the files of
component prototypes for a particular system. Prototyping trading rules will also require
development of time series data so that all possible scenarios of changes in prices of the
respective instruments can be investigated and modeled. Data files should be saved within
a documented file structure as well.
10.6. STEP 3, LOOP 3: Build Consolidated Prototype
The final loop of Stage 1 requires that the product team consolidate the prototypes into a
single model, with one set of code. This consolidated model should be fully labeled, with
code fully documented and all calculations clearly shown.
Among other things, a consolidated prototype will alert programmers to thread-safety issues down the
road. The trading industry is littered with failed real-time software projects.