[Quantproject-developers] QuantProject/b3_Data/DataTables Quotes.cs, 1.35, 1.36
Brought to you by:
glauco_1
|
From: Marco M. <mi...@us...> - 2008-08-15 02:53:07
|
Update of /cvsroot/quantproject/QuantProject/b3_Data/DataTables In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv16669/b3_Data/DataTables Modified Files: Quotes.cs Log Message: SelectorByAverageOpenToClosePerformance can now select tickers with a given maximum absolute average OTC performance, for a given period. Index: Quotes.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b3_Data/DataTables/Quotes.cs,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** Quotes.cs 14 Jan 2008 23:34:22 -0000 1.35 --- Quotes.cs 14 Aug 2008 23:22:49 -0000 1.36 *************** *** 181,192 **** if(!setOfTickers.Columns.Contains("AdjCloseToCloseStandDev")) setOfTickers.Columns.Add("AdjCloseToCloseStandDev", System.Type.GetType("System.Double")); ! foreach(DataRow row in setOfTickers.Rows) { ! row["AdjCloseToCloseStandDev"] = ! QuantProject.DataAccess.Tables.Quotes.GetAdjustedCloseToCloseStandardDeviation((string)row[0], firstQuoteDate, lastQuoteDate); } ! DataTable getTickersByVolatility = ExtendedDataTable.CopyAndSort(setOfTickers,"AdjCloseToCloseStandDev", orderByASC); ExtendedDataTable.DeleteRows(getTickersByVolatility, maxNumOfReturnedTickers); return getTickersByVolatility; --- 181,199 ---- if(!setOfTickers.Columns.Contains("AdjCloseToCloseStandDev")) setOfTickers.Columns.Add("AdjCloseToCloseStandDev", System.Type.GetType("System.Double")); ! double CTCStdDev; ! foreach(DataRow row in setOfTickers.Rows) { ! row["AdjCloseToCloseStandDev"] = -1000000.0; ! CTCStdDev = QuantProject.DataAccess.Tables.Quotes.GetAdjustedCloseToCloseStandardDeviation((string)row[0], firstQuoteDate, lastQuoteDate); + if( !Double.IsInfinity(CTCStdDev) && !Double.IsNaN(CTCStdDev) ) + row["AdjCloseToCloseStandDev"] = CTCStdDev; } ! DataTable getTickersByVolatility = ! ExtendedDataTable.CopyAndSort(setOfTickers, ! "AdjCloseToCloseStandDev>-1000000.0", ! "AdjCloseToCloseStandDev", ! orderByASC); ExtendedDataTable.DeleteRows(getTickersByVolatility, maxNumOfReturnedTickers); return getTickersByVolatility; *************** *** 205,217 **** if(!setOfTickers.Columns.Contains("OpenToCloseStandDev")) setOfTickers.Columns.Add("OpenToCloseStandDev", System.Type.GetType("System.Double")); ! foreach(DataRow row in setOfTickers.Rows) { try { row["OpenToCloseStandDev"] = -1000000.0; ! row["OpenToCloseStandDev"] = ! QuantProject.DataAccess.Tables.Quotes.GetOpenToCloseStandardDeviation((string)row[0], ! firstQuoteDate, ! lastQuoteDate); } catch(Exception ex) --- 212,226 ---- if(!setOfTickers.Columns.Contains("OpenToCloseStandDev")) setOfTickers.Columns.Add("OpenToCloseStandDev", System.Type.GetType("System.Double")); ! double OTCStdDev; ! foreach(DataRow row in setOfTickers.Rows) { try { row["OpenToCloseStandDev"] = -1000000.0; ! OTCStdDev = QuantProject.DataAccess.Tables.Quotes.GetOpenToCloseStandardDeviation((string)row[0], ! firstQuoteDate, ! lastQuoteDate); ! if( !Double.IsInfinity(OTCStdDev) && !Double.IsNaN(OTCStdDev) ) ! row["OpenToCloseStandDev"] = OTCStdDev; } catch(Exception ex) *************** *** 283,286 **** --- 292,296 ---- DateTime firstQuoteDate, DateTime lastQuoteDate, + double maxAbsoluteAverageOTCPerformance, long maxNumOfReturnedTickers) { *************** *** 300,305 **** {ex=ex;} } DataTable tableToReturn = ExtendedDataTable.CopyAndSort(setOfTickers, ! "AverageOpenToClosePerformance>-1000000.0", "AverageOpenToClosePerformance", orderByASC); --- 310,318 ---- {ex=ex;} } + string maxAbsValue = + maxAbsoluteAverageOTCPerformance.ToString(new System.Globalization.CultureInfo("en-US")); DataTable tableToReturn = ExtendedDataTable.CopyAndSort(setOfTickers, ! "AverageOpenToClosePerformance<=" + maxAbsValue + ! " AND AverageOpenToClosePerformance>=-" + maxAbsValue, "AverageOpenToClosePerformance", orderByASC); |