Changed for MGSH
This commit is contained in:
@@ -209,6 +209,87 @@ namespace TradeBlotter.UIUtils
|
||||
return sb.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
// **********************************************************************************************************************************
|
||||
// ********************************************************* M G S H Q U A N T U M M O M E N T U M ******************************************************
|
||||
// **********************************************************************************************************************************
|
||||
|
||||
public class MGSHMomentumPositionSumFunctionShares : AggregateFunction<MGSHPositionModel,String>
|
||||
{
|
||||
public MGSHMomentumPositionSumFunctionShares()
|
||||
{
|
||||
this.AggregationExpression = items => Sum(items);
|
||||
}
|
||||
private String Sum(IEnumerable<MGSHPositionModel> source)
|
||||
{
|
||||
double sum=(from MGSHPositionModel positionModel in source where Utility.IsEpoch(positionModel.SellDate) select positionModel.Shares).Sum();
|
||||
return Utility.FormatNumber(sum,3,false);
|
||||
}
|
||||
}
|
||||
public class MGSHMomentumPositionSumFunctionExposure : AggregateFunction<MGSHPositionModel,String>
|
||||
{
|
||||
public MGSHMomentumPositionSumFunctionExposure()
|
||||
{
|
||||
this.AggregationExpression = items => Sum(items);
|
||||
}
|
||||
private String Sum(IEnumerable<MGSHPositionModel> source)
|
||||
{
|
||||
double exposure=(from MGSHPositionModel positionModel in source where Utility.IsEpoch(positionModel.SellDate) select positionModel.Exposure).Sum();
|
||||
return Utility.FormatCurrency(exposure);
|
||||
}
|
||||
}
|
||||
public class MGSHMomentumPositionSumFunctionMarketValue : AggregateFunction<MGSHPositionModel,String>
|
||||
{
|
||||
public MGSHMomentumPositionSumFunctionMarketValue()
|
||||
{
|
||||
this.AggregationExpression = items => Sum(items);
|
||||
}
|
||||
private String Sum(IEnumerable<MGSHPositionModel> source)
|
||||
{
|
||||
double marketValue=(from MGSHPositionModel positionModel in source where Utility.IsEpoch(positionModel.SellDate) select positionModel.MarketValue).Sum();
|
||||
return Utility.FormatCurrency(marketValue);
|
||||
}
|
||||
}
|
||||
public class MGSHMomentumPositionSumFunctionGainLoss : AggregateFunction<MGSHPositionModel,String>
|
||||
{
|
||||
public MGSHMomentumPositionSumFunctionGainLoss()
|
||||
{
|
||||
this.AggregationExpression = items => Sum(items);
|
||||
}
|
||||
private String Sum(IEnumerable<MGSHPositionModel> source)
|
||||
{
|
||||
StringBuilder sb=new StringBuilder();
|
||||
double sum=(from MGSHPositionModel positionModel in source select positionModel.GainLoss).Sum();
|
||||
sb.Append("Total:").Append(Utility.FormatCurrency(sum)).Append("\n");
|
||||
sum=(from MGSHPositionModel positionModel in source where Utility.IsEpoch(positionModel.SellDate) select positionModel.GainLoss).Sum();
|
||||
sb.Append("Active:").Append(Utility.FormatCurrency(sum));
|
||||
return sb.ToString();
|
||||
}
|
||||
}
|
||||
public class MGSHMomentumPositionSumFunctionGainLossPcnt : AggregateFunction<MGSHPositionModel,String>
|
||||
{
|
||||
public MGSHMomentumPositionSumFunctionGainLossPcnt()
|
||||
{
|
||||
this.AggregationExpression = items => Sum(items);
|
||||
}
|
||||
private String Sum(IEnumerable<MGSHPositionModel> source)
|
||||
{
|
||||
StringBuilder sb=new StringBuilder();
|
||||
double marketValue=0.00;
|
||||
double exposure=0.00;
|
||||
double gainLossPcnt=0.00;
|
||||
|
||||
double cumulativeReturn=ModelPerformanceAggregator.CalculateCumulativeReturn(source);
|
||||
sb.Append("Total:").Append(Utility.FormatPercent(cumulativeReturn,2)).Append("\n");
|
||||
|
||||
marketValue=(from MGSHPositionModel positionModel in source where Utility.IsEpoch(positionModel.SellDate) select positionModel.MarketValue).Sum();
|
||||
exposure=(from MGSHPositionModel positionModel in source where Utility.IsEpoch(positionModel.SellDate) select positionModel.Exposure).Sum();
|
||||
if(0.00!=exposure)gainLossPcnt=(marketValue-exposure)/exposure;
|
||||
sb.Append("Active:").Append(Utility.FormatPercent(gainLossPcnt,2));
|
||||
return sb.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
// **********************************************************************************************************************************
|
||||
// ********************************************************* C M M O M E N T U M ******************************************************
|
||||
// **********************************************************************************************************************************
|
||||
|
||||
Reference in New Issue
Block a user