Frosty's trading bot goes live part 2

Discussion in 'Automated Trading' started by frostengine, Jun 18, 2007.

  1. 2006

    2006

    Just curious what data did you use when you tested your system. Was it an uptrend market?

    Right now the volatility is relatively high with big two way swings, it looks like your system was not desiged to handle this "type" of market.

    Personally, I would shut her down. Momentum is high, roll out something which captures the current character of the market.
     
    #101     Jun 29, 2007
  2. JackR

    JackR

    Frosty:

    I've been reading this thread and its predecessor and perhaps the info is there but I don't remember it. What I think I read -

    1) Your are trading with IB using their API
    2) Your are using their datafeed to trade
    3) You originally backtested using 4 months of purchased data.

    Here is a possible source of your problem. I don't remember seeing this possibility discussed in your threads.

    When you are "live" you are getting a sample of trades from IB. The sample is every 200 to 300 milliseconds (3 to 5 samples a second). The samples are not exactly time slices as they always contain the current price at the time of the slice but you do not get all trades. You may miss the high and\or low for the slice. Volume is always correct as the change in volume is sent and the local PC software does the addition or maybe IB sends the total and the local software subtracts to get the change and thus the volume for that slice. (whatever)

    When you backfill from IB you get all trades, not the time-sliced stuff. This is true for ( I think) 10 days, then it degrades to 1 minute data. IB changes this from time-to-tme.

    Thus, if you tested on data you got from the backfill function (or an outside vendor) you are not developing and testing on the same data you are trading on. It probably makes little difference on some strategies, but it could affect yours.

    If what I stated is correct I'd suggest you set up to capture the IB data stream without using the backfill function. Then do your development and backtest. This could delay you a few months as you accumulate the data but it might save you much anguish and a couple of bucks.

    Jack
     
    #102     Jun 29, 2007
  3. JackR,

    The data used to develop the strategies are 4 years of purchased 1 minute bar data.

    Also they have been developed using almost a full year of data captured from IB. Will be a full year in August. This data was IB streaming data and not backfill data.

    To further remove potential errors, the data is stored the way it comes in. For example when data from IB comes in, they may send a bid price update.. then next through the socket may come a last trade price update and so forth.... instead of storing this data aggregated into like minute bars, I save the data in files just like it came in. I have codes such as 1 means bid price update, 2 ask price update, 3 last trade update 4 bid volume update... etc..... I then save it in a file that may look something like this:

    1 23.22 1 23.23 3 23.25.... etc... that is now how my file is actually set up, but its that is the simpliest way to explain it. So when I read the data back out of the file, it mimics EXACTLY how the data came in... it essentially completly duplicates the communication from the server. I did this to make it so that there would be no surprises... Creates very big database files for each day.. but its worth it...
     
    #103     Jun 29, 2007
  4. Do you not timestamp data changes as they come in and reproduce executions using the stored timestamps?
     
    #104     Jun 29, 2007
  5. Yes, I attach timestamps.. I was simplifying the concept of how it works. There were a few things I left out that wasn't needed to explain the concept.
     
    #105     Jun 29, 2007
  6. sulli

    sulli

    Hey Frost,

    Out of curiosity... What was your largest historical drawdown? Did you run a monte carlo analysis on your trade results? If so, what is your drawdown in the 85, 90, and 95 percentile?

    Good luck bud!
     
    #106     Jun 29, 2007
  7. JackR

    JackR

    Frost:

    Oh well, there goes that theory.

    Keep working at it.

    Jack
     
    #107     Jun 29, 2007
  8. either

    1) the bot works perfectly and statistically makes money

    2) there is a serious logial problem that you have overlooked somewhere which is causing you to loose money

    I would say keep the bot running and do everything exactly the same for now EXCEPT actually placing the trades for a couple weeks. If the bot works you will miss out on money that you would have made but have peice of mind to proceed. If the bot does not work then you will continue to loose money.

    It is up to you to decide which is more valuable:

    (money you might make) or (time)
     
    #108     Jun 29, 2007
  9. I run my bot with a strategy that was derived from yours (entering and exiting when there is a large diversion between the short term and long term trends). Today, the bot is up $630. Just as yours, it's trading the ER2 contract, but off the 5 minute chart. Below is the performance chart for today (the "S" label stands for "short", and the "F" label stands for "Flat"). I think there is a validity in the overall theme of your strategy, but the time frames and the exit conditions are very critical. I optimized mine for the maximum profit factor and the lowest drawdown, and as far as I remember, your bot is optimized for the maximum net gain, so this could be a problem. Given a choice between strategy A that made $10,000 with a 20% drawdown and strategy B that made $5,000 with a 5% drawdown, I'd happily pick B. Which one did you pick?

    [​IMG]
     
    #109     Jun 29, 2007
  10. Frost has already tried everything that has been mentioned on this thread previously. He's done everything he needed to do, except to actually learn how to trade.

    Once he does that, he will be a success. But until then it will be a long Sisyphean (of or relating to an endless and ineffective task) journey of constantly repeating the same cycle(s) over and over again, but never achieving the success he desires.

    I'd recommend he take a couple of years to learn what he needs about trade setup, entry, exit, position sizing, money management, risk management, etc., and then try programming a trading bot to do it.

    Good trading all,

    Jimmy Jam
     
    #110     Jun 29, 2007