This repository holds my Android project for the Israel MOE (ministry of education). This project by itself is valid for 5 pts. (יחידות לימוד).
Due to lack of time, and the fact that Java isn't a great language for data processing, there are two prediction methods: polynomial fit, and Markov chain. These two methods are available in Polynomial.java
and MarkovChain.java
, respectively. Below is a simple explanation for these two methods.
Given
After doing that, we are left with a polynomial
Because Neville's algorithm does
Instead of mindlessly attempting to fit a polynomial to many past points, we instead consider the following process:
- The price of the coin in the next 5 minutes (i.e., the next "point") should only depend on few past processes.
- Idealy, the next price only depends on the current price.
Problem: the price does not depend only on the current price.
Solution: we look back far enough, process that data and answer accordingly. Because this algorithm takes little time (
The calculation itself is done by sampling the history, and checking when we had the following pattern(s):
- The price increased by
$a$ % - The price decreased by
$a$ % - The price did not change (
$\pm \varepsilon$ )
Afterwards, guessing the next price is a matter of probability.