Trading Lessons/Insights From Coin Flipping

Quote from blox87:

I can't figure out how to create a completely random entry in Ninjatrader to test this. I was thinking that if there are any rules whatsoever for entry that it in affect will make the entry non random.

The only thing I can do is look at strategies that seem to always revert to the zero line to decide whether they are random or not. A coin flip will always revert to zero given enough flips correct? We talked earlier about how a run of heads would skew the results away from zero but did we conclud that the coin flips would eventually revert back to 50% or the zero line?

Anyways, back to the strategies that have a random equity curve that always returns to zero. From there I play with the time's of entry and exit. Like I said before, playing with the times of exit, not even necessarily entry, have helped equity curve move away from the zero line fairly consistently in many instances. So I know something is happening with the factor of time put into the equation. Perhaps the fact that so many people exit at the close every day is something that is very non random and could be used to help your edge in one way or another.

Blox,
Personally, I don't think reverting to the zero line is the ultimate condition for determining a random vs. edge system. There are examples in this thread where random data gives very strong moves away from the zero line never to return. That being the case, I did set up a simulation to test larger sample sizes.

In excel, used the maximum 1.04M rows to get that many random numbers, -1 <0.5, +1 if >= 0.5. Created 5 columns of 1.04M rows and recalculated the spreadsheet 5 times. That gives ~25 million random numbers. Results below


Sum Min Max
-1942 -2661 180
1334 -66 1845
-1194 -1225 173
584 -52 1879
-522 -616 1012
492 -92 1302
672 -289 937
-1472 -2028 12
62 -499 237
-1686 -1779 88
-2322 -2514 393
-1246 -1765 74
1338 -635 1390
-274 -278 1206
1904 -26 2164
-376 -920 218
-2262 -2291 99
-362 -754 360
-552 -568 974
1142 -483 1440
320 -445 622
2044 -140 2770
1674 -337 1797
-658 -1497 606
1138 -743 1268

Total Abs Min Abs Max
-2164 -2661 2770

So, for 25 million a value of -2164 is very close to 0. Within 0.009%. Now the abs min and max are not representative of 25M iterations, rather just the 1.04M, so do not think the max "loss" or "gain" over 25M would be +/- ~2500. I'll have to program that up later.

So, there's the data, let us make some conclusions (and feel free to disagree or add to them). I would argue that a 50-50 system based on random inputs/data/market would return breakeven (before commish, slippage, yada, yada).

That being said, it is runs/streaks within the breakeven system that are confounding. Don't think many here have a system that trades 25M times. So the question is, how many trades/iterations are needed to see breakeven vs. an edge??? I don't know. If you create a system that trades daily, you only get ~250 trials a year, so runs will be huge (for better or worse). And backtesting such a system would be difficult, 4 years of data needed for 1000 trades. Is the market consistent over 4 years with respect to your system???

This is what I'm talking about when I mean random/noise etc. vs edges and how they relate to system development.

Hopefully that helps, probably muddied the water a bit, and I'll correct mistakes as I see them.

So, come on people, join in.

EDIT-formatting sux, looks good in the post, goes to pot upon posting...
 
Quick update,
Wrote simple program to run x iterations, set x to 1 billion and the results

sum,min,max

-2115,-3812,3104
677,-2140,4776
223,-3948,2968

Will run more as time permits, but got other things to do...

Masterjaz
 
Quote from shortie:

should i supplement my post with a few personal attacks? at least i will get some sort of a response

:confused:

Hi Shortie,

You ask good questions and no, you don't need to do that. It's just that bill has just enough info/knowledge to be dangerous and, that seems to spark my desire to get him to admit how much randomness we are really dealing with in this profession.

I am going to wait a little bit to let some of these ideas sink in. As I said before, I've come to my own conclusions and they may not sit well with others. Trading is a very personal endeavour in many ways and it requires independent thought and analysis.

That said, the way the conditions work in the code is that a signal will either trigger a reversal or keep the position the same. Hence the Buy = Cover and Sell = Short assignments. This means the holding time will not be constant across spins.

Mike
 
Quote from goodgoing:

Whathafuc*? You're not well buddy. I'm saying you're not well.

A while ago Bill and Mike had a dispute over the results of a certain program. Mike accused Bill of not presenting any results or of the results being wrong. I volunteered to help, I downloaded the program demo and tested a few exampes. Mike didn't like the results because they proved him wrong. I cannot help that. Mike appears to be a very violent personality.

