My First Futures System

Discussion in 'Strategy Development' started by Corey, Dec 12, 2007.

  1. Corey


    This is my first trading system ever -- I have only worked with investing systems before this. I have yet to back test it -- mainly because I am on a Mac at the moment and do not have the software. I wanted to get some input before I went forward and back tested it.

    The system is based on the theory of trend (first derivative of the price curve) and momentum (second derivative of the price curve).

    For my system, I use a 1 minute chart and a 50 period moving average to represent my price curve.

    At any given moment, I look at the direction of the 50 period moving average to get the current trend.

    To find momentum, I take the current value of the MA and compare it to the value of the MA 13 periods ago (~50/4).

    If I use the reading of 13 periods ago as T=0 and the current period as T=13, I can create a line representing the curve. The two points are (D0, 0) and (D1, 13). Using these two points, I can calculate the angle of the trend, which I use to represent the current momentum (instead of an arbitrary value). The angle is asin(13/(abs(d0-d1))).

    Based on this angle, I buy contracts.
    @ angle = 0, I have no contracts.
    @ angle = 15 degrees, I purchase 1 contract lot.
    @ angle = 30 degrees, I purchase 2 contract lots.
    @ angle = 45 degrees, I purchase 3 contract lots.
    @ angle = 60 degrees, I purchase 4 contract lots.
    @ angle = 75 degrees, I purchase 5 contract lots.

    As long as the angle remains above the purchase threshold, I hold the contract. Once the angle decreases, I sell that lot of contracts. So if the current angle is 33 degrees, I should be holding 3 contract lots. If we go to 46 degrees, I buy 3 more lots, giving me a total of 6. If the angle goes to 44 degrees, I sell the recent 3, to pare back down to only 3 lots.

    The only real issue I can see in this system is when large spikes occur.

    I take this into consideration by creating a fault system. It works by averaging the distance between price and the moving average for the last 50 periods (aka the length of our moving average). If the current distance between price and the moving average exceeds this average by a certain delta amount (to be determined ... for the moment, I think using 3x the std deviation of the average makes sense), we halt trading (selling any contracts we are holding) for 50 periods (aka the length of our moving average).

    Thoughts? It is obviously quite simple ... but in my mind, the simpler the better. It is a simple system based on buying trend and increasing exposure the stronger the trend. Once the system runs across a situation it doesn't understand, it exits the market and waits until it gets back into a situation it can understand (namely when volatility decreases).

    Thanks for reading!
  2. I just want to make sure I understand you correctly. As the price goes more parabolic you buy more contracts?

    "So if the current angle is 33 degrees, I should be holding 3 contract lots. If we go to 46 degrees, I buy 3 more lots"

    It sounds to me as though you are buying more contracts as price rises. If I understand you correctly you will lose your ass because this is exactly what I fade and I make good money doing it. The higher the price goes and the more parabolic it goes the higher the probability that it will come down HARD.

  3. Selling into the 3rd deviation is definitely a sound strategy tho.

  4. Corey


    Theoretically, yes, I do buy more as the price goes more parabolic. I would normally consider this a dangerous strategy if it were not for the fact that I have the fault system that exits me from ALL trades if the price suddenly falls out of the trading range.

    Perhaps a more effective method would be to have a 'stop' on the angle as the price begins to move parabolically. For example, buy five contracts at 75 degrees. If it goes to 80 fine. But if it goes from 80 to 78, sell the recent lots. This would almost be like a 'momentum stop' instead of a 'price stop'.

    Thanks for the input!
  5. Consider doing just the opposite that you mentioned. When price goes parabolic down and goes -3 std dev's buy. Add to the trade when your other conditions are met and when you go parabolic up reverse the strategy.

    Open an account with TradeStation. I believe you only need 5k and backtest it.

    Good luck.

  6. Corey


    Interesting. Very interesting. I still feel that there is a strong method to be found in flowing in and out as momentum changes. However, I think you are right -- once it goes parabolic, it should be faded.

    Without making the system more complicated by adding a 'length of current momentum' variable or something like that (though it might be effective for knowing when to add to a position), perhaps I could flow in, then at a certain point, begin flowing out as the moving average gets more parabolic.

    Perhaps 1 lot at 10 degrees, 2 lots at 20 degrees, 3 lots at 30 degrees, and start scaling out above 50 degrees or something like that. This sort of system would definitely have to be coupled with the 3x std dev metric to make sure that the price movement was actually getting more volatile and that the trend and momentum were not actually sustainable.

    Thanks for the input! I really appreciate it.
  7. Sounds as though you have a good starting point with this. Good luck!

  8. Corey


    Instead of making this system more complicated, perhaps it makes sense to pair it with a system, similar to what you were talking about, that fades parabolic moves.

    Theoretically, range of price movement stays within 3 std deviations of the historic average for the last 50 periods, then it isn't increasing in volatility. This doesn't mean, however, that it won't crash. Perhaps, instead of paring out as it goes parabolic, I simply tighten how many standard deviations it must remain within. This doesn't change the basic concept of the overall system, which is to basically follow the trend and increase position as the trend 'strengthens'. As you have pointed out, however, it has a major weakness if the movement goes parabolic. Even my fail-safe mechanism isn't guaranteed to catch this parabolic movement, because it might occur over a 'long' period of time, which would increase the average distance of the price from the average.

    I need to come up with another mechanism for identifying this sort of movement.
  9. I agree with PTF.

    Also, I think it is too scientific. The market is made of people that react and act with emotions.

    I like charts and TA but I only use that as a base, but not an end all.

    have you actually used this for real? If so, what is your win/loss ratio?
  10. Corey


    Ironically, my system was designed with emotion in mind. People, emotionally, tend to be herd followers. We tend to get involved with herd-think and just follow the pack. Hence why the system was meant to be a primitive trend following mechanism. But as PTF pointed out, parabolic movements are a significant hurdle that I have to tackle.

    As for testing -- not yet. I was hoping to get feedback on those far more experienced than I in developing mechanical systems before I tried it.

    Once I fully flesh out the concept, I will probably download this years 1 minute tick data for the s&p e-mini futures and try running it from january to the present date. I figure that if the system can run in this volatile period, I can do a larger test.
    #10     Dec 12, 2007