-
Notifications
You must be signed in to change notification settings - Fork 53
Implementation details for using AI in mosquito.
The implementation should handle (at least try to handle as much as possible) following challenges:
- Distributed computing - candidates:
- Packed and ready for Genetic Algorithm handling
- Dynamic - easily add/remove new Features
- Easy to share model (for example by using QrCode)
- Easy to share dataset (features)
The goal of the AI is to predict following:
- Predict the next price for each of required currency
- Predict the value of currencies in the next +15, +30 and +60 minutes
- Predict which of the stocks will move up by more than x% in the next +5, +30 and +60 minutes
- Predict which stocks will go up/down by 2x% in the next n minutes while not going down/up by more than x% in that time
AI implementation in mosquito could be divided in following modules:
Dataset for training
- Generate dataset which will contain historical data and calculated features (own section below) for all crypto-currencies. Each dataset will contain also price that was +15, +30 and +60 minutes from the state (this can be used as output Y).
- During real-time prediction, new dataset will be added to existing model and model will be re-trained with additional dataset.
Optional: To speed-up the model we could see which one of input features directly correlate with output prices and remove the one that does not.
Below is a list of features that are used/implemented in AI and as well candidates, which are currently used in different AI algo predictions mentioned in references.
Below is a list of features/indicators which have been successfully used in projects lets-write-a-cryptocurrency-bot-part-2 by Joel Degan and Crypto Alert Project - Algorithm
- Elder ray — Bulls/Bears Power
- High-Low Index
- Williams R%
- Ultimate Oscillator
- Price Rate Of Change
- Stochastic RSI
- Average True Range (ATR)
- The percentage change in buy volume for the past 15, 30, and 60 minutes compared to the average buy volume in the past 24 hours
- Following values are computed repeatedly using 15-min, 30-min, 60-min, and 120-min candle stick data (OHLC)
- The slope of buy volume in the past 4 periods
- The slope of buy volume in the past 96 periods
- Stoch RSI Fast K value
- Stoch RSI Slow D value
- The moving average of Stoch RSI Fast K
- The slope of Stoch RSI Fast K in the past 4 period
- Chaikin Money Flow Index
- ADX value
- The slope of ADX in the past 4 periods
- The sign of SQZ Momentum Index (0:negative, 1:positive)
- The slope of SQZ momentum index in the past 4 periods
- The sign of SMI (1: bigger than signal, 0: smaller than signal)
- The value of SMI
- The sign of MACD(1: bigger than signal, 0: smaller than signal)
- The value of MACD
- On Balance Volume value
- The slope of OBV in the past 4 periods
- Ichi cloud indicators (lagspan, baseline, conversion line, Span A, and Span B)
- Aroon indicator value
- Slope of Aroon indicator
- Commodity Channel Index
- Chaikin Volatility Index
- The sign of KST (1: bigger than signal, 0: smaller than signal)
- The slope of KST in the past 4 periods
- The sign of TDI indices
- Total volume
- Buy volume in the past 15, 30, and 50 minutes
- Percentage change in price in the last 15, 30, 60, and 120 minutes.
- The total amount of buy orders for the first 50, 100, 150, 200, 250, 300, 350, 400, 450, and 500 buy orders in the tradebook
- The total amount of sell orders for the first 50, 100, 150, 200, 250, 300, 350, 400, 450, and 500 sell orders in the tradebook
- Total buy orders in the tradebook
- Total sell orders in the tradebook
- Buy Order/Sell Order Ratio for the first 50, 100, 150, 200, 250, 300, 350, 400, 450, and 500 orders in the tradebook
- Buy Order/Sell Order Ratio for the whole tradebook
- Number of buy and sell walls in the tradebook (I have my own definition of this)
- Spread of tradebook
- Weighted and unweighted midprice in the tradebook