[Quantproject-developers] QuantProject/b4_Business/a2_Strategies/returnsManagement/time CloseToClo
Brought to you by:
glauco_1
|
From: Marco M. <mi...@us...> - 2007-09-25 21:48:21
|
Update of /cvsroot/quantproject/QuantProject/b4_Business/a2_Strategies/returnsManagement/time In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv14131 Modified Files: CloseToCloseIntervals.cs CloseToOpenIntervals.cs DailyOpenToCloseIntervals.cs OpenToCloseCloseToOpenIntervals.cs ReturnIntervals.cs Log Message: Added protected field marketDaysForBenchmark (History) to ReturnIntervals, to be used for intervals' settings inside inherited classes. Index: ReturnIntervals.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b4_Business/a2_Strategies/returnsManagement/time/ReturnIntervals.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ReturnIntervals.cs 16 Sep 2007 21:42:56 -0000 1.1 --- ReturnIntervals.cs 25 Sep 2007 21:48:15 -0000 1.2 *************** *** 24,27 **** --- 24,28 ---- using System.Collections; + using QuantProject.ADT.Histories; using QuantProject.Business.Timing; *************** *** 37,41 **** protected EndOfDayDateTime lastEndOfDayDateTime; protected string benchmark; ! private EndOfDayHistory bordersHistory; --- 38,42 ---- protected EndOfDayDateTime lastEndOfDayDateTime; protected string benchmark; ! protected History marketDaysForBenchmark; private EndOfDayHistory bordersHistory; *************** *** 89,95 **** --- 90,106 ---- this.lastEndOfDayDateTime = lastEndOfDayDateTime; this.benchmark = benchmark; + this.setMarketDaysForBenchmark(); this.setIntervals(); } + + protected virtual void setMarketDaysForBenchmark() + { + this.marketDaysForBenchmark = + QuantProject.Data.DataTables.Quotes.GetMarketDays( this.benchmark , + firstEndOfDayDateTime.DateTime , lastEndOfDayDateTime.DateTime ); + } + protected abstract void setIntervals(); + /// <summary> /// True iff for each interval border, there is an EndOfDayDateTime Index: OpenToCloseCloseToOpenIntervals.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b4_Business/a2_Strategies/returnsManagement/time/OpenToCloseCloseToOpenIntervals.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** OpenToCloseCloseToOpenIntervals.cs 23 Sep 2007 21:46:31 -0000 1.1 --- OpenToCloseCloseToOpenIntervals.cs 25 Sep 2007 21:48:14 -0000 1.2 *************** *** 23,27 **** using System; - using QuantProject.ADT.Histories; using QuantProject.Business.Timing; --- 23,26 ---- *************** *** 49,57 **** } #region setIntervals ! private void addInterval( History marketDaysForBenchmark , int i ) { //adds the open to close interval DateTime dateTimeForOTC = ! (DateTime)marketDaysForBenchmark.GetKey( i ); ReturnInterval returnOTCInterval = new ReturnInterval( new EndOfDayDateTime( dateTimeForOTC , --- 48,56 ---- } #region setIntervals ! private void addInterval( int i ) { //adds the open to close interval DateTime dateTimeForOTC = ! (DateTime)this.marketDaysForBenchmark.GetKey( i ); ReturnInterval returnOTCInterval = new ReturnInterval( new EndOfDayDateTime( dateTimeForOTC , *************** *** 62,66 **** //adds the following close to open interval DateTime dateTimeForCTOEnd = ! (DateTime)marketDaysForBenchmark.GetKey( i + 1 ); ReturnInterval returnCTOInterval = new ReturnInterval( new EndOfDayDateTime( dateTimeForOTC , --- 61,65 ---- //adds the following close to open interval DateTime dateTimeForCTOEnd = ! (DateTime)this.marketDaysForBenchmark.GetKey( i + 1 ); ReturnInterval returnCTOInterval = new ReturnInterval( new EndOfDayDateTime( dateTimeForOTC , *************** *** 70,85 **** this.Add( returnCTOInterval ); } - private void setIntervals( History marketDaysForBenchmark ) - { - for( int i = 0 ; i < marketDaysForBenchmark.Count - 1 ; i++ ) - this.addInterval( marketDaysForBenchmark , i ); - } protected override void setIntervals() { ! History marketDaysForBenchmark = ! QuantProject.Data.DataTables.Quotes.GetMarketDays( this.benchmark , ! firstEndOfDayDateTime.DateTime , lastEndOfDayDateTime.DateTime ); ! this.setIntervals( marketDaysForBenchmark ); } #endregion setIntervals } --- 69,78 ---- this.Add( returnCTOInterval ); } protected override void setIntervals() { ! for( int i = 0 ; i < marketDaysForBenchmark.Count - 1 ; i++ ) ! this.addInterval( i ); } + #endregion setIntervals } Index: CloseToOpenIntervals.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b4_Business/a2_Strategies/returnsManagement/time/CloseToOpenIntervals.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** CloseToOpenIntervals.cs 23 Sep 2007 21:44:35 -0000 1.1 --- CloseToOpenIntervals.cs 25 Sep 2007 21:48:14 -0000 1.2 *************** *** 23,27 **** using System; - using QuantProject.ADT.Histories; using QuantProject.Business.Timing; --- 23,26 ---- *************** *** 46,55 **** } #region setIntervals ! private void addInterval( History marketDaysForBenchmark , int i ) { DateTime dateTimeForIntervalBegin = ! (DateTime)marketDaysForBenchmark.GetKey( i ); DateTime dateTimeForIntervalEnd = ! (DateTime)marketDaysForBenchmark.GetKey( i + 1 ); ReturnInterval returnInterval = new ReturnInterval( new EndOfDayDateTime( dateTimeForIntervalBegin , --- 45,54 ---- } #region setIntervals ! private void addInterval( int i ) { DateTime dateTimeForIntervalBegin = ! (DateTime)this.marketDaysForBenchmark.GetKey( i ); DateTime dateTimeForIntervalEnd = ! (DateTime)this.marketDaysForBenchmark.GetKey( i + 1 ); ReturnInterval returnInterval = new ReturnInterval( new EndOfDayDateTime( dateTimeForIntervalBegin , *************** *** 59,73 **** this.Add( returnInterval ); } - private void setIntervals( History marketDaysForBenchmark ) - { - for( int i = 0 ; i < marketDaysForBenchmark.Count - 1 ; i++ ) - this.addInterval( marketDaysForBenchmark , i ); - } protected override void setIntervals() { ! History marketDaysForBenchmark = ! QuantProject.Data.DataTables.Quotes.GetMarketDays( this.benchmark , ! firstEndOfDayDateTime.DateTime , lastEndOfDayDateTime.DateTime ); ! this.setIntervals( marketDaysForBenchmark ); } #endregion setIntervals --- 58,65 ---- this.Add( returnInterval ); } protected override void setIntervals() { ! for( int i = 0 ; i < marketDaysForBenchmark.Count - 1 ; i++ ) ! this.addInterval( i ); } #endregion setIntervals Index: DailyOpenToCloseIntervals.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b4_Business/a2_Strategies/returnsManagement/time/DailyOpenToCloseIntervals.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** DailyOpenToCloseIntervals.cs 20 Sep 2007 22:33:35 -0000 1.2 --- DailyOpenToCloseIntervals.cs 25 Sep 2007 21:48:14 -0000 1.3 *************** *** 23,27 **** using System; - using QuantProject.ADT.Histories; using QuantProject.Business.Timing; --- 23,26 ---- *************** *** 45,53 **** { } #region setIntervals ! private void addInterval( History marketDaysForBenchmark , int i ) { DateTime dateTimeForIntervalBegin = ! (DateTime)marketDaysForBenchmark.GetKey( i ); DateTime dateTimeForIntervalEnd = dateTimeForIntervalBegin; ReturnInterval returnInterval = new ReturnInterval( --- 44,53 ---- { } + #region setIntervals ! private void addInterval( int i ) { DateTime dateTimeForIntervalBegin = ! (DateTime)this.marketDaysForBenchmark.GetKey( i ); DateTime dateTimeForIntervalEnd = dateTimeForIntervalBegin; ReturnInterval returnInterval = new ReturnInterval( *************** *** 58,73 **** this.Add( returnInterval ); } - private void setIntervals( History marketDaysForBenchmark ) - { - for( int i = 0 ; i < marketDaysForBenchmark.Count ; i++ ) - this.addInterval( marketDaysForBenchmark , i ); - } protected override void setIntervals() { ! History marketDaysForBenchmark = ! QuantProject.Data.DataTables.Quotes.GetMarketDays( this.benchmark , ! firstEndOfDayDateTime.DateTime , lastEndOfDayDateTime.DateTime ); ! this.setIntervals( marketDaysForBenchmark ); } #endregion setIntervals } --- 58,67 ---- this.Add( returnInterval ); } protected override void setIntervals() { ! for( int i = 0 ; i < this.marketDaysForBenchmark.Count ; i++ ) ! this.addInterval( i ); } + #endregion setIntervals } Index: CloseToCloseIntervals.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b4_Business/a2_Strategies/returnsManagement/time/CloseToCloseIntervals.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** CloseToCloseIntervals.cs 23 Sep 2007 22:04:10 -0000 1.2 --- CloseToCloseIntervals.cs 25 Sep 2007 21:48:14 -0000 1.3 *************** *** 23,27 **** using System; - using QuantProject.ADT.Histories; using QuantProject.Business.Timing; --- 23,26 ---- *************** *** 33,37 **** public class CloseToCloseIntervals : ReturnIntervals { ! private int intervalLength = 1;//default intervals are daily /// <summary> --- 32,36 ---- public class CloseToCloseIntervals : ReturnIntervals { ! private int intervalLength; /// <summary> *************** *** 46,50 **** base( firstEndOfDayDateTime , lastEndOfDayDateTime , benchmark ) { ! } /// <summary> --- 45,49 ---- base( firstEndOfDayDateTime , lastEndOfDayDateTime , benchmark ) { ! this.intervalLength = 1;//default intervals are daily } /// <summary> *************** *** 63,76 **** base( firstEndOfDayDateTime , lastEndOfDayDateTime , benchmark ) { this.intervalLength = intervalLength; } #region setIntervals ! private void addInterval( History marketDaysForBenchmark , int i ) { DateTime dateTimeForIntervalBegin = ! (DateTime)marketDaysForBenchmark.GetKey( i ); DateTime dateTimeForIntervalEnd = ! (DateTime)marketDaysForBenchmark.GetKey( i + this.intervalLength ); ReturnInterval returnInterval = new ReturnInterval( new EndOfDayDateTime( dateTimeForIntervalBegin , --- 62,77 ---- base( firstEndOfDayDateTime , lastEndOfDayDateTime , benchmark ) { + if(intervalLength < 1) + throw new Exception("Interval length has to be greater than 0!"); this.intervalLength = intervalLength; } #region setIntervals ! private void addInterval( int i ) { DateTime dateTimeForIntervalBegin = ! (DateTime)this.marketDaysForBenchmark.GetKey( i ); DateTime dateTimeForIntervalEnd = ! (DateTime)this.marketDaysForBenchmark.GetKey( i + this.intervalLength ); ReturnInterval returnInterval = new ReturnInterval( new EndOfDayDateTime( dateTimeForIntervalBegin , *************** *** 80,97 **** this.Add( returnInterval ); } ! private void setIntervals( History marketDaysForBenchmark ) { for( int i = 0 ; ! i < marketDaysForBenchmark.Count - this.intervalLength; i = i + this.intervalLength ) ! this.addInterval( marketDaysForBenchmark , i ); ! } ! protected override void setIntervals() ! { ! History marketDaysForBenchmark = ! QuantProject.Data.DataTables.Quotes.GetMarketDays( this.benchmark , ! firstEndOfDayDateTime.DateTime , lastEndOfDayDateTime.DateTime ); ! this.setIntervals( marketDaysForBenchmark ); } #endregion setIntervals // private History getTimeLineForOptimization( EndOfDayDateTime now ) --- 81,92 ---- this.Add( returnInterval ); } ! protected override void setIntervals() { for( int i = 0 ; ! i < this.marketDaysForBenchmark.Count - this.intervalLength; i = i + this.intervalLength ) ! this.addInterval( i ); } + #endregion setIntervals // private History getTimeLineForOptimization( EndOfDayDateTime now ) |