[Quantproject-developers] QuantProject/b7_Scripts/WalkForwardTesting/WalkForwardMultiOneRank/Report
Brought to you by:
glauco_1
|
From: Glauco S. <gla...@us...> - 2008-09-29 21:21:44
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/WalkForwardMultiOneRank/ReportDebugger In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv18875/ReportDebugger Modified Files: WFMultiOneRankDebugInSample.cs WFMultiOneRankRunInSampleDebug.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: WFMultiOneRankDebugInSample.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/WalkForwardMultiOneRank/ReportDebugger/WFMultiOneRankDebugInSample.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** WFMultiOneRankDebugInSample.cs 16 Aug 2008 19:40:55 -0000 1.3 --- WFMultiOneRankDebugInSample.cs 29 Sep 2008 21:21:25 -0000 1.4 *************** *** 3,7 **** WFMultiOneRankDebugInSample.cs ! Copyright (C) 2003 Glauco Siliprandi --- 3,7 ---- WFMultiOneRankDebugInSample.cs ! Copyright (C) 2003 Glauco Siliprandi *************** *** 19,23 **** along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ! */ using System; --- 19,23 ---- along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ! */ using System; *************** *** 41,45 **** private string benchmark; ! private IHistoricalQuoteProvider historicalQuoteProvider; private IndexBasedEndOfDayTimer endOfDayTimer; private Account account; --- 41,45 ---- private string benchmark; ! private HistoricalMarketValueProvider historicalMarketValueProvider; private IndexBasedEndOfDayTimer endOfDayTimer; private Account account; *************** *** 48,53 **** public WFMultiOneRankDebugInSample( string[] signedTickers , ! DateTime firstDateTime , DateTime lastDateTime , ! string benchmark ) { this.signedTickers = signedTickers; --- 48,53 ---- public WFMultiOneRankDebugInSample( string[] signedTickers , ! DateTime firstDateTime , DateTime lastDateTime , ! string benchmark ) { this.signedTickers = signedTickers; *************** *** 59,63 **** // this.startDateTime = this.dateTime.AddDays( // -this.numberDaysForInSampleOptimization - 1 ); ! this.historicalQuoteProvider = new HistoricalAdjustedQuoteProvider(); } --- 59,63 ---- // this.startDateTime = this.dateTime.AddDays( // -this.numberDaysForInSampleOptimization - 1 ); ! this.historicalMarketValueProvider = new HistoricalAdjustedQuoteProvider(); } *************** *** 67,81 **** this.endOfDayTimer = new IndexBasedEndOfDayTimer( ! new EndOfDayDateTime( this.firstDateTime , ! EndOfDaySpecificTime.MarketOpen ), this.benchmark ); } private void run_initializeAccount() { this.account = new Account( "WFMultiOneRankDebugInSample" , ! this.endOfDayTimer , ! new HistoricalEndOfDayDataStreamer( this.endOfDayTimer , ! this.historicalQuoteProvider ) , ! new HistoricalEndOfDayOrderExecutor( this.endOfDayTimer , ! this.historicalQuoteProvider ) ); } private void run_initializeEndOfDayTimerHandler() --- 67,83 ---- this.endOfDayTimer = new IndexBasedEndOfDayTimer( ! HistoricalEndOfDayTimer.GetMarketOpen( this.firstDateTime ) , ! // new EndOfDayDateTime( this.firstDateTime , ! // EndOfDaySpecificTime.MarketOpen ), ! this.benchmark ); } private void run_initializeAccount() { this.account = new Account( "WFMultiOneRankDebugInSample" , ! this.endOfDayTimer , ! new HistoricalEndOfDayDataStreamer( this.endOfDayTimer , ! this.historicalMarketValueProvider ) , ! new HistoricalEndOfDayOrderExecutor( this.endOfDayTimer , ! this.historicalMarketValueProvider ) ); } private void run_initializeEndOfDayTimerHandler() *************** *** 83,90 **** this.endOfDayTimerHandler = new WFMultiOneRankDebugEndOfDayTimerHandler( ! this.account , this.signedTickers ); } public void marketOpenEventHandler( Object sender , ! EndOfDayTimingEventArgs endOfDayTimingEventArgs ) { if ( this.account.Transactions.Count == 0 ) --- 85,92 ---- this.endOfDayTimerHandler = new WFMultiOneRankDebugEndOfDayTimerHandler( ! this.account , this.signedTickers ); } public void marketOpenEventHandler( Object sender , ! DateTime dateTime ) { if ( this.account.Transactions.Count == 0 ) *************** *** 92,108 **** } public void oneHourAfterMarketCloseEventHandler( ! Object sender , EndOfDayTimingEventArgs endOfDayTimingEventArgs ) { ! if ( ( ( IEndOfDayTimer )sender ).GetCurrentTime().DateTime > ! this.lastDateTime ) { // the simulation has reached the ending date ! this.account.EndOfDayTimer.Stop(); ! Report report = new Report( this.account , this.historicalQuoteProvider ); ! report.Create( "WFT One Rank" , 1 , ! new EndOfDayDateTime( this.lastDateTime , EndOfDaySpecificTime.OneHourAfterMarketClose ) , "^SPX" ); report.Show(); } } public void Run() { --- 94,126 ---- } public void oneHourAfterMarketCloseEventHandler( ! Object sender , DateTime dateTime ) { ! if ( ( ( Timer )sender ).GetCurrentDateTime() > ! this.lastDateTime ) { // the simulation has reached the ending date ! this.account.Timer.Stop(); ! Report report = new Report( this.account , this.historicalMarketValueProvider ); ! report.Create( ! "WFT One Rank" , 1 , ! HistoricalEndOfDayTimer.GetOneHourAfterMarketClose( ! this.lastDateTime ) , ! // new EndOfDayDateTime( this.lastDateTime , EndOfDaySpecificTime.OneHourAfterMarketClose ) , ! "^SPX" ); report.Show(); } } + + private void newDateTimeEventHandler( + Object sender , DateTime dateTime ) + { + if ( HistoricalEndOfDayTimer.IsMarketOpen( dateTime ) ) + this.marketOpenEventHandler( sender , dateTime ); + // if ( HistoricalEndOfDayTimer.IsMarketClose( dateTime ) ) + // this.marketCloseEventHandler( sender , dateTime ); + if ( HistoricalEndOfDayTimer.IsOneHourAfterMarketClose( dateTime ) ) + this.oneHourAfterMarketCloseEventHandler( sender , dateTime ); + } + public void Run() { *************** *** 110,121 **** run_initializeAccount(); run_initializeEndOfDayTimerHandler(); ! this.endOfDayTimer.MarketOpen += ! new MarketOpenEventHandler( this.marketOpenEventHandler ); ! this.endOfDayTimer.FiveMinutesBeforeMarketClose += ! new FiveMinutesBeforeMarketCloseEventHandler( ! this.endOfDayTimerHandler.FiveMinutesBeforeMarketCloseEventHandler ); ! this.endOfDayTimer.OneHourAfterMarketClose += ! new OneHourAfterMarketCloseEventHandler( ! this.oneHourAfterMarketCloseEventHandler ); this.endOfDayTimer.Start(); } --- 128,145 ---- run_initializeAccount(); run_initializeEndOfDayTimerHandler(); ! ! this.endOfDayTimer.NewDateTime += ! new NewDateTimeEventHandler( this.endOfDayTimerHandler.NewDateTimeEventHandler ); ! this.endOfDayTimer.NewDateTime += ! new NewDateTimeEventHandler( this.newDateTimeEventHandler ); ! ! // this.endOfDayTimer.MarketOpen += ! // new MarketOpenEventHandler( this.marketOpenEventHandler ); ! // this.endOfDayTimer.FiveMinutesBeforeMarketClose += ! // new FiveMinutesBeforeMarketCloseEventHandler( ! // this.endOfDayTimerHandler.FiveMinutesBeforeMarketCloseEventHandler ); ! // this.endOfDayTimer.OneHourAfterMarketClose += ! // new OneHourAfterMarketCloseEventHandler( ! // this.oneHourAfterMarketCloseEventHandler ); this.endOfDayTimer.Start(); } Index: WFMultiOneRankRunInSampleDebug.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/WalkForwardMultiOneRank/ReportDebugger/WFMultiOneRankRunInSampleDebug.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** WFMultiOneRankRunInSampleDebug.cs 11 Dec 2005 17:51:48 -0000 1.1 --- WFMultiOneRankRunInSampleDebug.cs 29 Sep 2008 21:21:25 -0000 1.2 *************** *** 3,7 **** WFMultiOneRankRunInSampleDebug.cs ! Copyright (C) 2003 Glauco Siliprandi --- 3,7 ---- WFMultiOneRankRunInSampleDebug.cs ! Copyright (C) 2003 Glauco Siliprandi *************** *** 19,23 **** along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ! */ using System; --- 19,23 ---- along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ! */ using System; *************** *** 51,74 **** TransactionHistory transactionHistory = ( TransactionHistory )visualObjectArchiver.Load( ! "Load transactions" , "qPt" , "Load transactions" ); DateTime lastDateTime = ((DateTime)transactionHistory.GetKey( ! transactionHistory.Count - 1 ) ); RebuildableAccount account = new RebuildableAccount( "FromSerializedTransactions" ); account.Add( transactionHistory ); Report report = new Report( account , ! new HistoricalAdjustedQuoteProvider() ); ! report.Create( "WFT One Rank" , 1 , ! new EndOfDayDateTime( ! lastDateTime , ! EndOfDaySpecificTime.OneHourAfterMarketClose ) , "^SPX" ); WFMultiOneRankReportDebugger wFMultiOneRankReportDebugger = new WFMultiOneRankReportDebugger( 6 , ! 120 , "^SPX" ); report.TransactionGrid.MouseUp += new MouseEventHandler( ! wFMultiOneRankReportDebugger.MouseClickEventHandler ); report.Show(); } --- 51,77 ---- TransactionHistory transactionHistory = ( TransactionHistory )visualObjectArchiver.Load( ! "Load transactions" , "qPt" , "Load transactions" ); DateTime lastDateTime = ((DateTime)transactionHistory.GetKey( ! transactionHistory.Count - 1 ) ); RebuildableAccount account = new RebuildableAccount( "FromSerializedTransactions" ); account.Add( transactionHistory ); Report report = new Report( account , ! new HistoricalAdjustedQuoteProvider() ); ! report.Create( ! "WFT One Rank" , 1 , ! HistoricalEndOfDayTimer.GetOneHourAfterMarketClose( ! lastDateTime ) , ! // new EndOfDayDateTime( ! // lastDateTime , ! // EndOfDaySpecificTime.OneHourAfterMarketClose ) , "^SPX" ); WFMultiOneRankReportDebugger wFMultiOneRankReportDebugger = new WFMultiOneRankReportDebugger( 6 , ! 120 , "^SPX" ); report.TransactionGrid.MouseUp += new MouseEventHandler( ! wFMultiOneRankReportDebugger.MouseClickEventHandler ); report.Show(); } |