Search and Find
Service
More of the content
Building Automated Trading Systems - With an Introduction to Visual C++.NET 2005
Cover
1
Copyright Page
5
Contents
6
Acknowledgments
14
Chapter 1: Introduction
16
1.1. ISO C++
17
1.2. Structure of This Book
17
Section I: Introduction to Visual C++.NET 2005
18
Chapter 2: The .NET Framework
20
2.1. MS Visual Studio 2005 Project Structure
20
2.2. What is C++/CLI?
20
2.3. Why Visual C++.NET?
21
2.4. The VC++.NET Compiler
22
2.5. What About Speed?
22
2.6. The .NET Framework
22
2.7. Sample Code: MessageBox_Example
24
2.8. Sample Code: StringConcat_Example
26
2.9. Sample Code: Debug_Example
27
2.10. Versioning
29
2.11. Summary
29
Chapter 3: Tracking References
30
3.1. Sample Code: TrackingReference_Example
30
3.2. Sample Code: TemplateFunction_Example
31
3.3. ^Managed Handle
31
3.4. Sample Code: RefType_Example
32
3.5. Summary
32
Chapter 4: Classes and Objects
34
4.1. Abstraction
34
4.2. Encapsulation
36
4.3. Inheritance
36
4.4. Polymorphism
36
4.5. Memory Management in .NET
36
4.6. .NET Types
37
4.7. Unmanaged Types
38
4.8. Mixed Assemblies
38
4.9. Summary
38
Chapter 5: Reference Types
40
5.1. Sample Code: RefType_Example
41
5.2. Delete and Dispose
42
5.3. Finalize
43
5.4. Sample Code: Finalize_Example
44
5.5. Stack Semantics for Ref Types
45
5.6. Nullptr Reference
45
5.7. This is Important
46
5.8. Summary
46
Chapter 6: Value Types
48
6.1. Sample Code: ValueTypes_Example
49
6.2. Sample Code: PassingValueTypes_Example
50
6.3. Summary
51
Chapter 7: Unmanaged Objects
52
7.1. Sample Code: UnmanagedObject_Example
52
7.2. Summary
54
Chapter 8: Composition
56
8.1. Sample Code: Composition_Example
56
8.2. Sample Code: UnmanagedComposition_Example
59
8.3. Sample Code: ManagedComposition_Example
61
8.4. Summary
63
Chapter 9: Properties
64
9.1. Sample Code: Properties_Example
64
9.2. Summary
65
Chapter 10: Structures and Enumerations
66
10.1. Sample Code: ValueStructure_Example
66
10.2. Sample Code: ReferenceStructure_Example
67
10.3. Sample Code: Enums_Example
68
10.4. Summary
68
Chapter 11: Inheritance
70
11.1. Access Modifiers
70
11.2. Object Class
71
11.3. Abstract and Sealed Classes
71
11.4. Sample Code: Inheritance_Example
71
11.5. Interfaces
73
11.6. Sample Code: Interface_Example
74
11.7. Runtime Callable Wrapper
75
11.8. Summary
75
Chapter 12: Converting and Casting
76
12.1. Converting
76
12.2. Sample Code: Convert_Example
76
12.3. Static Casting
77
12.4. Sample Code: StaticCast_Example
77
12.5. Dynamic Casting
77
12.6. Sample Code: DynamicCast_Example
77
12.7. Safe Casting
79
12.8. Sample Code: SafeCast_Example
79
12.9. Summary
80
Chapter 13: Operator Overloading
82
13.1. Sample Code: OpOverload_Example
82
13.2. Summary
84
Chapter 14: Delegates and Events
86
14.1. Delegates
86
14.2. Sample Code: Delegates_Example
87
14.3. Multicasting
88
14.4. Sample Code: Multicast_Example
88
14.5. Events
90
14.6. Sample Code: Event_Example
91
14.7. Wrappers
93
14.8. Sample Code: Wrapper_Example
93
14.9. Asynchronous Method Calls
95
14.10. Sample Code: AsynchEvent_Example
95
14.11. Summary
97
Chapter 15: Arrays
98
15.1. Sample Code: ManagedArray_Example
98
15.2. Sample Code: PassingArrays_Example
99
15.3. Summary
100
Chapter 16: Generating Random Numbers
102
16.1. Sample Code: Random_Example
102
16.2. Sample Code: StdNormRandom_Example
102
16.3. Summary
104
Chapter 17: Time and Timers
106
17.1. Sample Code: Milliseconds_Example
106
17.2. Stopwatch
107
17.3. Sample Code: Stopwatch_Example
108
17.4. Timers
108
17.5. Sample Code: FormsTimer_Example
108
17.6. Sample Code: ThreadingTimer_Example
110
17.7. Sample Code: TimersTimer_Example
111
17.8. Summary
113
Chapter 18: Input and Output Streams
114
18.1. FileStream Class
114
18.2. StreamWriter Class
114
18.3. File and Directory Classes
114
18.4. Application Class
115
18.5. FileMode Enumeration
115
18.6. Sample Code: StreamWriter_Example
115
18.7. Sample Code: StreamReader_Example
116
18.8. Summary
116
Chapter 19: Exception Handling
118
19.1. Sample Code: Exceptions_Example
118
19.2. Catching Unmanaged C++ Types
119
19.3. Summary
120
Chapter 20: Collections
122
20.1. Sample Code: Hashtable_Example
122
20.2. Sorted List Class
124
20.3. Sample Code: SortedList_Example
124
20.4. Thread Safety
125
20.5. Generics
125
20.6. Sample Code: LinkedList_Example
125
20.7. Sample Code: Generics_Example
126
20.8. Summary
127
Chapter 21: STL/STL.NET
128
21.1. Sample Code: STL.NET_Example
128
21.2. Sample Code: STL_Example
129
21.3. Summary
129
Chapter 22: DataSets
130
22.1. Sample Code: DataSet_Example
131
22.2. Rows, DataRowCollections, and DataRows
131
22.3. Summary
132
Chapter 23: Connecting to Databases
134
23.1. Database Connection
134
23.2. DataAdapter
135
23.3. Sample Code: ADO.NET_Example
135
23.4. Enumerating Through All the Data in a DataSet
137
23.5. Using Excel as a Data Source
138
23.6. Writing XML from a DataSet
138
23.7. Updating a Database with Changes in a Dataset
138
23.8. Retrieving Data with a DataReader
139
23.9. Summary
139
Chapter 24: Structured Query Language
140
24.1. Data Manipulation Language
140
24.2. Updating a Database with Changes in a DataSet
153
24.3. Data Definition Language
153
24.4. Summary
155
Chapter 25: XML
156
25.1. Well-Formed XML Documents
156
25.2. Valid XML Documents
156
25.3. XML Schema Documents
157
25.4. Parsers
157
25.5. Sample Code: Traders.xsd
157
25.6. Sample Code: XmlWriter_Example
159
25.7. Sample Code: XmlReader_Example
159
25.8. Summary
161
Chapter 26: Financial Information Exchange Protocol
162
26.1. XML Protocols in Financial Markets
162
26.2. Overview of FIX
163
26.3. Summary
166
Chapter 27: Serialization
168
27.1. Serialization_Example
168
27.2. Summary
169
Chapter 28: Windows Services
170
28.1. Sample Code: WindowsService_Example
170
28.2. Summary
174
Chapter 29: Setup and Installation Packages
176
29.1. Code Sample: Installation_Example
176
29.2. Summary
177
Section II: Concurrency
178
Chapter 30: Threading
180
30.1. Threading Namespace
181
30.2. Sample Code: Thread_Example
181
30.3. Sample Code: ThreadAbort_Example
182
30.4. Thread Priority
184
30.5. Sample Code: ThreadPriority_Example
185
30.6. ThreadState Enumeration
185
30.7. ThreadPool Class
186
30.8. Sample Code: ThreadPool_Example
186
30.9. Updating Forms from Other Threads
187
30.10. Sample Code: FormUpdate_Example
187
30.11. Thread Safety
189
30.12. Summary
190
Chapter 31: Synchronization Classes
192
31.1. Sample Code: Synchronize_Example
192
31.2. Mutex Class
193
31.3. Example Code: Mutex_Example
193
31.4. Semaphore Class
195
31.5. Sample Code: Semaphore_Example
195
31.6. Monitor Class
197
31.7. Sample Code: Monitor
197
31.8. Summary
197
Chapter 32: Sockets
198
32.1. Sample Code: SynchronousServer_Example
199
32.2. Sample Code: SynchronousClient_Example
202
32.3. Summary
204
Section III: Interoperability and Connectivity
206
Chapter 33: Marshaling
208
33.1. Marshal Class
208
33.2. Sample Code: StringToCharArray_Example
209
33.3. Summary
209
Chapter 34: Interior and Pinning Pointers
210
34.1. Sample Code: InteriorPointer_Example
210
34.2. Pinning Pointers
211
34.3. Sample Code: Pinning_Example
211
34.4. Summary
213
Chapter 35: Connecting to Managed DLLs
214
35.1. Example Code: DLL_Example
214
35.2. Summary
216
Chapter 36: Connecting to Component Object Model (COM) DLLs with COM Interop
218
36.1. Sample Code: MyCOMLibrary
218
36.2. Sample Code: UsingCOMDLL_Example
222
36.3. Summary
222
Chapter 37: Connecting to C++ DLLs with Platform Invocation Services
224
37.1. Calling C-Style Functions
224
37.2. Sample Code: MyWin32Library
224
37.3. Sample Code: UsingWin32DLL_Example
226
37.4. Creating Objects
227
37.5. Sample Code: MyWin32ClassLibrary
227
37.6. Sample Code: UsingWin32Class_Example
229
37.7. CallingConventionEnumeration
230
37.8. Summary
231
Chapter 38: Connecting to Excel
232
38.1. Sample Code: ControllingExcel_Example
232
38.2. Sample Code: ExcelChart_Example
235
38.3. Summary
236
Chapter 39: Connecting to TraderAPI
238
39.1. TraderAPI Overview
238
39.2. FillObj
239
39.3. InstrObjClass
239
39.4. InstrNotifyClass
240
39.5. OrderObj
240
39.6. OrderProfileClass
240
39.7. OrderSetClass
241
39.8. Sample Code: TraderAPIConnection_Example
242
39.9. Summary
245
Chapter 40: Connecting to XTAPI
246
40.1. Sample Code: XTAPIConnection_Example
246
40.2. Summary
248
Section IV: Automated Trading Systems
250
Chapter 41: Building Trading Systems
252
41.1. Buy vs. Build
252
41.2. Data Mapping
254
41.3. Speed of Development
255
41.4. Ten Things that Affect the Speed of a Trading System
256
41.5. Getting It Right
257
41.6. Logic Leaks
258
41.7. Ten Things That Affect the Profitability of a Trading System
259
41.8. Summary
260
Chapter 42: K|V Trading System Development Methodology
262
42.1. The Money Document
264
42.2. Research and Document Calculations
264
42.3. Back Test
267
42.4. Implement
268
42.5. Manage Portfolio and Risk
270
42.6. Summary
272
Chapter 43: Automated Trading System Classes
274
43.1. Instrument Class
274
43.2. Order Class
278
43.3. Order Book
279
43.4. Bracket
279
43.5. Tick
279
43.6. Tick or Bar Collection
279
43.7. Bar
279
43.8. System Manager
280
43.9. Graphical User Interface
280
43.10. Summary
280
Chapter 44: Single-Threaded, Technical Analysis System
282
44.1. Sample Code: TechincalSystem_Example
283
44.2. Summary
292
Chapter 45: Producer/Consumer Design Pattern
294
45.1. Sample Code: ProducerConsumer_Example
294
45.2. Summary
302
Chapter 46: Multithreaded, Statistical Arbitrage System
304
46.1. Sample Code: Spreader_Example
306
46.2. Summary
319
46.3. Conclusion
319
Index
320
All prices incl. VAT