[Quantproject-developers] QuantProject/b7_Scripts/WalkForwardTesting/LinearRegression/EntryStrategi
Brought to you by:
glauco_1
|
From: Glauco S. <gla...@us...> - 2011-09-22 19:45:46
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/LinearRegression/EntryStrategies
In directory vz-cvs-3.sog:/tmp/cvs-serv21574/WalkForwardTesting/LinearRegression/EntryStrategies
Modified Files:
EntryStrategyBasedOnForecastedReturn.cs
Log Message:
code has been refactored and a new virtual method tryThisCandidate() has been defined, such that it can be overridden by derived entry strategies
Index: EntryStrategyBasedOnForecastedReturn.cs
===================================================================
RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/LinearRegression/EntryStrategies/EntryStrategyBasedOnForecastedReturn.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** EntryStrategyBasedOnForecastedReturn.cs 3 Aug 2011 22:30:32 -0000 1.2
--- EntryStrategyBasedOnForecastedReturn.cs 22 Sep 2011 19:45:44 -0000 1.3
***************
*** 37,41 ****
public class EntryStrategyBasedOnForecastedReturn : IEntryStrategy
{
! private double minAverageExpectedReturn;
private ILinearRegressionFitnessEvaluator fitnessEvaluator;
private IReturnIntervalSelectorForSignaling returnIntervalSelectorForSignaling;
--- 37,41 ----
public class EntryStrategyBasedOnForecastedReturn : IEntryStrategy
{
! protected double minAverageExpectedReturn;
private ILinearRegressionFitnessEvaluator fitnessEvaluator;
private IReturnIntervalSelectorForSignaling returnIntervalSelectorForSignaling;
***************
*** 85,90 ****
( this.historicalMarketValueProvider.WereAllExchanged(
candidate.SignalingTickers , outOfSampleReturnIntervalForSignaling.Begin )
! && this.historicalMarketValueProvider.WereAllExchanged(
! candidate.SignalingTickers , outOfSampleReturnIntervalForSignaling.End ) );
return wereExchanged;
}
--- 85,90 ----
( this.historicalMarketValueProvider.WereAllExchanged(
candidate.SignalingTickers , outOfSampleReturnIntervalForSignaling.Begin )
! && this.historicalMarketValueProvider.WereAllExchanged(
! candidate.SignalingTickers , outOfSampleReturnIntervalForSignaling.End ) );
return wereExchanged;
}
***************
*** 137,140 ****
--- 137,149 ----
#endregion computeForecastedReturn
+ protected virtual WeightedPositions tryThisCandidate(
+ LinearRegressionTestingPositions candidate , double expectedReturn )
+ {
+ WeightedPositions weightedPositionsToBeOpened = null;
+ if ( expectedReturn >= this.minAverageExpectedReturn )
+ weightedPositionsToBeOpened = candidate.WeightedPositions;
+ return weightedPositionsToBeOpened;
+ }
+
private WeightedPositions tryThisCandidate(
LinearRegressionTestingPositions candidate ,
***************
*** 147,152 ****
double expectedReturn = this.computeForecastedReturn(
candidate , outOfSampleReturnIntervalForSignaling );
! if ( expectedReturn >= this.minAverageExpectedReturn )
! weightedPositionsToBeOpened = candidate.WeightedPositions;
}
return weightedPositionsToBeOpened;
--- 156,162 ----
double expectedReturn = this.computeForecastedReturn(
candidate , outOfSampleReturnIntervalForSignaling );
! weightedPositionsToBeOpened = this.tryThisCandidate( candidate , expectedReturn );
! // if ( expectedReturn >= this.minAverageExpectedReturn )
! // weightedPositionsToBeOpened = candidate.WeightedPositions;
}
return weightedPositionsToBeOpened;
|