Optimizations
This commit is contained in:
@@ -116,28 +116,6 @@ namespace MarketData.Generator.CMMomentum
|
||||
{
|
||||
if(null==sessionParams)return null;
|
||||
MarketData.Generator.CMMomentum.Positions combinedPositions=sessionParams.GetCombinedPositions();
|
||||
|
||||
// Fix purchase date/sell date fall on weekend
|
||||
//foreach(MarketData.Generator.CMMomentum.Position position in combinedPositions)
|
||||
//{
|
||||
// if(dateGenerator.IsWeekend(position.PurchaseDate))
|
||||
// {
|
||||
// while(true)
|
||||
// {
|
||||
// position.PurchaseDate=dateGenerator.GetPrevBusinessDay(position.PurchaseDate);
|
||||
// if(!HolidayDA.IsMarketHoliday(position.PurchaseDate)) break;
|
||||
// }
|
||||
// }
|
||||
// if(dateGenerator.IsWeekend(position.SellDate))
|
||||
// {
|
||||
// while(true)
|
||||
// {
|
||||
// position.SellDate=dateGenerator.GetNextBusinessDay(position.SellDate);
|
||||
// if(!HolidayDA.IsMarketHoliday(position.SellDate)) break;
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
// ********************************************************
|
||||
DateTime minDate=combinedPositions.Min(x => x.PurchaseDate);
|
||||
DateTime maxDate=PricingDA.GetLatestDate();
|
||||
double prevGainLoss=double.NaN;
|
||||
@@ -153,14 +131,14 @@ namespace MarketData.Generator.CMMomentum
|
||||
double gainLossClosedPositions=0.00;
|
||||
double exposure=0.00;
|
||||
double marketValue=0.00;
|
||||
if(HolidayDA.IsMarketHoliday(currentDate)) continue;
|
||||
// if(HolidayDA.IsMarketHoliday(currentDate)) continue;
|
||||
ModelPerformanceItem performanceItem=new ModelPerformanceItem();
|
||||
foreach(MarketData.Generator.CMMomentum.Position openPosition in openPositions)
|
||||
{
|
||||
exposure+=openPosition.Shares*openPosition.PurchasePrice;
|
||||
if(!LocalPriceCache.GetInstance().ContainsPrice(openPosition.Symbol,currentDate))
|
||||
{
|
||||
Prices prices=PricingDA.GetPricesForward(openPosition.Symbol,currentDate,90);
|
||||
Prices prices=PricingDA.GetPricesForward(openPosition.Symbol,currentDate,PricingDA.ForwardLookingDays);
|
||||
LocalPriceCache.GetInstance().Add(prices);
|
||||
}
|
||||
Price price=LocalPriceCache.GetInstance().GetPrice(openPosition.Symbol,currentDate);
|
||||
|
||||
@@ -122,28 +122,6 @@ namespace MarketData.Generator.CMTrend
|
||||
{
|
||||
if(null==sessionParams) return null;
|
||||
MarketData.Generator.CMTrend.Positions combinedPositions=sessionParams.GetCombinedPositions();
|
||||
|
||||
// Fix purchase date/sell date fall on weekend
|
||||
//foreach(MarketData.Generator.CMTrend.Position position in combinedPositions)
|
||||
//{
|
||||
// if(dateGenerator.IsWeekend(position.PurchaseDate))
|
||||
// {
|
||||
// while(true)
|
||||
// {
|
||||
// position.PurchaseDate=dateGenerator.GetPrevBusinessDay(position.PurchaseDate);
|
||||
// if(!HolidayDA.IsMarketHoliday(position.PurchaseDate)) break;
|
||||
// }
|
||||
// }
|
||||
// if(dateGenerator.IsWeekend(position.SellDate))
|
||||
// {
|
||||
// while(true)
|
||||
// {
|
||||
// position.SellDate=dateGenerator.GetNextBusinessDay(position.SellDate);
|
||||
// if(!HolidayDA.IsMarketHoliday(position.SellDate)) break;
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
// ********************************************************
|
||||
DateTime minDate=combinedPositions.Min(x => x.PurchaseDate);
|
||||
DateTime maxDate=PricingDA.GetLatestDate();
|
||||
double prevGainLoss=double.NaN;
|
||||
@@ -159,14 +137,14 @@ namespace MarketData.Generator.CMTrend
|
||||
double gainLossClosedPositions=0.00;
|
||||
double exposure=0.00;
|
||||
double marketValue=0.00;
|
||||
if(HolidayDA.IsMarketHoliday(currentDate)) continue;
|
||||
// if(HolidayDA.IsMarketHoliday(currentDate)) continue;
|
||||
ModelPerformanceItem performanceItem=new ModelPerformanceItem();
|
||||
foreach(MarketData.Generator.CMTrend.Position openPosition in openPositions)
|
||||
{
|
||||
exposure+=openPosition.Shares*openPosition.PurchasePrice;
|
||||
if(!LocalPriceCache.GetInstance().ContainsPrice(openPosition.Symbol,currentDate))
|
||||
{
|
||||
Prices prices=PricingDA.GetPricesForward(openPosition.Symbol,currentDate,90);
|
||||
Prices prices=PricingDA.GetPricesForward(openPosition.Symbol,currentDate,PricingDA.ForwardLookingDays);
|
||||
LocalPriceCache.GetInstance().Add(prices);
|
||||
}
|
||||
Price price=LocalPriceCache.GetInstance().GetPrice(openPosition.Symbol,currentDate);
|
||||
|
||||
@@ -6,7 +6,7 @@ using System.Runtime.InteropServices;
|
||||
using System.Diagnostics;
|
||||
using System.Threading;
|
||||
using System.Reflection;
|
||||
using System.Runtime.Remoting.Messaging;
|
||||
//using System.Runtime.Remoting.Messaging;
|
||||
using System.Text;
|
||||
using MarketData.MarketDataModel;
|
||||
using MarketData.DataAccess;
|
||||
|
||||
@@ -229,28 +229,6 @@ namespace MarketData.Generator.MGSHMomentum
|
||||
{
|
||||
if(null==sessionParams)return null;
|
||||
MGSHPositions combinedPositions=sessionParams.GetCombinedPositions();
|
||||
|
||||
// Fix purchase date/sell date fall on weekend
|
||||
//foreach(MGSHPosition position in combinedPositions)
|
||||
//{
|
||||
// if(dateGenerator.IsWeekend(position.PurchaseDate))
|
||||
// {
|
||||
// while(true)
|
||||
// {
|
||||
// position.PurchaseDate=dateGenerator.GetPrevBusinessDay(position.PurchaseDate);
|
||||
// if(!HolidayDA.IsMarketHoliday(position.PurchaseDate)) break;
|
||||
// }
|
||||
// }
|
||||
// if(dateGenerator.IsWeekend(position.SellDate))
|
||||
// {
|
||||
// while(true)
|
||||
// {
|
||||
// position.SellDate=dateGenerator.GetNextBusinessDay(position.SellDate);
|
||||
// if(!HolidayDA.IsMarketHoliday(position.SellDate)) break;
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
// ********************************************************
|
||||
DateTime minDate=combinedPositions.Min(x => x.PurchaseDate);
|
||||
DateTime maxDate=PricingDA.GetLatestDate();
|
||||
double prevGainLoss=double.NaN;
|
||||
@@ -266,14 +244,14 @@ namespace MarketData.Generator.MGSHMomentum
|
||||
double gainLossClosedPositions=0.00;
|
||||
double exposure=0.00;
|
||||
double marketValue=0.00;
|
||||
if(HolidayDA.IsMarketHoliday(currentDate)) continue;
|
||||
// if(HolidayDA.IsMarketHoliday(currentDate)) continue;
|
||||
ModelPerformanceItem performanceItem=new ModelPerformanceItem();
|
||||
foreach(MGSHPosition openPosition in openPositions)
|
||||
{
|
||||
exposure+=openPosition.Shares*openPosition.PurchasePrice;
|
||||
if(!LocalPriceCache.GetInstance().ContainsPrice(openPosition.Symbol,currentDate))
|
||||
{
|
||||
Prices prices=PricingDA.GetPricesForward(openPosition.Symbol,currentDate,90);
|
||||
Prices prices=PricingDA.GetPricesForward(openPosition.Symbol,currentDate,PricingDA.ForwardLookingDays);
|
||||
LocalPriceCache.GetInstance().Add(prices);
|
||||
}
|
||||
Price price=LocalPriceCache.GetInstance().GetPrice(openPosition.Symbol,currentDate);
|
||||
|
||||
@@ -107,27 +107,6 @@ namespace MarketData.Generator.Momentum
|
||||
if(null==sessionParams)return null;
|
||||
MarketData.Generator.Momentum.Positions combinedPositions=sessionParams.GetCombinedPositions();
|
||||
|
||||
// Fix purchase date/sell date fall on weekend
|
||||
//foreach(MarketData.Generator.Momentum.Position position in combinedPositions)
|
||||
//{
|
||||
// if(dateGenerator.IsWeekend(position.PurchaseDate))
|
||||
// {
|
||||
// while(true)
|
||||
// {
|
||||
// position.PurchaseDate=dateGenerator.GetPrevBusinessDay(position.PurchaseDate);
|
||||
// if(!HolidayDA.IsMarketHoliday(position.PurchaseDate)) break;
|
||||
// }
|
||||
// }
|
||||
// if(dateGenerator.IsWeekend(position.SellDate))
|
||||
// {
|
||||
// while(true)
|
||||
// {
|
||||
// position.SellDate=dateGenerator.GetNextBusinessDay(position.SellDate);
|
||||
// if(!HolidayDA.IsMarketHoliday(position.SellDate)) break;
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
// ********************************************************
|
||||
DateTime minDate=combinedPositions.Min(x => x.PurchaseDate);
|
||||
DateTime maxDate=PricingDA.GetLatestDate();
|
||||
double prevGainLoss=double.NaN;
|
||||
@@ -142,14 +121,14 @@ namespace MarketData.Generator.Momentum
|
||||
double gainLossClosedPositions=0.00;
|
||||
double exposure=0.00;
|
||||
double marketValue=0.00;
|
||||
if(HolidayDA.IsMarketHoliday(currentDate)) continue;
|
||||
// if(HolidayDA.IsMarketHoliday(currentDate)) continue;
|
||||
ModelPerformanceItem performanceItem=new ModelPerformanceItem();
|
||||
foreach(MarketData.Generator.Momentum.Position openPosition in openPositions)
|
||||
{
|
||||
exposure+=openPosition.Shares*openPosition.PurchasePrice;
|
||||
if(!LocalPriceCache.GetInstance().ContainsPrice(openPosition.Symbol,currentDate))
|
||||
{
|
||||
Prices prices=PricingDA.GetPricesForward(openPosition.Symbol,currentDate,90);
|
||||
Prices prices=PricingDA.GetPricesForward(openPosition.Symbol,currentDate,PricingDA.ForwardLookingDays);
|
||||
LocalPriceCache.GetInstance().Add(prices);
|
||||
}
|
||||
Price price=LocalPriceCache.GetInstance().GetPrice(openPosition.Symbol,currentDate);
|
||||
|
||||
@@ -6,7 +6,7 @@ using System.Runtime.InteropServices;
|
||||
using System.Diagnostics;
|
||||
using System.Threading;
|
||||
using System.Reflection;
|
||||
using System.Runtime.Remoting.Messaging;
|
||||
//using System.Runtime.Remoting.Messaging;
|
||||
using System.Text;
|
||||
using MarketData.MarketDataModel;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user