add a developers guide
This commit is contained in:
		
							
								
								
									
										
											BIN
										
									
								
								docs/assets/freqai_algorithm-diagram.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/assets/freqai_algorithm-diagram.jpg
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 480 KiB | 
| @@ -130,7 +130,7 @@ The FreqAI strategy requires the user to include the following lines of code in | ||||
|  | ||||
| ``` | ||||
|  | ||||
| Notice how the `populate_any_indicators()` is where the user adds their own features ([more information](freqai-feature_engineering.md#feature-engineering)) and labels ([more information](freqai-running.md#setting-classifier-targets)). See a full example at `templates/FreqaiExampleStrategy.py`.  | ||||
| Notice how the `populate_any_indicators()` is where the user adds their own features ([more information](freqai-feature-engineering.md#feature-engineering)) and labels ([more information](freqai-running.md#setting-classifier-targets)). See a full example at `templates/FreqaiExampleStrategy.py`.  | ||||
|  | ||||
| Another structure to consider is the location of the labels at the bottom of the example function (below `if set_generalized_indicators:`). This is where the user will add single features and labels to their feature set to avoid duplication of them from various configuration parameters that multiply the feature set, such as `include_timeframes`. | ||||
|  | ||||
|   | ||||
							
								
								
									
										28
									
								
								docs/freqai-developers.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								docs/freqai-developers.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | ||||
| # Development  | ||||
|  | ||||
| The class structure and details algorithmic overview is depicted in the following diagram:  | ||||
|  | ||||
|  | ||||
|  | ||||
| As shown, there are three distinct objects comprising `FreqAI`: | ||||
|  | ||||
| * IFreqaiModel | ||||
|   * Singular persistent object containing all the necessary logic to collect data, store data, process data, engineer features, run training, and inference models.  | ||||
| * FreqaiDataKitchen | ||||
|   * A non-persistent object which is created uniquely for each unique asset/model. Beyond metadata, it also contains a variety of data processing tools.  | ||||
| * FreqaiDataDrawer | ||||
|   * Singular persistent object containing all the historical predictions, models, and save/load methods.  | ||||
|  | ||||
| There are a variety of built-in prediction models which inherit directly from `IFreqaiModel` including: | ||||
|  | ||||
| * CatboostRegressor | ||||
| * CatboostRegressorMultiTarget | ||||
| * CatboostClassifier | ||||
| * LightGBMRegressor | ||||
| * LightGBMRegressorMultiTarget | ||||
| * LightGBMClassifier | ||||
| * XGBoostRegressor | ||||
| * XGBoostRegressorMultiTarget | ||||
| * XGBoostClassifier | ||||
|  | ||||
| Each of these have full access to all methods in `IFreqaiModel`. And can therefore, override any of those functions at will. However, advanced users will likely stick to overriding `fit()`, `train()`, `predict()`, and `data_cleaning_train/predict()`.  | ||||
| @@ -29,6 +29,7 @@ nav: | ||||
|         - Feature engineering: freqai-feature-engineering.md | ||||
|         - Running: freqai-running.md | ||||
|         - Data handling: freqai-data-handling.md | ||||
|         - Developer guide: freqai-developers.md | ||||
|     - Short / Leverage: leverage.md | ||||
|     - Utility Sub-commands: utils.md | ||||
|     - Plotting: plotting.md | ||||
|   | ||||
		Reference in New Issue
	
	Block a user