[Quantproject-developers] QuantProject/b7_Scripts/TickerSelectionTesting EndOfDayTimerHandler.cs,
Brought to you by:
glauco_1
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/TickerSelectionTesting In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv18649/b7_Scripts/TickerSelectionTesting Modified Files: EndOfDayTimerHandler.cs EndOfDayTimerHandlerCTC.cs EndOfDayTimerHandlerCTCWeekly.cs EndOfDayTimerHandlerCTO.cs EndOfDayTimerHandlerCTO_WorstAtDay.cs EndOfDayTimerHandlerLastChosenPortfolio.cs EndOfDayTimerHandlerOTC.cs EndOfDayTimerHandlerOTC_WorstAtNight.cs EndOfDayTimerHandlerOTCCTO.cs EndOfDayTimerHandlerOTCMultiAccount.cs EndOfDayTimerHandlerOTCMultiday.cs Log Message: Handlers have been updated (minor changes) Index: EndOfDayTimerHandler.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/TickerSelectionTesting/EndOfDayTimerHandler.cs,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** EndOfDayTimerHandler.cs 29 Aug 2007 09:47:09 -0000 1.25 --- EndOfDayTimerHandler.cs 14 Jan 2008 23:32:30 -0000 1.26 *************** *** 37,41 **** /// </summary> [Serializable] ! public class EndOfDayTimerHandler { protected DataTable eligibleTickers; --- 37,41 ---- /// </summary> [Serializable] ! public abstract class EndOfDayTimerHandler { protected DataTable eligibleTickers; *************** *** 233,238 **** //add cash first if(this.account.Transactions.Count == 0) ! this.account.AddCash(15000); ! AccountManager.OpenPositions(this.chosenWeightedPositions, this.account); } --- 233,239 ---- //add cash first if(this.account.Transactions.Count == 0) ! this.account.AddCash(15000); ! if(this.chosenWeightedPositions != null) ! AccountManager.OpenPositions(this.chosenWeightedPositions, this.account); } *************** *** 247,265 **** } ! public virtual void MarketOpenEventHandler( Object sender , EndOfDayTimingEventArgs endOfDayTimingEventArgs ) ! { ! ; ! } ! public virtual void MarketCloseEventHandler( Object sender , EndOfDayTimingEventArgs endOfDayTimingEventArgs ) ! { ! ; ! } ! public virtual void OneHourAfterMarketCloseEventHandler( Object sender , EndOfDayTimingEventArgs endOfDayTimingEventArgs ) - { ; - } } } --- 248,260 ---- } ! public abstract void MarketOpenEventHandler( Object sender , EndOfDayTimingEventArgs endOfDayTimingEventArgs ) ! ; ! public abstract void MarketCloseEventHandler( Object sender , EndOfDayTimingEventArgs endOfDayTimingEventArgs ) ! ; ! public abstract void OneHourAfterMarketCloseEventHandler( Object sender , EndOfDayTimingEventArgs endOfDayTimingEventArgs ) ; } } Index: EndOfDayTimerHandlerLastChosenPortfolio.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/TickerSelectionTesting/EndOfDayTimerHandlerLastChosenPortfolio.cs,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** EndOfDayTimerHandlerLastChosenPortfolio.cs 29 Aug 2007 09:43:32 -0000 1.4 --- EndOfDayTimerHandlerLastChosenPortfolio.cs 14 Jan 2008 23:32:31 -0000 1.5 *************** *** 86,89 **** --- 86,94 ---- } + public override void OneHourAfterMarketCloseEventHandler( + Object sender , EndOfDayTimingEventArgs endOfDayTimingEventArgs ) + { + ; + } } Index: EndOfDayTimerHandlerOTCCTO.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/TickerSelectionTesting/EndOfDayTimerHandlerOTCCTO.cs,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** EndOfDayTimerHandlerOTCCTO.cs 29 Aug 2007 09:43:33 -0000 1.7 --- EndOfDayTimerHandlerOTCCTO.cs 14 Jan 2008 23:32:31 -0000 1.8 *************** *** 145,149 **** this.numberOfTickersToBeChosen, this.targetReturn, ! this.portfolioType); GeneticOptimizer GO = new GeneticOptimizer(genManEfficientOTCCTOPortfolio, --- 145,150 ---- this.numberOfTickersToBeChosen, this.targetReturn, ! this.portfolioType, ! this.benchmark); GeneticOptimizer GO = new GeneticOptimizer(genManEfficientOTCCTOPortfolio, Index: EndOfDayTimerHandlerCTO_WorstAtDay.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/TickerSelectionTesting/EndOfDayTimerHandlerCTO_WorstAtDay.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** EndOfDayTimerHandlerCTO_WorstAtDay.cs 29 Aug 2007 09:43:32 -0000 1.2 --- EndOfDayTimerHandlerCTO_WorstAtDay.cs 14 Jan 2008 23:32:31 -0000 1.3 *************** *** 185,189 **** this.numberOfTickersToBeChosen, this.targetReturn, ! this.portfolioType); GeneticOptimizer GO = new GeneticOptimizer(genManEfficientCTOPortfolio, --- 185,190 ---- this.numberOfTickersToBeChosen, this.targetReturn, ! this.portfolioType, ! this.benchmark); GeneticOptimizer GO = new GeneticOptimizer(genManEfficientCTOPortfolio, Index: EndOfDayTimerHandlerOTCMultiday.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/TickerSelectionTesting/EndOfDayTimerHandlerOTCMultiday.cs,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** EndOfDayTimerHandlerOTCMultiday.cs 29 Aug 2007 09:43:33 -0000 1.8 --- EndOfDayTimerHandlerOTCMultiday.cs 14 Jan 2008 23:32:32 -0000 1.9 *************** *** 128,132 **** this.numberOfTickersToBeChosen, this.targetReturn, ! this.portfolioType); GeneticOptimizer GO = new GeneticOptimizer(genManEfficientOTCPortfolio, --- 128,133 ---- this.numberOfTickersToBeChosen, this.targetReturn, ! this.portfolioType, ! this.benchmark); GeneticOptimizer GO = new GeneticOptimizer(genManEfficientOTCPortfolio, Index: EndOfDayTimerHandlerOTC.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/TickerSelectionTesting/EndOfDayTimerHandlerOTC.cs,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** EndOfDayTimerHandlerOTC.cs 29 Aug 2007 09:43:32 -0000 1.6 --- EndOfDayTimerHandlerOTC.cs 14 Jan 2008 23:32:31 -0000 1.7 *************** *** 135,145 **** // this.numberOfTickersToBeChosen, // this.targetReturn, ! // this.portfolioType); new GenomeManagerForEfficientOTCCTOPortfolio(setOfTickersToBeOptimized, currentDate.AddDays(-this.numDaysForOptimizationPeriod), ! currentDate, this.numberOfTickersToBeChosen, ! this.targetReturn, ! this.portfolioType); GeneticOptimizer GO = new GeneticOptimizer(genManEfficientOTCPortfolio, --- 135,146 ---- // this.numberOfTickersToBeChosen, // this.targetReturn, ! // this.portfolioType, ! // this.benchmark); new GenomeManagerForEfficientOTCCTOPortfolio(setOfTickersToBeOptimized, currentDate.AddDays(-this.numDaysForOptimizationPeriod), ! currentDate, this.numberOfTickersToBeChosen, ! this.targetReturn, ! this.portfolioType, this.benchmark); GeneticOptimizer GO = new GeneticOptimizer(genManEfficientOTCPortfolio, *************** *** 149,157 **** if(setGenomeCounter) this.genomeCounter = new GenomeCounter(GO); ! GO.CrossoverRate = 0.0; ! GO.MutationRate = 0.70; GO.Run(false); ! this.addGenomeToBestGenomes(GO.BestGenome,currentDate.AddDays(-this.numDaysForOptimizationPeriod), ! currentDate, setOfTickersToBeOptimized.Rows.Count); this.chosenWeightedPositions = new WeightedPositions( ((GenomeMeaning)GO.BestGenome.Meaning).TickersPortfolioWeights, new SignedTickers( ((GenomeMeaning)GO.BestGenome.Meaning).Tickers) ); --- 150,164 ---- if(setGenomeCounter) this.genomeCounter = new GenomeCounter(GO); ! GO.CrossoverRate = 0.85; ! GO.MutationRate = 0.10; GO.Run(false); ! this.addGenomeToBestGenomes( ! GO.BestGenome, ! currentDate.AddDays(-this.numDaysForOptimizationPeriod), ! currentDate, ! setOfTickersToBeOptimized.Rows.Count, ! -1, ! this.portfolioType, ! GO.GenerationCounter); this.chosenWeightedPositions = new WeightedPositions( ((GenomeMeaning)GO.BestGenome.Meaning).TickersPortfolioWeights, new SignedTickers( ((GenomeMeaning)GO.BestGenome.Meaning).Tickers) ); Index: EndOfDayTimerHandlerOTCMultiAccount.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/TickerSelectionTesting/EndOfDayTimerHandlerOTCMultiAccount.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** EndOfDayTimerHandlerOTCMultiAccount.cs 29 Aug 2007 09:43:33 -0000 1.3 --- EndOfDayTimerHandlerOTCMultiAccount.cs 14 Jan 2008 23:32:32 -0000 1.4 *************** *** 166,170 **** this.numberOfTickersToBeChosen, this.targetReturn, ! this.portfolioType); GeneticOptimizer GO = new GeneticOptimizer(genManEfficientOTCPortfolio, --- 166,171 ---- this.numberOfTickersToBeChosen, this.targetReturn, ! this.portfolioType, ! this.benchmark); GeneticOptimizer GO = new GeneticOptimizer(genManEfficientOTCPortfolio, Index: EndOfDayTimerHandlerCTO.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/TickerSelectionTesting/EndOfDayTimerHandlerCTO.cs,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** EndOfDayTimerHandlerCTO.cs 29 Aug 2007 09:43:32 -0000 1.26 --- EndOfDayTimerHandlerCTO.cs 14 Jan 2008 23:32:31 -0000 1.27 *************** *** 122,126 **** this.numberOfTickersToBeChosen, this.targetReturn, ! this.portfolioType); GeneticOptimizer GO = new GeneticOptimizer(genManEfficientCTOPortfolio, --- 122,127 ---- this.numberOfTickersToBeChosen, this.targetReturn, ! this.portfolioType, ! this.benchmark); GeneticOptimizer GO = new GeneticOptimizer(genManEfficientCTOPortfolio, Index: EndOfDayTimerHandlerCTCWeekly.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/TickerSelectionTesting/EndOfDayTimerHandlerCTCWeekly.cs,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** EndOfDayTimerHandlerCTCWeekly.cs 23 Sep 2007 22:09:34 -0000 1.8 --- EndOfDayTimerHandlerCTCWeekly.cs 14 Jan 2008 23:32:31 -0000 1.9 *************** *** 146,150 **** this.numDaysForReturnCalculation, this.targetReturn, ! this.portfolioType); GeneticOptimizer GO = new GeneticOptimizer(genManEfficientCTCPortfolio, this.populationSizeForGeneticOptimizer, --- 146,150 ---- this.numDaysForReturnCalculation, this.targetReturn, ! this.portfolioType, this.benchmark); GeneticOptimizer GO = new GeneticOptimizer(genManEfficientCTCPortfolio, this.populationSizeForGeneticOptimizer, Index: EndOfDayTimerHandlerCTC.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/TickerSelectionTesting/EndOfDayTimerHandlerCTC.cs,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** EndOfDayTimerHandlerCTC.cs 23 Sep 2007 22:09:24 -0000 1.24 --- EndOfDayTimerHandlerCTC.cs 14 Jan 2008 23:32:30 -0000 1.25 *************** *** 205,209 **** this.numDaysForReturnCalculation, this.targetReturn, ! this.portfolioType); GeneticOptimizer GO = new GeneticOptimizer(genManEfficientCTCPortfolio, this.populationSizeForGeneticOptimizer, --- 205,209 ---- this.numDaysForReturnCalculation, this.targetReturn, ! this.portfolioType, this.benchmark); GeneticOptimizer GO = new GeneticOptimizer(genManEfficientCTCPortfolio, this.populationSizeForGeneticOptimizer, Index: EndOfDayTimerHandlerOTC_WorstAtNight.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/TickerSelectionTesting/EndOfDayTimerHandlerOTC_WorstAtNight.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** EndOfDayTimerHandlerOTC_WorstAtNight.cs 29 Aug 2007 09:43:32 -0000 1.2 --- EndOfDayTimerHandlerOTC_WorstAtNight.cs 14 Jan 2008 23:32:31 -0000 1.3 *************** *** 28,33 **** --- 28,36 ---- using QuantProject.Business.Financial.Instruments; using QuantProject.Business.Financial.Ordering; + using QuantProject.Business.DataProviders; using QuantProject.Business.Strategies; using QuantProject.Business.Timing; + using QuantProject.Business.Strategies.ReturnsManagement; + using QuantProject.Business.Strategies.ReturnsManagement.Time; using QuantProject.Data.DataProviders; using QuantProject.Data.Selectors; *************** *** 48,51 **** --- 51,55 ---- protected GeneticOptimizer currentGO; protected int numOfGenomesForCTOScanning; + private HistoricalAdjustedQuoteProvider historicalAdjustedQuoteProvider; public EndOfDayTimerHandlerOTC_WorstAtNight(string tickerGroupID, int numberOfEligibleTickers, *************** *** 67,70 **** --- 71,75 ---- this.seedForRandomGenerator = ConstantsProvider.SeedForRandomGenerator; this.numOfGenomesForCTOScanning = numOfGenomesForCTOScanning; + this.historicalAdjustedQuoteProvider = new HistoricalAdjustedQuoteProvider(); } *************** *** 79,82 **** --- 84,92 ---- DateTime today = currentTimer.GetCurrentTime().DateTime; DateTime lastMarketDay = currentTimer.GetPreviousDateTime(); + ReturnsManager returnsManager = new ReturnsManager( + new CloseToOpenIntervals(new EndOfDayDateTime(lastMarketDay, EndOfDaySpecificTime.MarketClose), + new EndOfDayDateTime(today, EndOfDaySpecificTime.MarketOpen), + this.benchmark), + this.historicalAdjustedQuoteProvider ); int numOfGenomesScanned = 0; for(int i = 0; *************** *** 101,105 **** signedTickers); lossOfCurrentCombination = ! weightedPositions.GetLastNightReturn(lastMarketDay,today); numOfGenomesScanned++; if(lossOfCurrentCombination < lossOfCurrentWorstCombination) --- 111,115 ---- signedTickers); lossOfCurrentCombination = ! weightedPositions.GetReturn( 0 , returnsManager ); numOfGenomesScanned++; if(lossOfCurrentCombination < lossOfCurrentWorstCombination) *************** *** 196,200 **** this.numberOfTickersToBeChosen, this.targetReturn, ! this.portfolioType); GeneticOptimizer GO = new GeneticOptimizer(genManEfficientOTCPortfolio, --- 206,210 ---- this.numberOfTickersToBeChosen, this.targetReturn, ! this.portfolioType,this.benchmark); GeneticOptimizer GO = new GeneticOptimizer(genManEfficientOTCPortfolio, *************** *** 205,209 **** this.genomeCounter = new GenomeCounter(GO); GO.CrossoverRate = 0.0; ! GO.MutationRate = 0.70; GO.Run(false); this.addGenomeToBestGenomes(GO.BestGenome,currentDate.AddDays(-this.numDaysForOptimizationPeriod), --- 215,219 ---- this.genomeCounter = new GenomeCounter(GO); GO.CrossoverRate = 0.0; ! GO.MutationRate = 0.50; GO.Run(false); this.addGenomeToBestGenomes(GO.BestGenome,currentDate.AddDays(-this.numDaysForOptimizationPeriod), |