mirror of
https://github.com/mihakralj/QuanTAlib.git
synced 2026-08-20 19:48:05 +00:00
normalization of methods
This commit is contained in:
@@ -258,7 +258,7 @@ public class StandardizeTests
|
||||
}
|
||||
|
||||
// Static calculation
|
||||
var staticResult = Standardize.Calculate(tseries, 14);
|
||||
var staticResult = Standardize.Batch(tseries, 14);
|
||||
|
||||
// Streaming calculation
|
||||
var streamStandardize = new Standardize(14);
|
||||
@@ -283,7 +283,7 @@ public class StandardizeTests
|
||||
double[] output = new double[values.Length];
|
||||
|
||||
// Span calculation
|
||||
Standardize.Calculate(values, output, 14);
|
||||
Standardize.Batch(values, output, 14);
|
||||
|
||||
// Streaming calculation
|
||||
var standardize = new Standardize(14);
|
||||
@@ -300,9 +300,9 @@ public class StandardizeTests
|
||||
double[] source = [1, 2, 3, 4, 5];
|
||||
double[] output = new double[5];
|
||||
|
||||
Assert.Throws<ArgumentException>(() => Standardize.Calculate([], output));
|
||||
Assert.Throws<ArgumentException>(() => Standardize.Calculate(source, new double[3]));
|
||||
Assert.Throws<ArgumentException>(() => Standardize.Calculate(source, output, 1));
|
||||
Assert.Throws<ArgumentException>(() => Standardize.Batch([], output));
|
||||
Assert.Throws<ArgumentException>(() => Standardize.Batch(source, new double[3]));
|
||||
Assert.Throws<ArgumentException>(() => Standardize.Batch(source, output, 1));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
||||
@@ -243,7 +243,7 @@ public class StandardizeValidationTests
|
||||
|
||||
// Batch
|
||||
double[] batchResults = new double[values.Length];
|
||||
Standardize.Calculate(values, batchResults, 14);
|
||||
Standardize.Batch(values, batchResults, 14);
|
||||
|
||||
// Compare all values
|
||||
for (int i = 0; i < values.Length; i++)
|
||||
@@ -273,12 +273,12 @@ public class StandardizeValidationTests
|
||||
tseries.Add(new TValue(bar.Time, bar.Close), true);
|
||||
}
|
||||
|
||||
var results2 = Standardize.Calculate(tseries, period);
|
||||
var results2 = Standardize.Batch(tseries, period);
|
||||
|
||||
// Mode 3: Static span Calculate
|
||||
double[] values = series.Select(b => b.Close).ToArray();
|
||||
double[] results3 = new double[values.Length];
|
||||
Standardize.Calculate(values, results3, period);
|
||||
Standardize.Batch(values, results3, period);
|
||||
|
||||
// Mode 4: Event-based chaining
|
||||
var source = new TSeries();
|
||||
|
||||
@@ -175,7 +175,7 @@ public sealed class Standardize : AbstractBase
|
||||
}
|
||||
}
|
||||
|
||||
public static TSeries Calculate(TSeries source, int period = 20)
|
||||
public static TSeries Batch(TSeries source, int period = 20)
|
||||
{
|
||||
var indicator = new Standardize(period);
|
||||
return indicator.Update(source);
|
||||
@@ -184,7 +184,7 @@ public sealed class Standardize : AbstractBase
|
||||
/// <summary>
|
||||
/// Calculates Z-score normalization over a span of values.
|
||||
/// </summary>
|
||||
public static void Calculate(ReadOnlySpan<double> source, Span<double> output, int period = 20)
|
||||
public static void Batch(ReadOnlySpan<double> source, Span<double> output, int period = 20)
|
||||
{
|
||||
if (source.Length == 0)
|
||||
{
|
||||
@@ -264,6 +264,13 @@ public sealed class Standardize : AbstractBase
|
||||
}
|
||||
}
|
||||
|
||||
public static (TSeries Results, Standardize Indicator) Calculate(TSeries source, int period = 20)
|
||||
{
|
||||
var indicator = new Standardize(period);
|
||||
TSeries results = indicator.Update(source);
|
||||
return (results, indicator);
|
||||
}
|
||||
|
||||
public override void Reset()
|
||||
{
|
||||
_buffer.Clear();
|
||||
@@ -271,4 +278,4 @@ public sealed class Standardize : AbstractBase
|
||||
_p_state = _state;
|
||||
Last = default;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user