[Quantproject-developers] QuantProject/b4_Business/a1_Financial/a2_Accounting/h5_Reporting AccountRe
Brought to you by:
glauco_1
|
From: <gla...@us...> - 2003-11-03 22:26:39
|
Update of /cvsroot/quantproject/QuantProject/b4_Business/a1_Financial/a2_Accounting/h5_Reporting
In directory sc8-pr-cvs1:/tmp/cvs-serv19812/b4_Business/a1_Financial/a2_Accounting/h5_Reporting
Modified Files:
AccountReport.cs
Log Message:
Summary report has been enhanced:
- 'Larges winning trade' added
- 'Largest losing trade' added
- 'Total number of long trades' added
- 'Number winning long trades' added
- 'Average long trade % return' added
- 'Total number of short trades' added
- 'Number winning short trades' added
- 'Average short trade % return' added
Index: AccountReport.cs
===================================================================
RCS file: /cvsroot/quantproject/QuantProject/b4_Business/a1_Financial/a2_Accounting/h5_Reporting/AccountReport.cs,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** AccountReport.cs 2 Nov 2003 18:26:04 -0000 1.4
--- AccountReport.cs 3 Nov 2003 22:26:35 -0000 1.5
***************
*** 421,424 ****
--- 421,478 ----
summary[ "Value" ] = avgReturn;
}
+ private void getSummaryTable_setRow_LargestWinningTradePercentage( DataRow summary )
+ {
+ summary[ "Information" ] = "Largest winning trade";
+ summary[ "Value" ] =
+ (double) this.roundTrades.DataTable.Compute( "max([%Profit])" , "([%Profit]>0)" );
+ }
+ private void getSummaryTable_setRow_LargestLosingTradePercentage( DataRow summary )
+ {
+ summary[ "Information" ] = "Largest losing trade";
+ summary[ "Value" ] =
+ (double) this.roundTrades.DataTable.Compute( "min([%Profit])" , "([%Profit]<0)" );
+ }
+ private void getSummaryTable_setRow_TotalNumberOfLongTrades( DataRow summary )
+ {
+ double totalROA = this.totalPnl / ( this.finalAccountValue - this.totalPnl );
+ summary[ "Information" ] = "Total # of long trades";
+ DataRow[] DataRows =
+ this.roundTrades.DataTable.Select( "((Trade='Long')and(ExitPrice is not null))" );
+ summary[ "Value" ] = DataRows.Length;
+ }
+ private void getSummaryTable_setRow_NumberWinningLongTrades( DataRow summary )
+ {
+ summary[ "Information" ] = "Number winning long trades";
+ DataRow[] DataRows = this.roundTrades.DataTable.Select( "((Trade='Long')and([%Profit] > 0))" );
+ summary[ "Value" ] = DataRows.Length;
+ }
+ private void getSummaryTable_setRow_AverageLongTradePercentageReturn( DataRow summary )
+ {
+ summary[ "Information" ] = "Average long trade % Return";
+ double avgReturn =
+ (double) this.roundTrades.DataTable.Compute( "avg([%Profit])" , "(Trade='Long')" );
+ summary[ "Value" ] = avgReturn;
+ }
+ private void getSummaryTable_setRow_TotalNumberOfShortTrades( DataRow summary )
+ {
+ double totalROA = this.totalPnl / ( this.finalAccountValue - this.totalPnl );
+ summary[ "Information" ] = "Total # of short trades";
+ DataRow[] DataRows =
+ this.roundTrades.DataTable.Select( "((Trade='Short')and(ExitPrice is not null))" );
+ summary[ "Value" ] = DataRows.Length;
+ }
+ private void getSummaryTable_setRow_NumberWinningShortTrades( DataRow summary )
+ {
+ summary[ "Information" ] = "Number winning short trades";
+ DataRow[] DataRows = this.roundTrades.DataTable.Select( "((Trade='Short')and([%Profit] > 0))" );
+ summary[ "Value" ] = DataRows.Length;
+ }
+ private void getSummaryTable_setRow_AverageShortTradePercentageReturn( DataRow summary )
+ {
+ summary[ "Information" ] = "Average short trade % Return";
+ double avgReturn =
+ (double) this.roundTrades.DataTable.Compute( "avg([%Profit])" , "(Trade='Short')" );
+ summary[ "Value" ] = avgReturn;
+ }
private void getSummary_setRow( DataTable summaryDataTable ,
getSummaryTable_setRow getSummaryTable_setRow_object )
***************
*** 444,447 ****
--- 498,517 ----
getSummary_setRow( summaryDataTable ,
new getSummaryTable_setRow( getSummaryTable_setRow_AverageTradePercentageReturn ) );
+ getSummary_setRow( summaryDataTable ,
+ new getSummaryTable_setRow( getSummaryTable_setRow_LargestWinningTradePercentage ) );
+ getSummary_setRow( summaryDataTable ,
+ new getSummaryTable_setRow( getSummaryTable_setRow_LargestLosingTradePercentage ) );
+ getSummary_setRow( summaryDataTable ,
+ new getSummaryTable_setRow( getSummaryTable_setRow_TotalNumberOfLongTrades ) );
+ getSummary_setRow( summaryDataTable ,
+ new getSummaryTable_setRow( getSummaryTable_setRow_NumberWinningLongTrades ) );
+ getSummary_setRow( summaryDataTable ,
+ new getSummaryTable_setRow( getSummaryTable_setRow_AverageLongTradePercentageReturn ) );
+ getSummary_setRow( summaryDataTable ,
+ new getSummaryTable_setRow( getSummaryTable_setRow_TotalNumberOfShortTrades ) );
+ getSummary_setRow( summaryDataTable ,
+ new getSummaryTable_setRow( getSummaryTable_setRow_NumberWinningShortTrades ) );
+ getSummary_setRow( summaryDataTable ,
+ new getSummaryTable_setRow( getSummaryTable_setRow_AverageShortTradePercentageReturn ) );
}
#endregion
|