feat(Core): update DTOs and shared models
This commit is contained in:
@@ -0,0 +1,101 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace FinlyticCore.Models.Analyzer;
|
||||
|
||||
public class TargetAssetInfo
|
||||
{
|
||||
public string Symbol { get; set; } = string.Empty; // e.g. "AAPL"
|
||||
public string Name { get; set; } = string.Empty; // e.g. "Apple Inc."
|
||||
public string Isin { get; set; } = string.Empty;
|
||||
public string Sector { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
public class MarketContextInfo
|
||||
{
|
||||
public decimal Vix { get; set; }
|
||||
public string MarketRegime { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
public class FilterContextInfo
|
||||
{
|
||||
public double ImpactScore { get; set; }
|
||||
public string RawNewsHeadline { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
public class UserPreferencesInfo
|
||||
{
|
||||
public int RiskScore { get; set; } = 50; // 0 to 100
|
||||
public string RiskTolerance { get; set; } = "Balanced";
|
||||
public int MinTimeframeValue { get; set; } = 1;
|
||||
public int MaxTimeframeValue { get; set; } = 7;
|
||||
public string TimeframeUnit { get; set; } = "Tage"; // "Stunden", "Tage", "Wochen", "Monate"
|
||||
public string TimeframeFormatted { get; set; } = "1-7 Tage";
|
||||
public string InstrumentType { get; set; } = "Stock"; // "Stock", "KnockOut", "Option", "CFD", "Future"
|
||||
public string UserNotes { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
public class TradeFeedbackInfo
|
||||
{
|
||||
public int TotalAssetTrades { get; set; }
|
||||
public double AssetWinRate { get; set; }
|
||||
public double AvgReturnPercent { get; set; }
|
||||
public string LastTradeResult { get; set; } = "NONE"; // "WIN", "LOSS", "NONE"
|
||||
}
|
||||
|
||||
public class PatternContextInfo
|
||||
{
|
||||
public string PatternName { get; set; } = string.Empty;
|
||||
public string? BreakoutDirection { get; set; }
|
||||
public double? TargetPrice { get; set; }
|
||||
public double? PotentialPercent { get; set; }
|
||||
}
|
||||
|
||||
public class TechnicalContextInfo
|
||||
{
|
||||
public string Rsi { get; set; } = "N/A";
|
||||
public string SupertrendStatus { get; set; } = "N/A";
|
||||
public string Atr { get; set; } = "N/A";
|
||||
public double? Sma50 { get; set; }
|
||||
public double? Sma200 { get; set; }
|
||||
public List<PatternContextInfo> DetectedPatterns { get; set; } = new();
|
||||
}
|
||||
|
||||
public class SentimentContextInfo
|
||||
{
|
||||
public double AssetSentimentScore { get; set; }
|
||||
public double SectorSentimentScore { get; set; }
|
||||
public string NewsSentimentSummary { get; set; } = "Neutral";
|
||||
}
|
||||
|
||||
public class FundamentalContextInfo
|
||||
{
|
||||
public double? PeRatio { get; set; }
|
||||
public double? ForwardPeRatio { get; set; }
|
||||
public double? PegRatio { get; set; }
|
||||
public double? MarketCap { get; set; }
|
||||
public double? DebtToEquity { get; set; }
|
||||
public double? GrossMargin { get; set; }
|
||||
public double? NetProfitMargin { get; set; }
|
||||
public double? ReturnOnEquity { get; set; }
|
||||
public double? DividendYield { get; set; }
|
||||
public double? ShortPercentOfFloat { get; set; }
|
||||
public double? AnalystTargetMedian { get; set; }
|
||||
public double? EvToEbitda { get; set; }
|
||||
}
|
||||
|
||||
public class N8nAnalysisRequestDto
|
||||
{
|
||||
public string RequestId { get; set; } = string.Empty;
|
||||
public DateTime Timestamp { get; set; } = DateTime.UtcNow;
|
||||
public string TriggerType { get; set; } = "AutomatedNews"; // "Manual" | "AutomatedNews"
|
||||
|
||||
public TargetAssetInfo TargetAsset { get; set; } = new();
|
||||
public MarketContextInfo MarketContext { get; set; } = new();
|
||||
public FilterContextInfo FilterContext { get; set; } = new();
|
||||
public UserPreferencesInfo UserPreferences { get; set; } = new();
|
||||
public TradeFeedbackInfo TradeFeedback { get; set; } = new();
|
||||
public TechnicalContextInfo TechnicalContext { get; set; } = new();
|
||||
public SentimentContextInfo SentimentContext { get; set; } = new();
|
||||
public FundamentalContextInfo FundamentalContext { get; set; } = new();
|
||||
}
|
||||
Reference in New Issue
Block a user