Files
Sean 2882559651 Fix GetMonthlyPrices in Prices. It was not correctly returning monthly prices.
This was causing an issue in the SharpeRatioGenerator whereby the SharpeRatio was not being calculated correctly where the asof date would
fall on a weekend of holiday.
Also, added a ReasonCategory to the CMCanidate as well as a Violation summary line in the model output to show where violations occur.
Had I implemented this previously I might have detected the SharpeRatio issue sooner.
Also added GetFundamentalMaxDateTop in the FundamentalDA which I used during debugging but is not currently being used anywhere.
2025-02-02 14:59:14 -05:00

41 lines
1.1 KiB
C#

using System;
using System.Collections.Generic;
namespace MarketData.Generator.CMMomentum
{
public class CMCandidates : List<CMCandidate>
{
public CMCandidates()
{
}
public CMCandidates(List<CMCandidate> cmCandidates)
{
foreach (CMCandidate cmCandidate in cmCandidates) Add(cmCandidate);
}
}
public class CMCandidate
{
public CMCandidate()
{
Violation = false;
}
public String Symbol { get; set; }
public DateTime AnalysisDate { get; set; }
public DateTime TradeDate { get; set; }
public int DayCount { get; set; }
public double Slope { get; set; }
public double AnnualizedReturn { get; set; }
public double Score { get; set; }
public double RSquared { get; set; }
public double Beta { get; set; }
public int BetaMonths { get; set; }
public double SharpeRatio { get; set; }
public long Volume { get; set; }
public bool Violation { get; set; }
public String Reason { get; set; }
public String ReasonCategory { get; set; }
public bool CNNPrediction{get;set;}
}
}