quantproject-developers Mailing List for QuantProject (Page 49)
Brought to you by:
glauco_1
You can subscribe to this list here.
| 2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(7) |
Nov
(103) |
Dec
(67) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
(52) |
Feb
(9) |
Mar
(69) |
Apr
(53) |
May
(80) |
Jun
(23) |
Jul
(24) |
Aug
(112) |
Sep
(9) |
Oct
|
Nov
(58) |
Dec
(93) |
| 2005 |
Jan
(90) |
Feb
(93) |
Mar
(61) |
Apr
(56) |
May
(37) |
Jun
(61) |
Jul
(55) |
Aug
(68) |
Sep
(25) |
Oct
(46) |
Nov
(41) |
Dec
(37) |
| 2006 |
Jan
(33) |
Feb
(7) |
Mar
(19) |
Apr
(27) |
May
(73) |
Jun
(49) |
Jul
(83) |
Aug
(66) |
Sep
(45) |
Oct
(16) |
Nov
(15) |
Dec
(7) |
| 2007 |
Jan
(14) |
Feb
(33) |
Mar
|
Apr
(21) |
May
|
Jun
(34) |
Jul
(18) |
Aug
(100) |
Sep
(39) |
Oct
(55) |
Nov
(12) |
Dec
(2) |
| 2008 |
Jan
(120) |
Feb
(133) |
Mar
(129) |
Apr
(104) |
May
(42) |
Jun
(2) |
Jul
(52) |
Aug
(99) |
Sep
(134) |
Oct
|
Nov
(137) |
Dec
(48) |
| 2009 |
Jan
(48) |
Feb
(55) |
Mar
(61) |
Apr
(3) |
May
(2) |
Jun
(1) |
Jul
|
Aug
(51) |
Sep
|
Oct
(7) |
Nov
|
Dec
|
| 2010 |
Jan
(7) |
Feb
(1) |
Mar
(145) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(8) |
Dec
|
| 2011 |
Jan
(78) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(88) |
Sep
(6) |
Oct
(1) |
Nov
|
Dec
|
| 2012 |
Jan
|
Feb
(1) |
Mar
|
Apr
(6) |
May
(5) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
| 2013 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(2) |
| 2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Glauco S. <gla...@us...> - 2008-03-30 16:00:58
|
Update of /cvsroot/quantproject/QuantProject/b4_Business In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv14390/b4_Business Modified Files: Business_SD.csproj Log Message: - a2_Strategies\Optimizing\BruteForce\BruteForceOptimizableParametersManagerForBalancedVolatility.cs has been added - a2_Strategies\Optimizing\BruteForce has been added Index: Business_SD.csproj =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b4_Business/Business_SD.csproj,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** Business_SD.csproj 26 Mar 2008 00:47:03 -0000 1.19 --- Business_SD.csproj 30 Mar 2008 16:00:48 -0000 1.20 *************** *** 85,88 **** --- 85,89 ---- <Compile Include="a2_Strategies\Logging\LogItem.cs" /> <Compile Include="a2_Strategies\Logging\NewLogItemEventArgs.cs" /> + <Compile Include="a2_Strategies\Optimizing\BruteForce\BruteForceOptimizableParametersManagerForBalancedVolatility.cs" /> <Compile Include="a2_Strategies\Optimizing\Decoding\BasicDecoderForTestingPositions.cs" /> <Compile Include="a2_Strategies\Optimizing\Decoding\DecoderForBalancedWeightedPositions.cs" /> *************** *** 240,243 **** --- 241,245 ---- <Folder Include="a1_Financial\a2_Accounting\h5_Reporting\StatisticsSummaryRows" /> <Folder Include="a2_Strategies\EndOfDayStrategies" /> + <Folder Include="a2_Strategies\Optimizing\BruteForce" /> <Folder Include="a2_Strategies\Optimizing\FitnessEvaluation" /> <Folder Include="a2_Strategies\Optimizing\GenomeManagers" /> |
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/WalkForwardLag/WeightedPositionsChoosers/OptimizableParametersManagers In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv14110/b7_Scripts/WalkForwardTesting/WalkForwardLag/WeightedPositionsChoosers/OptimizableParametersManagers Modified Files: WFLagBruteForceOptimizableParametersManagerForBalancedFixedPortfolioAndBalancedDriving.cs Log Message: CombinationBasedBruteForceOptimizableParametersManager is now inherited (and code is simplified accordingly) Index: WFLagBruteForceOptimizableParametersManagerForBalancedFixedPortfolioAndBalancedDriving.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/WalkForwardLag/WeightedPositionsChoosers/OptimizableParametersManagers/WFLagBruteForceOptimizableParametersManagerForBalancedFixedPortfolioAndBalancedDriving.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** WFLagBruteForceOptimizableParametersManagerForBalancedFixedPortfolioAndBalancedDriving.cs 7 Oct 2007 12:51:55 -0000 1.1 --- WFLagBruteForceOptimizableParametersManagerForBalancedFixedPortfolioAndBalancedDriving.cs 30 Mar 2008 16:00:08 -0000 1.2 *************** *** 44,48 **** public class WFLagBruteForceOptimizableParametersManagerForBalancedFixedPortfolioAndBalancedDriving ! : IBruteForceOptimizableParametersManager { // private double[] weightsForDrivingPositions; --- 44,48 ---- public class WFLagBruteForceOptimizableParametersManagerForBalancedFixedPortfolioAndBalancedDriving ! : CombinationBasedBruteForceOptimizableParametersManager { // private double[] weightsForDrivingPositions; *************** *** 51,86 **** private WFLagFitnessEvaluator wFLagFitnessEvaluator; ! private Combination drivingCombination; // private double[] standardDeviationForDrivingPositions; // private float[][] drivingPositionsCloseToCloseReturns; ! public object Current ! { ! get ! { ! int[] currentValues = new int[ this.drivingCombination.Length ]; ! for ( int i = 0 ; i < this.drivingCombination.Length ; i ++ ) ! currentValues[ i ] = this.drivingCombination.GetValue( i ); ! // for ( int i = this.drivingCombination.Length ; ! // i < this.drivingCombination.Length + ! // this.portfolioCombination.Length ; i ++ ) ! // currentValues[ i ] = ! // this.portfolioCombination.GetValue( i - this.drivingCombination.Length ); ! BruteForceOptimizableParameters bruteForceOptimizableParameters = ! new BruteForceOptimizableParameters( currentValues , ! this ); ! return bruteForceOptimizableParameters; ! } ! } ! ! ! public int TotalIterations ! { ! get ! { ! return Convert.ToInt32( this.drivingCombination.TotalNumberOfCombinations ); ! } ! } public WFLagBruteForceOptimizableParametersManagerForBalancedFixedPortfolioAndBalancedDriving( --- 51,86 ---- private WFLagFitnessEvaluator wFLagFitnessEvaluator; ! // private Combination drivingCombination; // private double[] standardDeviationForDrivingPositions; // private float[][] drivingPositionsCloseToCloseReturns; ! // public object Current ! // { ! // get ! // { ! // int[] currentValues = new int[ this.drivingCombination.Length ]; ! // for ( int i = 0 ; i < this.drivingCombination.Length ; i ++ ) ! // currentValues[ i ] = this.drivingCombination.GetValue( i ); ! //// for ( int i = this.drivingCombination.Length ; ! //// i < this.drivingCombination.Length + ! //// this.portfolioCombination.Length ; i ++ ) ! //// currentValues[ i ] = ! //// this.portfolioCombination.GetValue( i - this.drivingCombination.Length ); ! // BruteForceOptimizableParameters bruteForceOptimizableParameters = ! // new BruteForceOptimizableParameters( currentValues , ! // this ); ! // return bruteForceOptimizableParameters; ! // } ! // } ! // ! // ! // public int TotalIterations ! // { ! // get ! // { ! // return Convert.ToInt32( this.drivingCombination.TotalNumberOfCombinations ); ! // } ! // } public WFLagBruteForceOptimizableParametersManagerForBalancedFixedPortfolioAndBalancedDriving( *************** *** 93,97 **** IWFLagDecoder wFLagDecoder , IEquityEvaluator equityEvaluator , ! ReturnsManager returnsManager ) { this.eligibleTickersForDrivingPositions = --- 93,101 ---- IWFLagDecoder wFLagDecoder , IEquityEvaluator equityEvaluator , ! ReturnsManager returnsManager ) : ! base( new Combination( ! - eligibleTickersForDrivingPositions.Rows.Count , ! eligibleTickersForDrivingPositions.Rows.Count - 1 , ! numberOfDrivingPositions ) ) { this.eligibleTickersForDrivingPositions = *************** *** 101,248 **** new WFLagFitnessEvaluator( equityEvaluator , returnsManager ); ! this.drivingCombination = new Combination( ! - eligibleTickersForDrivingPositions.Rows.Count , ! eligibleTickersForDrivingPositions.Rows.Count - 1 , ! numberOfDrivingPositions ); } ! // protected override double[] ! // getWeightRelatedParameterValuesForDrivingPositions( ! // int[] optimizableParameters ) ! // { ! // double[] weightsForPortfolioPositions = ! // this.getWeightsForPortfolioPositions(); ! // string[] tickersForPortfolioPositions = ! // new string[ 2 ] { this.portfolioLongTicker , this.portfolioShortTicker }; ! // WeightedPositions weightedPositions = ! // new WeightedPositions( weightsForPortfolioPositions , ! // tickersForPortfolioPositions ); ! // return weightedPositions; ! // } ! // #region getWeightRelatedParameterValuesForDrivingPositions ! // private ArrayList getArrayListOfEligibleTickersForDrivingPositions() ! // { ! // ArrayList tickers = new ArrayList(); ! // foreach ( DataRow eligibleDrivingTicker in ! // this.eligibleTickersForDrivingWeightedPositions.Rows ) ! // tickers.Add( eligibleDrivingTicker[ 0 ] ); ! // return tickers; ! // } ! // private void setDrivingPositionsCloseToCloseReturns() ! // { ! // ArrayList tickers = ! // this.getArrayListOfEligibleTickersForDrivingPositions(); ! // this.drivingPositionsCloseToCloseReturns = ! // this.wFLagCandidates.GetTickersReturns( tickers ); ! // } ! // private void setStandardDeviationForDrivingPositionsActually( ! // int drivingPositionIndex ) ! // { ! // this.standardDeviationForDrivingPositions[ drivingPositionIndex ] = ! // BasicFunctions.GetStdDev( ! // this.drivingPositionsCloseToCloseReturns[ drivingPositionIndex ] ); ! // } ! // private void setStandardDeviationForDrivingPositionsActually() ! // { ! // this.setDrivingPositionsCloseToCloseReturns(); ! // this.standardDeviationForDrivingPositions = ! // new double[ this.eligibleTickersForDrivingWeightedPositions.Rows.Count ]; ! // for ( int i = 0 ; ! // i < this.eligibleTickersForDrivingWeightedPositions.Rows.Count ; ! // i++ ) ! // this.setStandardDeviationForDrivingPositionsActually( i ); ! // } ! // private void setStandardDeviationForDrivingPositions() ! // { ! // if ( this.standardDeviationForDrivingPositions == null ) ! // // this.standardDeviationForDrivingPositions has not been set yet ! // this.setStandardDeviationForDrivingPositionsActually(); ! // } ! // private double getStandardDeviation( int[] parameterValues , ! // int parameterPosition ) ! // { ! // int tickerIndex = this.getTickerIndexForDrivingPosition( ! // parameterValues , parameterPosition ); ! // return this.standardDeviationForDrivingPositions[ tickerIndex ]; ! // } ! // private double getMaxStandardDeviationForCurrentDrivingPositions( ! // int[] optimizableParameters ) ! // { ! // double maxStandardDeviationForCurrentDrivingPositions = 0; ! // for ( int parameterPosition = 0 ; parameterPosition < optimizableParameters.Length ; ! // parameterPosition++ ) ! // { ! // double drivingPositionStandardDeviation = ! // this.getStandardDeviation( optimizableParameters , parameterPosition ); ! // if ( drivingPositionStandardDeviation > maxStandardDeviationForCurrentDrivingPositions ) ! // maxStandardDeviationForCurrentDrivingPositions = drivingPositionStandardDeviation; ! // } ! // return maxStandardDeviationForCurrentDrivingPositions; ! // } ! // private double getNonNormalizedWeightForDrivingPosition( ! // int[] parameterValues , ! // int parameterPosition , ! // double maxStandardDeviationForCurrentDrivingPositions ) ! // { ! // double drivingPositionStandardDeviation = ! // this.getStandardDeviation( parameterValues , parameterPosition ); ! // double nonNormalizedWeightForDrivingPosition = ! // maxStandardDeviationForCurrentDrivingPositions / ! // drivingPositionStandardDeviation; ! // if ( parameterValues[ parameterPosition ] < 0 ) ! // nonNormalizedWeightForDrivingPosition = ! // -nonNormalizedWeightForDrivingPosition; ! // return nonNormalizedWeightForDrivingPosition; ! // } ! // private double[] getNonNormalizedWeightsForDrivingPositionsUsingStandardDeviations( ! // int[] parameterValues , ! // double maxStandardDeviationForCurrentDrivingPositions ) ! // { ! // double[] nonNormalizedWeightsForDrivingPositions = ! // new double[ parameterValues.Length ]; ! // for ( int parameterPosition = 0 ; parameterPosition < parameterValues.Length ; ! // parameterPosition++ ) ! // { ! // nonNormalizedWeightsForDrivingPositions[ parameterPosition ] = ! // this.getNonNormalizedWeightForDrivingPosition( ! // parameterValues , parameterPosition , ! // maxStandardDeviationForCurrentDrivingPositions ); ! // } ! // return nonNormalizedWeightsForDrivingPositions; ! // } ! // private double[] getNonNormalizedWeightsForDrivingPositions( ! // int[] parameterValues ) ! // { ! // double maxStandardDeviationForCurrentDrivingPositions = ! // this.getMaxStandardDeviationForCurrentDrivingPositions( parameterValues ); ! // return getNonNormalizedWeightsForDrivingPositionsUsingStandardDeviations( ! // parameterValues , maxStandardDeviationForCurrentDrivingPositions ); ! // } ! // private double[] getWeightsForDrivingPositions( ! // int[] parameterValues ) // { ! // double[] nonNormalizedWeightsForDrivingPositions = ! // this.getNonNormalizedWeightsForDrivingPositions( parameterValues ); ! // return ! // WeightedPositions.GetNormalizedWeights( ! // nonNormalizedWeightsForDrivingPositions ); // } ! // protected override double[] ! // getWeightRelatedParameterValuesForDrivingPositions( ! // int[] parameterValues ) // { ! // this.setStandardDeviationForDrivingPositions(); ! // return this.getWeightsForDrivingPositions( parameterValues ); // } - // #endregion - public bool MoveNext() - { - return this.drivingCombination.MoveNext(); - } - public void Reset() - { - this.drivingCombination.Reset(); - } ! public object Decode( BruteForceOptimizableParameters bruteForceOptimizableParameters ) { --- 105,124 ---- new WFLagFitnessEvaluator( equityEvaluator , returnsManager ); ! // this.drivingCombination = new Combination( ! // - eligibleTickersForDrivingPositions.Rows.Count , ! // eligibleTickersForDrivingPositions.Rows.Count - 1 , ! // numberOfDrivingPositions ); } ! ! // public bool MoveNext() // { ! // return this.drivingCombination.MoveNext(); // } ! // public void Reset() // { ! // this.drivingCombination.Reset(); // } ! public override object Decode( BruteForceOptimizableParameters bruteForceOptimizableParameters ) { *************** *** 250,254 **** bruteForceOptimizableParameters.GetValues() ); } ! public double GetFitnessValue( BruteForceOptimizableParameters bruteForceOptimizableParameters ) { --- 126,130 ---- bruteForceOptimizableParameters.GetValues() ); } ! public override double GetFitnessValue( BruteForceOptimizableParameters bruteForceOptimizableParameters ) { |
|
From: Glauco S. <gla...@us...> - 2008-03-30 15:58:55
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/PairsTrading/Logging In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv13430/b7_Scripts/WalkForwardTesting/PairsTrading/Logging Modified Files: SimpleStrategy.cs Log Message: A generic DummyLogItem is now logged Index: SimpleStrategy.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/PairsTrading/Logging/SimpleStrategy.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** SimpleStrategy.cs 13 Mar 2008 19:42:41 -0000 1.2 --- SimpleStrategy.cs 30 Mar 2008 15:58:50 -0000 1.3 *************** *** 96,108 **** protected override LogItem getLogItem( EligibleTickers eligibleTickers ) { ! PairsTradingLogItem logItem = ! new PairsTradingLogItem( this.now() , ! new TestingPositions[ 1 ] , ! 0 , ! 1 ); ! // logItem.BestWeightedPositionsInSample = ! // this.bestTestingPositionsInSample.WeightedPositions; ! // logItem.NumberOfEligibleTickers = ! // eligibleTickers.Count; return logItem; } --- 96,100 ---- protected override LogItem getLogItem( EligibleTickers eligibleTickers ) { ! DummyLogItem logItem = new DummyLogItem( this.now() ); return logItem; } |
|
From: Glauco S. <gla...@us...> - 2008-03-30 15:49:44
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/PairsTrading In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv7946/b7_Scripts/WalkForwardTesting/PairsTrading Modified Files: PairsTradingMain.cs Log Message: Minor change: now it's easier to set up meaningful faster test Index: PairsTradingMain.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/PairsTrading/PairsTradingMain.cs,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** PairsTradingMain.cs 26 Mar 2008 00:53:41 -0000 1.5 --- PairsTradingMain.cs 30 Mar 2008 15:49:07 -0000 1.6 *************** *** 121,125 **** int inSampleDays = 180; // uncomment the following line for a faster script ! // inSampleDays = 5; IIntervalsSelector intervalsSelector = --- 121,125 ---- int inSampleDays = 180; // uncomment the following line for a faster script ! // inSampleDays = 5; inSampleDays = 60; IIntervalsSelector intervalsSelector = *************** *** 139,144 **** DateTime firstDateTime = new DateTime( 2001 , 1 , 1 ); ! DateTime lastDateTime = new DateTime( 2001 , 1 , 6 ); ! double maxRunningHours = 6; this.endOfDayStrategyBackTester = --- 139,144 ---- DateTime firstDateTime = new DateTime( 2001 , 1 , 1 ); ! DateTime lastDateTime = new DateTime( 2004 , 12 , 31 ); ! double maxRunningHours = 7; this.endOfDayStrategyBackTester = |
|
From: Glauco S. <gla...@us...> - 2008-03-30 15:48:19
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/PairsTrading/Logging In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv7359/b7_Scripts/WalkForwardTesting/PairsTrading/Logging Modified Files: PairsTradingLogItem.cs Log Message: Bug fixed: in the previous revision it didn't store the last element of the bestTestingPositionsInSample. Now it should store all the bestTestingPositionsInSample Index: PairsTradingLogItem.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/PairsTrading/Logging/PairsTradingLogItem.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** PairsTradingLogItem.cs 13 Mar 2008 19:40:24 -0000 1.3 --- PairsTradingLogItem.cs 30 Mar 2008 15:47:50 -0000 1.4 *************** *** 121,125 **** new TesterForPairsTradingTestingPositions[ bestTestingPositionsInSample.Length ]; ! for ( int i = 0 ; i < bestTestingPositionsInSample.Length - 1 ; i++ ) this.setTesterForPairstTradingTestingPositions( i , --- 121,125 ---- new TesterForPairsTradingTestingPositions[ bestTestingPositionsInSample.Length ]; ! for ( int i = 0 ; i < bestTestingPositionsInSample.Length ; i++ ) this.setTesterForPairstTradingTestingPositions( i , |
|
From: Glauco S. <gla...@us...> - 2008-03-30 15:46:17
|
Update of /cvsroot/quantproject/QuantProject/b4_Business/a2_Strategies/InSample In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv6870/b4_Business/a2_Strategies/InSample Modified Files: DummyInSampleChooser.cs Log Message: The code has been patched: in the previous revision, it returned a dummy TestingPositions array, with a single null element. The null element gave some troubles to the callers, thus now the TestingPositions array returns a single NON null TestingPositions element Index: DummyInSampleChooser.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b4_Business/a2_Strategies/InSample/DummyInSampleChooser.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** DummyInSampleChooser.cs 6 Mar 2008 19:56:37 -0000 1.1 --- DummyInSampleChooser.cs 30 Mar 2008 15:46:12 -0000 1.2 *************** *** 58,62 **** if ( this.NewProgress != null ) this.NewProgress( this , new NewProgressEventArgs( 1 , 1 ) ); ! return new TestingPositions[ 1 ]; } } --- 58,67 ---- if ( this.NewProgress != null ) this.NewProgress( this , new NewProgressEventArgs( 1 , 1 ) ); ! TestingPositions[] dummyTestingPositionsArray = ! new TestingPositions[ 1 ]; ! TestingPositions dummyTestingPositions = ! new TestingPositions(); ! dummyTestingPositionsArray[ 0 ] = dummyTestingPositions; ! return dummyTestingPositionsArray; } } |
|
From: Glauco S. <gla...@us...> - 2008-03-30 15:43:23
|
Update of /cvsroot/quantproject/QuantProject/b4_Business/a2_Strategies/Optimizing/BruteForce In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv5392/b4_Business/a2_Strategies/Optimizing/BruteForce Modified Files: BruteForceOptimizableParametersManagerForBalancedVolatility.cs Log Message: Code cleaning: some useless commented out lines have been deleted Index: BruteForceOptimizableParametersManagerForBalancedVolatility.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b4_Business/a2_Strategies/Optimizing/BruteForce/BruteForceOptimizableParametersManagerForBalancedVolatility.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** BruteForceOptimizableParametersManagerForBalancedVolatility.cs 26 Mar 2008 00:41:11 -0000 1.1 --- BruteForceOptimizableParametersManagerForBalancedVolatility.cs 30 Mar 2008 15:43:17 -0000 1.2 *************** *** 102,135 **** this.fitnessEvaluator = fitnessEvaluator; this.returnsManager = returnsManager; - // this.combination = new Combination( - // - this.eligibleTickers.Count , - // this.eligibleTickers.Count - 1 , - // numberOfPositions ); } - // protected override Combination getCombination() - // { - // return new Combination( - // - this.eligibleTickers.Count , - // this.eligibleTickers.Count - 1 , - // this.numberOfPositions ); - // } - // public bool MoveNext() - // { - // return this.combination.MoveNext(); - // } - // public void Reset() - // { - // this.combination.Reset(); - // } - - // protected override getCurrent( int[] currentValues ) - // { - // BruteForceOptimizableParameters bruteForceOptimizableParameters = - // new BruteForceOptimizableParameters( currentValues , - // this ); - // return bruteForceOptimizableParameters; - // } - public override object Decode( BruteForceOptimizableParameters bruteForceOptimizableParameters ) --- 102,107 ---- |
|
From: Glauco S. <gla...@us...> - 2008-03-30 15:38:59
|
Update of /cvsroot/quantproject/QuantProject/b4_Business/a2_Strategies/InSample In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv3477/b4_Business/a2_Strategies/InSample Modified Files: BruteForceChooser.cs Log Message: Minor fixings have been applied: now it works as expected, because the BruteForceOptimizer has been improved Index: BruteForceChooser.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b4_Business/a2_Strategies/InSample/BruteForceChooser.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** BruteForceChooser.cs 26 Mar 2008 00:39:44 -0000 1.1 --- BruteForceChooser.cs 30 Mar 2008 15:38:50 -0000 1.2 *************** *** 136,139 **** --- 136,170 ---- "candidates!" ); } + + private TestingPositions getCurrentBestTestingPositions( + int i , BruteForceOptimizer bruteForceOptimizer ) + { + BruteForceOptimizableParameters bruteForceOptimizableParameters = + bruteForceOptimizer.TopBestParameters[ i ]; + TestingPositions currentBestTestingPositions = + (TestingPositions)bruteForceOptimizableParameters.Meaning; + currentBestTestingPositions.FitnessInSample = + bruteForceOptimizableParameters.Fitness; + + // bestTestingPositions[ i ] = + // (TestingPositions)bruteForceOptimizableParameters.Meaning; + // bestTestingPositions[ i ].FitnessInSample = + // (TestingPositions)bruteForceOptimizableParameters.Fitness; + return currentBestTestingPositions; + } + + // private void addCurrentBestTestingPositionIfEquivalentNotAlreadyAdded( + // int i , BruteForceOptimizer bruteForceOptimizer , + // Hashtable equivalentCollector , + // TestingPositions[] bestTestingPositions ) + // { + // TestingPositions currentBestTestingPositions = + // this.getCurrentBestTestingPositions( i , bruteForceOptimizer ); + // this.addCurrentBestTestingPositionIfEquivalentNotAlreadyAdded( + // currentBestTestingPositions , + // equivalentCollector , + // bestTestingPositions ); + // } + private TestingPositions[] getBestTestingPositionsInSample_getTestingPositionsActually( BruteForceOptimizer bruteForceOptimizer ) *************** *** 143,153 **** TestingPositions[] bestTestingPositions = new TestingPositions[ this.numberOfBestTestingPositionsToBeReturned ]; for ( int i = 0 ; i < bruteForceOptimizer.TopBestParameters.Length ; i++ ) - { - BruteForceOptimizableParameters bruteForceOptimizableParameters = - bruteForceOptimizer.TopBestParameters[ i ]; bestTestingPositions[ i ] = ! (TestingPositions)bruteForceOptimizableParameters.Meaning; ! } return bestTestingPositions; } --- 174,181 ---- TestingPositions[] bestTestingPositions = new TestingPositions[ this.numberOfBestTestingPositionsToBeReturned ]; + //// Hashtable equivalentCollector = new Hashtable(); for ( int i = 0 ; i < bruteForceOptimizer.TopBestParameters.Length ; i++ ) bestTestingPositions[ i ] = ! this.getCurrentBestTestingPositions( i , bruteForceOptimizer ); return bestTestingPositions; } *************** *** 169,173 **** bruteForceOptimizer.Run( 10000 , bruteForceOptimizableParametersManager.TotalIterations ); ! return this.getBestTestingPositionsInSample_getTestingPositionsActually( bruteForceOptimizer ); --- 197,201 ---- bruteForceOptimizer.Run( 10000 , bruteForceOptimizableParametersManager.TotalIterations ); ! return this.getBestTestingPositionsInSample_getTestingPositionsActually( bruteForceOptimizer ); |
|
From: Glauco S. <gla...@us...> - 2008-03-30 15:36:48
|
Update of /cvsroot/quantproject/QuantProject/b1_ADT/Optimizing/BruteForce In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv2577/b1_ADT/Optimizing/BruteForce Modified Files: BruteForceOptimizer.cs Log Message: - an IBruteForceOptimizableParametersManager is now given to the TopBestParametersManager, to avoid adding equivalent parameters to the TopBestParameters list - TopBestParameters are now sorted descending, at the end of the Run Index: BruteForceOptimizer.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b1_ADT/Optimizing/BruteForce/BruteForceOptimizer.cs,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** BruteForceOptimizer.cs 26 Mar 2008 00:46:38 -0000 1.4 --- BruteForceOptimizer.cs 30 Mar 2008 15:36:44 -0000 1.5 *************** *** 112,121 **** { this.bestParametersManager = new BestParametersManager( ! this.numberOfTopBestParameters ); this.analizedItems = 0; this.bruteForceOptimizableParametersManager.Reset(); // this.bestParameters = // (BruteForceOptimizableParameters)this.bruteForceOptimizableParametersManager.Current; ! while( this.bruteForceOptimizableParametersManager.MoveNext() ) { BruteForceOptimizableParameters bruteForceOptimizableParameters = --- 112,122 ---- { this.bestParametersManager = new BestParametersManager( ! this.numberOfTopBestParameters , ! this.bruteForceOptimizableParametersManager ); this.analizedItems = 0; this.bruteForceOptimizableParametersManager.Reset(); // this.bestParameters = // (BruteForceOptimizableParameters)this.bruteForceOptimizableParametersManager.Current; ! do { BruteForceOptimizableParameters bruteForceOptimizableParameters = *************** *** 123,127 **** this.bestParametersManager.Analize( bruteForceOptimizableParameters ); this.handleProgress(); ! } } /// <summary> --- 124,133 ---- this.bestParametersManager.Analize( bruteForceOptimizableParameters ); this.handleProgress(); ! ! }while (this.bruteForceOptimizableParametersManager.MoveNext()); ! } ! private void sortTopBestParametersDescending() ! { ! this.bestParametersManager.SortTopBestParametersDescending(); } /// <summary> *************** *** 131,134 **** --- 137,141 ---- { this.createTopBestParameters(); + this.sortTopBestParametersDescending(); // this.bestParametersManager.TopBestParameters.Sort(); this.runIsComplete = true; |
|
From: Glauco S. <gla...@us...> - 2008-03-30 15:33:48
|
Update of /cvsroot/quantproject/QuantProject/b1_ADT/Optimizing/BruteForce In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv968/b1_ADT/Optimizing/BruteForce Modified Files: BestParametersManager.cs Log Message: - a IBruteForceOptimizableParametersManager is now given to the constructor, to avoid adding equivalent parameters to the TopBestParameters list - the public method SortTopBestParametersDescending() has been added (the name is self explaining) Index: BestParametersManager.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b1_ADT/Optimizing/BruteForce/BestParametersManager.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** BestParametersManager.cs 26 Mar 2008 00:32:59 -0000 1.1 --- BestParametersManager.cs 30 Mar 2008 15:33:39 -0000 1.2 *************** *** 34,37 **** --- 34,39 ---- { private int numberOfTopBestParametersToBeReturned; + private IBruteForceOptimizableParametersManager + bruteForceOptimizableParametersManager; private int numberOfNonNullItemsInTopBestParameters; *************** *** 44,48 **** get { - this.sortTopBestParameters(); return this.topBestParameters; } --- 46,49 ---- *************** *** 56,83 **** /// BruteForceOptimizableParameters that are going to be returned, as /// the ones with the highest fitness</param> ! public BestParametersManager( int numberOfTopBestParametersToBeReturned ) { this.numberOfTopBestParametersToBeReturned = numberOfTopBestParametersToBeReturned; this.topBestParameters = new BruteForceOptimizableParameters[ numberOfTopBestParametersToBeReturned ]; - this.numberOfNonNullItemsInTopBestParameters = 0; this.indexForTheCurrentCandidateToBeSwappedOut = 0; } - private void sortTopBestParameters() - { - // comment out the following three lines if you have an exception - // in the Sort method and you want to break to the proper line - // double fitness; - // for ( int i = 0 ; i < this.topBestParameters.Length ; i++ ) - // fitness = ((BruteForceOptimizableParameters) this.topBestParameters[ i ]).Fitness; - - FitnessComparer fitnessComparer = new FitnessComparer(); - Array.Sort( this.topBestParameters , fitnessComparer ); - } - #region Analize private bool isBetterThanTheCurrentCandidateToBeSwappedOut( BruteForceOptimizableParameters bruteForceOptimizableParameters ) --- 57,79 ---- /// BruteForceOptimizableParameters that are going to be returned, as /// the ones with the highest fitness</param> ! public BestParametersManager( ! int numberOfTopBestParametersToBeReturned , ! IBruteForceOptimizableParametersManager ! bruteForceOptimizableParametersManager ) { this.numberOfTopBestParametersToBeReturned = numberOfTopBestParametersToBeReturned; + this.bruteForceOptimizableParametersManager = + bruteForceOptimizableParametersManager; + this.topBestParameters = new BruteForceOptimizableParameters[ numberOfTopBestParametersToBeReturned ]; this.numberOfNonNullItemsInTopBestParameters = 0; this.indexForTheCurrentCandidateToBeSwappedOut = 0; } #region Analize + + #region hasToBeInsertedIntoTheTopBestParameters private bool isBetterThanTheCurrentCandidateToBeSwappedOut( BruteForceOptimizableParameters bruteForceOptimizableParameters ) *************** *** 94,97 **** --- 90,119 ---- return isBetter; } + private bool isEquivalentAlreadyInTopBestParameters( + BruteForceOptimizableParameters bruteForceOptimizableParameters ) + { + int indexForCurrentTopBestParameters = 0; + while ( + indexForCurrentTopBestParameters < this.numberOfNonNullItemsInTopBestParameters && + !this.bruteForceOptimizableParametersManager.AreEquivalentAsTopBestParameters( + bruteForceOptimizableParameters.Meaning , + this.topBestParameters[ indexForCurrentTopBestParameters ].Meaning ) ) + indexForCurrentTopBestParameters++; + bool isEquivalentAlreadyPresent = + ( indexForCurrentTopBestParameters < this.numberOfNonNullItemsInTopBestParameters ); + return isEquivalentAlreadyPresent; + } + private bool hasToBeInsertedIntoTheTopBestParameters( + BruteForceOptimizableParameters bruteForceOptimizableParameters ) + { + bool hasToBeInserted = + ( this.isBetterThanTheCurrentCandidateToBeSwappedOut( + bruteForceOptimizableParameters ) && + !this.isEquivalentAlreadyInTopBestParameters( + bruteForceOptimizableParameters ) ); + return hasToBeInserted; + } + #endregion hasToBeInsertedIntoTheTopBestParameters + // true iif we are still in the initialization phase, when the // first this.numberOfTopBestParametersToBeReturned items have already *************** *** 189,210 **** bruteForceOptimizableParameters ) { ! if ( this.isBetterThanTheCurrentCandidateToBeSwappedOut( ! bruteForceOptimizableParameters ) ) this.replaceTheCurrentCandidateToBeSwappedOut( bruteForceOptimizableParameters ); - // if ( this.numberOfMeaningfulItemsInTheArray < this.numberOfTopBestParametersToBeKept ) - // // this.topBestParameters still contains less than - // // this.numberOfTopBestParametersToBeReturned items. It means that we are still in - // // the initializing phase, when the first this.numberOfTopBestParametersToBeReturned - // // items are to be added to the topBestParameters - // this.addWithoutSwappingOut( bruteForceOptimizableParameters ); - // else - // // the initializing phase is complete, that is the first - // // this.numberOfTopBestParametersToBeReturned has already been added to - // // this.topBestParameters - // if ( this.lowestFitness() < bruteForceOptimizableParameters.Fitness ) - // this.addSwappingOutTheLastOne( bruteForceOptimizableParameters ); } #endregion Handle } } --- 211,236 ---- bruteForceOptimizableParameters ) { ! if ( this.hasToBeInsertedIntoTheTopBestParameters( bruteForceOptimizableParameters ) ) this.replaceTheCurrentCandidateToBeSwappedOut( bruteForceOptimizableParameters ); } #endregion Handle + + /// <summary> + /// Sortes the top best parameters descending. To be invoked when + /// all BruteForceOptimizableParameters have been analyzed + /// </summary> + public void SortTopBestParametersDescending() + { + // comment out the following three lines if you have an exception + // in the Sort method and you want to break to the proper line + // double fitness; + // for ( int i = 0 ; i < this.topBestParameters.Length ; i++ ) + // fitness = ((BruteForceOptimizableParameters) this.topBestParameters[ i ]).Fitness; + + FitnessComparer fitnessComparer = new FitnessComparer(); + Array.Sort( this.topBestParameters , fitnessComparer ); + Array.Reverse( this.topBestParameters ); + } } } |
|
From: Glauco S. <gla...@us...> - 2008-03-30 15:31:22
|
Update of /cvsroot/quantproject/QuantProject/b4_Business/a2_Strategies/EndOfDayStrategies In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv32134/b4_Business/a2_Strategies/EndOfDayStrategies Modified Files: BasicEndOfDayStrategyForBacktester.cs Log Message: Now the backtester checks that the IInSampleChooser returns the expeceted number of bestTestingPositionsInSample Index: BasicEndOfDayStrategyForBacktester.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b4_Business/a2_Strategies/EndOfDayStrategies/BasicEndOfDayStrategyForBacktester.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** BasicEndOfDayStrategyForBacktester.cs 6 Mar 2008 20:12:44 -0000 1.2 --- BasicEndOfDayStrategyForBacktester.cs 30 Mar 2008 15:31:17 -0000 1.3 *************** *** 225,228 **** --- 225,236 ---- } #endregion getInSampleReturnIntervals + private void checkQualityFor_bestTestingPositionsInSample() + { + for( int i = 0 ; i < this.bestTestingPositionsInSample.Length ; i++ ) + if ( this.bestTestingPositionsInSample[ i ] == null ) + throw new Exception( + "The IInSampleChooser should have returned an array " + + "of non null bestTestingPositionsInSample!" ); + } private void notifyMessage( EligibleTickers eligibleTickers ) { *************** *** 271,274 **** --- 279,283 ---- (TestingPositions[])this.inSampleChooser.AnalyzeInSample( eligibleTickers , returnsManager ); + this.checkQualityFor_bestTestingPositionsInSample(); this.notifyMessage( eligibleTickers ); |
|
From: Glauco S. <gla...@us...> - 2008-03-30 15:29:57
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv30121/b7_Scripts Modified Files: b7_Scripts.csproj Log Message: - WalkForwardTesting\PairsTrading\InSample\InSampleChoosers\PairsTradingBruteForceChooser.cs has been moved to WalkForwardTesting\PairsTrading\InSample\InSampleChoosers\BruteForce\PairsTradingBruteForceChooser.cs - WalkForwardTesting\PairsTrading\InSample\InSampleChoosers\BruteForce\PairsTradingBruteForceOptimizableParametersManager.cs has been added Index: b7_Scripts.csproj =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/b7_Scripts.csproj,v retrieving revision 1.91 retrieving revision 1.92 diff -C2 -d -r1.91 -r1.92 *** b7_Scripts.csproj 26 Mar 2008 00:43:42 -0000 1.91 --- b7_Scripts.csproj 30 Mar 2008 15:29:36 -0000 1.92 *************** *** 895,899 **** /> <File ! RelPath = "WalkForwardTesting\PairsTrading\InSample\InSampleChoosers\PairsTradingBruteForceChooser.cs" SubType = "Code" BuildAction = "Compile" --- 895,904 ---- /> <File ! RelPath = "WalkForwardTesting\PairsTrading\InSample\InSampleChoosers\BruteForce\PairsTradingBruteForceChooser.cs" ! SubType = "Code" ! BuildAction = "Compile" ! /> ! <File ! RelPath = "WalkForwardTesting\PairsTrading\InSample\InSampleChoosers\BruteForce\PairsTradingBruteForceOptimizableParametersManager.cs" SubType = "Code" BuildAction = "Compile" |
|
From: Glauco S. <gla...@us...> - 2008-03-30 15:28:18
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/PairsTrading/InSample/InSampleChoosers/BruteForce In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv29006 Added Files: PairsTradingBruteForceOptimizableParametersManager.cs Log Message: BruteForceOptimizableParametersManager to be used by the pairs trading strategy. Two TestingPositions are considered equivalent as TopBestPositions (and only one is kept among them) iif they have the same tickers (consider that if two WeightedPosition are highly correlated, the two opposite WeightedPosition are highly correlated too) --- NEW FILE: PairsTradingBruteForceOptimizableParametersManager.cs --- /* QuantProject - Quantitative Finance Library PairsTradingBruteForceOptimizableParametersManager.cs Copyright (C) 2008 Glauco Siliprandi This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ using System; using QuantProject.Business.Strategies.Eligibles; using QuantProject.Business.Strategies.Optimizing.BruteForce; using QuantProject.Business.Strategies.Optimizing.Decoding; using QuantProject.Business.Strategies.Optimizing.FitnessEvaluation; using QuantProject.Business.Strategies.OutOfSample; using QuantProject.Business.Strategies.ReturnsManagement; namespace QuantProject.Scripts.WalkForwardTesting.PairsTrading { /// <summary> /// BruteForceOptimizableParametersManager to be used by the pairs /// trading strategy. /// Two TestingPositions are considered equivalent as TopBestPositions /// (and only one is kept among them) iif they have the same tickers /// (consider that if two WeightedPosition are highly correlated, the /// two opposite WeightedPosition are highly correlated too) /// </summary> public class PairsTradingBruteForceOptimizableParametersManager : BruteForceOptimizableParametersManagerForBalancedVolatility { public PairsTradingBruteForceOptimizableParametersManager( EligibleTickers eligibleTickers , int numberOfPositions , IDecoderForTestingPositions decoderForTestingPositions , IFitnessEvaluator fitnessEvaluator , ReturnsManager returnsManager ) : base( eligibleTickers , numberOfPositions , decoderForTestingPositions , fitnessEvaluator , returnsManager ) { } #region AreEquivalentAsTopBestParameters private void areEquivalentAsTopBestParameters_checkParameters( object meaning1 , object meaning2 ) { if ( !(meaning1 is TestingPositions) ) throw new Exception( "The first parameter is expected " + "to be a TestingPositions!" ); if ( !(meaning2 is TestingPositions) ) throw new Exception( "The second parameter is expected " + "to be a TestingPositions!" ); } /// Two TestingPositions are considered equivalent as TopBestPositions /// (and only one is kept among them) iif they have the same tickers /// (consider that if two WeightedPosition are highly correlated, the /// two opposite WeightedPosition are highly correlated too) public override bool AreEquivalentAsTopBestParameters( object meaning1 , object meaning2 ) { this.areEquivalentAsTopBestParameters_checkParameters( meaning1 , meaning2 ); string hashCodeForMeaning1 = ((TestingPositions)meaning1).HashCodeForTickerComposition; string hashCodeForMeaning2 = ((TestingPositions)meaning2).HashCodeForTickerComposition; bool areEquivalentAsTopBestParameters = ( hashCodeForMeaning1 == hashCodeForMeaning2 ); return areEquivalentAsTopBestParameters; } #endregion AreEquivalentAsTopBestParameters } } |
|
From: Glauco S. <gla...@us...> - 2008-03-30 15:27:12
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/PairsTrading/InSample/InSampleChoosers/BruteForce In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv28027 Added Files: PairsTradingBruteForceChooser.cs Log Message: WalkForwardTesting\PairsTrading\InSample\InSampleChoosers\PairsTradingBruteForceChooser.cs has been moved to WalkForwardTesting\PairsTrading\InSample\InSampleChoosers\BruteForce\PairsTradingBruteForceChooser.cs --- NEW FILE: PairsTradingBruteForceChooser.cs --- /* QuantProject - Quantitative Finance Library PairsTradingBruteForceChooser.cs Copyright (C) 2008 Glauco Siliprandi This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ using System; using QuantProject.ADT.Optimizing.BruteForce; using QuantProject.Business.DataProviders; using QuantProject.Business.Strategies.Eligibles; using QuantProject.Business.Strategies.InSample; //using QuantProject.Business.Strategies.Optimizing.BruteForce; using QuantProject.Business.Strategies.Optimizing.Decoding; using QuantProject.Business.Strategies.Optimizing.FitnessEvaluation; using QuantProject.Business.Strategies.OutOfSample; using QuantProject.Business.Strategies.ReturnsManagement; namespace QuantProject.Scripts.WalkForwardTesting.PairsTrading { /// <summary> /// brute force IInSampleChooser for the pairs trading strategy /// </summary> public class PairsTradingBruteForceChooser : BruteForceChooser { public PairsTradingBruteForceChooser( int numberOfBestTestingPositionsToBeReturned , IDecoderForTestingPositions decoderForTestingPositions , IFitnessEvaluator fitnessEvaluator , IHistoricalQuoteProvider historicalQuoteProvider ) : base ( numberOfBestTestingPositionsToBeReturned , decoderForTestingPositions , fitnessEvaluator , historicalQuoteProvider ) { } protected override IBruteForceOptimizableParametersManager getBruteForceOptimizableParametersManager( EligibleTickers eligibleTickers , ReturnsManager returnsManager ) { PairsTradingBruteForceOptimizableParametersManager bruteForceOptimizableParametersManager = new PairsTradingBruteForceOptimizableParametersManager( eligibleTickers , 2 , this.decoderForTestingPositions , this.fitnessEvaluator , returnsManager ); return bruteForceOptimizableParametersManager; } // protected override string getHashCodeForTestingPositions( // TestingPositions testingPositions) // { // string hashCode = testingPositions.HashCodeForTickerComposition; // return hashCode; // } } } |
|
From: Glauco S. <gla...@us...> - 2008-03-30 15:26:32
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/PairsTrading/InSample/InSampleChoosers/BruteForce In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv27992/BruteForce Log Message: Directory /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/PairsTrading/InSample/InSampleChoosers/BruteForce added to the repository |
|
From: Glauco S. <gla...@us...> - 2008-03-30 15:25:48
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/PairsTrading/InSample/InSampleChoosers In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv27584/InSample/InSampleChoosers Removed Files: PairsTradingBruteForceChooser.cs Log Message: WalkForwardTesting\PairsTrading\InSample\InSampleChoosers\PairsTradingBruteForceChooser.cs has been moved to WalkForwardTesting\PairsTrading\InSample\InSampleChoosers\BruteForce\PairsTradingBruteForceChooser.cs --- PairsTradingBruteForceChooser.cs DELETED --- |
|
From: Glauco S. <gla...@us...> - 2008-03-30 15:23:37
|
Update of /cvsroot/quantproject/QuantProject/b4_Business In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv26646/b4_Business Modified Files: b4_Business.csproj Log Message: a2_Strategies\Logging\DummyLogItem.cs has been added Index: b4_Business.csproj =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b4_Business/b4_Business.csproj,v retrieving revision 1.61 retrieving revision 1.62 diff -C2 -d -r1.61 -r1.62 *** b4_Business.csproj 26 Mar 2008 00:42:16 -0000 1.61 --- b4_Business.csproj 30 Mar 2008 15:23:32 -0000 1.62 *************** *** 775,778 **** --- 775,783 ---- /> <File + RelPath = "a2_Strategies\Logging\DummyLogItem.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File RelPath = "a2_Strategies\Logging\ILogDescriptor.cs" SubType = "Code" |
|
From: Glauco S. <gla...@us...> - 2008-03-30 15:23:13
|
Update of /cvsroot/quantproject/QuantProject/b4_Business/a2_Strategies/Logging In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv26609/b4_Business/a2_Strategies/Logging Added Files: DummyLogItem.cs Log Message: To be used for testing objects using a LogItem --- NEW FILE: DummyLogItem.cs --- /* QuantProject - Quantitative Finance Library DummyLogItem.cs Copyright (C) 2008 Glauco Siliprandi This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ using System; using QuantProject.Business.Timing; namespace QuantProject.Business.Strategies.Logging { /// <summary> /// To be used for testing objects using a LogItem /// </summary> [Serializable] public class DummyLogItem : LogItem { /// <summary> /// To be used for testing objects using a LogItem /// </summary> /// <param name="simulatedCreationTime"></param> public DummyLogItem( EndOfDayDateTime simulatedCreationTime ) : base( simulatedCreationTime ) { // // TODO: Add constructor logic here // } public override void Run() { // it does nothing, it's just a dummy LogItem } } } |
|
From: Glauco S. <gla...@us...> - 2008-03-30 15:21:37
|
Update of /cvsroot/quantproject/QuantProject/b1_ADT In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv25677/b1_ADT Modified Files: b1_ADT.csproj Log Message: - Optimizing\BruteForce\CombinationBasedBruteForceOptimizableParametersManager.cs has been moved to Optimizing\BruteForce\ParametersManagers\CombinationBasedBruteForceOptimizableParametersManager.cs - Optimizing\BruteForce\IBruteForceOptimizableParametersManager.cs has been moved to Optimizing\BruteForce\ParametersManagers\IBruteForceOptimizableParametersManager.cs - Optimizing\BruteForce\ParametersManagers\BruteForceOptimizableParametersManagerWithoutEquivalentsAsTopBestParameters.cs has been added Index: b1_ADT.csproj =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b1_ADT/b1_ADT.csproj,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** b1_ADT.csproj 26 Mar 2008 00:37:17 -0000 1.29 --- b1_ADT.csproj 30 Mar 2008 15:21:30 -0000 1.30 *************** *** 243,252 **** /> <File ! RelPath = "Optimizing\BruteForce\CombinationBasedBruteForceOptimizableParametersManager.cs" SubType = "Code" BuildAction = "Compile" /> <File ! RelPath = "Optimizing\BruteForce\IBruteForceOptimizableParametersManager.cs" SubType = "Code" BuildAction = "Compile" --- 243,257 ---- /> <File ! RelPath = "Optimizing\BruteForce\ParametersManagers\BruteForceOptimizableParametersManagerWithoutEquivalentsAsTopBestParameters.cs" SubType = "Code" BuildAction = "Compile" /> <File ! RelPath = "Optimizing\BruteForce\ParametersManagers\CombinationBasedBruteForceOptimizableParametersManager.cs" ! SubType = "Code" ! BuildAction = "Compile" ! /> ! <File ! RelPath = "Optimizing\BruteForce\ParametersManagers\IBruteForceOptimizableParametersManager.cs" SubType = "Code" BuildAction = "Compile" |
|
From: Glauco S. <gla...@us...> - 2008-03-30 15:20:39
|
Update of /cvsroot/quantproject/QuantProject/b1_ADT In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv25215/b1_ADT Modified Files: ADT_SD.csproj Log Message: - Optimizing\BruteForce\CombinationBasedBruteForceOptimizableParametersManager.cs has been moved to Optimizing\BruteForce\ParametersManagers\CombinationBasedBruteForceOptimizableParametersManager.cs - Optimizing\BruteForce\IBruteForceOptimizableParametersManager.cs has been moved to Optimizing\BruteForce\ParametersManagers\IBruteForceOptimizableParametersManager.cs - Optimizing\BruteForce\ParametersManagers\BruteForceOptimizableParametersManagerWithoutEquivalentsAsTopBestParameters.cs has been added Index: ADT_SD.csproj =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b1_ADT/ADT_SD.csproj,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** ADT_SD.csproj 12 Mar 2008 21:51:34 -0000 1.6 --- ADT_SD.csproj 30 Mar 2008 15:20:35 -0000 1.7 *************** *** 53,56 **** --- 53,60 ---- <Compile Include="ExtendedDateTime.cs" /> <Compile Include="HashProvider.cs" /> + <Compile Include="Optimizing\BruteForce\BestParametersManager.cs" /> + <Compile Include="Optimizing\BruteForce\CombinationBasedBruteForceOptimizableParametersManager.cs" /> + <Compile Include="Optimizing\Fitness\FitnessComparer.cs" /> + <Compile Include="Optimizing\Fitness\IWithFitness.cs" /> <Compile Include="OutOfRangeException.cs" /> <Compile Include="IProgressNotifier.cs" /> *************** *** 99,102 **** --- 103,107 ---- <Folder Include="Optimizing\BruteForce" /> <Folder Include="Optimizing\Decoding" /> + <Folder Include="Optimizing\Fitness" /> <Folder Include="Statistics\Combinatorial" /> </ItemGroup> |
|
From: Glauco S. <gla...@us...> - 2008-03-30 15:19:33
|
Update of /cvsroot/quantproject/QuantProject/b1_ADT/Optimizing/BruteForce/ParametersManagers In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv24704/ParametersManagers Added Files: BruteForceOptimizableParametersManagerWithoutEquivalentsAsTopBestParameters.cs Log Message: Inheriting this abstract class, all different meanings are considered to be not equivalent as top best parameters (thus, every new parameters with top fitness will be added to the TopBestParameters) --- NEW FILE: BruteForceOptimizableParametersManagerWithoutEquivalentsAsTopBestParameters.cs --- /* QuantProject - Quantitative Finance Library BruteForceOptimizableParametersManagerWithoutEquivalentsAsTopBestParameters.cs Copyright (C) 2008 Glauco Siliprandi This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ using System; namespace QuantProject.ADT.Optimizing.BruteForce { /// <summary> /// Inheriting this abstract class, all different meanings are considered /// to be not equivalent as top best parameters (thus, every new parameters /// with top fitness will be added to the TopBestParameters) /// </summary> public abstract class BruteForceOptimizableParametersManagerWithoutEquivalentsAsTopBestParameters : IBruteForceOptimizableParametersManager { public abstract int TotalIterations { get; } public abstract object Current { get; } public BruteForceOptimizableParametersManagerWithoutEquivalentsAsTopBestParameters() { } public abstract object Decode( BruteForceOptimizableParameters bruteForceOptimizableParameters ); public abstract double GetFitnessValue( BruteForceOptimizableParameters bruteForceOptimizableParameters ); public virtual bool AreEquivalentAsTopBestParameters( object meaning1 , object meaning2 ) { bool areEquivalentAsTopBestParameters = ( meaning1 == meaning2 ); return areEquivalentAsTopBestParameters; } public abstract bool MoveNext(); public abstract void Reset(); } } |
|
From: Glauco S. <gla...@us...> - 2008-03-30 15:17:47
|
Update of /cvsroot/quantproject/QuantProject/b1_ADT/Optimizing/BruteForce/ParametersManagers In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv23800/Optimizing/BruteForce/ParametersManagers Added Files: IBruteForceOptimizableParametersManager.cs Log Message: Optimizing\BruteForce\IBruteForceOptimizableParametersManager.cs has been moved to Optimizing\BruteForce\ParametersManagers\IBruteForceOptimizableParametersManager.cs --- NEW FILE: IBruteForceOptimizableParametersManager.cs --- /* QuantProject - Quantitative Finance Library IBruteForceOptimizableParametersManager.cs Copyright (C) 2006 Glauco Siliprandi This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ using System; using System.Collections; namespace QuantProject.ADT.Optimizing.BruteForce { /// <summary> /// Interface to be implemented by any object used to run /// an instance of the BruteForceOptimizer class. /// </summary> public interface IBruteForceOptimizableParametersManager : IEnumerator { // the number of total iterations expected int TotalIterations { get; } double GetFitnessValue( BruteForceOptimizableParameters bruteForceOptimizableParameters ); object Decode( BruteForceOptimizableParameters bruteForceOptimizableParameters ); bool AreEquivalentAsTopBestParameters( object meaning1 , object meaning2 ); } } |
|
From: Glauco S. <gla...@us...> - 2008-03-30 15:16:13
|
Update of /cvsroot/quantproject/QuantProject/b1_ADT/Optimizing/BruteForce In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv22921 Removed Files: IBruteForceOptimizableParametersManager.cs Log Message: Optimizing\BruteForce\IBruteForceOptimizableParametersManager.cs has been moved to Optimizing\BruteForce\ParametersManagers\IBruteForceOptimizableParametersManager.cs --- IBruteForceOptimizableParametersManager.cs DELETED --- |
|
From: Glauco S. <gla...@us...> - 2008-03-30 15:15:06
|
Update of /cvsroot/quantproject/QuantProject/b1_ADT/Optimizing/BruteForce/ParametersManagers In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv22336/ParametersManagers Added Files: CombinationBasedBruteForceOptimizableParametersManager.cs Log Message: Optimizing\BruteForce\CombinationBasedBruteForceOptimizableParametersManager.cs has been moved to Optimizing\BruteForce\ParametersManagers\CombinationBasedBruteForceOptimizableParametersManager.cs --- NEW FILE: CombinationBasedBruteForceOptimizableParametersManager.cs --- /* QuantProject - Quantitative Finance Library BruteForceOptimizer.cs Copyright (C) 2008 Glauco Siliprandi This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ using System; using QuantProject.ADT.Statistics.Combinatorial; namespace QuantProject.ADT.Optimizing.BruteForce { /// <summary> /// Abstract class to be inherited by those IBruteForceOptimizableParametersManager /// who are based on a single Combination to be scan through /// </summary> public abstract class CombinationBasedBruteForceOptimizableParametersManager : BruteForceOptimizableParametersManagerWithoutEquivalentsAsTopBestParameters { protected Combination combination; public override int TotalIterations { get { return Convert.ToInt32( this.combination.TotalNumberOfCombinations ); } } public override object Current { get { int[] currentValues = new int[ this.combination.Length ]; for ( int i = 0 ; i < this.combination.Length ; i ++ ) currentValues[ i ] = this.combination.GetValue( i ); BruteForceOptimizableParameters bruteForceOptimizableParameters = new BruteForceOptimizableParameters( currentValues , this ); return bruteForceOptimizableParameters; } } public CombinationBasedBruteForceOptimizableParametersManager( Combination combination ) { this.combination = combination; } public override bool MoveNext() { return this.combination.MoveNext(); } public override void Reset() { this.combination.Reset(); } } } |
|
From: Glauco S. <gla...@us...> - 2008-03-30 15:14:38
|
Update of /cvsroot/quantproject/QuantProject/b1_ADT/Optimizing/BruteForce In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv22275 Removed Files: CombinationBasedBruteForceOptimizableParametersManager.cs Log Message: Optimizing\BruteForce\CombinationBasedBruteForceOptimizableParametersManager.cs has been moved to Optimizing\BruteForce\ParametersManagers\CombinationBasedBruteForceOptimizableParametersManager.cs --- CombinationBasedBruteForceOptimizableParametersManager.cs DELETED --- |