[Quantproject-developers] QuantProject/b7_Scripts/ArbitrageTesting/OverReactionHypothesis/DoubleOve
Brought to you by:
glauco_1
|
From: Glauco S. <gla...@us...> - 2008-09-29 21:16:44
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/ArbitrageTesting/OverReactionHypothesis/DoubleOverReaction_WeekEndBounce In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv15309/ArbitrageTesting/OverReactionHypothesis/DoubleOverReaction_WeekEndBounce Modified Files: EndOfDayTimerHandlerDOR_WeekEndBounce.cs Log Message: The new revision moves toward an intraday enabled framework. EndOfDayDate time has been removed, DateTime is used now. The code has been changed accordingly. Index: EndOfDayTimerHandlerDOR_WeekEndBounce.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/ArbitrageTesting/OverReactionHypothesis/DoubleOverReaction_WeekEndBounce/EndOfDayTimerHandlerDOR_WeekEndBounce.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** EndOfDayTimerHandlerDOR_WeekEndBounce.cs 19 Aug 2008 17:11:28 -0000 1.2 --- EndOfDayTimerHandlerDOR_WeekEndBounce.cs 29 Sep 2008 21:16:12 -0000 1.3 *************** *** 31,35 **** using QuantProject.Business.Strategies; using QuantProject.Data; ! using QuantProject.Data.DataProviders; using QuantProject.Data.Selectors; --- 31,35 ---- using QuantProject.Business.Strategies; using QuantProject.Data; ! using QuantProject.Data.DataProviders.Quotes; using QuantProject.Data.Selectors; *************** *** 43,52 **** /// </summary> [Serializable] ! public class EndOfDayTimerHandlerDOR_WeekEndBounce { private string tickerGroupID; private int numberOfEligibleTickers; private string benchmark; ! private Account account; private int numOfWorstTickers; private int numOfBestTickers; --- 43,52 ---- /// </summary> [Serializable] ! public class EndOfDayTimerHandlerDOR_WeekEndBounce : EndOfDayStrategy { private string tickerGroupID; private int numberOfEligibleTickers; private string benchmark; ! // private Account account; private int numOfWorstTickers; private int numOfBestTickers; *************** *** 143,157 **** private double setChosenTickers_getGainOrLossFromPreviousClose(string signedTicker) { ! IndexBasedEndOfDayTimer currentTimer = (IndexBasedEndOfDayTimer)this.account.EndOfDayTimer; ! ExtendedDateTime nowAtOpen = ! new ExtendedDateTime(currentTimer.GetCurrentTime().DateTime, ! BarComponent.Open); ! ExtendedDateTime previousClose = ! new ExtendedDateTime(currentTimer.GetPreviousDateTime(), ! BarComponent.Close); double currentValueAtOpen = ! HistoricalDataProvider.GetAdjustedMarketValue(SignedTicker.GetTicker(signedTicker), nowAtOpen); double previousValueAtClose = ! HistoricalDataProvider.GetAdjustedMarketValue(SignedTicker.GetTicker(signedTicker), previousClose); return (currentValueAtOpen - previousValueAtClose) / previousValueAtClose; --- 143,163 ---- private double setChosenTickers_getGainOrLossFromPreviousClose(string signedTicker) { ! IndexBasedEndOfDayTimer currentTimer = (IndexBasedEndOfDayTimer)this.account.Timer; ! DateTime nowAtOpen = ! HistoricalEndOfDayTimer.GetMarketOpen( currentTimer.GetCurrentDateTime() ); ! // new ExtendedDateTime(currentTimer.GetCurrentTime().DateTime, ! // BarComponent.Open); ! DateTime previousClose = ! HistoricalEndOfDayTimer.GetMarketClose( currentTimer.GetPreviousDateTime() ); ! // new ExtendedDateTime(currentTimer.GetPreviousDateTime(), ! // BarComponent.Close); double currentValueAtOpen = ! HistoricalQuotesProvider.GetAdjustedMarketValue( ! SignedTicker.GetTicker(signedTicker), ! nowAtOpen , MarketStatusSwitch.Open ); double previousValueAtClose = ! HistoricalQuotesProvider.GetAdjustedMarketValue( ! SignedTicker.GetTicker(signedTicker), ! previousClose , MarketStatusSwitch.Close ); return (currentValueAtOpen - previousValueAtClose) / previousValueAtClose; *************** *** 221,226 **** /// <param name="sender"></param> /// <param name="eventArgs"></param> ! public void MarketOpenEventHandler( ! Object sender , EndOfDayTimingEventArgs endOfDayTimingEventArgs ) { if(this.orders.Count == 0 && this.account.Transactions.Count == 0) --- 227,232 ---- /// <param name="sender"></param> /// <param name="eventArgs"></param> ! protected override void marketOpenEventHandler( ! Object sender , DateTime dateTime ) { if(this.orders.Count == 0 && this.account.Transactions.Count == 0) *************** *** 228,235 **** if ( (this.account.Portfolio.Count == 0 && ! endOfDayTimingEventArgs.EndOfDayDateTime.DateTime.DayOfWeek == DayOfWeek.Monday) || (this.account.Portfolio.Count == 0 && ! endOfDayTimingEventArgs.EndOfDayDateTime.DateTime.DayOfWeek == DayOfWeek.Tuesday) ) { --- 234,241 ---- if ( (this.account.Portfolio.Count == 0 && ! dateTime.DayOfWeek == DayOfWeek.Monday) || (this.account.Portfolio.Count == 0 && ! dateTime.DayOfWeek == DayOfWeek.Tuesday) ) { *************** *** 244,252 **** this.openPositions(this.chosenTickers); } ! else if (endOfDayTimingEventArgs.EndOfDayDateTime.DateTime.DayOfWeek == DayOfWeek.Wednesday || ! endOfDayTimingEventArgs.EndOfDayDateTime.DateTime.DayOfWeek == DayOfWeek.Thursday || ! endOfDayTimingEventArgs.EndOfDayDateTime.DateTime.DayOfWeek == DayOfWeek.Friday) this.closePositions(); --- 250,258 ---- this.openPositions(this.chosenTickers); } ! else if (dateTime.DayOfWeek == DayOfWeek.Wednesday || ! dateTime.DayOfWeek == DayOfWeek.Thursday || ! dateTime.DayOfWeek == DayOfWeek.Friday) this.closePositions(); *************** *** 255,265 **** #endregion ! public void MarketCloseEventHandler( ! Object sender , EndOfDayTimingEventArgs endOfDayTimingEventArgs ) { } ! #region OneHourAfterMarketCloseEventHandler private void oneHourAfterMarketCloseEventHandler_clear() --- 261,271 ---- #endregion ! protected override void marketCloseEventHandler( ! Object sender , DateTime dateTime ) { } ! #region oneHourAfterMarketCloseEventHandler private void oneHourAfterMarketCloseEventHandler_clear() *************** *** 279,292 **** /// <param name="sender"></param> /// <param name="eventArgs"></param> ! public void OneHourAfterMarketCloseEventHandler( ! Object sender , EndOfDayTimingEventArgs endOfDayTimingEventArgs ) { this.oneHourAfterMarketCloseEventHandler_clear(); ! if ( endOfDayTimingEventArgs.EndOfDayDateTime.DateTime.DayOfWeek == DayOfWeek.Friday && ( (IndexBasedEndOfDayTimer)sender ).CurrentDateArrayPosition >= this.lengthInDaysForPerformance ) { ! DateTime currentDate = endOfDayTimingEventArgs.EndOfDayDateTime.DateTime; int currentDateArrayPositionInTimer = ((IndexBasedEndOfDayTimer)sender).CurrentDateArrayPosition; SelectorByGroup temporizedGroup = new SelectorByGroup(this.tickerGroupID, --- 285,298 ---- /// <param name="sender"></param> /// <param name="eventArgs"></param> ! protected override void oneHourAfterMarketCloseEventHandler( ! Object sender , DateTime dateTime ) { this.oneHourAfterMarketCloseEventHandler_clear(); ! if ( dateTime.DayOfWeek == DayOfWeek.Friday && ( (IndexBasedEndOfDayTimer)sender ).CurrentDateArrayPosition >= this.lengthInDaysForPerformance ) { ! DateTime currentDate = dateTime; int currentDateArrayPositionInTimer = ((IndexBasedEndOfDayTimer)sender).CurrentDateArrayPosition; SelectorByGroup temporizedGroup = new SelectorByGroup(this.tickerGroupID, |