feat(engine): add FinlyticEngine microservice with trade lifecycle, AI reasoning gate, composite scoring, and unit tests
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using FinlyticCore.Dtos.Fundamentals;
|
||||
using FinlyticCore.Dtos.Sentiment;
|
||||
using FinlyticCore.Dtos.TechnicalAnalysis;
|
||||
|
||||
namespace FinlyticEngine.Services.Scoring;
|
||||
|
||||
public record ScoringResult(
|
||||
decimal CompositeScore,
|
||||
decimal TechnicalScore,
|
||||
decimal SentimentScore,
|
||||
decimal FundamentalScore,
|
||||
bool PassedEarningsLockout,
|
||||
int? DaysToNextEarnings,
|
||||
decimal ReliabilityBonus = 0m,
|
||||
bool PassedSimulationVeto = true,
|
||||
bool PassedDividendGate = true,
|
||||
int? DaysToNextExDividend = null
|
||||
);
|
||||
|
||||
public interface ICompositeOpportunityScorer
|
||||
{
|
||||
Task<ScoringResult> CalculateCompositeScoreAsync(
|
||||
StrategyResultDto setup,
|
||||
IsinSentimentSummaryDto? sentiment,
|
||||
AssetFundamentalsDto? fundamentals,
|
||||
FinlyticCore.Dtos.Simulation.StrategyAssetReliabilityDto? reliability = null,
|
||||
CancellationToken cancellationToken = default);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user