11/25/2011

Modeling Maximum Trading Profits with C++: New Trading and Money Management Concepts (Wiley Trading) Review

Modeling Maximum Trading Profits with C++: New Trading and Money Management Concepts (Wiley Trading)
Average Reviews:

(More customer reviews)
SUMMARY: A potentially useful concept taken to ridiculous extremes.
The main theme is around the concept of *potential profit* offered by a particular market. When building automated trading strategies or evaluating human trader performance, the problem could be decomposed into a product of some intrinsic profit offered by the market and the percentage of that profit that is captured by a particular trader or strategy. This book spends most of its attention on the former factor and various derived performance metrics.
*Potential profit* is defined by an idealized strategy that has *perfect foresight about all future prices over a given time interval*. In addition to the original concept apparently suggested by Robert Pardo, the book's definition is made more realistic by constraining such a strategy with non-zero transaction costs. Although this connection is not made by the author, the concept is related to those used in offline algorithms and competitive analysis (see, for example, Online Computation and Competitive Analysis): in essence, you want to quantify the amount of *regret* you experience comparing your performance to that of a perfect adversary or algorithm that is allowed to solve the offline version of the same problem (with all of the future data available at the outset).
Three iterations of potential profit algorithms are introduced:
1. "r-/l-algorithms": position size is constrained with a given maximum. The perfect strategy can be proven to be pure reversal -- except for initial and final transactions, the maximum profit is obtained by always switching positions between +max_size and -max_size at certain transaction points. Although the underlying problem could be solved using a generic optimizer, Salov introduces a concept of *s-intervals* that makes it easy to see how the global maximum can be computed with a simple linear algorithm. This algorithm offers conceptual elegance of solving its related problem exactly -- the later two are heuristic improvements for less constrained versions of the problem.
2. "first P&L reserve algorithm": strategy remains a pure reversal strategy but position size is allowed to vary subject only to self-financing/account margin/buying power constraints. #2 can improve on #1 due to increases in account buying power after the initial entry/exit transactions.
3. "second P&L reserve algorithm": same as #2 but the strategy is allowed to change existing positions in between the transaction points used by #1 and #2, i.e. the strategy is no longer pure reversal. Again, #3 can improve on #1 due to increases in account buying power during trading.
Since both #2 and #3 consider how account equity grows over time subject to self-financing restrictions, connections to Kelly/Shannon
maximum growth rate formulas arise naturally. In later chapters, all algorithms are used to derive performance metrics and to compare potential profits offered by various markets using real-life price data.
Unfortunately, in my view the author should have stopped at #1 and not gone on for 180 more pages. Granted, the overall approach of comparing your actual performance to that of some idealized benchmark strategy is extremely sound and useful. As a benchmark, a single simple idealized strategy is sufficient. But the author does not emphasize enough that the single biggest advantage the idealized strategy has is the perfect knowledge of future prices. Algorithm #1 already has this advantage built in and there seems to be little practical value in gleaning further incremental benefits by adding optimal account growth heuristics. (Optimizing position sizes can't be done in real-life without simultaneously controlling risk etc.) In fact, the last chapter has a cocoa contract example making 13000% returns in just 5 days! Similarly, in some examples algorithms #2 and #3 manage to grow exponentially into such large position sizes that they overflow a 32-bit integer -- it is surprising that the author does not see the ridiculousness of that and reluctantly suggests that the algorithms should be applied to "short time intervals" or "with high transaction costs".
Other book shortcomings that seemed glaring to me:
- only deterministic strategies are considered. Real-life strategies have to incorporate uncertainty modeling in their decisioning. Furthermore, deterministic-only strategies can't reach Nash equilibria for some problems.
- only two commission cost models are considered: fixed per transaction and cost as a function of instrument price. Something like cost/share would invalidate much of the discussion.
- because they have perfect price foresight all idealized algorithms unavoidably go wild on max'ing out position sizes. In real life, risk management constraints on open positions can kick in sooner than margin constraints, unless you are diversified across many positions (situation not considered in the book).
- after observing how much the transaction costs can impact these idealized strategies, the author nonetheless goes on and makes very ballpark guesses about slippage etc -- it seems incongruent after all that energy spent on perfecting those strategies.

Click Here to see more reviews about: Modeling Maximum Trading Profits with C++: New Trading and Money Management Concepts (Wiley Trading)

"Mr. Salov has taken one of my favorite creations – Perfect Profit – and provided an expanded description of his interpretation of it and put it in your hands with the included software. Like I said fifteen years ago, Perfect Profit is an important tool for the trading system developer. See for yourself."—Robert Pardo, President, Pardo Capital Limited
"A very in-depth reference for programmers that should serve well into the future. The code herein lends itself well to other syntactically similar programming languages such as Java, PHP, and C#."—Ralph Vince
The goal of trading is to make money, and for many, profits are the best way to measure that success. Author Valerii Salov knows how to calculate potential profit, and in Modeling Maximum Trading Profits with C++, he outlines an original and thought-provoking approach to trading that will help you do the same.
This detailed guide will show you how to effectively calculate the potential profit in a market under conditions of variable transaction costs, and provide you with the tools needed to compute those values from real prices. You'll be introduced to new notions of s-function, s-matrix, s-interval, and polarities of s-intervals, and discover how they can be used to build the r- and l-algorithms as well as the first and second profit and loss reserve algorithms. Optimal money management techniques are also illustrated throughout the book, so you can make the most informed trading decisions possible.
Filled with in-depth insight and expert advice, Modeling Maximum Trading Profits with C++ contains a comprehensive overview of trading, money management, and C++. A companion CD-ROM is also included to help you test the concepts described throughout the book before you attempt to use them in real-world situations.

Buy NowGet 36% OFF

Click here for more information about Modeling Maximum Trading Profits with C++: New Trading and Money Management Concepts (Wiley Trading)

No comments:

Post a Comment