feat(simulation): add quant simulation microservice with virtual backtest broker and replay engine
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using FinlyticCore.Dtos.Simulation;
|
||||
|
||||
namespace FinlyticSimulation.Services;
|
||||
|
||||
public interface IQuantSimulationEngine
|
||||
{
|
||||
Task<BacktestReportDto> RunBacktestAsync(BacktestRequestDto request, CancellationToken cancellationToken = default);
|
||||
Task<StrategyAssetReliabilityDto?> GetStrategyReliabilityAsync(string isin, string strategyKey, string timeframe = "15m", CancellationToken cancellationToken = default);
|
||||
Task<List<StrategyAssetReliabilityDto>> GetMatrixForAssetAsync(string isin, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>Lightweight, paginated history of past backtest runs for an ISIN (see <see cref="BacktestHistoryEntryDto"/>).</summary>
|
||||
Task<List<BacktestHistoryEntryDto>> GetBacktestHistoryAsync(GetBacktestHistoryRequest request, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>Full, already-persisted report for one past run, or <see langword="null"/> if the RunId doesn't exist.</summary>
|
||||
Task<BacktestReportDto?> GetBacktestRunDetailAsync(Guid runId, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>Saved parameter profile for one (Isin, StrategyKey) pair, or <see langword="null"/> if none was ever saved.</summary>
|
||||
Task<StrategyParameterProfileDto?> GetStrategyParametersAsync(string isin, string strategyKey, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>Upserts a saved parameter profile for one (Isin, StrategyKey) pair.</summary>
|
||||
Task<StrategyParameterProfileDto> SaveStrategyParametersAsync(string isin, string strategyKey, Dictionary<string, decimal> parameters, CancellationToken cancellationToken = default);
|
||||
}
|
||||
Reference in New Issue
Block a user