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.
of the usage has no impact on the issue with the generator because the usage was only using the first index in the
exponential moving average which always amounts to just the value of the simple moving average. (i.e.) smoothing does
not occur on the first index, only subsequent indices are smoothed.