Refactor documentation for various filters and indicators to enhance clarity and consistency

- Updated Bessel, Bilateral, Blma, Butter, Conv, Ema, Kama, LSMA, MAMA, MGDI, SSF, USF, ATR, ADL, and ADOSC documentation to use bullet points for key concepts and features.
- Added a new Qodana configuration file for code analysis.
- Removed coverage configuration from Quantower.Tests.csproj to streamline testing setup.
This commit is contained in:
Miha Kralj
2025-12-31 23:39:47 -08:00
parent 11f4ec2497
commit d493bfd42f
175 changed files with 11977 additions and 897 deletions
+16 -16
View File
@@ -14,10 +14,10 @@ MAAPE applies `arctan(|error/actual|)` to each error before averaging. The arcta
### Properties
- **Bounded**: Always between 0 and π/2 (≈ 1.571)
- **Scale-independent**: Percentage-based like MAPE
- **Smooth compression**: Large errors are dampened, not truncated
- **Zero-safe**: Handles near-zero actuals gracefully
* **Bounded**: Always between 0 and π/2 (≈ 1.571)
* **Scale-independent**: Percentage-based like MAPE
* **Smooth compression**: Large errors are dampened, not truncated
* **Zero-safe**: Handles near-zero actuals gracefully
## Mathematical Foundation
@@ -28,8 +28,8 @@ For each observation, compute:
$$e_i = \arctan\left(\frac{|y_i - \hat{y}_i|}{|y_i|}\right)$$
Where:
- $y_i$ = actual value
- $\hat{y}_i$ = predicted value
* $y_i$ = actual value
* $\hat{y}_i$ = predicted value
### 2. Mean Calculation
@@ -43,8 +43,8 @@ The function is bounded:
$$0 \leq MAAPE \leq \frac{\pi}{2}$$
- When error = 0: arctan(0) = 0
- When error → ∞: arctan(∞) → π/2
* When error = 0: arctan(0) = 0
* When error → ∞: arctan(∞) → π/2
### 4. Running Update (O(1))
@@ -130,14 +130,14 @@ The arctangent compression means that the difference between 100% and 1000% erro
## Edge Cases
- **Zero Actual Values**: Uses arctan(∞) = π/2 (maximum bounded error)
- **NaN Handling**: Uses last valid value substitution
- **Single Input**: Not supported (requires two series)
- **Period = 1**: Returns current arctangent percentage error
- **Perfect Predictions**: Returns exactly 0
* **Zero Actual Values**: Uses arctan(∞) = π/2 (maximum bounded error)
* **NaN Handling**: Uses last valid value substitution
* **Single Input**: Not supported (requires two series)
* **Period = 1**: Returns current arctangent percentage error
* **Perfect Predictions**: Returns exactly 0
## Related Indicators
- [MAPE](../mape/Mape.md) - Mean Absolute Percentage Error (unbounded)
- [SMAPE](../smape/Smape.md) - Symmetric MAPE (different bounding approach)
- [LogCosh](../logcosh/LogCosh.md) - Log-Cosh Loss (similar compression philosophy)
* [MAPE](../mape/Mape.md) - Mean Absolute Percentage Error (unbounded)
* [SMAPE](../smape/Smape.md) - Symmetric MAPE (different bounding approach)
* [LogCosh](../logcosh/LogCosh.md) - Log-Cosh Loss (similar compression philosophy)