[Quantproject-developers] QuantProject/b4_Business/a1_Financial/a2_Accounting/h5_Reporting/SummaryRo
Brought to you by:
glauco_1
|
From: Glauco S. <gla...@us...> - 2005-06-19 14:47:51
|
Update of /cvsroot/quantproject/QuantProject/b4_Business/a1_Financial/a2_Accounting/h5_Reporting/SummaryRows In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9847/b4_Business/a1_Financial/a2_Accounting/h5_Reporting/SummaryRows Modified Files: ReturnOnAccount.cs PercentageWinningPeriods.cs NumberWinningTrades.cs NumberWinningShortTrades.cs NumberWinningPeriods.cs NumberWinningLongTrades.cs NumberLosingPeriods.cs NumberEvenPeriods.cs MaxEquityDrawDown.cs LargestWinningTradePercentage.cs LargestLosingTradePercentage.cs Log Message: Reordered the process to populate the summary. Now, to add a summary item, you just need to add a new SummaryRow object to the QuantProject.Business.Financial.Accounting.Reporting.Tables.Summary object. Index: PercentageWinningPeriods.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b4_Business/a1_Financial/a2_Accounting/h5_Reporting/SummaryRows/PercentageWinningPeriods.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** PercentageWinningPeriods.cs 17 Apr 2005 22:11:22 -0000 1.1 --- PercentageWinningPeriods.cs 19 Jun 2005 14:47:40 -0000 1.2 *************** *** 33,42 **** /// </summary> [Serializable] ! public class PercentageWinningPeriods : SummaryRow { public PercentageWinningPeriods( Summary summary ) { ! this.rowDescription = "# losing periods"; ! this.rowValue = summary.PercentageWinningPeriods; } } --- 33,44 ---- /// </summary> [Serializable] ! public class PercentageWinningPeriods : PercentageSummaryRow { public PercentageWinningPeriods( Summary summary ) { ! this.rowDescription = "% winning periods"; ! this.rowValue = (double)summary.NumberWinningPeriods.Value * 100/ ! ((double)summary.NumberWinningPeriods.Value + ! (double)summary.NumberLosingPeriods.Value); } } Index: MaxEquityDrawDown.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b4_Business/a1_Financial/a2_Accounting/h5_Reporting/SummaryRows/MaxEquityDrawDown.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** MaxEquityDrawDown.cs 7 Jun 2005 15:06:21 -0000 1.3 --- MaxEquityDrawDown.cs 19 Jun 2005 14:47:40 -0000 1.4 *************** *** 9,13 **** /// </summary> [Serializable] ! public class MaxEquityDrawDown : SummaryRow { private Summary summary; --- 9,13 ---- /// </summary> [Serializable] ! public class MaxEquityDrawDown : PercentageSummaryRow { private Summary summary; Index: NumberWinningPeriods.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b4_Business/a1_Financial/a2_Accounting/h5_Reporting/SummaryRows/NumberWinningPeriods.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** NumberWinningPeriods.cs 17 Apr 2005 23:15:15 -0000 1.2 --- NumberWinningPeriods.cs 19 Jun 2005 14:47:40 -0000 1.3 *************** *** 33,40 **** /// </summary> [Serializable] ! public class NumberWinningPeriods : SummaryRow { private Summary summary; private void setWinningLosingAndEvenPeriods_forPeriod( int i ) { --- 33,44 ---- /// </summary> [Serializable] ! public class NumberWinningPeriods : IntegerSummaryRow { private Summary summary; + private double numberWinningPeriods; + private double numberLosingPeriods; + private double numberEvenPeriods; + private void setWinningLosingAndEvenPeriods_forPeriod( int i ) { *************** *** 48,58 **** Convert.ToDouble( this.summary.AccountReport.BenchmarkEquityLine.GetByIndex( i ) ); if ( ( equityHistoryGain - benchmarkGain ) > ConstantsProvider.MinForDifferentGains ) ! this.summary.NumberWinningPeriods++; else { if ( ( benchmarkGain - equityHistoryGain ) > ConstantsProvider.MinForDifferentGains ) ! this.summary.NumberLosingPeriods++; else ! this.summary.NumberEvenPeriods++; } } --- 52,62 ---- Convert.ToDouble( this.summary.AccountReport.BenchmarkEquityLine.GetByIndex( i ) ); if ( ( equityHistoryGain - benchmarkGain ) > ConstantsProvider.MinForDifferentGains ) ! this.numberWinningPeriods++; else { if ( ( benchmarkGain - equityHistoryGain ) > ConstantsProvider.MinForDifferentGains ) ! this.numberLosingPeriods++; else ! this.numberEvenPeriods++; } } *************** *** 60,75 **** public void SetWinningLosingAndEvenPeriods() { ! this.summary.NumberWinningPeriods = 0; ! this.summary.NumberLosingPeriods = 0; ! this.summary.NumberEvenPeriods = 0; for ( int i=0; i<this.summary.AccountReport.EquityHistory.Count - 1 ; i++ ) this.setWinningLosingAndEvenPeriods_forPeriod( i ); } ! public NumberWinningPeriods( Summary summary ) { this.summary = summary; this.SetWinningLosingAndEvenPeriods(); this.rowDescription = "# winning periods"; ! this.rowValue = this.summary.NumberWinningPeriods; } } --- 64,84 ---- public void SetWinningLosingAndEvenPeriods() { ! this.numberWinningPeriods = 0; ! this.numberLosingPeriods = 0; ! this.numberEvenPeriods = 0; for ( int i=0; i<this.summary.AccountReport.EquityHistory.Count - 1 ; i++ ) this.setWinningLosingAndEvenPeriods_forPeriod( i ); } ! public NumberWinningPeriods( Summary summary ) : base() { this.summary = summary; this.SetWinningLosingAndEvenPeriods(); this.rowDescription = "# winning periods"; ! this.format = ConstantsProvider.FormatWithZeroDecimals; ! this.rowValue = this.numberWinningPeriods; ! } ! public double NumberLosingPeriods ! { ! get { return this.numberLosingPeriods; } } } Index: NumberWinningTrades.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b4_Business/a1_Financial/a2_Accounting/h5_Reporting/SummaryRows/NumberWinningTrades.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** NumberWinningTrades.cs 19 Feb 2005 15:58:52 -0000 1.3 --- NumberWinningTrades.cs 19 Jun 2005 14:47:40 -0000 1.4 *************** *** 11,19 **** /// </summary> [Serializable] ! public class NumberWinningTrades : SummaryRow { public NumberWinningTrades( Summary summary ) { this.rowDescription = "Number winning trades"; try { --- 11,20 ---- /// </summary> [Serializable] ! public class NumberWinningTrades : IntegerSummaryRow { public NumberWinningTrades( Summary summary ) { this.rowDescription = "Number winning trades"; + this.format = ConstantsProvider.FormatWithZeroDecimals; try { Index: NumberEvenPeriods.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b4_Business/a1_Financial/a2_Accounting/h5_Reporting/SummaryRows/NumberEvenPeriods.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** NumberEvenPeriods.cs 17 Apr 2005 22:11:22 -0000 1.1 --- NumberEvenPeriods.cs 19 Jun 2005 14:47:40 -0000 1.2 *************** *** 33,37 **** /// </summary> [Serializable] ! public class NumberEvenPeriods : SummaryRow { public NumberEvenPeriods( Summary summary ) --- 33,37 ---- /// </summary> [Serializable] ! public class NumberEvenPeriods : IntegerSummaryRow { public NumberEvenPeriods( Summary summary ) Index: NumberWinningLongTrades.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b4_Business/a1_Financial/a2_Accounting/h5_Reporting/SummaryRows/NumberWinningLongTrades.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** NumberWinningLongTrades.cs 19 Feb 2005 15:58:52 -0000 1.3 --- NumberWinningLongTrades.cs 19 Jun 2005 14:47:40 -0000 1.4 *************** *** 11,19 **** /// </summary> [Serializable] ! public class NumberWinningLongTrades : SummaryRow { public NumberWinningLongTrades( Summary summary ) { this.rowDescription = "Number winning long trades"; try { --- 11,20 ---- /// </summary> [Serializable] ! public class NumberWinningLongTrades : IntegerSummaryRow { public NumberWinningLongTrades( Summary summary ) { this.rowDescription = "Number winning long trades"; + this.format = ConstantsProvider.FormatWithZeroDecimals; try { Index: NumberLosingPeriods.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b4_Business/a1_Financial/a2_Accounting/h5_Reporting/SummaryRows/NumberLosingPeriods.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** NumberLosingPeriods.cs 17 Apr 2005 22:11:22 -0000 1.1 --- NumberLosingPeriods.cs 19 Jun 2005 14:47:40 -0000 1.2 *************** *** 33,42 **** /// </summary> [Serializable] ! public class NumberLosingPeriods : SummaryRow { ! public NumberLosingPeriods( Summary summary ) { this.rowDescription = "# losing periods"; ! this.rowValue = summary.NumberLosingPeriods; } } --- 33,43 ---- /// </summary> [Serializable] ! public class NumberLosingPeriods : IntegerSummaryRow { ! public NumberLosingPeriods( Summary summary ) : base() { this.rowDescription = "# losing periods"; ! this.format = ConstantsProvider.FormatWithZeroDecimals; ! this.rowValue = summary.NumberWinningPeriods.NumberLosingPeriods; } } Index: LargestLosingTradePercentage.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b4_Business/a1_Financial/a2_Accounting/h5_Reporting/SummaryRows/LargestLosingTradePercentage.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** LargestLosingTradePercentage.cs 19 Feb 2005 16:02:15 -0000 1.3 --- LargestLosingTradePercentage.cs 19 Jun 2005 14:47:40 -0000 1.4 *************** *** 11,15 **** /// </summary> [Serializable] ! public class LargestLosingTradePercentage : SummaryRow { public LargestLosingTradePercentage( Summary summary ) --- 11,15 ---- /// </summary> [Serializable] ! public class LargestLosingTradePercentage : PercentageSummaryRow { public LargestLosingTradePercentage( Summary summary ) Index: LargestWinningTradePercentage.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b4_Business/a1_Financial/a2_Accounting/h5_Reporting/SummaryRows/LargestWinningTradePercentage.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** LargestWinningTradePercentage.cs 19 Feb 2005 16:02:15 -0000 1.3 --- LargestWinningTradePercentage.cs 19 Jun 2005 14:47:40 -0000 1.4 *************** *** 11,15 **** /// </summary> [Serializable] ! public class LargestWinningTradePercentage : SummaryRow { public LargestWinningTradePercentage( Summary summary ) --- 11,15 ---- /// </summary> [Serializable] ! public class LargestWinningTradePercentage : PercentageSummaryRow { public LargestWinningTradePercentage( Summary summary ) Index: NumberWinningShortTrades.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b4_Business/a1_Financial/a2_Accounting/h5_Reporting/SummaryRows/NumberWinningShortTrades.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** NumberWinningShortTrades.cs 19 Feb 2005 15:58:52 -0000 1.3 --- NumberWinningShortTrades.cs 19 Jun 2005 14:47:40 -0000 1.4 *************** *** 11,19 **** /// </summary> [Serializable] ! public class NumberWinningShortTrades : SummaryRow { public NumberWinningShortTrades( Summary summary ) { this.rowDescription = "Number winning short trades"; try { --- 11,20 ---- /// </summary> [Serializable] ! public class NumberWinningShortTrades : IntegerSummaryRow { public NumberWinningShortTrades( Summary summary ) { this.rowDescription = "Number winning short trades"; + this.format = ConstantsProvider.FormatWithZeroDecimals; try { Index: ReturnOnAccount.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b4_Business/a1_Financial/a2_Accounting/h5_Reporting/SummaryRows/ReturnOnAccount.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ReturnOnAccount.cs 15 Feb 2005 19:09:04 -0000 1.3 --- ReturnOnAccount.cs 19 Jun 2005 14:47:40 -0000 1.4 *************** *** 9,19 **** /// </summary> [Serializable] ! public class ReturnOnAccount : SummaryRow { public ReturnOnAccount( Summary summary ) { - summary.ReturnOnAccount = summary.TotalPnl / ( summary.FinalAccountValue - summary.TotalPnl ) * 100; this.rowDescription = "Return on account"; ! this.rowValue = summary.ReturnOnAccount; } } --- 9,18 ---- /// </summary> [Serializable] ! public class ReturnOnAccount : PercentageSummaryRow { public ReturnOnAccount( Summary summary ) { this.rowDescription = "Return on account"; ! this.rowValue = summary.TotalPnl / ( summary.FinalAccountValue - summary.TotalPnl ) * 100; } } |