Files
QuanTAlib/lib/statistics/linreg/tests/LinReg.Validation.Tests.cs
Miha Kralj 060649192f docs: remove C# Implementation Considerations sections, clean up temp scripts, reorganize test files
- Remove 'C# Implementation Considerations' sections from 34 indicator .md files
- Delete 29 temp PowerShell scripts (_fix_mojibake.ps1, _hex_scan.ps1, etc.)
- Move test files into tests/ subdirectories for consistent project structure
- Add trader-focused bullet points to indicator documentation
2026-03-12 12:34:16 -07:00

56 lines
1.4 KiB
C#

using System.Runtime.CompilerServices;
using Skender.Stock.Indicators;
namespace QuanTAlib.Tests;
public sealed class LinRegValidationTests : IDisposable
{
private readonly ValidationTestData _data;
public LinRegValidationTests()
{
_data = new ValidationTestData();
}
public void Dispose()
{
_data.Dispose();
}
[SkipLocalsInit]
[Fact]
public void Validate_Against_Skender_Slope()
{
const int period = 14;
var skender = _data.SkenderQuotes.GetSlope(period).ToList();
var linreg = new LinReg(period);
var slopeSeries = new TSeries();
foreach (var item in _data.Data)
{
linreg.Update(item);
slopeSeries.Add(new TValue(item.Time, linreg.Slope));
}
ValidationHelper.VerifyData(slopeSeries, skender, x => x.Slope, tolerance: ValidationHelper.DefaultTolerance);
}
[SkipLocalsInit]
[Fact]
public void Validate_Against_Skender_RSquared()
{
const int period = 14;
var skender = _data.SkenderQuotes.GetSlope(period).ToList();
var linreg = new LinReg(period);
var r2Series = new TSeries();
foreach (var item in _data.Data)
{
linreg.Update(item);
r2Series.Add(new TValue(item.Time, linreg.RSquared));
}
ValidationHelper.VerifyData(r2Series, skender, x => x.RSquared, tolerance: ValidationHelper.DefaultTolerance);
}
}