[Quantproject-developers] QuantProject/b7_Scripts/WalkForwardTesting/PairsTrading/InSample/InSample
Brought to you by:
glauco_1
|
From: Glauco S. <gla...@us...> - 2008-04-20 17:26:00
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/PairsTrading/InSample/InSampleChoosers/BruteForce In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv16765/b7_Scripts/WalkForwardTesting/PairsTrading/InSample/InSampleChoosers/BruteForce Modified Files: PairsTradingBruteForceOptimizableParametersManager.cs Log Message: AreEquivalentAsTopBestParameters() has been changed in such a way that two candidates are considered to be equivalent if they have the same tickers and a very similar fitness. This condition will be true for (a,b) and (-a,-b). It will also be true for (a,-b) and (-a,b). Index: PairsTradingBruteForceOptimizableParametersManager.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/PairsTrading/InSample/InSampleChoosers/BruteForce/PairsTradingBruteForceOptimizableParametersManager.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** PairsTradingBruteForceOptimizableParametersManager.cs 13 Apr 2008 16:58:09 -0000 1.3 --- PairsTradingBruteForceOptimizableParametersManager.cs 20 Apr 2008 17:25:56 -0000 1.4 *************** *** 91,95 **** double percDifference = Math.Abs( fitness1 / fitness2 - 1 ); ! bool areEquivalentAsTopBestParameters = ( percDifference < 0.00001 ); // if ( areEquivalentAsTopBestParameters ) --- 91,95 ---- double percDifference = Math.Abs( fitness1 / fitness2 - 1 ); ! bool haveTheSameFitness = ( percDifference < 0.00001 ); // if ( areEquivalentAsTopBestParameters ) *************** *** 99,103 **** // } // return areEquivalentAsTopBestParameters; ! return false; } /// Two TestingPositions are considered equivalent as TopBestPositions --- 99,103 ---- // } // return areEquivalentAsTopBestParameters; ! return haveTheSameFitness; } /// Two TestingPositions are considered equivalent as TopBestPositions *************** *** 114,127 **** bruteForceOptimizableParameters1 , bruteForceOptimizableParameters2 ); ! // if two TestingPositions (a,b) and (c,d) have the same fitness, ! // but different tickers (a!=b), probably a and b represent ! // the same security X (probably, X's ticker changed from a to b ! // or viceversa and the database contains historical quotes for ! // both a and b); in such a case (a,b) and (c,d) are equivalent ! // and the second one is to be dropped down bool areEquivalentAsTopBestParameters = this.haveTheSameTickers( ((TestingPositions)bruteForceOptimizableParameters1.Meaning ) , ! ((TestingPositions)bruteForceOptimizableParameters2.Meaning) ) || this.haveTheSameFitness( bruteForceOptimizableParameters1 , --- 114,126 ---- bruteForceOptimizableParameters1 , bruteForceOptimizableParameters2 ); ! // the following is a short way to say that, with respect to the ! // pairs trading strategy, (a,b) is equivalent to ! // (-a,-b), and that (a,-b) is equivalent to (-a,b) ! // We use fitness similarity instead of checking for all possible long/short ! // combinations bool areEquivalentAsTopBestParameters = this.haveTheSameTickers( ((TestingPositions)bruteForceOptimizableParameters1.Meaning ) , ! ((TestingPositions)bruteForceOptimizableParameters2.Meaning) ) && this.haveTheSameFitness( bruteForceOptimizableParameters1 , |