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

(Michael S) #1

146 CHAPTER ◆ 1 4 Gather Historical Data


We recommend you buy fundamental data from a single vendor and single wholesale
product and that you do not mix between wholesale products. If you need to mix, our rec-
ommendation is to initially purchase a software product whose sole purpose is to consoli-
date data for backtesting, such as Factset, FAME, or MarketQA. After the system is up
and running and successful, we strongly recommend the building of your own proprietary
database and consolidation engine, allowing you the ability to create your own custom
calculations and data into your backtester.

14.4. STEP 1, LOOP 3: Document Data Maps


and Results Tables


By this loop the in-sample test is done and the team should be preparing for the gate
meeting. The goal is to complete a data definition document and a data map. Within the
context of a database management system, a data dictionary begins as a simple collec-
tion of column names and their definitions and data types, but should evolve to include
in-memory representation of data elements such as integer, string, and date formats as
well as data structures and a Rosetta Stone. The goal of a data dictionary is consistency
between data items across different databases and different tables.
Data mapping is the process of laying out data elements and conversions between dis-
parate data models, between data sources and destinations. Here is an example of what
we mean. A real-time API we have worked with gives data as a string with no decimals.
Of course, in order to use this data for calculations, it must be converted and conversion
rules and techniques must be documented.

Multiple databases, data vendors, and data formats can really create problems. Documenting formats
early will save countless hours of debugging later on.

A data flow map will show the flow of data into and out of the system, how it is
cleaned, and how it is being stored. For example, a data map will show what data flows
into and out of the calculation engine, the risk engine, and the accounting engine. These
documents will eventually be used by programmers for implementation in Stage 3. The
documents should be appended to include the cleaning algorithms.

Real time
API

Calculation
Price feed “120575” 1205.75Price feed engine

Convert string representation of mini-contract
price with no decimal into the correct format
as type double

FIGURE 14-2

14.5. Summary


A backtest is a test of the ability of the trading/investment system to meet the specifi-
cations set forth in the Money Document. Backtesting requires lots of data, which may
Free download pdf