[Quantproject-developers] QuantProject/b7_Scripts/WalkForwardTesting/PairsTrading PairsTradingMain
Brought to you by:
glauco_1
|
From: Glauco S. <gla...@us...> - 2008-04-13 17:01:33
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/PairsTrading In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv5363/b7_Scripts/WalkForwardTesting/PairsTrading Modified Files: PairsTradingMain.cs Log Message: Changed to reflect the new abstract methods arranged in BasicScriptForBacktesting Index: PairsTradingMain.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/PairsTrading/PairsTradingMain.cs,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** PairsTradingMain.cs 10 Apr 2008 23:18:23 -0000 1.9 --- PairsTradingMain.cs 13 Apr 2008 17:01:28 -0000 1.10 *************** *** 29,32 **** --- 29,33 ---- using QuantProject.Business.Strategies.Eligibles; using QuantProject.Business.Strategies.EquityEvaluation; + using QuantProject.Business.Strategies.InSample; using QuantProject.Business.Strategies.Logging; using QuantProject.Business.Strategies.Optimizing.Decoding; *************** *** 74,78 **** } ! protected override void setEligiblesSelector() { int maxNumberOfEligiblesToBeChosen = 100; --- 75,79 ---- } ! protected override IEligiblesSelector getEligiblesSelector() { int maxNumberOfEligiblesToBeChosen = 100; *************** *** 82,100 **** // tickersGroupId = "fastTest"; ! this.eligiblesSelector = new MostLiquidAndLessVolatile( tickersGroupId , maxNumberOfEligiblesToBeChosen ); ! this.eligiblesSelector = new ByPriceMostLiquidAlwaysQuoted( tickersGroupId , true , maxNumberOfEligiblesToBeChosen , ! 10 , 30 , 99999 ); } ! protected override void setInSampleChooser() { ! int numberOfBestTestingPositionsToBeReturned = 10; IDecoderForTestingPositions decoderForWeightedPositions = --- 83,102 ---- // tickersGroupId = "fastTest"; ! IEligiblesSelector eligiblesSelector = new MostLiquidAndLessVolatile( tickersGroupId , maxNumberOfEligiblesToBeChosen ); ! eligiblesSelector = new ByPriceMostLiquidAlwaysQuoted( tickersGroupId , true , maxNumberOfEligiblesToBeChosen , ! 10 , 20 , 75 ); ! return eligiblesSelector; } ! protected override IInSampleChooser getInSampleChooser() { ! int numberOfBestTestingPositionsToBeReturned = 50; IDecoderForTestingPositions decoderForWeightedPositions = *************** *** 113,117 **** int seedForRandomGenerator = QuantProject.ADT.ConstantsProvider.SeedForRandomGenerator; ! this.inSampleChooser = new PairsTradingGeneticChooser( numberOfBestTestingPositionsToBeReturned , --- 115,119 ---- int seedForRandomGenerator = QuantProject.ADT.ConstantsProvider.SeedForRandomGenerator; ! IInSampleChooser inSampleChooser = new PairsTradingGeneticChooser( numberOfBestTestingPositionsToBeReturned , *************** *** 124,135 **** seedForRandomGenerator ); ! this.inSampleChooser = new PairsTradingBruteForceChooser( numberOfBestTestingPositionsToBeReturned , decoderForWeightedPositions , fitnessEvaluator ); } ! protected override void setEndOfDayStrategy() { int inSampleDays = 180; --- 126,138 ---- seedForRandomGenerator ); ! inSampleChooser = new PairsTradingBruteForceChooser( numberOfBestTestingPositionsToBeReturned , decoderForWeightedPositions , fitnessEvaluator ); + return inSampleChooser; } ! protected override IEndOfDayStrategyForBacktester getEndOfDayStrategy() { int inSampleDays = 180; *************** *** 140,144 **** new OddIntervalsSelector( 1 , 1 , this.benchmark ); ! this.endOfDayStrategy = new PairsTradingStrategy( 7 , inSampleDays , intervalsSelector , --- 143,147 ---- new OddIntervalsSelector( 1 , 1 , this.benchmark ); ! IEndOfDayStrategyForBacktester endOfDayStrategyForBacktester = new PairsTradingStrategy( 7 , inSampleDays , intervalsSelector , *************** *** 146,152 **** this.historicalQuoteProviderForInSample , this.historicalQuoteProviderForChosingPositionsOutOfSample , ! 0.005 , 0.99 , 0.005 , 0.99 ); } ! protected override void setEndOfDayStrategyBackTester() { string backTestId = "PairsTrading"; --- 149,157 ---- this.historicalQuoteProviderForInSample , this.historicalQuoteProviderForChosingPositionsOutOfSample , ! 0.006 , 0.99 , 0.006 , 0.99 ); ! return endOfDayStrategyForBacktester; } ! protected override EndOfDayStrategyBackTester ! getEndOfDayStrategyBackTester() { string backTestId = "PairsTrading"; *************** *** 156,162 **** DateTime firstDateTime = new DateTime( 2001 , 1 , 1 ); DateTime lastDateTime = new DateTime( 2004 , 12 , 31 ); ! double maxRunningHours = 8; ! this.endOfDayStrategyBackTester = new EndOfDayStrategyBackTester( backTestId , this.endOfDayStrategy , --- 161,167 ---- DateTime firstDateTime = new DateTime( 2001 , 1 , 1 ); DateTime lastDateTime = new DateTime( 2004 , 12 , 31 ); ! double maxRunningHours = 0.7; ! EndOfDayStrategyBackTester endOfDayStrategyBackTester = new EndOfDayStrategyBackTester( backTestId , this.endOfDayStrategy , *************** *** 165,168 **** --- 170,174 ---- firstDateTime , lastDateTime , this.benchmark , cashToStart , maxRunningHours ); + return endOfDayStrategyBackTester; } |