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! :>
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?
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,
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.
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.
It looks like you're new here. If you want to get involved, click one of these buttons!