70 lines
2.3 KiB
C#
70 lines
2.3 KiB
C#
using KLHZ.Trader.Core.Contracts.Messaging.Dtos;
|
|
using KLHZ.Trader.Core.Contracts.Messaging.Dtos.Interfaces;
|
|
using KLHZ.Trader.Core.Math.Declisions.Utils;
|
|
using System.Security.Cryptography;
|
|
|
|
namespace KLHZ.Trader.Core.Tests
|
|
{
|
|
public class SignalProcessingTests
|
|
{
|
|
[Test]
|
|
public static void Test()
|
|
{
|
|
var da = new List<decimal>();
|
|
var times = new List<DateTime>();
|
|
var startDt = DateTime.UtcNow;
|
|
for (int i = 0; i < 100; i++)
|
|
{
|
|
startDt = startDt.AddSeconds(((double)(RandomNumberGenerator.GetInt32(1, 100))) / 100);
|
|
times.Add(startDt);
|
|
da.Add((decimal)System.Math.Sin(0.01 * i) + (decimal)System.Math.Cos(0.01 * i));
|
|
}
|
|
|
|
var res = SignalProcessing.InterpolateData(times.ToArray(), da.ToArray(), TimeSpan.FromSeconds(5));
|
|
}
|
|
|
|
[Test]
|
|
public static void Test2()
|
|
{
|
|
var da = new List<decimal>();
|
|
for (int i = 0; i < 100; i++)
|
|
{
|
|
da.Add(i);
|
|
}
|
|
|
|
var res = SignalProcessing.CalcDiffs(da.ToArray());
|
|
|
|
Assert.IsTrue(res.Length - da.Count == -1);
|
|
foreach (var r in res)
|
|
{
|
|
Assert.IsTrue(r == 1);
|
|
}
|
|
}
|
|
|
|
[Test]
|
|
public static void Test3()
|
|
{
|
|
var results = new List<ITradeDataItem>();
|
|
var times = new List<DateTime>();
|
|
var startDt = DateTime.UtcNow;
|
|
for (int i = 0; i < 100; i++)
|
|
{
|
|
startDt = startDt.AddSeconds(((double)(RandomNumberGenerator.GetInt32(1, 100))) / 100);
|
|
var t = new TradeDataItem()
|
|
{
|
|
Figi = "",
|
|
Ticker = "",
|
|
Time = startDt,
|
|
Count = 1,
|
|
Direction = RandomNumberGenerator.GetInt32(1, 3),
|
|
IsHistoricalData = true,
|
|
Price = (decimal)System.Math.Sin(0.01 * i) + (decimal)System.Math.Cos(0.01 * i),
|
|
};
|
|
results.Add(t);
|
|
}
|
|
|
|
var res = SignalProcessing.InterpolateData(results.ToArray(), TimeSpan.FromSeconds(5));
|
|
}
|
|
}
|
|
}
|