[Quantproject-developers] QuantProject/b4_Business/a2_Strategies/InSample GeneticChooser.cs, 1.13,
Brought to you by:
glauco_1
|
From: Marco M. <mi...@us...> - 2011-08-21 13:15:58
|
Update of /cvsroot/quantproject/QuantProject/b4_Business/a2_Strategies/InSample
In directory vz-cvs-3.sog:/tmp/cvs-serv16022/InSample
Modified Files:
GeneticChooser.cs
Log Message:
Resolved conflict
Index: GeneticChooser.cs
===================================================================
RCS file: /cvsroot/quantproject/QuantProject/b4_Business/a2_Strategies/InSample/GeneticChooser.cs,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** GeneticChooser.cs 13 Feb 2011 19:30:10 -0000 1.13
--- GeneticChooser.cs 21 Aug 2011 13:15:56 -0000 1.14
***************
*** 186,189 ****
--- 186,197 ----
{
if ( eligibleTickers.Count < this.numberOfPortfolioPositions )
+ throw new Exception( "Eligible tickers at date " +
+ eligibleTickers.DateAtWhichTickersAreEligible.ToString() + " " +
+ "for driving positions contains only " +
+ eligibleTickers.Count + " " +
+ "elements, while number of portfolio positions is " +
+ this.numberOfPortfolioPositions );
+ if ( this.numberOfBestTestingPositionsToBeReturned >
+ this.populationSizeForGeneticOptimizer )
throw new Exception( "Eligible tickers for driving positions contains " +
"only " + eligibleTickers.Count +
***************
*** 206,223 ****
}
#region sendNewMessage
! private string getProgressMessage(
! int generationCounter , int generationNumber )
{
string progressMessage =
! generationCounter.ToString() + " / " +
! generationNumber.ToString() +
! " - " +
! DateTime.Now.ToString();
return progressMessage;
}
private void sendNewMessage( NewGenerationEventArgs e )
{
! string message = this.getProgressMessage(
! e.GenerationCounter , e.GenerationNumber );
NewMessageEventArgs newMessageEventArgs =
new NewMessageEventArgs( message );
--- 214,248 ----
}
#region sendNewMessage
! private double getProgressMessage_getAverageFitness(NewGenerationEventArgs e)
{
+ double totalFitness = 0.0;
+ int populationSize = e.CurrentGeneticOptimizer.PopulationSize;
+ for(int i = 0; i < populationSize; i++)
+ totalFitness += ((Genome)e.Generation[i]).Fitness;
+
+ return totalFitness / populationSize;
+ }
+ private string getProgressMessage(NewGenerationEventArgs e)
+ {
+ Genome bestGenome = (Genome)e.Generation[e.Generation.Count - 1];
+ if( e.CurrentGeneticOptimizer.BestGenome != null )
+ bestGenome = e.CurrentGeneticOptimizer.BestGenome;
+ double worstFitness = ((Genome)e.Generation[0]).Fitness;
+ if( e.CurrentGeneticOptimizer.WorstGenome != null)
+ worstFitness = e.CurrentGeneticOptimizer.WorstGenome.Fitness;
+ double averageFitness = this.getProgressMessage_getAverageFitness(e);
string progressMessage =
! e.GenerationCounter.ToString() + " / " +
! e.GenerationNumber.ToString() +
! " ; Abs Best: " + bestGenome.Fitness.ToString("0.00000000") +
! " (gen: " + bestGenome.Generation.ToString() + ")" +
! " ; Abs Worst: " + worstFitness.ToString("0.000000") +
! " ; Avg of gen : " + averageFitness.ToString("0.0000") +
! " - " + DateTime.Now.ToString();
return progressMessage;
}
private void sendNewMessage( NewGenerationEventArgs e )
{
! string message = this.getProgressMessage( e );
NewMessageEventArgs newMessageEventArgs =
new NewMessageEventArgs( message );
|