add a developers guide
This commit is contained in:
parent
68a900a9b7
commit
ede282392f
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:
|
||||
|
||||
![image](assets/freqai_algorithm-diagram.jpg)
|
||||
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user