[Quantproject-developers] QuantProject/b7_Scripts/WalkForwardTesting/WalkForwardLag/WeightedPositio
Brought to you by:
glauco_1
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 ) { |