Alright everyone, time gather our thoughts, and plant our feet.
So far, we've only done a few very basic things, so, it may seem like we've only just barely left the beach, but, the reality is, we're in very deep waters already.Let's consider the current situation.
We have a lot of variables already which will need to be accounted for. Not only do we have explicit variables, we also have implicit ones.
Our Explicit Variables:
1. Percent change as pattern recognition.
- this could be other things as well.
2. Start point to current point % change.
- as compared to point-by-point, or end to start.
- point by point will give us differing looking lines visually,
- end to beginning will give us end points that are more accurate.
3. Fixed pattern length of 30
4. Fixed value, or weight, of patterns, no matter how old or fresh they are.
5. Looking 20-30 points into the future for the outcome. Truthful? Smaller or wider?
6. Similarity required to bring pattern into consideration.
Opportunity vs Accuracy.
In machine learning, the way we typically find the best scenario, is much like how companies find the best price for their products. Profit margin matters, but amount sold matters too! A very cheap price will sell many units presumably, but profit per unit will be less than a higher price per unit, which would result in fewer sales.
Here, we must also weigh opportunity, which is the volume of possible trades/much like the amount of units sold, comparing this to Accuracy, which is how often we're correct, which is much like the profit margin (since you might have a 60% accuracy in high volume opportunities, compared to 80% in low volume).
You find an algorithm that will earn you $2 a trade, with 85% accuracy, very appealing. With this, you're allotted an opportunity to deploy this tactic 600 times, or for 600 trades.
This means, at 85%, you will be successful with 510 of those trades, and lose 90 of them.
510 successful trades @ $2 a trade is $1,020
90 unsuccessful trades @ $2 a trade is $-180
A total profit of $840.
Let's consider another situation, which earns you the same $2 a trade if successful, but only has 70% accuracy. That said, it is a looser algorithm, thus giving more opportunity, and you get 1800 trades.
This means 1260 trades are successful, for $2520 profit.
This also means 540 trades are not, for $-1080 meaning total profit of $1440.
Now, the above example is actually more likely an underexaggeration. You will find as you loosen up the requirements, even by tiny degrees, opportunities added are usually exponential, so opportunity will go up very quickly as we adjust things, but, eventually, the return in profit will not match the risk. The goal is to find the perfect balancing point. As such, this is a very important variable to keep in mind.
Luckily for you, all of the above variables are capable of being machine learned!
If you consider the unlimited allowance of pattern length, and unlimited degree of comparison (since we can say we require something like 72.5522512525% accuracy)... you will find quickly that the combination of variables is unlimited... so where do we even begin?!
Generally, the accepted method with machine learning for finding the best combination of variables is to recalculate and continue following the path that is showing growing improvement with each step. As long as return on "change" continues growing, then you should continue. It's often compared to finding the quickest path down a mountain, like a rolling ball might. So long as you keep going down (improving) you keep moving variables in that direction until you stop going down, then change some others.