General Topics
Technical Topics
Brokerage Firms
Community Lounge
Site Support

# Simple ES Market Model

Discussion in 'Strategy Development' started by ATSTRADER, Apr 8, 2006.

mathematical Model based on Market OI accumulation.
Set up:
Basic Market makers spread on ES is 3 ticks. For example 1303.50 - 1304.25. Tick increment 13 ticks. Dynamically move the spread after every 13 ticks, (for example Bid 1303.75 offer 1304.00 - spread 1303.50-1304.25, after 13 ticks if Bid 1303.25 offer 1303.50 - spread 1303.00-1303.75...) Set counter to count "fills" every 13 ticks in the beginnig of the trading session accounting for every bid touched +1 and for every offer touched -1.
When your "fills" counter reaches +100 (accumulation point) join the current Bid and go Long;
When your "fills" counter reaches -100 join the current Offer and go Short;
When OI "fills" counter reaches zero - exit.

Suggestions:
When the basic Model is build you may experiment by increasing/decreasing sensitivity of the system, changing tick counter from 13 ticks to 10, 20, ... or whatever
changing accumulation point from 100 to 50, 80, 150, 200, 300...
setting several accumulation points and entering multiple positions (Very much suggested )...
The model that I used, for instance, was set on 13 ticks with 5 levels of accumulation points - entering 3 positions in negative average and then 2 in pyramid...

Use it wisely Test it well...
When this Model is set right it should give you in average 8 signals a day with probability of success 80 (80% trades should be winners).
Note, this Model does not show the real OI accumulation, just reflects the dynamics of the OI accumulation.

2. ### tatsimon

Can you please repeat that? I am not sure I fully understand.

Thank you

4. ### monarc

Hello ATS,

Very interesting. Is it possible for you to share the mathematical equations behind this. From what I understand, if it reaches 100 or 200, basically you are assuming, oversold and so you wanna go long and vice versa.

Ofcourse, you need a very good high frequency system. Did you account for the missed ticks?? You are assuming here that you capture evry tick...right??Otherwise the algorithm can be in trouble.

thanks

5. ### tatsimon

Why do I need to define the spread?
By "fills" do you mean the amount of contracts (volume) traded in 13 ticks? Why do we count +1 for every bid touched and -1 for every offer touched?

Thank you

This is very simple and primitive model. Basically you got it right.
You set the spread and start counting every tick that lands at or better then your spread price. For example your Bid price is set at 1303.75 and during last 13 ticks offer price was at this level or lower 5 times your counter should read +5... then model changes your spread at the different level and continue counting +5, -3, -6, +8... until accumulated OI would be at your preset level (for example +100), then you buy by placing join Bid order.
Ofcourse you need tick-by-tick datafeed

By "fills" I mean how many times the Bid market price will be at my preset spread offer level or higher (negative "fills") or how many times the Offer market price will be at my preset spread bid level or lower (positive "fills").

8. ### mschey

I am not sure I under stand, would you give a more detailed example?

9. ### mschey

Perhaps a series of prints and how the count works, and then when and how you shift your spread would help clarify things!

ok, For example at 6 am CST the model turns up...
Current price 1303.75/1304.00
1. the system sets the spread:
Current Bid (1303.75) -1tick 1303.50
Current offer(1304.00) +1tick 1304.25
2. next 13 ticks:
Count +1 for every tick if market offer at 1303.50 or lower
Count -1 for every tick if market bid at 1304.25 or higher
3. on the 13th tick for example market price is 1303.25/1303.50
Model sets new spread 1303.00 - 1303.75
4. continue count same way as it done in step 2.
5. when sum of your counts reaches your preset accumulation limit (for example +100 or -100) - send the Buy or Sell signal accordingly...
This simple model has just 3 variables:
n - number of ticks for count
+OI - positive accumulation
-OI - negative accumulation
Play with variables to set the best result.
Now you may have several levels of OI (+OI1, +OI2,...,-OI1,-OI2)
For example: