Update of /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/WalkForwardLag
In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv4107/b7_Scripts/WalkForwardTesting/WalkForwardLag
Modified Files:
WeightedPositions.cs
Log Message:
The GetNormalizedWeights public method has been added: given a generic set of virtual weights, it returns proportionate weights whose absolute values sum up to 1
Index: WeightedPositions.cs
===================================================================
RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/WalkForwardLag/WeightedPositions.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** WeightedPositions.cs 8 Sep 2006 15:32:27 -0000 1.2
--- WeightedPositions.cs 8 Oct 2006 16:13:54 -0000 1.3
***************
*** 275,279 ****
tickers );
}
!
}
}
--- 275,315 ----
tickers );
}
! #region GetNormalizedWeights
! private static double getAbsoluteWeightSum( double[] nonNormalizedWeights )
! {
! double absoluteWeightSum = 0;
! foreach ( double nonNormalizedWeight in nonNormalizedWeights )
! absoluteWeightSum += Math.Abs( nonNormalizedWeight );
! return absoluteWeightSum;
! }
! private static double getNormalizingFactor( double[] nonNormalizedWeights )
! {
! double absoluteWeightSum =
! getAbsoluteWeightSum( nonNormalizedWeights );
! double normalizingFactor = 1 / absoluteWeightSum;
! return normalizingFactor;
! }
! private static double[] getNormalizedWeights( double[] nonNormalizedWeights ,
! double normalizingFactor )
! {
! double[] normalizedWeights = new double[ nonNormalizedWeights.Length ];
! for ( int i = 0 ; i < nonNormalizedWeights.Length ; i ++ )
! normalizedWeights[ i ] = nonNormalizedWeights[ i ] * normalizingFactor;
! return normalizedWeights;
! }
! /// <summary>
! /// Returns weights whose absolute values sum up to 1
! /// </summary>
! /// <param name="nonNormalizedWeights"></param>
! /// <returns></returns>
! ///
! public static double[] GetNormalizedWeights( double[] nonNormalizedWeights )
! {
! double normalizingFactor =
! getNormalizingFactor( nonNormalizedWeights );
! return
! getNormalizedWeights( nonNormalizedWeights , normalizingFactor );
! }
! #endregion
}
}
|