My Ah-HAH moment!
  • After weeks of trying to get good results using the Time Series function, essentially  leading me nowhere, I've finally discovered the secret  - which is  - using various types of moving averages (SMA, EMA , Hull Moving Avg, JMA ( jurikres.com) as my input data instead of raw data - giving me very fast models with predictions that are giving amazing results! I know I've read some where GeneXProtools can handle raw data just fine , but for me, MA's are now giving me overnight results (and profits in my trading models) ...I am completely blown away.

    Also - is it just me or is the new 5.0 substantially faster ??  It feels like I'm using version 4.3 on steroids.
    Anyone out there who hasn't upgrade to the new version yet, you are really doing yourself a disservice. Those Gepsoft nerds really delivered with this new release! :>

  • Hi Devon,

    Thanks, that is great! It would be nice if you could show how you integrate that with the wide process of financial trading. This is one of the questions that we get a lot from people trying to figure out how to use GeneXproTools for trading.
  • Hello Devon,

    I hope you do not mind, if I comment on your post. It is very nice to hear that you have success with the application for trading.

    I wish to use the program for the same purpose as well. I have experimented so far with classification models. I have mixed results, although there are some promising models. I could get around 60% accuracy which is quite OK, I think.

    Although trading is quite a lone wolf project for most of the people, no one really likes to give away their hard to find secret, I would really appriciate if you could be a little bit more specific about your results. Could share what kind of instrument do you model? Shares, Forex, etc.? Do you use intraday data or daily, weekly? Do use a deep embedding dimension or shallow one? How do you handle the fact, that the actual prices of the tradeable can be quite far away from Moving Average? Do you use shorter or longer period moving averages?

    I am also happy and willing to share my results, we could maybe help each other. Do you use MetaTrader5 maybe. I have written some scripts, which exports data from MT5 to Excel for developing classification models. It can export Price Data and "1"s and "0"s for classification after setting some parameters (TP, SL, spread). It is nothing special, but I found it useful. Please let me know if you are interested.

    I understand of course, if you do not wish to tell too much info about your method, it is OK. But I would be glad, if we could start a conversation here.

    I wish you many Happy Pips!

     

    Best regards,

    Balazs

  • Balazs, I don't mind at all. That is why I'm here to share ideas and learn from others as well. I would love to see the trading community get behind this great product. I feel like I've discovered a real undiscovered resources in this software.


    I've tried GXPT Logistic Regression (not classification) function , asking it to forecast the next day DIRECTION close (1 UP, 0 DOWN) - I had only limited success with that, but I haven't given up on that approach. I think the key is preprocessing the data first AND picking the most significant indicators which is not universal I've found for all instruments. I've been using a few different apps to test the correlation significance between my output variable and my inputs for each instrument I model. My primary focus is Forex and as I mentioned before, I'm mostly focusing on using the  GXPT Time Series functions now , which I had almost totally given up on until I started smoothing the data first.

    Right now , I'm merely using a 10 day EMA. I just purchased the Jurik Moving indicator today, but haven't had time yet to experiment with it. It's a pretty well know 3rd party indicator that generates ALMOST zero lag in the MA. It's won a lot of awards. I'm using MT4 for my trading,  - my next big push is to translate GXPT model code to MT4. I'm still experimenting with various time frames but I'm really liking the 2 and 4 HR time frame for my models.Too much wiggle room for my taste in a full day  EOD model. I'd rather go for smaller profit targets and keep tight stops. I'm refreshing my models almost daily even though I am getting 10 period predictions from GXPT, I think the most recent data is the most significant and I want those values reflected in my models.

     

    Because I'm rebuilding my models almost daily, I'd like to invest in the GXPT Server engine down the road to help automate that daily process - which would allow me to rebuild automatically hundreds/thousands of models each day for multiple market instruments.  Markets are too volatile to forecast more than 2-3 days, even with the best software IMO.  I'm also planning on porting Python coded models over to the  Quantopian platform, I also use Ninjatrader.

  • @ Jose - There are any number of trading platforms out there that allow your users to write their own code for trading. Most of these users tend to use very traditional Technical Analysis methods of rule based trading to code their various strategies  (Buy when the 20 period MA crosses about the 50 period MA - sell on the opposite condition - an over simplified example) . Even non programming traders could use GXPT by using the Excel export model output and manually input the new rows of period data into Excel .Super easy! My mother could almost do it!
    How you guys created the language conversion code generator within GXPT absolutely amazes and baffles me at the same time. It's totally brilliant.

    Products like yours essentially create the actual model code in a large selection of languages that merely need to be translated to the platform they are trading on i.e. Tradestation, Metatrader, Ninjatrader and many others.

    Metatrader is very similar to C++ - Ninjatrader is similar to .net C# - both of which you offer for model exporting. I think traditional Technical Analysis is dead, tools like GXPT, Neural Networks, Machine Learning libraries, SVM etc are the future and are the only things that will allow small retail traders like me to compete with all the algo machine trading / HFT systems being used by the "big guys"..

    With all that said - the most important thing in any trading system is focus on keeping your losers small via sane position sizing and stops and don't worry about making money. If you focus on cutting losers (quickly and ruthlessly) , the profits will take care of themselves.

  • Hello Devon,

     

    thank you very much for your fast reply! It seems to me, that you are a more seasoned practioner than I am. Anyway, I also find the program useful.

    I also plan to become a succesful trader, and the idea of supporting the development of a tool is not far away from me either.

    @Mr. Simas: could you please send me information over this Server application? Many thanks in advance!

     

    As I have written already, I am more of a novice trader. I was trying to develop simple trading models according to the following train of thought for Forex pairs. I have experimented mainly on daily data and concentrated mostly on AUD/USD. It was just a random choice.

    As I said, I wrote in MT5 a very simple, very easy script, which exports price data for the current symbol and timeframe and also fills out "1"s and "0"s according to a given condition. My given condition is whether the price after the current bar close reaches sooner "a" price level or "b" level. The program can classify correctly on the testing and training dataset around 60% - 65%, if the stop loss and take profit levels are equally far away from each other. I also have tried models, when the take profit level is some multiple the stop loss level, it did not show good results sadly, but I keep trying.

    The other very good news are, that I used data for training from 1994 - 1998, for testing 1998 - 2013. The distribution of the winning and losing prediction is also very nicely distributed. 3-4 losing trade in a row maximum and they are rare.

    Have you tried to use the output of the time series model as input for the a regression or classification model? It may be worth using the prediction of the smoothed MA time series as input for a similar classification model (which level is reached first?) For defining the levels I use some multiple of the Average True Range for 5 or 10 periods.

    I haven`t tried time-series yet, but will take a look at them.

    Have you tried MT5? You do not need to translate the code, since MT5 uses 99% C++, you can export it without any problem. I work right now on a script, which will show classification results in the trading terminal. Do you have any experience with MT5? 

     

     

  • Hello Balazs,

    GeneXproServer is a batch processor of GeneXproTools files. The workflow is like this: you use GeneXproTools to find the best strategy and structure for your data and problem and then you feed one or more runs as templates to GeneXproServer which can be automated and run unattended. For example, say you have one run that you would like to repeat every hour with new data. You create a job file (a simple xml/text file) with instructions, including the location of the data and any settings changes you want done and then call GeneXproServer using the Windows Scheduler every hour. Every time it runs it produces new models using the new data. This is just one aspect of it, GeneXproServer is very flexible and goes beyond run processing in that it can drive external programs too (to grab data from a server or interact with an external service using the resulting predictions at the end of the run).

    We are working on GeneXproServer 5.0 which will be released as soon as possible. I don’t want to reveal too much but the new version includes support for multi-processing in a near linear fashion which is a big boost to the number of models you can create as well as all the new features introduced with GeneXproTools 5.0 and more.

    On a different subject. You mention that MT5 is 99% compatible with our C++ models and although we are planning to add these variants to GeneXproTools you can easily create a new language (we call it a grammar) to GeneXproTools. Say, you use the C++ model code but you have to change the function signature every time you copy it into MT5. To avoid this chore you can duplicate the C++ grammar file (it is at c:\Program Files\GeneXproTools 50\grammars\cplusplus.Math.00.default.grm.xml) rename it to cppMT5.Math.00.default.grm.xml, change the line at the top (<grammar name="C++" version="5" ext="hpp" type="">) to <grammar name="C++ MT5" version="5" ext="hpp" type=""> and then do any required changes in the headers node (look for <headers>). Let us know if you need assistance with it, we will gladly give you a hand.

    This is valid for any language and I did a blog post describing the process for the R Language which now ships with GeneXproTools.

  • Just as a quick follow up and a continuation from some of my previous comments above. 
    Now that I'm preprocessing ALL my Time Series function data prior to my GXPT model processing, I wanted to share with you what a great smoothing indicator Jurik Research offers (just received it last night!) - called Jurik Moving Avg (JMA). Reasonably priced and easy to use - available for multiple platforms. 
    I've included a screenshot of the AUDUSD Closing prices with a Exponential Moving Avg (10) along side a JMA (10) . Notice how nicely the JMA "hugs the road" so much better than a standard moving avg. I think it's a great addition to GeneXProTools .
    Now,  I'm saving my profits for a copy of the GeneXproTools server so I can fully automate my model processing...

  • @  Balazs
    "Have you tried to use the output of the time series model as input for the a regression or classification model? "
    I didn't know I could even do that!! I will add that to my list!!
    Not using MT5 YET, but soon - very high on my radar list..

    @Jose
     "can easily create a new language (we call it a grammar) to GeneXproTools"
    Didn't know this - very interesting!!

     " Server - Every time it runs it produces new models using the new data."
    This was my very next question about the server (are using software to predict my questions now ??)

     

    Ok - here's an original question - does the server version currently or - is it possible in the future to feed real time date (minute bars , tick data etc) into the server via ?? API - with mapping X number of inputs to a model that also being updated in real time with the newest data (given appropriate CPU cycles of course) and generating an output signal (i.e.to  a trading execution platform / tradestation, metatrader etc etc) ? I think a lot of people and institutions would be willing to pay big money for something like that...

     

  • Hello all,

     

    @Devon:

    I had the following in mind: Create a time series model, export it to Excel and use this model to create predictions for the moving average in Excel. Let`s say, if you used 10, as embedding dimension in the model, you can create a predication for every bar, using the previous 10 bars data. After you created these prediction, you can import the updated Excel back to GeneXPro and use the predictions as input parameters. I, myself will try this, I just did not have sadly the last few days too much time to experiment. I will share the results, as soon as I will be able to develop any.

     

    @Mr. Simas: Many thanks for the elaborate description. I think I get the picture. If I understood you correctly, it is somehting like a very powerful computer, which you have at your company and to which one could have access. This processor calculates than many moduls after each other or simultaniously with different data or different settings.

    It is without question a very interesting thing and could be very useful. the problem is for me, that unlike Devon, I am not yet a profitable trader. I was not able to develop and automate profitable trading strategies yet. I can see the light at the end of the tunnel, and really hope that with your programm I can make the first step. I hope you understand, that without more or less constant income from trading it is not yet feasable to invest that kind of money. I hope we can get back to this question soon enough and I can be a new customer for the Server as well.

  • @Devon; If I understand correctly, you are asking if it is possible to score data from a feed directly after refreshing the model. At the moment it is possible but not straightforward for the non-programmer. That may be something we could change for this upcoming version, though. Is there a specific or standard API used by traders? I am also going to have a look at the JMA but no promises :-)

    @Balazs; You are correct but the server is a product that you can buy and install on your computer just like GeneXproTools. I really hope that you manage to create profitable trading strategies, I am sure it is a matter of time and do let us know if you have more questions.
  • Hi Devon,

    The JMA is a trade secret so we won't be able to integrate it into GeneXproTools. Nevertheless, they apparently also sell a component, so with some programming involved it would be possible to use it from GeneXproServer. On the other hand that gave us an idea for creating models similar to the JMA with GeneXproTools. Would you be able to send us both the original data and the resulting JMA so that we could test if this works? We will share the results here either way. 
  • I understand, I wasn't actually suggesting you add JMA as a feature, I was merely sharing some of the insights I've been discovering in my GXPT experiments. Smoothing the data first has been good to me, but there are many various ways of doing. JMA merely happens to be one of the best IMO and is very popular in the market trading community. I actually purchased the developer version of it so  I can use it to automatically generate and export csv files for feeding into various software apps including yours.

    I'll send you some sample excel files this week that you might find interesting. There are an number of public domain algos that are very similar to JMA.

     

    "If I understand correctly, you are asking if it is possible to score data from a feed directly after refreshing the model. At the moment it is possible but not straightforward for the non-programmer."

     

    Yes -that was my question. I'll save any further question I have on that topic until after I've purchased a copy of GXPT Server which wont be until at least the end of this year. thanks for the info.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!