Update of /cvsroot/quantproject/QuantProject/b4_Business/a2_Strategies/returnsManagement/time
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv2565/a2_Strategies/returnsManagement/time
Modified Files:
CloseToCloseIntervals.cs
Log Message:
Added a new constructor to the class, in order to set the IntervalLength
for each return (each interval begins at a given market day "i" and ends at
market day "i + intervalLength"). Default IntervalLength is equal to 1 (daily close to
close intervals).
Index: CloseToCloseIntervals.cs
===================================================================
RCS file: /cvsroot/quantproject/QuantProject/b4_Business/a2_Strategies/returnsManagement/time/CloseToCloseIntervals.cs,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** CloseToCloseIntervals.cs 16 Sep 2007 21:38:05 -0000 1.1
--- CloseToCloseIntervals.cs 23 Sep 2007 22:04:10 -0000 1.2
***************
*** 33,36 ****
--- 33,38 ----
public class CloseToCloseIntervals : ReturnIntervals
{
+ private int intervalLength = 1;//default intervals are daily
+
/// <summary>
/// Creates the close to close intervals for the given benchmark, from
***************
*** 44,48 ****
--- 46,69 ----
base( firstEndOfDayDateTime , lastEndOfDayDateTime , benchmark )
{
+
}
+ /// <summary>
+ /// Creates the close to close intervals for the given benchmark, from
+ /// the first EndOfDayDateTime to the last EndOfDayDateTime:
+ /// each interval begins at a given market day "i" and ends at
+ /// market day "i + intervalLength"
+ /// </summary>
+ /// <param name="firstEndOfDayDateTime"></param>
+ /// <param name="lastEndOfDayDateTime"></param>
+ /// <param name="benchmark"></param>
+ /// <param name="intervalLength"></param>
+ public CloseToCloseIntervals( EndOfDayDateTime firstEndOfDayDateTime ,
+ EndOfDayDateTime lastEndOfDayDateTime ,
+ string benchmark , int intervalLength ) :
+ base( firstEndOfDayDateTime , lastEndOfDayDateTime , benchmark )
+ {
+ this.intervalLength = intervalLength;
+ }
+
#region setIntervals
private void addInterval( History marketDaysForBenchmark , int i )
***************
*** 51,55 ****
(DateTime)marketDaysForBenchmark.GetKey( i );
DateTime dateTimeForIntervalEnd =
! (DateTime)marketDaysForBenchmark.GetKey( i + 1 );
ReturnInterval returnInterval = new ReturnInterval(
new EndOfDayDateTime( dateTimeForIntervalBegin ,
--- 72,76 ----
(DateTime)marketDaysForBenchmark.GetKey( i );
DateTime dateTimeForIntervalEnd =
! (DateTime)marketDaysForBenchmark.GetKey( i + this.intervalLength );
ReturnInterval returnInterval = new ReturnInterval(
new EndOfDayDateTime( dateTimeForIntervalBegin ,
***************
*** 61,65 ****
private void setIntervals( History marketDaysForBenchmark )
{
! for( int i = 0 ; i < marketDaysForBenchmark.Count - 1 ; i++ )
this.addInterval( marketDaysForBenchmark , i );
}
--- 82,88 ----
private void setIntervals( History marketDaysForBenchmark )
{
! for( int i = 0 ;
! i < marketDaysForBenchmark.Count - this.intervalLength;
! i = i + this.intervalLength )
this.addInterval( marketDaysForBenchmark , i );
}
|