49 lines
1.3 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|