I believe actually the opposite of your conclusion is true. In The Disposable Academic, several pointers are given about the low wage premium in applied math, math, and computer science for PhD holders over master's degree holders. In part, this is because companies are realizing that master's degree holders usually have just as much theoretical depth, better programming skills, and are more pliable and can be trained for their company's specific tasks. It's not easy to get an SVM disciple, for instance, to appreciate your company's infrastructure that relies on decision trees, say. Often, when someone has dedicated tons of time to a particular machine learning paradigm, they have a hard time generalizing their productivity to other domains.
Another problem is that a lot of machine learning jobs these days are all about getting things done, and not so much about writing papers or developing new methods. You can take a high risk approach to developing new mathematical tools, studying VC-dimensional aspects of your method, its underlying complexity theory, etc. But in the end, you might not get something that practitioners will care about.
Meanwhile, look at something like poselets. Basically no new math arises from poselets at all. It's entirely unelegant, clunky, and lacks any mathematical sophistication. But it scales up to large data sets amazingly well and it's looking like it will be a staple in pose recognition (especially in computer vision) for some time to come. Those researchers did a great job and their work is to be applauded, but it's not something most people associate with a machine learning PhD.
With a question like this, you'll get tons of different opinions, so by all means consider them all. I am currently a PhD student in computer vision, but I've decided to leave my program early with a master's degree, and I'll be working for an asset management company doing natural language machine learning, computational statistics, etc. I also considered ad-based data mining jobs at several large TV companies, and a few robotics jobs. In all of these domains, there are plenty of jobs for someone with mathematical maturity and a knack for solving problems in multiple programming languages. Having a master's degree is just fine. And, according to that Economist article, you'll be paid basically just as well as someone with a PhD. And if you work outside of academia, bonuses and getting to promotions faster than someone who spends extra years on a PhD can often mean your overall lifetime earnings are higher.
As Peter Thiel once said, "Graduate school is like hitting the snooze button on the alarm clock of life..."
My first observation is that you did not lag the inputs relative to the closing price and that is why you observed such good fit. The SMA (simple moving average) uses the closing price in its calculation and the high low range encompasses the closing price, so using them to predict the closing price imparts a look ahead bias. My opinion is that if you are trying to predict the closing price two days ahead you should build your model with inputs that are lagged from the closing price by at least two days. Some of the inputs may be lagged by more than two days, but I would start simple and try and use just a handful of inputs.
As far as your objective to predict closing price, I think that closing prices are too noisy to be used as target variables and using them will lead to overfitting or optimization of the wrong objective. Instead I would start by smoothing the closing price with a moving average and then predicting the direction of price change over the next two days. For example i might replace the close with a 5 day SMA of the close and then code the price change of the SMA as 1 if it was positive over the next two days and 0 otherwise. Because the output variable is now coded as a 1 or a 0 this is a good problem to try and solve with the random forest function you were using. You could also try some other classification algoritms like logistic regression, neural networks, and SVMs and maybe combine a few into an ensemble to improve your performance. This is still a difficult problem to solve without overfitting, but it is a step in the right direction. Another word of caution is that your final model could have amazing accuracy at classifying the next two days as either positive or negative, but still lose money because it classified a few large moves incorrectly.
I would also recommend building your model on more than one security so that the machine learning algorithm does not hone in on the idiosyncrasies of one stock. I would start with at least 5 stocks that are not highly correlated to eachother.
Trading on the Edge by Guido Deboeck is a good place to start for exploring the applications of machine learning to financial time series prediction. It's an older book so it is way behind the technology we have available today but it is a good start. I would also recommend New Trading Systems and Methods by Kaufman and Expert Trading Systems by John Wolberg.
Best Answer
Alex, I can't comment specifically on Germany or Switzerland, but I do work for an international company with a staff of over 100,000 people from all different countries. Most of these people have at least graduate level degrees, many have Masters and PhDs and, except for the HR and Admin staff most of us are expert in one or more different scientific domains. I have more than 30 years experience, have worked as a skilled scientific / technical specialist, a manager, a Project manager and eventually returned to a purely scientific role that I enjoy. I have also been involved with hiring staff and perhaps some of my observations that follow may be of value to you.
Most new graduates really don't know exactly what they want and it usually takes a few years to find out. In most cases their workplace experience turns out to be quite different compared to what they had expected for a range of reasons. Some workplaces are exciting while some are dull, boring and "workplace politics", bad bosses, etc can sometimes be big problems. A higher degree may or may not help at all with any of these issues.
Most employers want people who can "do the job" and be productive as soon as possible. Higher degrees may or may not matter, depending on the employer. In some situations the door is closed UNLESS you have a PhD. In other situations, the door may be closed BECAUSE you have a PhD and the employer wants someone "less theoretical and with more practical experience".
A PhD does not necessarily mean faster promotions or even much difference in salary and may or may not make any difference to the sort of position that you can obtain. Generally when I have been interviewing candidates, I have been most interested in finding people with relevant work-related experience. A PhD might be a final deciding factor in securing a position, IF the candidate's thesis topic is specifically relevant.
People tend to change jobs more often now than they used to in the past. Your age divided by 2*pi is not a bad rule of thumb for a good number of years to stay in a job before you start going around in circles. Some people work for a while and then return to higher studies. Some people (like me) start on a PhD and then get an "offer too good to refuse" and leave the PhD to go and work. Am I sorry I did that? NO, not at all, and if I were starting over again I would do a PhD in a completely different topic anyway.
The best suggestion that I can give you is to do what you most enjoy doing and see how it unfolds. No-one else can tell you what will be best for you. Sometimes you just have to try something and, if it doesn't work out, then learn as much as you can from it and move on to something else. As Rodin said: Nothing is ever a waste of time if you use the experience wisely.