klhztrader/KLHZ.Trader.Core.Tests/StatisticTests.cs

49 lines
1.3 KiB
C#

using KLHZ.Trader.Core.Contracts.Declisions.Dtos;
using KLHZ.Trader.Core.Math.Declisions.Utils;
using System.Security.Cryptography;
namespace KLHZ.Trader.Core.Tests
{
internal class StatisticTests
{
[Test]
public static void Test1()
{
var data = new decimal[1000];
for (int i = 0; i < data.Length; i++)
{
data[i] = RandomNumberGenerator.GetInt32(-10, 10);
}
data[0] = 1000;
var res = Statistics.ClearNSigmaReqursive(data);
Assert.IsTrue(data.Length != res.Length);
Assert.IsTrue(res[0] != 1000);
}
[Test]
public static void Test2()
{
var data = new decimal[1000];
for (int i = 0; i < data.Length; i++)
{
data[i] = RandomNumberGenerator.GetInt32(-10, 10);
}
var res = Statistics.CalcHistogram(data.Select(d => new CachedValue()
{
Figi = "",
Ticker = "",
Direction = 1,
Price = d / 2,
Time = DateTime.UtcNow,
}).ToArray());
Statistics.CalcConvolution(res, 5);
}
}
}