[Quantproject-developers] QuantProject/b3_Data/DataTables TickerDataTable.cs, 1.12, 1.13
Brought to you by:
glauco_1
|
From: Marco M. <mi...@us...> - 2011-08-21 10:29:50
|
Update of /cvsroot/quantproject/QuantProject/b3_Data/DataTables
In directory vz-cvs-3.sog:/tmp/cvs-serv32083/DataTables
Modified Files:
TickerDataTable.cs
Log Message:
Updated methods returning tickers having particular features
Index: TickerDataTable.cs
===================================================================
RCS file: /cvsroot/quantproject/QuantProject/b3_Data/DataTables/TickerDataTable.cs,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** TickerDataTable.cs 14 Nov 2008 15:51:51 -0000 1.12
--- TickerDataTable.cs 21 Aug 2011 10:29:48 -0000 1.13
***************
*** 192,199 ****
#region GetTickersQuotedInEachMarketDay
! private static void addColumnNumberOfQuotes(DataTable tableToAnalyze)
{
! if(!tableToAnalyze.Columns.Contains("NumberOfQuotes"))
! tableToAnalyze.Columns.Add("NumberOfQuotes", System.Type.GetType("System.Int32"));
}
--- 192,199 ----
#region GetTickersQuotedInEachMarketDay
! private static void addColumnNumberOfValues(DataTable tableToAnalyze)
{
! if(!tableToAnalyze.Columns.Contains("NumberOfValues"))
! tableToAnalyze.Columns.Add("NumberOfValues", System.Type.GetType("System.Int32"));
}
***************
*** 203,207 ****
DataRow newRow = tableToWhichRowIsToBeAdded.NewRow();
newRow[0]= rowToBeAdded[0];
! newRow["NumberOfQuotes"] = numberOfTradingDays;
tableToWhichRowIsToBeAdded.Rows.Add(newRow);
}
--- 203,207 ----
DataRow newRow = tableToWhichRowIsToBeAdded.NewRow();
newRow[0]= rowToBeAdded[0];
! newRow["NumberOfValues"] = numberOfTradingDays;
tableToWhichRowIsToBeAdded.Rows.Add(newRow);
}
***************
*** 225,229 ****
long maxNumOfReturnedTickers)
{
! TickerDataTable.addColumnNumberOfQuotes(setOfTickers);
DataTable returnValue = setOfTickers.Clone();
foreach(DataRow row in setOfTickers.Rows)
--- 225,229 ----
long maxNumOfReturnedTickers)
{
! TickerDataTable.addColumnNumberOfValues(setOfTickers);
DataTable returnValue = setOfTickers.Clone();
foreach(DataRow row in setOfTickers.Rows)
***************
*** 243,250 ****
DataRow newRow = tableToWhichRowIsToBeAdded.NewRow();
newRow[0]= rowToBeAdded[0];
! newRow["NumberOfBars"] = numberOfTradingDateTimes;
tableToWhichRowIsToBeAdded.Rows.Add(newRow);
}
private static void getTickersQuotedAtAGivenPercentageOfDateTimes_handleRow(
DataRow row , History marketDateTimes , double percentageOfDateTimes ,
--- 243,288 ----
DataRow newRow = tableToWhichRowIsToBeAdded.NewRow();
newRow[0]= rowToBeAdded[0];
! newRow["NumberOfValues"] = numberOfTradingDateTimes;
tableToWhichRowIsToBeAdded.Rows.Add(newRow);
}
+ private static History getTickersQuotedAtAGivenPercentageOfDateTimes_handleRow_getDateTimesTickerHistory( string ticker ,
+ DateTime firstDate , DateTime lastDate )
+ {
+ Quotes quotes = new Quotes( ticker , firstDate , lastDate );
+ History marketDaysOrDateTimes = new History();
+ foreach ( DataRow dataRow in quotes.Rows )
+ {
+ DateTime dateTime = (DateTime)dataRow[ Quotes.Date ];
+ DateTime dateTimeOpenOrClose = new DateTime(dateTime.Year, dateTime.Month, dateTime.Day,
+ ConstantsProvider.OpenTime.Hour,
+ ConstantsProvider.OpenTime.Minute,
+ ConstantsProvider.OpenTime.Second);
+ marketDaysOrDateTimes.Add( dateTimeOpenOrClose , dateTimeOpenOrClose );
+ dateTimeOpenOrClose = new DateTime(dateTime.Year, dateTime.Month, dateTime.Day,
+ ConstantsProvider.CloseTime.Hour,
+ ConstantsProvider.CloseTime.Minute,
+ ConstantsProvider.CloseTime.Second);
+ marketDaysOrDateTimes.Add( dateTimeOpenOrClose , dateTimeOpenOrClose );
+ }
+ return marketDaysOrDateTimes;
+ }
+
+
+ private static void getTickersQuotedAtAGivenPercentageOfDateTimes_handleRow(
+ DataRow row , History marketDateTimes , double percentageOfDateTimes ,
+ DateTime firstQuoteDate , DateTime lastQuoteDate ,
+ DataTable tableToWhichRowIsToBeAdded )
+ {
+ History dateTimesForTicker =
+ TickerDataTable.getTickersQuotedAtAGivenPercentageOfDateTimes_handleRow_getDateTimesTickerHistory(
+ (string)row[0], firstQuoteDate, lastQuoteDate );
+ if( dateTimesForTicker.ContainsAtAGivenPercentageDateTimesIn( marketDateTimes , percentageOfDateTimes ) )
+ //the current ticker has been effectively traded at the given percentage of times
+ //for the given market date times
+ TickerDataTable.getTickersQuotedAtAGivenPercentageOfDateTimes_addRow(
+ row , dateTimesForTicker.Count , tableToWhichRowIsToBeAdded );
+ }
+
private static void getTickersQuotedAtAGivenPercentageOfDateTimes_handleRow(
DataRow row , History marketDateTimes , double percentageOfDateTimes ,
***************
*** 260,271 ****
row , dateTimesForTicker.Count , tableToWhichRowIsToBeAdded );
}
!
!
! private static void addColumnNumberOfBars(DataTable tableToAnalyze)
{
! if(!tableToAnalyze.Columns.Contains("NumberOfBars"))
! tableToAnalyze.Columns.Add("NumberOfBars", System.Type.GetType("System.Int32"));
}
-
public static DataTable GetTickersQuotedAtAGivenPercentageOfDateTimes(string marketIndex, double percentageOfDateTimes,
DataTable setOfTickers,
--- 298,321 ----
row , dateTimesForTicker.Count , tableToWhichRowIsToBeAdded );
}
!
! public static DataTable GetTickersQuotedAtAGivenPercentageOfDateTimes(string marketIndex, double percentageOfDateTimes,
! DataTable setOfTickers,
! DateTime firstDateTime, DateTime lastDateTime,
! long maxNumOfReturnedTickers)
{
! if(percentageOfDateTimes <= 0 || percentageOfDateTimes > 100)
! throw new Exception ("invalid percentage");
!
! History marketDateTimesForIndex =
! Quotes.GetMarketDays(marketIndex, firstDateTime, lastDateTime);
! TickerDataTable.addColumnNumberOfValues(setOfTickers);
! DataTable returnValue = setOfTickers.Clone();
! foreach(DataRow row in setOfTickers.Rows)
! getTickersQuotedAtAGivenPercentageOfDateTimes_handleRow(
! row , marketDateTimesForIndex , percentageOfDateTimes ,
! firstDateTime , lastDateTime , returnValue );
! ExtendedDataTable.DeleteRows(returnValue, maxNumOfReturnedTickers);
! return returnValue;
}
public static DataTable GetTickersQuotedAtAGivenPercentageOfDateTimes(string marketIndex, double percentageOfDateTimes,
DataTable setOfTickers,
***************
*** 315,319 ****
throw new Exception ("invalid percentage");
! TickerDataTable.addColumnNumberOfBars(setOfTickers);
DataTable returnValue = setOfTickers.Clone();
foreach(DataRow row in setOfTickers.Rows)
--- 365,369 ----
throw new Exception ("invalid percentage");
! TickerDataTable.addColumnNumberOfValues(setOfTickers);
DataTable returnValue = setOfTickers.Clone();
foreach(DataRow row in setOfTickers.Rows)
***************
*** 324,328 ****
return returnValue;
}
!
#endregion GetTickersQuotedAtAGivenPercentageOfDateTimes
--- 374,394 ----
return returnValue;
}
! public static DataTable GetTickersQuotedAtAGivenPercentageOfDateTimes(History marketDateTimes, double percentageOfDateTimes,
! DataTable setOfTickers,
! DateTime firstDateTime, DateTime lastDateTime,
! long maxNumOfReturnedTickers)
! {
! if(percentageOfDateTimes <= 0 || percentageOfDateTimes > 100)
! throw new Exception ("invalid percentage");
!
! TickerDataTable.addColumnNumberOfValues(setOfTickers);
! DataTable returnValue = setOfTickers.Clone();
! foreach(DataRow row in setOfTickers.Rows)
! getTickersQuotedAtAGivenPercentageOfDateTimes_handleRow(
! row , marketDateTimes , percentageOfDateTimes ,
! firstDateTime , lastDateTime , returnValue );
! ExtendedDataTable.DeleteRows(returnValue, maxNumOfReturnedTickers);
! return returnValue;
! }
#endregion GetTickersQuotedAtAGivenPercentageOfDateTimes
|