72 lines
2.1 KiB
C#
72 lines
2.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace FinlyticCore.Models.Analyzer;
|
|
|
|
public class AssetRecommendationDto
|
|
{
|
|
[JsonPropertyName("mode")]
|
|
public string Mode { get; set; } = "AUTO_SCREENER";
|
|
|
|
[JsonPropertyName("timestamp")]
|
|
public DateTime Timestamp { get; set; } = DateTime.UtcNow;
|
|
|
|
[JsonPropertyName("recommended_asset")]
|
|
public RecommendedAssetInfo RecommendedAsset { get; set; } = new();
|
|
|
|
[JsonPropertyName("rationale")]
|
|
public RecommendationRationaleInfo Rationale { get; set; } = new();
|
|
|
|
[JsonPropertyName("action_required")]
|
|
public string ActionRequired { get; set; } = "PROMPT_USER_FOR_MANUAL_TRADE"; // "PROMPT_USER_FOR_MANUAL_TRADE" | "NO_ACTION"
|
|
}
|
|
|
|
public class RecommendedAssetInfo
|
|
{
|
|
[JsonPropertyName("symbol")]
|
|
public string Symbol { get; set; } = string.Empty;
|
|
|
|
[JsonPropertyName("company_name")]
|
|
public string CompanyName { get; set; } = string.Empty;
|
|
|
|
[JsonPropertyName("isin")]
|
|
public string Isin { get; set; } = string.Empty;
|
|
|
|
[JsonPropertyName("market")]
|
|
public string Market { get; set; } = "US_EQUITIES";
|
|
|
|
[JsonPropertyName("bias")]
|
|
public string Bias { get; set; } = "BULLISH"; // "BULLISH" | "BEARISH" | "NEUTRAL"
|
|
|
|
[JsonPropertyName("confidence_score")]
|
|
public double ConfidenceScore { get; set; }
|
|
|
|
[JsonPropertyName("timeframe")]
|
|
public string Timeframe { get; set; } = "1D";
|
|
}
|
|
|
|
public class RecommendationRationaleInfo
|
|
{
|
|
[JsonPropertyName("pattern_detected")]
|
|
public string PatternDetected { get; set; } = string.Empty;
|
|
|
|
[JsonPropertyName("vix_context")]
|
|
public string VixContext { get; set; } = string.Empty;
|
|
|
|
[JsonPropertyName("key_technical_levels")]
|
|
public KeyTechnicalLevelsInfo KeyTechnicalLevels { get; set; } = new();
|
|
|
|
[JsonPropertyName("summary")]
|
|
public string Summary { get; set; } = string.Empty;
|
|
}
|
|
|
|
public class KeyTechnicalLevelsInfo
|
|
{
|
|
[JsonPropertyName("support")]
|
|
public List<double> Support { get; set; } = new();
|
|
|
|
[JsonPropertyName("resistance")]
|
|
public List<double> Resistance { get; set; } = new();
|
|
}
|