Class: FinModeling::CashFlowStatementAnalyses

Inherits:
CalculationSummary show all
Defined in:
lib/finmodeling/cash_flow_statement_analyses.rb

Instance Attribute Summary

Attributes inherited from CalculationSummary

#header_row, #key_width, #max_decimals, #rows, #title, #totals_row_enabled, #val_width

Instance Method Summary collapse

Methods inherited from CalculationSummary

#+, #auto_scale!, #filter_by_type, #insert_column_before, #num_value_columns, #print, #total, #totals, #write_constructor

Constructor Details

#initialize(calc_summary) ⇒ CashFlowStatementAnalyses

Returns a new instance of CashFlowStatementAnalyses.



6
7
8
9
10
11
12
13
14
# File 'lib/finmodeling/cash_flow_statement_analyses.rb', line 6

def initialize(calc_summary)
  @title              = calc_summary.title
  @rows               = calc_summary.rows
  @header_row         = calc_summary.header_row
  @key_width          = calc_summary.key_width
  @val_width          = calc_summary.val_width
  @max_decimals       = calc_summary.max_decimals
  @totals_row_enabled = false
end

Instance Method Details

#find_row_by_key(key) ⇒ Object

FIXME: move this to CalculationSummary



30
31
32
# File 'lib/finmodeling/cash_flow_statement_analyses.rb', line 30

def find_row_by_key(key) # FIXME: move this to CalculationSummary
  self.rows.find{ |x| x.key == key }
end

#ni_over_c_rowObject



26
27
28
# File 'lib/finmodeling/cash_flow_statement_analyses.rb', line 26

def ni_over_c_row
  find_row_by_key('NI / C')
end

FIXME: rename



16
17
18
19
20
21
22
23
24
# File 'lib/finmodeling/cash_flow_statement_analyses.rb', line 16

def print_regressions # FIXME: rename
  lr = ni_over_c_row.valid_vals.linear_regression
  puts "\t\tNI / C: "+
       "a:#{lr.a.to_s.cap_decimals(4)}, "+
       "b:#{lr.b.to_s.cap_decimals(4)}, "+
       "r²:#{lr.r2.to_s.cap_decimals(4)}, "+
       "σ²:#{ni_over_c_row.valid_vals.variance.to_s.cap_decimals(4)}, " +
       ( (lr.r2 > 0.6) ? "strong fit" : ( (lr.r2 < 0.2) ? "weak fit [**]" : "avg fit") )
end