[Quantproject-developers] QuantProject/b3_Data/DataTables Quotes.cs,1.5,1.6
Brought to you by:
glauco_1
|
From: Marco M. <mi...@us...> - 2004-08-04 23:02:26
|
Update of /cvsroot/quantproject/QuantProject/b3_Data/DataTables In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31496/b3_Data/DataTables Modified Files: Quotes.cs Log Message: Added methods to the TickerSelector for the computation (just for testing purpose) of correlationCoefficient for each possible couple of a given set of tickers. The results are shown through to the TickerSelectorForm Index: Quotes.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b3_Data/DataTables/Quotes.cs,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Quotes.cs 2 Aug 2004 23:19:02 -0000 1.5 --- Quotes.cs 4 Aug 2004 23:02:05 -0000 1.6 *************** *** 97,100 **** --- 97,155 ---- } + /// <summary> + /// Returns a table containing the Pearson correlation coefficient of the adjusted close to close ratios + /// for any possible couple of tickers contained in the given table, for the specified interval + /// (the function has been implemented just for testing purposes) + /// </summary> + public static DataTable GetTickersByAdjCloseToClosePearsonCorrelationCoefficient( bool orderByASC, + DataTable setOfTickers, + DateTime firstQuoteDate, + DateTime lastQuoteDate) + + { + if(!setOfTickers.Columns.Contains("PearsonCorrelationCoefficient")) + setOfTickers.Columns.Add("PearsonCorrelationCoefficient", System.Type.GetType("System.Double")); + int initialNumberOfRows = setOfTickers.Rows.Count; + char[] separator = new char[1]; + separator[0] = ';'; + for(int j=0; j!= setOfTickers.Rows.Count; j++) + { + string firstTicker = (string)setOfTickers.Rows[j][0]; + if(firstTicker.IndexOfAny(separator)== -1) + { + for(int i = 0; i!= setOfTickers.Rows.Count; i++) + { + string secondTicker = (string)setOfTickers.Rows[i][0]; + + if(secondTicker.IndexOfAny(separator)== -1) + { + DataTable dtFirstTicker = QuantProject.DataAccess.Tables.Quotes.GetTickerQuotes(firstTicker, + firstQuoteDate, + lastQuoteDate); + + DataTable dtSecondTicker = QuantProject.DataAccess.Tables.Quotes.GetTickerQuotes(secondTicker, + firstQuoteDate, + lastQuoteDate); + DataRow rowToAdd = setOfTickers.NewRow(); + rowToAdd[0]=firstTicker + ";" + secondTicker; + try + { + rowToAdd["PearsonCorrelationCoefficient"] = + QuantProject.ADT.Statistics.BasicFunctions.PearsonCorrelationCoefficient( + ExtendedDataTable.GetArrayOfFloatFromColumn(dtFirstTicker, "quAdjustedCloseToCloseRatio"), + ExtendedDataTable.GetArrayOfFloatFromColumn(dtSecondTicker, "quAdjustedCloseToCloseRatio")); + setOfTickers.Rows.Add(rowToAdd); + } + catch(Exception ex) + { + string notUsed = ex.ToString(); + } + } + } + } + } + return ExtendedDataTable.CopyAndSort(setOfTickers,"PearsonCorrelationCoefficient", orderByASC); + } + private History history; |