[Quantproject-developers] QuantProject/b4_Business/a2_Strategies/OutOfSample TestingPositions.cs,
Brought to you by:
glauco_1
|
From: Marco M. <mi...@us...> - 2011-08-21 13:46:35
|
Update of /cvsroot/quantproject/QuantProject/b4_Business/a2_Strategies/OutOfSample
In directory vz-cvs-3.sog:/tmp/cvs-serv17808/OutOfSample
Modified Files:
TestingPositions.cs
Log Message:
Added methods: Copy() and AddWeightedPosition
Index: TestingPositions.cs
===================================================================
RCS file: /cvsroot/quantproject/QuantProject/b4_Business/a2_Strategies/OutOfSample/TestingPositions.cs,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** TestingPositions.cs 28 Mar 2010 14:39:20 -0000 1.6
--- TestingPositions.cs 21 Aug 2011 13:46:33 -0000 1.7
***************
*** 166,169 ****
--- 166,197 ----
this.fitnessInSample = double.MinValue;
}
+
+ public TestingPositions Copy()
+ {
+ return new TestingPositions(this.weightedPositions, this.fitnessInSample);
+ }
+
+ private void AddWeightedPosition_adjustPreviousWeights(double weightOfNewPositionToAdd )
+ {
+ double weightToBeRedistributedToThePrevious = 1.0 - weightOfNewPositionToAdd;
+ double previousWeight;
+ for(int i = 0; i < this.WeightedPositions.Count; i ++)
+ {
+ previousWeight = this.WeightedPositions[i].Weight;
+ this.WeightedPositions[i].Weight =
+ previousWeight * weightToBeRedistributedToThePrevious;
+ }
+ }
+
+ /// <summary>
+ /// Adds a WeightedPosition to the current instance of testing positions
+ /// the previous weights are adjusted according to the amount
+ /// of weight of the added WeightedPosition
+ /// </summary>
+ public void AddWeightedPosition(WeightedPosition positionToAdd )
+ {
+ this.AddWeightedPosition_adjustPreviousWeights(positionToAdd.Weight);
+ this.weightedPositions.Add(positionToAdd);
+ }
}
}
|