[Quantproject-developers] QuantProject/b7_Scripts/TechnicalAnalysisTesting/Oscillators/ExtremeCount
Brought to you by:
glauco_1
|
From: Marco M. <mi...@us...> - 2006-07-02 19:56:02
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/TechnicalAnalysisTesting/Oscillators/ExtremeCounterTrend In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv14576/b7_Scripts/TechnicalAnalysisTesting/Oscillators/ExtremeCounterTrend Modified Files: GenomeManagerECT.cs EndOfDayTimerHandlerECT.cs Log Message: Updated ExtremeCounterTrend strategy (minor changes) Index: EndOfDayTimerHandlerECT.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/TechnicalAnalysisTesting/Oscillators/ExtremeCounterTrend/EndOfDayTimerHandlerECT.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** EndOfDayTimerHandlerECT.cs 14 May 2006 15:33:37 -0000 1.1 --- EndOfDayTimerHandlerECT.cs 2 Jul 2006 19:55:58 -0000 1.2 *************** *** 182,194 **** protected DataTable getSetOfTickersToBeOptimized(DateTime currentDate) { ! SelectorByGroup temporizedGroup = new SelectorByGroup(this.tickerGroupID, ! currentDate); ! SelectorByQuotationAtEachMarketDay quotedAtEachMarketFromTemporized = ! new SelectorByQuotationAtEachMarketDay(temporizedGroup.GetTableOfSelectedTickers(), false, currentDate.AddDays(-this.numDaysForOptimizationPeriod), currentDate, this.numberOfEligibleTickers, this.benchmark); ! ! return quotedAtEachMarketFromTemporized.GetTableOfSelectedTickers(); } --- 182,231 ---- protected DataTable getSetOfTickersToBeOptimized(DateTime currentDate) { ! SelectorByGroup temporizedGroup = new SelectorByGroup(this.tickerGroupID, currentDate); ! DataTable tickersFromGroup = temporizedGroup.GetTableOfSelectedTickers(); ! SelectorByAverageRawOpenPrice byPrice = ! new SelectorByAverageRawOpenPrice(tickersFromGroup,false,currentDate, ! currentDate.AddDays(-30), ! tickersFromGroup.Rows.Count, ! 30,500, 0.0001,100); ! ! ! SelectorByLiquidity mostLiquidSelector = ! new SelectorByLiquidity(byPrice.GetTableOfSelectedTickers(), ! false,currentDate.AddDays(-this.numDaysForOptimizationPeriod), currentDate, ! this.numberOfEligibleTickers); ! ! SelectorByQuotationAtEachMarketDay quotedAtEachMarketDayFromMostLiquid = ! new SelectorByQuotationAtEachMarketDay(mostLiquidSelector.GetTableOfSelectedTickers(), false, currentDate.AddDays(-this.numDaysForOptimizationPeriod), currentDate, this.numberOfEligibleTickers, this.benchmark); ! ! return quotedAtEachMarketDayFromMostLiquid.GetTableOfSelectedTickers(); ! //OLD for etf ! // SelectorByGroup temporizedGroup = new SelectorByGroup(this.tickerGroupID, ! // currentDate); ! // ! // SelectorByQuotationAtEachMarketDay quotedAtEachMarketDayFromTemporized = ! // new SelectorByQuotationAtEachMarketDay(temporizedGroup.GetTableOfSelectedTickers(), ! // false, currentDate.AddDays(-this.numDaysForOptimizationPeriod), currentDate, ! // 600, this.benchmark); ! // // filter to be used with plain stocks ! // DataTable tickersQuotedAtEachMarketDay = quotedAtEachMarketDayFromTemporized.GetTableOfSelectedTickers(); ! // SelectorByLiquidity mostLiquid = ! // new SelectorByLiquidity(tickersQuotedAtEachMarketDay, ! // false,currentDate.AddDays(-this.numDaysForOptimizationPeriod), currentDate, ! // tickersQuotedAtEachMarketDay.Rows.Count/2); ! // ! // DataTable mostLiquidTickers = mostLiquid.GetTableOfSelectedTickers(); ! // ! // SelectorByCloseToCloseVolatility lessVolatile = ! // new SelectorByCloseToCloseVolatility(mostLiquidTickers, ! // true,currentDate.AddDays(-30), currentDate, ! // Math.Min(this.numberOfEligibleTickers, mostLiquidTickers.Rows.Count/2)); ! ////// return mostLiquid.GetTableOfSelectedTickers(); ! // return lessVolatile.GetTableOfSelectedTickers(); ! // // ! //// return quotedAtEachMarketDayFromTemporized.GetTableOfSelectedTickers(); } Index: GenomeManagerECT.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/TechnicalAnalysisTesting/Oscillators/ExtremeCounterTrend/GenomeManagerECT.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** GenomeManagerECT.cs 14 May 2006 15:33:37 -0000 1.1 --- GenomeManagerECT.cs 2 Jul 2006 19:55:58 -0000 1.2 *************** *** 38,42 **** /// </summary> [Serializable] ! public class GenomeManagerECT : GenomeManagerForEfficientPortfolio { private int numDaysForReturnCalculation; --- 38,42 ---- /// </summary> [Serializable] ! public class GenomeManagerECT : GenomeManagerForWeightedEfficientPortfolio { private int numDaysForReturnCalculation; *************** *** 76,92 **** } ! public override object Decode(Genome genome) ! { ! ! string[] arrayOfTickers = new string[genome.Genes().Length]; ! int indexOfTicker; ! for(int index = 0; index < genome.Genes().Length; index++) ! { ! indexOfTicker = (int)genome.Genes().GetValue(index); ! arrayOfTickers[index] = this.decode_getTickerCodeForLongOrShortTrade(indexOfTicker); ! } ! GenomeMeaning meaning = new GenomeMeaning(arrayOfTickers); ! return meaning; ! } --- 76,95 ---- } ! //delete remarks if this object inherits from ! //simple genomeManagerForEfficientPortfolio (no coefficients) ! ! // public override object Decode(Genome genome) ! // { ! // ! // string[] arrayOfTickers = new string[genome.Genes().Length]; ! // int indexOfTicker; ! // for(int index = 0; index < genome.Genes().Length; index++) ! // { ! // indexOfTicker = (int)genome.Genes().GetValue(index); ! // arrayOfTickers[index] = this.decode_getTickerCodeForLongOrShortTrade(indexOfTicker); ! // } ! // GenomeMeaning meaning = new GenomeMeaning(arrayOfTickers); ! // return meaning; ! // } *************** *** 98,103 **** double[] equityLine = this.getFitnessValue_getEquityLineRates(); ! double sharpeRatioAll = BasicFunctions.SimpleAverage(equityLine)/ ! BasicFunctions.StdDev(equityLine); // double[] equityLineSecondHalf = new double[equityLine.Length/2]; // for(int i = 0; i<equityLine.Length/2; i++) --- 101,109 ---- double[] equityLine = this.getFitnessValue_getEquityLineRates(); ! // double sharpeRatioAll = BasicFunctions.SimpleAverage(equityLine)/ ! // BasicFunctions.StdDev(equityLine); ! // double modifiedSharpeRatioAll = BasicFunctions.SimpleAverage(equityLine)/ ! // Math.Pow(BasicFunctions.StdDev(equityLine),0.9); ! // double[] equityLineSecondHalf = new double[equityLine.Length/2]; // for(int i = 0; i<equityLine.Length/2; i++) *************** *** 105,109 **** // double sharpeRatioSecondHalf = BasicFunctions.SimpleAverage(equityLineSecondHalf)/ // Math.Pow(BasicFunctions.StdDev(equityLineSecondHalf),1.2); ! return sharpeRatioAll;//*sharpeRatioSecondHalf; } --- 111,118 ---- // double sharpeRatioSecondHalf = BasicFunctions.SimpleAverage(equityLineSecondHalf)/ // Math.Pow(BasicFunctions.StdDev(equityLineSecondHalf),1.2); ! // return sharpeRatioAll;//*sharpeRatioSecondHalf; ! // return modifiedSharpeRatioAll; ! return AdvancedFunctions.GetExpectancyScore(equityLine); ! } |