[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: EOD Profitability testing (was PROPOSITION)



PureBytes Links

Trading Reference Links

Sounds like a worthwhile endeavor ... here's my contribution.

The only profit optimization Omega provides is in dollars for the entire run.
This generally results in a few recent, highly profitable, trades skewing the
results when testing over a decade or two of history. I won't trust any system
which is kicking out a few huge trades or which fails to provide reasonable
distribution of profitable trades. I set out to find a way to optimize systems
based upon % profitability for each trade and remembered reading an article by
Dennis Meyers in TASC. He indicated that he'd deal with this problem in a future
article using logs. Since the article hasn't yet appeared, I didn't have a
roadmap; so I started play with the log10() function in Excel and found a way.
Here's the recipe step by step:

Preparing the data:
1) Open the Omega DataManager and copy the security you want to test to another
directory
2) Edit the entire history for the copied symbol (older versions may not allow
editing of the full history depending on number of years)
3) Select all cells across all columns and down all rows. Copy them.
4) Switch to an empty Excel worksheet, place cursor in cell A1 and Paste
5) If dates are not in column A, delete blank columns to left of dates until
dates are in column A
6) Assuming B1 is the first cell with price data in it, enter in row1 of the
first available column: if(B1<>"",Log10(B1),"")
7) Copy/paste the formula into the range required to duplicate the original
price data
8) Copy the Log10 columns and Paste Special Values over the original price
columns
9) Select all cells across all columns and down all rows and copy them
10) Be sure all cells are still selected in the downloader and Paste over them
11) Save the data
12) Edit the Settings, changing the symbol name (e.g. XYZ to XYZLOG) and
description
13) Copy the Log10 data back to your data directory

Data notes:
a) If the original data copied into Excel includes empty columns for volume
and/or open interest, do not put formulas in them because you will need to paste
them back into DM.
b) You will note that holidays have no price data - the "" conditional is to
handle empty price cells on holidays
c) You can not use export/import/export/import in lieu of copy paste. The import
routine in DM has a bug (surprise!) which places the previous day's data into
each holiday instead of leaving the cells empty. Don't bother trying the process
of deleting the holidays in Excel and then doing the import because DM
thoughtfully creates the holidays complete with bad data.
d) If you attempt to paste too many rows (I tried 7500+-) of data into DM,
you'll find another bug (surprise! surprise!) which locks up DM - use Task
Manager to kill the process. By trial and error, I found I could paste 2000 rows
without locking up.
e) My DM locks up whenever I select security Add, so I can't try it, but one
might be able to create an empty security and then paste the requisite columns
directly into it from Excel.

Testing with the data:
1) Load the Log10 data into Data1 so the system uses this for optimizing
2) Reduce your trading costs to $.01 (or less) per contract as the Log10 profit
per trade won't buy a stick of gum
3) Optimize your system for NetProfit - don't worry about win/loss info on the
report
4) Swap in the real data and look at the profit report - these are trades based
on % profit per trade

Testing note:
I'm no math wiz and don't understand all the nuances, but I do know that most
types of calculations (especially addition and subtraction) performed on log10
data will not work the same way as they do in the linear world. So if you're
doing these calculations on the series your trading, you'll need to load the
linear version into another Data and do the calculations on the linear.

Is it worth the effort? Any symbol can be converted in about 5 minutes and the
payback in system optimization is very much worth the effort. When I use this
method, I'm able to identify system settings which I could not otherwise have
found.

Earl

At 10:30 AM -0500 3/16/98, mgj@xxxxxxxxxxxx wrote:


>I'm sure many on this forum have other techniques designed to test for other
>weaknesses in trading systems. So my proposition is this: let's set up a
>thread
>to share these techniques. The sherriff is willing to donate a trading system
>for review so we can discuss methods, run tests and compare results.
>
>This endeavor will benefit members in several ways:
>
>1.  We learn about proper system testing.
>2.  We learn which systems raise alarms.
>3.  Those pondering buying a system will know what questions to ask.
>
>Does this seem reasonable?
>
>- Mark Jurik

>
>I would think that it should be possible to test a system with price test
>patterns similar to the ones I used to test your filter. I have quite a few
>I use to test my systems. This helps find any irregular behavior,
>resonances, etc. Missing dates would stand out like a sore thumb.
>
>I would be interested in working on this if you start a group.
>
>Bob Fulks
>