[Quantproject-developers] QuantProject/b3_Data/DataTables Quotes.cs, 1.30, 1.31
Brought to you by:
glauco_1
|
From: Marco M. <mi...@us...> - 2006-09-17 21:36:12
|
Update of /cvsroot/quantproject/QuantProject/b3_Data/DataTables In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv30608/b3_Data/DataTables Modified Files: Quotes.cs Log Message: Added new constructor to the SelectorByLiquidity class: now it is possible to filter tickers by a given min volume value also when selection is performed on a given set (dataTable) of tickers Index: Quotes.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b3_Data/DataTables/Quotes.cs,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** Quotes.cs 3 Aug 2006 21:21:34 -0000 1.30 --- Quotes.cs 17 Sep 2006 21:36:09 -0000 1.31 *************** *** 111,115 **** /// returns most liquid tickers within the given set of tickers /// </summary> - public static DataTable GetTickersByLiquidity( bool orderByASC, DataTable setOfTickers, --- 111,114 ---- *************** *** 133,136 **** --- 132,171 ---- /// <summary> + /// returns most liquid tickers with the given min volume + /// within the given set of tickers + /// </summary> + public static DataTable GetTickersByLiquidity( bool orderByASC, + DataTable setOfTickers, + DateTime firstQuoteDate, + DateTime lastQuoteDate, + long minVolume, + long maxNumOfReturnedTickers) + { + if(!setOfTickers.Columns.Contains("AverageTradedValue")) + setOfTickers.Columns.Add("AverageTradedValue", System.Type.GetType("System.Double")); + if(!setOfTickers.Columns.Contains("AverageTradedVolume")) + setOfTickers.Columns.Add("AverageTradedVolume", System.Type.GetType("System.Int64")); + + foreach(DataRow row in setOfTickers.Rows) + { + row["AverageTradedValue"] = + QuantProject.DataAccess.Tables.Quotes.GetAverageTradedValue((string)row[0], + firstQuoteDate, + lastQuoteDate); + row["AverageTradedVolume"] = + QuantProject.DataAccess.Tables.Quotes.GetAverageTradedVolume((string)row[0], + firstQuoteDate, + lastQuoteDate); + } + DataTable getMostLiquidTicker = ExtendedDataTable.CopyAndSort(setOfTickers, + "AverageTradedVolume>" + + minVolume.ToString(), + "AverageTradedValue", + orderByASC); + ExtendedDataTable.DeleteRows(getMostLiquidTicker, maxNumOfReturnedTickers); + return getMostLiquidTicker; + } + + /// <summary> /// returns tickers ordered by volatility computed with Standard deviation of adjusted /// close to close ratio, within the given set of tickers |