Files
Finlytic/FinlyticSimulation/Database/Entities/SimulationStrategyMatrixEntity.cs

45 lines
1.2 KiB
C#

using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace FinlyticSimulation.Database.Entities;
[Table("simulation_strategy_matrix")]
public class SimulationStrategyMatrixEntity
{
[Required]
[MaxLength(20)]
public string Isin { get; set; } = string.Empty;
[Required]
[MaxLength(50)]
public string StrategyKey { get; set; } = string.Empty;
[Required]
[MaxLength(10)]
public string Timeframe { get; set; } = "15m";
public int SampleTradesCount { get; set; }
[Column(TypeName = "decimal(6,2)")]
public decimal WinRatePercent { get; set; }
[Column(TypeName = "decimal(8,4)")]
public decimal ProfitFactor { get; set; }
[Column(TypeName = "decimal(6,2)")]
public decimal MaxDrawdownPercent { get; set; }
[Column(TypeName = "decimal(5,2)")]
public decimal ReliabilityScore { get; set; } // 0 - 100
public bool IsApproved { get; set; } = true;
[MaxLength(30)]
public string RecommendedAction { get; set; } = "NEUTRAL"; // "BOOST_SCORE", "NEUTRAL", "VETO_DISABLE"
public Guid? LastBacktestRunId { get; set; }
public DateTime UpdatedAtUtc { get; set; } = DateTime.UtcNow;
}