mirror of
https://github.com/mihakralj/QuanTAlib.git
synced 2026-08-23 21:18:04 +00:00
tests and cleanup
This commit is contained in:
@@ -8,10 +8,23 @@ namespace QuanTAlib;
|
||||
/// The Zscore class calculates the Z-score (also known as standard score) for
|
||||
/// the most recent value in a given period. It uses a circular buffer to
|
||||
/// efficiently manage the data points within the specified period.
|
||||
///
|
||||
/// In financial analysis, Z-score is important for:
|
||||
/// - Identifying outliers or unusual price movements.
|
||||
/// - Normalizing data across different scales or time periods.
|
||||
/// - Assessing the relative position of a value within its historical distribution.
|
||||
/// - Supporting trading strategies based on mean reversion or momentum.
|
||||
/// </remarks>
|
||||
public class Zscore : AbstractBase
|
||||
{
|
||||
/// <summary>
|
||||
/// The number of data points to consider for the Z-score calculation.
|
||||
/// </summary>
|
||||
private readonly int Period;
|
||||
|
||||
/// <summary>
|
||||
/// Circular buffer to store the most recent data points.
|
||||
/// </summary>
|
||||
private readonly CircularBuffer _buffer;
|
||||
|
||||
/// <summary>
|
||||
@@ -78,6 +91,14 @@ public class Zscore : AbstractBase
|
||||
/// Z = (x - μ) / σ
|
||||
/// where x is the input value, μ is the mean of the period, and σ is the sample standard deviation.
|
||||
/// If there are fewer than 2 data points or if the standard deviation is 0, the method returns 0.
|
||||
///
|
||||
/// Interpretation of results:
|
||||
/// - A Z-score of 0 indicates that the data point is exactly on the mean.
|
||||
/// - A positive Z-score indicates the data point is above the mean.
|
||||
/// - A negative Z-score indicates the data point is below the mean.
|
||||
/// - The magnitude of the Z-score represents how many standard deviations away from the mean the data point is.
|
||||
/// - In a normal distribution, about 68% of the values have a Z-score between -1 and 1,
|
||||
/// 95% between -2 and 2, and 99.7% between -3 and 3.
|
||||
/// </remarks>
|
||||
protected override double Calculation()
|
||||
{
|
||||
@@ -104,4 +125,4 @@ public class Zscore : AbstractBase
|
||||
IsHot = _buffer.Count >= Period;
|
||||
return zScore;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user