[Quantproject-developers] QuantProject/b7_Scripts/WalkForwardTesting/WalkForwardOneRank ChosenTicker
Brought to you by:
glauco_1
|
From: Glauco S. <gla...@us...> - 2004-12-26 17:40:08
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/WalkForwardOneRank In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5830/b7_Scripts/WalkForwardTesting/WalkForwardOneRank Modified Files: ChosenTickers.cs Log Message: The strategy has been fixed: now a ticker is chosen only if today's close is higher than yesterday's close. Index: ChosenTickers.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/WalkForwardOneRank/ChosenTickers.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ChosenTickers.cs 20 Dec 2004 00:24:21 -0000 1.2 --- ChosenTickers.cs 26 Dec 2004 17:39:59 -0000 1.3 *************** *** 23,26 **** --- 23,31 ---- using System.Collections; + using QuantProject.Business.Financial.Accounting; + using QuantProject.Business.Timing; + using QuantProject.Data; + using QuantProject.Data.DataProviders; + namespace QuantProject.Scripts.WalkForwardTesting.WalkForwardOneRank { *************** *** 37,49 **** } #region SetTickers ! private void setTickers_build( BestPerformingTickers bestPerformingTickers ) { ! SortedList sortedList = new SortedList(); ! foreach ( string ticker in bestPerformingTickers.Keys ) ! sortedList.Add( ticker , ( ( ComparableAccount )bestPerformingTickers[ ticker ]).Goodness ); ! for ( int n=0; n<=this.numberTickersToBeChosen ; n++ ) { ! string key = (string)sortedList.GetKey( n ); ! this.Add( key , key ); } } --- 42,71 ---- } #region SetTickers ! private void setTickers_build_handleTicker( string ticker , Account account ) { ! double todayMarketValueAtClose = account.DataStreamer.GetCurrentBid( ! ticker ); ! EndOfDayDateTime yesterdayAtClose = new ! EndOfDayDateTime( account.EndOfDayTimer.GetCurrentTime().DateTime.AddDays( - 1 ) , ! EndOfDaySpecificTime.MarketClose ); ! double yesterdayMarketValueAtClose = HistoricalDataProvider.GetMarketValue( ! ticker , ! yesterdayAtClose.GetNearestExtendedDateTime() ); ! if ( todayMarketValueAtClose > yesterdayMarketValueAtClose ) ! // today close is higher than yesterday close ! this.Add( ticker , ticker ); ! } ! private void setTickers_build( BestPerformingTickers bestPerformingTickers , ! Account account ) ! { ! int index = bestPerformingTickers.Count - 1; ! while ( ( this.Count < this.numberTickersToBeChosen ) && ! ( index >= 0) ) { ! string ticker = ((Account)bestPerformingTickers[ index ]).Key; ! if ( account.DataStreamer.IsExchanged( ticker ) ) ! setTickers_build_handleTicker( ticker , ! account ); ! index--; } } *************** *** 52,59 **** /// </summary> /// <param name="dateTime"></param> ! public void SetTickers( BestPerformingTickers bestPerformingTickers ) { this.Clear(); ! this.setTickers_build( bestPerformingTickers ); } #endregion --- 74,82 ---- /// </summary> /// <param name="dateTime"></param> ! public void SetTickers( BestPerformingTickers bestPerformingTickers , ! Account account ) { this.Clear(); ! this.setTickers_build( bestPerformingTickers , account ); } #endregion |