Real time trading analysis response with Machine Learning
See below for the original email that started this response from one of my newsletter members:
I recall that you were asking about the GP that generate code. There are a few out there and one such example is Adaptrade Builder at http://www.adaptrade.com/ (disclaimer: I own this one and use it myself). Adaptrade Builder generates code in the following scripting languages: EasyLanguage (for TradeStation and MultiCharts), NinjaScript (NinjaTrader 7), MQL4 (MetaTrader 4), and AFL (AmiBroker). If you want to translate the code for another platform, the strategy code generated by Builder is open and commented. In addition, the elements of the strategy logic are listed in the Build Report, although the best and most complete way to understand the strategy logic is to examine the generated strategy code.
–> I have never been a fan of these black box technologies
Neuroshell Daytrader (neuroshell.com)
Discipulus 5 (rmltech.com)
I think the second point you asked about is that yes I do use Scikit-learn and the various machine learning packages for data analysis including inference, modelling (prediction), and Bayesian approaches.
–> I believe SciKit is the smaller Machine Learning library compare to the more advanced ones like TensorFLow or Karas (I am also new to this ML stuff)
For machine learning you are often confronted with a large n
umber of features and the question as to which set of features are most significant. For this you use Principal Component Analysis for dimension reduction, (sometimes called Eigenanalysis) where you use a statistical procedure using an orthogonal transformation to convert a set of observations of possibly correlated variables into a set of values of linearly uncorrelated variables called Principal Components. The first principal component has the largest possible variance (that is, accounts for as much of the variability in the data as possible). This transformation is defined in such a way that the first principal component has the largest possible variance (that is, accounts for as much of the
variability in the data as possible), and each succeeding component in turn has the highest variance possible under the constraint that it is orthogonal (always at right angles) to the preceding components. The resulting vectors are an uncorrelated orthogonal basis set. PCA is used as an exploratory tool in data analysis and for making predictive models.
–> I keep hearing about these component and factors used
From Scikit-Learn we use the various machine learning algorithms, eg Support Vector Machine, Linear Discriminant analysis, Ada Boost etc… via a set of randomized tests (test & train), and feed the results into a confusion matrix and test the model prediction (actual vs. predicted). The constant consideration is that these machine learning tools are designed to deal with stationary data, whereas time series data is non-stationary. So stationarity of data is huge part of your analysis if you want good models.
Here is an example of an open source project where you can automate your Machine Learning in Python with TPOT and Genetic Algorithms.
–> Good to know all of the above!!!
I created this video in response
What about bonds? You briefly mentioned treasury bonds, but didn’t include them on your list. I’m particularly interested in first world countries that have an interest rate higher than many third world countries i.e Portugal. Moreover, I code in Java. It’s not as efficient as C++, but it’s quicker to code, because it’s a more conceptual language. The time saved in creating the code with Java is worth more than the efficiency gained with less memory used with optimized C++ code in most cases. Conditions in the market are constantly changing. An algorithm that worked yesterday might not work tomorrow. The slower coding of C++ may not be able to keep up with a changing market. In contrast, Java can allow one to more quickly adapt their strategy. What would be best is to create multiple programs for different types of markets. I like to think of them as different personalities. Perhaps what’s most important though, is an understanding of Bayesian math. That is, new data is constantly affecting probability. The Monty Hall problem is the most well known example of Bayesian math. Indeed, it’s Bayesian math more than anything which helps one understand why Java is better programming language than C++ in most cases.
A bunch of reminders including tonite:
Bryan Downing is inviting you to a scheduled Zoom meeting.
Topic: PUBLIC QLN TRADING PLAN
Time: May 21, 2017 7:00 PM Montreal
Join from PC, Mac, Linux, iOS or Android: https://zoom.us/j/519828492
Meeting ID: 519 828 492
International numbers available: https://zoom.us/
Just a reminder that the new Quant Analytics service is now fully underway with daily video trading calls based on my human workflow. The new benefit starting this Monday will be the private event on May 22 at 8PM EDT.
Thanks for reading
P.S. Don’t forget as this is important to remember:
We are coming down to the wire over the next weeks where this newsletter will be retired. To continue with the conversation, you will need to be doing the following:
Get my 2 ebooks to opt in for the automated newsletter found on my new server driven by Infusionsoft.
FACEBOOK ACCOUNT and TWITTER. Don't worry as I don't post stupid cat videos or what I eat!