Hmm, I remember that discussion quite well:

http://www.elitetrader.com/vb/showthread.php?s=&threadid=196838&perpage=10&pagenumber=1

I asked bill to provide some math regarding the correlation versus causation fallacy (as did a few other posters prior to me). That was it.

Where was the dispute regarding results exactly?

Maybe you ought to re-read the thread with less personal bias.

Last 2 posts of that thread:


05-06-10 11:30 AM

--------------------------------------------------------------------------------
Quote from goodgoing:

So, after about 1 hour of hard work I have come to the conclusion that intradaybill - although a backtesting idiot - was nevertheless correct and in that time period APS patterns performed very well.

--------------------------------------------------------------------------------

Quote from intradaybill:

NO, you are an idiot for wasting your time to convince another idiot of the obvious.


--------------------------------------------------------------------------------
Quote from goodgoing:


You are now on ignore.

--------------------------------------------------------------------------------



ROTHFLMAO !!!

You two put each other on ignore???? HAHA

Can't make this stuff up, its too good.
 
Quote from masterjaz_99:

...please, show me how you determine if a system is trading a true edge vs. market noise. It's a simple request. Thanks

Lol...you are asking the stupiest question in the world and you think you are asking something important.

Just look at the real results of a system over a sufficient period of time. Does it make money over time? What is the variance of the returns? If the system makes money, it is not trading noise. Noise does not make money.

Now, I know, I know, you will come back and cry that you want to determine that from backtesting results. That is not possible, forget it. Backtesting does not reflect real market participation. It can only be used to reject hypotheses not to verify them.
 
Quote from masterjaz_99:

Quick update,
Wrote simple program to run x iterations, set x to 1 billion and the results

sum,min,max

-2115,-3812,3104
677,-2140,4776
223,-3948,2968

Will run more as time permits, but got other things to do...

Masterjaz

Some more data:

2255,-2158,4758
4681,-1844,5072
1753,-2329,4587
4245,-1488,5428
-255,-3005,3911
-2949,-4276,2640
-2927,-4467,2449

So that makes 10 billion iterations. I'll let others synthesize the data, a couple things stand out to me, but nothing spectacular.

masterjaz
 
Quote from Craig66:

The average holding time in the original report is about the same as the report with the random condition removed so I'm not sure it's that...so in summary:

1. Random condition + entry time = good
2. Random condition + entry time + prev day condition = bad
3. Random condition + entry time + flipped prev day condition = better than 1
4. Entry time + flipped prev day condition = bad

I'm stumped for now...

Craig (and Mike),
There is an error here. The results posted in response to Bill (bills falacy.jpg) are for the prev day condition with no random. And they correspond generally to the #2 scenario above.

We need to add #5. Entry Time + prev day condidtion = bad, and understand we don't have #4 results yet (unless I missed them).

Mike, could you please run the correct #4 scenario for us? Thanks.
Based on the #2 plus #5, I would argue the random entry does not change the system for better or worse...We'll know more once Mike posts the #4 test results.

Thanks all
 
It would be good to somehow tabulate the results, as it's a little hard to keep flipping back and forth between all the bitching. I will go back though keeping the previous post in mind.
 
Ok, I've gathered everything together for easy reading...

Case 1:
Buy = Cover = TimeNum()==125400 AND rand < 0.50;
Sell = Short = TimeNum()==125400 AND rand >= 0.51;

Case 2:
Buy = Cover = TimeNum()==125400 AND rand < 0.50 AND C1 > C2;
Sell = Short = TimeNum()==125400 AND rand >= 0.51 AND C1 < C2;

AVG: -50516.76

Case 3:
Buy = Cover = TimeNum()==125400 AND rand < 0.50 AND C1 < C2;
Sell = Short = TimeNum()==125400 AND rand >= 0.51 AND C1 > C2;

AVG: 45427.84
 

Attachments

Case 4:

Buy = Cover = TimeNum()==125400 AND C1 > C2;
Sell = Short = TimeNum()==125400 AND C1 < C2;

So it can be seen that case 4 is case 2 without the random condition . So it would seem we are waiting on the results of case 3 with the random condition removed. (Sorry if I'm repeating what the other poster said, I just wanted to gather it all together).
 

Attachments

Back
Top