Results and Trading Blog
This is the performance record using the first month’s June 2012 example workspace.
June 2012 Strategy Results
May 2, 2012 through June 18, 2012 Option Chart
This is the performance using the next month’s July 2012 example workspace.
July 2012 Strategy Results
June 7, 2012 through July 23, 2102 Option Chart
The results being shown here for July 2012 go back to October, 2011; some 9 months before expiration. A fresh example workspace is planned for each month.
Please notice that the inputs are not being changed from month to month, and chart to chart. Also please note that the stop loss and profit objectives have been disabled; we want to magnify any weaknesses the strategy may have, and bring forth any sort of worst-case-scenarios, or “black swans”, that may present themselves.
We have tried to pioneer the idea of “future testing”, instead of “back testing”, of our products. The idea comes from watching, and learning from the failures of previous models. Algorithms such as Fourier transforms, neural networks, and the like, seem to depend on “training” in some kind of existent data environment. When the out-of-sample data bears no resemblance to the training data, then the predictive forecasting ability of the method is frequently reduced from that of the training data.
Successful rules-based trading comes from sound mathematical concepts and not from changing the inputs around all the time or from incessant optimizing of the data field.
Additionally, selling options short requires that you must be holding the equivalent shares of the underlying security in your account. Please thoroughly understand options trading rules, account requirements, and expiring contract obligations, before trading options.
Continuing with our walk forward results; we turn the page to the next example workspace that was posted at the expiration of the July 2012 option. The August 2012 option chart shown below uses the same underlying symbol, strike price, and strategy inputs as the July 2012 example, only the expiration date of the option was rolled forward.
August 2012 Strategy Results
July 9, 2012 through August 19, 2012 Option Chart
We are adding our new Strategy Results Indicator to the example workspace.
This new indicator is useful for separating recent trading from the entire field of performance results. This will allow the meaningful trades to be isolated and examined by themselves; apart from the overall data field. This indicator is included with your subscription.
To use the indicator, simply enter the starting date into the indicator input field by using the “format indicator” box. Please read the Strategy Results Indicator support document for details about how the date needs to be formatted.
In this example; we started the indicator recording the strategy results at the expiration of the July 2012 options contract. This was the previous example workspace which was posted at the expiration of the June 2012 options contract.
The idea is to roll the example workspace forward, a month at a time, to show a realistic record of how the Velocity package trades the options market.
Since the initial posting of the Velocity package, the strategy has enjoyed admirable results without any adjustments or changes to the inputs. The stop loss and profit objective functions have both been disabled in order to display the worst case scenario for error analysis.
A serious logic error was discovered in the profit objective portion of the strategy code in mid-August 2012. The error has since been corrected with the latest version of the Velocity product. The results shown, thus far, have had the profit objective function disabled; therefore, the error would have caused no difference in the results shown in this results report.
This brings forth the important topic of optimization of inputs, proper usage, warning flags, and general ideas about how to go about understanding the pros and cons of this feature.
First, and foremost, is that we are not against optimization of inputs, and we are not making any statement otherwise. The Velocity products attempt to provide a universal solution to the charting and trading of options contracts. This means that the product should be able to handle most any charting environment.
However, when changes are made to the chart, such as time period, symbol, etc., then corresponding changes need to be made to the inputs of the strategy to compensate. Optimization provides an excellent way to begin this process by providing a logical starting point for the conversion.
A typical chart conversion from the existing example chart might be performed in the following manner; with the stop loss and profit objective set to zero, optimize the “Brightness” and “Contrast” inputs starting at 1, and ending at 50, in increments of 1. Use cardinal numbers for this optimization; do not use fractions or decimals in these two input fields.
The “Brightness” and “Contrast” inputs should be optimized simultaneously to produce the best results. Accuracy of the optimization results should be studied, as well as exactly where the suggested optimized solution falls within the entire optimization report.
Select input solutions that fall within a group of successful past performances over those that stand alone within a group of unsuccessful past performances. This may, or may not, be the absolute best solution shown in the optimization report.
When optimizing the “Brightness” and “Contrast” inputs, with the stop loss and profit objectives disabled, a “flip-flop” type of chart is produced which has the strategy holding an open position at all times. When one position is closed out, the strategy will then take the opposite position.
Additionally, some common sense should be used when optimizing. For example, 50 bars on a 15-minute chart would be easier on a trader than 50 bars on a daily chart. Even if a trader has the patience to wait through a fifty trading day period for a trade to resolve itself, the risk of an unforeseen market event is much greater. Even though a 50 bar solution may be the highest suggested solution, serious thought needs to be given as to how practical such a solution may be in actual trading.
The idea is to use strategy inputs that match the short term trend being shown by the Velocity Indicator as closely as possible while also obtaining the best trading outcome possible. An exact match is not required; the most practical input solution is the best solution.
Moving on to the stop loss and profit objective inputs, these gear the strategy to the desires of the individual trader. Some traders do not like having an open position without a protective stop in place. If this is the case, then some positive value needs to be entered into the “Stop_Loss” input of the strategy.
The “Stop_Loss” input is calibrated in the points that the charted security is using. For the example workspace, a value of 1 in the “Stop_Loss” input field would be only one tick, or one small point, of the underlying security. A value of 100 would correspond to one large point of the underlying security.
Looking at the example workspace for clarification; if a position is entered at a price of $25.50, then the stop order would be placed at $25.49 for an input of 1, and a stop order of $24.50 would be entered for an input of 100. The stop order is placed as soon as a position is entered and may close the position on the entry bar, depending on the period being charted and the range of the bar.
Optimization of the “Stop_Loss” input is a great way to start looking for protective stop threshold. Keep in mind that any results should be compared to zero, which disables the stop loss function. If a particular input is showing poorer results than the zero input, then increase the optimization field in order to allow the strategy a full range of exit opportunities.
In other words, too tight of a stop will eliminate some successful outcomes from being able to occur. You want the strategy to have the full range of function, so, the stop should be placed far enough away from the entry price to keep it from being filled during periods of normal market fluctuations.
The same is true for the placement of the profit objective. In practical trading, the profit objective should be realistic and attainable with the stop loss protection being held comfortably away from the market action so it doesn’t get filled. The stop loss should be set to provide an exit for abnormal market conditions.
Therefore, set your stop loss and profit objectives so that the profit objective gets regularly filled and the stop loss is rarely filled. Optimization is useful for obtaining a functional balance between the two.
When optimizing the profit objective; any results should be studied for questionable trades. A questionable trade is one that exits at the exact high or low for the bar. It is inevitable that any optimization run will have a couple of these questionable trades, but too many may invalidate the optimization study.
While the TradeStation platform provides an option to only show a limit order to be filled if the price moves through the limit price, an optimization study without this option will still be valid if the individual trades in question are examined.
An additional means of validation is if there is any follow through from the optimization price. In other words, even if a past trade is shown being exited at the exact high or low of the bar, if there is sufficient follow through afterward; then the result is likely a good result. If the price reverses from the exit price, and there is no follow through, then the result is likely a false positive.
A couple of false positives are inevitable, but too many of them may invalidate the optimization run.
Another factor to be considered is strategy accuracy, or how many trades are profitable on a percentage basis. It does no good to have a 90% accuracy system if the remaining 10% that lose then wipe out all the profits. While having a profit objective enabled usually increases the percentage of winning trades, the resultant losers could be so great as to make the statistic meaningless.
The best approach is to profitably balance the stop loss with the profit objective. Also, one may be used without the other, or switched off completely to allow any exit strategy in the TradeStation library, or third party provider, to be used.
Returning to the profit objective; the calibration of this input is different than the stop loss input. A “Profit_Objective” of 1 will exit the position at one large point of the underlying symbol. For example, if a position is entered at $25.50 and the “Profit_Objective” input is set to 1, then the strategy will place a limit order to exit at $26.50. Obviously, one small point won’t even cover commissions in most cases.
It was mentioned earlier that a logic error was found, tracked down, and fixed in mid-August 2012. The strategy incorporates a split profit objective function. The purpose of the split profit objective is to estimate a reasonable limit order in certain situations. These situations would be when a position is first entered and the estimate is labeled with an “Est.” prefix on the chart, trade manager, and performance report.
During extreme market conditions and fast market conditions; the estimated profit objective may actually cause an unprofitable trade to occur. In most cases, the estimated objective is not used; it was created to take into account certain unusual circumstances which may, or may not, be present in the past history of the symbol.
This goes to the concept of “future testing” a product, as opposed to “back testing” a product. Frequently, out-of-sample data that bears no resemblance to the training data will produce less than desired results. Hence the much used admonition that “past performances do not guarantee future results”.
Let’s take a look at our September 2012 example workspace which is being posted at the expiration of the August 2012 options contract. Again, there is no change to the strategy inputs; they are set as they have been since the first example.
What will be shown next are the results of various settings to the stop loss and profit objectives. This will also be a great opportunity to introduce the newly included Strategy Results indicator.
Shown next is the September 2012 workspace with no stop loss and no profit objective. The Strategy results indicator is shown recording the strategy results beginning on July 21, 2012, the first trading day after the expiration of the July option contract.
This will serve as our control and reference chart for illustration as to how the stop loss and profit objectives may be used to construct a rules-based trading program.
Next we’re going to take a look at our base line performance report included in the TradeStation platform, with commissions and slippage included.
The first recorded trade in the performance report is June 15, 2012 and the Strategy Results Indicator is showing trading starting on July 21, 2012.
Now we will consider what happens if we decide to place a 200 point stop loss order for each position opened.
It appears this change has produced satisfactory results; the overall strategy performance has improved and the near term trading results are also improved. The open positions are being protected to a 200 point drawdown; this is equivalent to $200 for trading one contract, $400 for trading two contracts, and so on.
There were four occurrences of the stop order being filled, so the stop seems to be at a good level because the results are better, but without the stop order being filled excessively. Note the “200” input in the fourth position on the status line at the top of the chart, this is how the strategy configuration should look in this situation.