(as usual, this coupon lasts only 30 days, so don’t wait!)
This is a MASSIVE (19 hours) Financial Engineering course covering the core fundamentals of financial engineering and financial analysis from scratch. We will go in-depth into all the classic topics, such as:
Exploratory data analysis, significance testing, correlations, alpha and beta
Time series analysis, simple moving average, exponentially-weighted moving average
Holt-Winters exponential smoothing model
ARIMA and SARIMA
Efficient Market Hypothesis
Random Walk Hypothesis
Time series forecasting (“stock price prediction”)
Modern portfolio theory
Efficient frontier / Markowitz bullet
Maximizing the Sharpe ratio
Convex optimization with Linear Programming and Quadratic Programming
Capital Asset Pricing Model (CAPM)
In addition, we will look at various non-traditional techniques which stem purely from the field of machine learning and artificial intelligence, such as:
Reinforcement learning and Q-learning
We will learn about the greatest flub made in the past decade by marketers posing as “machine learning experts” who promise to teach unsuspecting students how to “predict stock prices with LSTMs”. You will learn exactly why their methodology is fundamentally flawed and why their results are complete nonsense. It is a lesson in how not to apply AI in finance.
List of VIP-only Contents
As with my Tensorflow 2 release, some of the VIP content will be a surprise and will be released in stages. Currently, the entirety of the Algorithmic Trading sections are VIP sections. Newly added VIP sections include Statistical Factor Models and “The Lazy Programmer Bonus Offer”. Here’s a full list:
Classic Algorithmic Trading – Trend Following Strategy
You will learn how moving averages can be applied to do algorithmic trading.
Machine Learning-Based Trading Strategy
Forecast returns in order to determine when to buy and sell.
I give you a full introduction to Reinforcement Learning from scratch, and then we apply it to build a Q-Learning trader. Note that this is *not* the same as the example I used in my Tensorflow 2, PyTorch, and Reinforcement Learning courses. I think the example included in this course is much more principled and robust.
Statistical Factor Models
The CAPM is one of the most renowned financial models in history, but did you know it’s only the simplest factor model, with just a single factor? To go beyond just this single factor model, we will learn about statistical factor models, where the multiple “factors” are found automatically using only the data.
The Lazy Programmer Bonus Offer
There are marketers out there who want to capitalize on your enthusiastic interest in finance, and unfortunately what they are teaching you is utter and complete garbage.
They will claim that they can “predict stock prices with LSTMs” and show you charts like this with nearly perfect stock price predictions.
Hint: if they can do this, why do they bother putting effort into making courses? Wouldn’t they already be billionaires?
Have you ever wondered if you are taking such a course from a fake data scientist / marketer? If so, just send me a message, and I will tell you whether or not you are taking such a course. (Hint: many of you are) I will give you a list of mistakes they made so you can look out for them yourself, and avoid “learning” things which will ultimately make YOU look very bad in front of potential future employers.
Believe me, if you ever try to get a job in machine learning or data science and you talk about a project where you “predicted stock prices with LSTMs”, all you will be demonstrating is how incompetent you are.
Save yourself from this embarrassing scenario by taking the “Lazy Programmer Offer”!
Please note: The VIP coupon will work only for the next month (ending Nov 9, 2020). It’s unknown whether the VIP period will renew after that time.
After that, although the VIP content will be removed from Udemy, all who purchased the VIP course will get permanent free access to these VIP contents on deeplearningcourses.com.
In case it’s not clear, the process is very easy. For those folks who need the “step-by-step” instructions…:
STEP 1) I announce the VIP content will be removed.
STEP 2) You email me with proof that you purchased the course during the VIP period. Do NOT email me earlier as it will just get buried.
STEP 3) I will give you free access to the VIP materials for this course on deeplearningcourses.com.
Benefits of taking this course
Learn the knowledge you need to work at top tier investment firms
Gain practical, real-world quantitative skills that can be applied within and outside of finance
Make better decisions regarding your own finances
Personally, I think this is the most interesting and action-packed course I have created yet. My last few courses were cool, but they were all about topics which I had already covered in the past! GANs, NLP, Transfer Learning, Recommender Systems, etc etc. all just machine learning topics I have covered several times in different libraries. This course contains new, fresh content and concepts I have never covered in any of my courses, ever.
This is the first course I’ve created that extends into a niche area of AI application. It goes outside of AI and into domain expertise. An in-depth topic such as finance deserves its own course. This is that course. These are topics you will never learn in a generic data science or machine learning course. However, as a student of AI, you will recognize many of our tools and methods being applied, such as statistical inference, supervised and unsupervised learning, convex optimization, and optimal control. This allows us to go deeper than your run of the mill financial engineering course, and it becomes more than just the sum of its parts.
This is a MASSIVE (over 22 hours) Deep Learning course covering EVERYTHING from scratch. That includes:
Machine learning basics (linear neurons)
ANNs, CNNs, and RNNs for images and sequence data
Time series forecasting and stock predictions (+ why all those fake data scientists are doing it wrong)
NLP (natural language processing)
Transfer learning for computer vision
GANs (generative adversarial networks)
Deep reinforcement learning and applying it by building a stock trading bot
IN ADDITION, you will get some unique and never-before-seen VIP projects:
Estimating prediction uncertainty
Drawing the standard deviation of the prediction along with the prediction itself. This is useful for heteroskedastic data (that means the variance changes as a function of the input). The most popular application where heteroskedasticity appears is stock prices and stock returns – which I know a lot of you are interested in.
It allows you to draw your model predictions like this:
Sometimes, the data is simply such that a spot-on prediction can’t be made. But we can do better by letting the model tell us how certain it is in its predictions.
Facial recognition with siamese networks
This one is cool. I mean, I don’t have to tell you how big facial recognition has become, right? It’s the single most controversial technology to come out of deep learning. In the past, we looked at simple ways of doing this with classification, but in this section I will teach you about an architecture built specifically for facial recognition.
You will learn how this can work even on small datasets – so you can build a network that recognizes your friends or can even identify all of your coworkers!
You can really impress your boss with this one. Surprise them one day with an app that calls out your coworkers by name every time they walk by your desk. 😉
Please note: The VIP coupon will work only for the next month (ending May 1, 2020). It’s unknown whether the VIP period will renew after that time.
After that, although the VIP content will be removed from Udemy, all who purchased the VIP course will get permanent free access on deeplearningcourses.com.
This course is designed to be a beginner to advanced course. All that is required is that you take my free Numpy prerequisites to learn some basic scientific programming in Python. And it’s free, so why wouldn’t you!?
You will learn things that took me years to learn on my own. For many people, that is worth tens of thousands of dollars by itself.
There is no heavy math, no backpropagation, etc. Why? Because I already have courses on those things. So there’s no need to repeat them here, and PyTorch doesn’t use them. So you can relax and have fun. =)
All of my deep learning courses until now have been in Tensorflow (and prior to that Theano).
So why learn PyTorch?
Does this mean my future deep learning courses will use PyTorch?
In fact, if you have traveled in machine learning circles recently, you will have noticed that there has been a strong shift to PyTorch.
Case in point: OpenAI switched to PyTorch earlier this year (2020).
Major AI shops such as Apple, JPMorgan Chase, and Qualcomm have adopted PyTorch.
PyTorch is primarily maintained by Facebook (Facebook AI Research to be specific) – the “other” Internet giant who, alongside Google, have a strong vested interest in developing state-of-the-art AI.
But why PyTorch for you and me? (aside from the fact that you might want to work for one of the above companies)
As you know, Tensorflow has adopted the super simple Keras API. This makes common things easy, but it makes uncommon things hard.
With PyTorch, common things take a tiny bit of extra effort, but the upside is that uncommon things are still very easy.
Creating your own custom models and inventing your own ideas is seamless. We will see many examples of that in this course.
For this reason, it is very possible that future deep learning courses will use PyTorch, especially for those advanced topics that many of you have been asking for.
Because of the ease at which you can do advanced things, PyTorch is the main library used by deep learning researchers around the world. If that’s your goal, then PyTorch is for you.
In terms of growth rate, PyTorch dominates Tensorflow. PyTorch now outnumbers Tensorflow by 2:1 and even 3:1 at major machine learning conferences. Researchers hold that PyTorch is superior to Tensorflow in terms of the simplicity of its API, and even speed / performance!
First, now is your chance to VOTE to tell me what you want to see in my next course. Transformers? Time Series Analysis? More advanced GANs? More advanced Reinforcement Learning? Let me know in this survey (it’s anonymous):
Second, check out the latest episode of The Lazy Programmer Show, where I discuss why bad programmers are always trying to get the latest version of some language or library, and why they tend to freak out when things are not in whatever version they happen to be using.
I look at this topic from 3 different perspectives, including:
1) What is it like in the “real world” working at a “real job”?
2) What kind of skills should a typical (competent) programmer have?
3) What are students learning and how do they approach machine learning and coding in colleges? Remember those students become “new grads” and those “new grads” become “junior engineers”.
What would your boss say if a junior engineer could run circles around you, a so-called “professional”?
The following books can be used to study core computer science topics at the college / university level, to prepare yourself for machine learning, deep learning, artificial intelligence, and data science.
These are the books I recommend for building your own computer science degree. Remember! The goal is to do as many exercises as you can. It’s not to just watch 5 minute YouTube videos and then conclude “I understand everything! There’s no need for exercises!”
This quote from the video sums it up nicely: if you don’t find the problems, the problems will find you.
These books cover common core courses that are relevant for many sub-fields of Computer Science and Engineering, including Machine Learning et. al., but also related fields such as operations research, statistics, quantitative finance, software engineering, digital communications, wireless communications, control systems (e.g. autopilot), robotics, and many more.
To recap, these are the courses and why you want to take them:
Nearly all machine learning algorithms boil down to optimization problems. What is optimization? Generally speaking, it’s when you have a function and you want to maximize or minimize that function.
If you’ve taken calculus, then you should recall that this is exactly what you learn how to do in calculus.
Therefore, calculus is an essential tool in artificial intelligence, data science, etc.
In machine learning and deep learning especially, we work with vectors, matrices, and higher-dimensional objects. This is the realm of linear algebra.
Luckily, you don’t have to go that far in linear algebra to get what you need for deep learning and AI.
For example, the concept of spans, subspaces, rank, etc. rarely show up in machine learning.
On the other hand, the basics, such as matrix and vector multiplication and eigenvalues and eigenvectors, show up often.
Probability is the language you must speak if you want to do machine learning and AI.
Recall above that machine learning often boils down to an optimization. What are we trying to optimize? Often, it’s an expected value. What is an expected value? Well, you have to learn probability to find that out.
For a time, “probabilistic graphical models” were the state of the art in artificial intelligence. Clearly, probability would be a prerequisite.
Probability shows up nearly everywhere in machine learning, from soft k-means clustering to hidden Markov models to artificial neural networks and beyond.
Side note: if you were thinking earlier, “who needs calculus when Tensorflow can do it for me!?”, think again. Calculus is a prerequisite to probability. So if you want to learn probability, you still need calculus anyway.
Obviously, at some point, you need to be able to actually write a computer program in order to use machine learning.
Nowadays, things can seem very simple when all you need is 3 lines of boilerplate code to use scikit-learn.
However, that’s not really what one should imagine when they think of “learning machine learning”.
Check any college-level machine learning course (not that bullshit being sold by marketers online) to confirm what I am saying.
As the great physicist Richard Feynman once said, “What I cannot create, I do not understand”.
In order to best understand a machine learning algorithm, you should implement it.
No, you are not “reinventing the wheel”. This is called “learning”.
I would posit that if you can’t implement basic algorithms like k-means clustering, logistic regression, k-nearest neighbor, and naive Bayes, you do not understand those algorithms.
So why do I suggest Java over something like Python, which has easily become the most popular language for doing data science.
The problem with Python is that it’s too high level. It doesn’t make you think about the program you are writing at the algorithmic level.
You should understand the difference between an efficient and an inefficient algorithm. (No, that doesn’t mean memorizing facts like “Python list comprehensions are better than for loops”).
In fact you should recognize that list comprehensions have the exact same time complexity as your for loop.
Java, being slightly lower level, forces you to think algorithmically.
That brings us to the final topic.
Algorithms and Data Structures
In order to really understand algorithms, you should study… algorithms.
There are many famous algorithms contained in the book I’ve suggested below.
Realistically, you are not going to use these in your day to day work (a very common complaint from software developers seeking employment).
However, that’s not really the point.
The point is exercising your brain and learning how to think in certain ways that help you write better code.
Also, you should understand the pros and cons of basic data structures such as lists, sets, dictionaries, and trees.
If you’re coding up some algorithm, why might a set be better than a list? Algorithms tell you why.
One major data structure you might want to learn about is graphs (along with their associated algorithms). Graph neural networks seem to be picking up steam, and they are being used for all kinds of interesting problems like social network analysis, chemistry, and more.
To summarize: the core courses I would consider essential for building your own Computer Science degree in preparation for machine learning, deep learning, data science, and artificial intelligence are calculus, linear algebra, probability, programming, and algorithms.
Don’t just watch a bunch of videos on YouTube or Khan Academy and then proclaim you understand the subject. The reason I’ve suggested books is because they contain exercises / homework problems. These are what you must be able to do in order to claim that you understand something. It’s not about “absorbing information”, it’s about “producing useful output”.
Common question: What about C++? Yes, C++ is excellent! Ideally, you will learn both C++ and Java, but obviously, these are not hard prerequisites for machine learning or data science.
Calculus: Early Transcendentals by James Stewart
Introduction to Linear Algebra by Gilbert Strang
Introduction to Probability by Bertsekas and Tsitsiklis
Big Java by Cay Horstmann
Introduction to Algorithms by Cormen, Leiserson, Rivest, and Stein
Disclaimer: this post contains Amazon affiliate links.
This lecture will answer a common beginner question: why does the lecture “how to succeed in this course” exist?
Note that in some courses, this may have been replaced with the alternate lecture, “anyone can succeed in this course”.
Every now and then, this lecture really offends someone (probably because it hits one or two of their “sensitive spots” and they know that they are making some of the mistakes I mention in that lecture). But I’d rather not speculate, and furthermore, there is no reason to.
Let’s get down to business:
Your interpretation of this lecture is wrong.
Your main mistake is that you haven’t thought of your fellow students (and there are thousands of them).
Obviously, this lecture wouldn’t have been made if it were not deemed necessary.
Common sense (hopefully) should tell you that these “strange statements” (yes, someone really called them that, haha!) weren’t invented out of thin air.
Clearly, based on this lecture, you can conclude that:
– there are students who don’t follow instructions and need a reminder
– there are students who don’t meet the prerequisites and need a reminder
– there are students who believe all the prerequisites can be included in this course (not true)
– there are students who believe they can understand this course without meeting the prerequisites (not true)
– there are students who make up self-defeating excuses not to use the Q&A
– there are students who don’t know that coding is an exercise
– there are students who don’t know about the speed changer
– there are students who forget things and don’t realize that taking notes would have prevented them from forgetting
– there are students who believe their PhD absolves them from following the instructions or meeting the prerequisites
Need I say more?
Finally, understand that the course is not personalized for you. It’s for everybody.
Therefore, if you find a lecture that doesn’t contain content you want to learn, simply skip it.
It should be very easy. Let me know if you can’t find the “skip” button.
In fact, this is stated in this very lecture, so maybe you should have watched it more carefully. 😉
The lesson is: be kind, courteous, understanding, and accommodating to your fellow students. Hopefully, this makes sense.
it is patronizing
It’s only patronizing if you believe you are “above” this advice, in which case, you should double check that the problem isn’t that you think too highly of yourself. 😉
it is negative
Is today backwards day?
“Anyone can succeed in this course” is a negative statement?
The opposite of that is “Nobody can succeed in this course”. I suppose that would be positive?
Nobody to this date has ever been able to provide a direct rebuttal to any of the points I have mentioned above.
If you think you can rebut anything I have said, I am actually so eager to hear what you have to say. I have been waiting years to tell me why any of the above points are wrong!