finmodeling 0.1 → 0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. data/.gitignore +0 -0
  2. data/Gemfile +2 -0
  3. data/README.md +289 -269
  4. data/Rakefile +12 -0
  5. data/TODO.txt +113 -20
  6. data/examples/{dump_report.rb → dump_latest_10k.rb} +1 -1
  7. data/examples/list_disclosures.rb +50 -0
  8. data/examples/lists/nasdaq-mid-to-mega-tech-symbols.txt +0 -0
  9. data/examples/show_report.rb +112 -32
  10. data/examples/show_reports.rb +162 -33
  11. data/finmodeling.gemspec +4 -1
  12. data/lib/finmodeling/annual_report_filing.rb +97 -18
  13. data/lib/finmodeling/array_with_stats.rb +0 -0
  14. data/lib/finmodeling/assets_calculation.rb +12 -3
  15. data/lib/finmodeling/assets_item.rb +0 -0
  16. data/lib/finmodeling/assets_item_vectors.rb +0 -0
  17. data/lib/finmodeling/balance_sheet_analyses.rb +19 -4
  18. data/lib/finmodeling/balance_sheet_calculation.rb +52 -37
  19. data/lib/finmodeling/calculation_summary.rb +119 -14
  20. data/lib/finmodeling/can_cache_classifications.rb +0 -0
  21. data/lib/finmodeling/can_cache_summaries.rb +0 -0
  22. data/lib/finmodeling/can_choose_successive_periods.rb +15 -0
  23. data/lib/finmodeling/can_classify_rows.rb +0 -0
  24. data/lib/finmodeling/capm.rb +80 -0
  25. data/lib/finmodeling/cash_change_calculation.rb +3 -3
  26. data/lib/finmodeling/cash_change_item.rb +0 -0
  27. data/lib/finmodeling/cash_change_item_vectors.rb +0 -0
  28. data/lib/finmodeling/cash_change_summary_from_differences.rb +36 -0
  29. data/lib/finmodeling/cash_flow_statement_analyses.rb +36 -0
  30. data/lib/finmodeling/cash_flow_statement_calculation.rb +28 -52
  31. data/lib/finmodeling/classifiers.rb +2 -0
  32. data/lib/finmodeling/company.rb +0 -0
  33. data/lib/finmodeling/company_filing.rb +30 -7
  34. data/lib/finmodeling/company_filing_calculation.rb +16 -6
  35. data/lib/finmodeling/company_filings.rb +112 -46
  36. data/lib/finmodeling/comprehensive_income_calculation.rb +60 -0
  37. data/lib/finmodeling/comprehensive_income_statement_calculation.rb +74 -0
  38. data/lib/finmodeling/comprehensive_income_statement_item.rb +20 -0
  39. data/lib/finmodeling/comprehensive_income_statement_item_vectors.rb +235 -0
  40. data/lib/finmodeling/config.rb +0 -0
  41. data/lib/finmodeling/debt_cost_of_capital.rb +14 -0
  42. data/lib/finmodeling/equity_change_calculation.rb +43 -0
  43. data/lib/finmodeling/equity_change_item.rb +25 -0
  44. data/lib/finmodeling/equity_change_item_vectors.rb +156 -0
  45. data/lib/finmodeling/factory.rb +0 -0
  46. data/lib/finmodeling/fama_french_cost_of_equity.rb +119 -0
  47. data/lib/finmodeling/float_helpers.rb +14 -8
  48. data/lib/finmodeling/forecasted_reformulated_balance_sheet.rb +55 -0
  49. data/lib/finmodeling/forecasted_reformulated_income_statement.rb +110 -0
  50. data/lib/finmodeling/forecasts.rb +4 -4
  51. data/lib/finmodeling/has_string_classifer.rb +0 -0
  52. data/lib/finmodeling/income_statement_analyses.rb +23 -17
  53. data/lib/finmodeling/income_statement_calculation.rb +46 -43
  54. data/lib/finmodeling/income_statement_item.rb +1 -1
  55. data/lib/finmodeling/income_statement_item_vectors.rb +24 -13
  56. data/lib/finmodeling/invalid_filing_error.rb +4 -0
  57. data/lib/finmodeling/liabs_and_equity_calculation.rb +18 -8
  58. data/lib/finmodeling/liabs_and_equity_item.rb +1 -1
  59. data/lib/finmodeling/liabs_and_equity_item_vectors.rb +24 -24
  60. data/lib/finmodeling/linear_trend_forecasting_policy.rb +23 -0
  61. data/lib/finmodeling/net_income_calculation.rb +23 -10
  62. data/lib/finmodeling/net_income_summary_from_differences.rb +51 -0
  63. data/lib/finmodeling/paths.rb +0 -0
  64. data/lib/finmodeling/period_array.rb +8 -4
  65. data/lib/finmodeling/quarterly_report_filing.rb +9 -4
  66. data/lib/finmodeling/rate.rb +8 -0
  67. data/lib/finmodeling/ratio.rb +0 -0
  68. data/lib/finmodeling/reformulated_balance_sheet.rb +47 -88
  69. data/lib/finmodeling/reformulated_cash_flow_statement.rb +18 -41
  70. data/lib/finmodeling/reformulated_income_statement.rb +44 -206
  71. data/lib/finmodeling/reformulated_shareholder_equity_statement.rb +50 -0
  72. data/lib/finmodeling/reoi_valuation.rb +104 -0
  73. data/lib/finmodeling/shareholder_equity_statement_calculation.rb +34 -0
  74. data/lib/finmodeling/string_helpers.rb +18 -1
  75. data/lib/finmodeling/time_series_estimator.rb +25 -0
  76. data/lib/finmodeling/trailing_avg_forecasting_policy.rb +23 -0
  77. data/lib/finmodeling/version.rb +1 -1
  78. data/lib/finmodeling/weighted_avg_cost_of_capital.rb +35 -0
  79. data/lib/finmodeling/yahoo_finance_helpers.rb +20 -0
  80. data/lib/finmodeling.rb +33 -2
  81. data/spec/annual_report_filing_spec.rb +81 -45
  82. data/spec/assets_calculation_spec.rb +7 -4
  83. data/spec/assets_item_spec.rb +9 -14
  84. data/spec/balance_sheet_analyses_spec.rb +13 -13
  85. data/spec/balance_sheet_calculation_spec.rb +45 -51
  86. data/spec/calculation_summary_spec.rb +113 -21
  87. data/spec/can_classify_rows_spec.rb +0 -0
  88. data/spec/cash_change_calculation_spec.rb +1 -10
  89. data/spec/cash_change_item_spec.rb +10 -18
  90. data/spec/cash_flow_statement_calculation_spec.rb +10 -24
  91. data/spec/company_beta_spec.rb +53 -0
  92. data/spec/company_filing_calculation_spec.rb +39 -49
  93. data/spec/company_filing_spec.rb +0 -0
  94. data/spec/company_filings_spec.rb +75 -25
  95. data/spec/company_spec.rb +37 -47
  96. data/spec/comprehensive_income_statement_calculation_spec.rb +54 -0
  97. data/spec/comprehensive_income_statement_item_spec.rb +56 -0
  98. data/spec/debt_cost_of_capital_spec.rb +19 -0
  99. data/spec/equity_change_calculation_spec.rb +33 -0
  100. data/spec/equity_change_item_spec.rb +58 -0
  101. data/spec/factory_spec.rb +2 -2
  102. data/spec/forecasts_spec.rb +2 -2
  103. data/spec/income_statement_analyses_spec.rb +23 -21
  104. data/spec/income_statement_calculation_spec.rb +17 -49
  105. data/spec/income_statement_item_spec.rb +17 -29
  106. data/spec/liabs_and_equity_calculation_spec.rb +6 -3
  107. data/spec/liabs_and_equity_item_spec.rb +14 -22
  108. data/spec/linear_trend_forecasting_policy_spec.rb +37 -0
  109. data/spec/matchers/custom_matchers.rb +79 -0
  110. data/spec/mocks/calculation.rb +0 -0
  111. data/spec/mocks/income_statement_analyses.rb +0 -0
  112. data/spec/mocks/sec_query.rb +0 -0
  113. data/spec/net_income_calculation_spec.rb +16 -10
  114. data/spec/period_array.rb +0 -0
  115. data/spec/quarterly_report_filing_spec.rb +21 -38
  116. data/spec/rate_spec.rb +0 -0
  117. data/spec/ratio_spec.rb +0 -0
  118. data/spec/reformulated_balance_sheet_spec.rb +56 -33
  119. data/spec/reformulated_cash_flow_statement_spec.rb +18 -10
  120. data/spec/reformulated_income_statement_spec.rb +16 -15
  121. data/spec/reformulated_shareholder_equity_statement_spec.rb +43 -0
  122. data/spec/reoi_valuation_spec.rb +146 -0
  123. data/spec/shareholder_equity_statement_calculation_spec.rb +59 -0
  124. data/spec/spec_helper.rb +4 -1
  125. data/spec/string_helpers_spec.rb +15 -13
  126. data/spec/time_series_estimator_spec.rb +61 -0
  127. data/spec/trailing_avg_forecasting_policy_spec.rb +37 -0
  128. data/spec/weighted_avg_cost_of_capital_spec.rb +32 -0
  129. data/tools/create_equity_change_training_vectors.rb +49 -0
  130. data/tools/time_specs.sh +7 -0
  131. metadata +182 -36
  132. data/lib/finmodeling/constant_forecasting_policy.rb +0 -23
  133. data/lib/finmodeling/generic_forecasting_policy.rb +0 -19
  134. data/spec/constant_forecasting_policy_spec.rb +0 -37
  135. data/spec/generic_forecasting_policy_spec.rb +0 -33
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: finmodeling
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.1'
4
+ version: '0.2'
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-31 00:00:00.000000000 -04:00
13
- default_executable:
12
+ date: 2013-08-23 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: fileutils
17
- requirement: &83594790 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
18
17
  none: false
19
18
  requirements:
20
19
  - - ! '>='
@@ -22,10 +21,15 @@ dependencies:
22
21
  version: '0'
23
22
  type: :runtime
24
23
  prerelease: false
25
- version_requirements: *83594790
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
26
30
  - !ruby/object:Gem::Dependency
27
31
  name: sec_query
28
- requirement: &83594580 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
29
33
  none: false
30
34
  requirements:
31
35
  - - ! '>='
@@ -33,10 +37,15 @@ dependencies:
33
37
  version: '0'
34
38
  type: :runtime
35
39
  prerelease: false
36
- version_requirements: *83594580
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
37
46
  - !ruby/object:Gem::Dependency
38
47
  name: edgar
39
- requirement: &83594370 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
40
49
  none: false
41
50
  requirements:
42
51
  - - ! '>='
@@ -44,32 +53,63 @@ dependencies:
44
53
  version: '0'
45
54
  type: :runtime
46
55
  prerelease: false
47
- version_requirements: *83594370
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
48
62
  - !ruby/object:Gem::Dependency
49
63
  name: xbrlware-ruby19
50
- requirement: &83594120 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
51
65
  none: false
52
66
  requirements:
53
- - - =
67
+ - - '='
54
68
  - !ruby/object:Gem::Version
55
69
  version: 1.1.2.19.2
56
70
  type: :runtime
57
71
  prerelease: false
58
- version_requirements: *83594120
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - '='
76
+ - !ruby/object:Gem::Version
77
+ version: 1.1.2.19.2
59
78
  - !ruby/object:Gem::Dependency
60
79
  name: xbrlware-extras
61
- requirement: &83593870 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
62
81
  none: false
63
82
  requirements:
64
- - - =
83
+ - - '='
65
84
  - !ruby/object:Gem::Version
66
- version: 1.1.2.19.2
85
+ version: 1.1.2.19.3
67
86
  type: :runtime
68
87
  prerelease: false
69
- version_requirements: *83593870
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - '='
92
+ - !ruby/object:Gem::Version
93
+ version: 1.1.2.19.3
94
+ - !ruby/object:Gem::Dependency
95
+ name: nasdaq_query
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :runtime
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
70
110
  - !ruby/object:Gem::Dependency
71
111
  name: sec_query
72
- requirement: &83593680 !ruby/object:Gem::Requirement
112
+ requirement: !ruby/object:Gem::Requirement
73
113
  none: false
74
114
  requirements:
75
115
  - - ! '>='
@@ -77,10 +117,15 @@ dependencies:
77
117
  version: '0'
78
118
  type: :runtime
79
119
  prerelease: false
80
- version_requirements: *83593680
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
81
126
  - !ruby/object:Gem::Dependency
82
127
  name: naive_bayes
83
- requirement: &83593450 !ruby/object:Gem::Requirement
128
+ requirement: !ruby/object:Gem::Requirement
84
129
  none: false
85
130
  requirements:
86
131
  - - ! '>='
@@ -88,10 +133,31 @@ dependencies:
88
133
  version: '0'
89
134
  type: :runtime
90
135
  prerelease: false
91
- version_requirements: *83593450
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
92
142
  - !ruby/object:Gem::Dependency
93
143
  name: statsample
94
- requirement: &83637330 !ruby/object:Gem::Requirement
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ! '>='
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
150
+ type: :runtime
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
158
+ - !ruby/object:Gem::Dependency
159
+ name: yahoofinance
160
+ requirement: !ruby/object:Gem::Requirement
95
161
  none: false
96
162
  requirements:
97
163
  - - ! '>='
@@ -99,21 +165,47 @@ dependencies:
99
165
  version: '0'
100
166
  type: :runtime
101
167
  prerelease: false
102
- version_requirements: *83637330
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ - !ruby/object:Gem::Dependency
175
+ name: gsl
176
+ requirement: !ruby/object:Gem::Requirement
177
+ none: false
178
+ requirements:
179
+ - - ! '>='
180
+ - !ruby/object:Gem::Version
181
+ version: '0'
182
+ type: :runtime
183
+ prerelease: false
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ! '>='
188
+ - !ruby/object:Gem::Version
189
+ version: '0'
103
190
  - !ruby/object:Gem::Dependency
104
191
  name: rspec
105
- requirement: &83637080 !ruby/object:Gem::Requirement
192
+ requirement: !ruby/object:Gem::Requirement
106
193
  none: false
107
194
  requirements:
108
- - - =
195
+ - - '='
109
196
  - !ruby/object:Gem::Version
110
197
  version: '2.5'
111
198
  type: :development
112
199
  prerelease: false
113
- version_requirements: *83637080
200
+ version_requirements: !ruby/object:Gem::Requirement
201
+ none: false
202
+ requirements:
203
+ - - '='
204
+ - !ruby/object:Gem::Version
205
+ version: '2.5'
114
206
  - !ruby/object:Gem::Dependency
115
207
  name: rake
116
- requirement: &83636870 !ruby/object:Gem::Requirement
208
+ requirement: !ruby/object:Gem::Requirement
117
209
  none: false
118
210
  requirements:
119
211
  - - ! '>='
@@ -121,7 +213,12 @@ dependencies:
121
213
  version: '0'
122
214
  type: :development
123
215
  prerelease: false
124
- version_requirements: *83636870
216
+ version_requirements: !ruby/object:Gem::Requirement
217
+ none: false
218
+ requirements:
219
+ - - ! '>='
220
+ - !ruby/object:Gem::Version
221
+ version: '0'
125
222
  description: A gem for manipulating XBRL financial filings
126
223
  email:
127
224
  - jim.lindstrom@gmail.com
@@ -134,7 +231,8 @@ files:
134
231
  - README.md
135
232
  - Rakefile
136
233
  - TODO.txt
137
- - examples/dump_report.rb
234
+ - examples/dump_latest_10k.rb
235
+ - examples/list_disclosures.rb
138
236
  - examples/lists/nasdaq-mid-to-mega-tech-symbols.txt
139
237
  - examples/show_report.rb
140
238
  - examples/show_reports.rb
@@ -150,31 +248,47 @@ files:
150
248
  - lib/finmodeling/calculation_summary.rb
151
249
  - lib/finmodeling/can_cache_classifications.rb
152
250
  - lib/finmodeling/can_cache_summaries.rb
251
+ - lib/finmodeling/can_choose_successive_periods.rb
153
252
  - lib/finmodeling/can_classify_rows.rb
253
+ - lib/finmodeling/capm.rb
154
254
  - lib/finmodeling/cash_change_calculation.rb
155
255
  - lib/finmodeling/cash_change_item.rb
156
256
  - lib/finmodeling/cash_change_item_vectors.rb
257
+ - lib/finmodeling/cash_change_summary_from_differences.rb
258
+ - lib/finmodeling/cash_flow_statement_analyses.rb
157
259
  - lib/finmodeling/cash_flow_statement_calculation.rb
158
260
  - lib/finmodeling/classifiers.rb
159
261
  - lib/finmodeling/company.rb
160
262
  - lib/finmodeling/company_filing.rb
161
263
  - lib/finmodeling/company_filing_calculation.rb
162
264
  - lib/finmodeling/company_filings.rb
265
+ - lib/finmodeling/comprehensive_income_calculation.rb
266
+ - lib/finmodeling/comprehensive_income_statement_calculation.rb
267
+ - lib/finmodeling/comprehensive_income_statement_item.rb
268
+ - lib/finmodeling/comprehensive_income_statement_item_vectors.rb
163
269
  - lib/finmodeling/config.rb
164
- - lib/finmodeling/constant_forecasting_policy.rb
270
+ - lib/finmodeling/debt_cost_of_capital.rb
271
+ - lib/finmodeling/equity_change_calculation.rb
272
+ - lib/finmodeling/equity_change_item.rb
273
+ - lib/finmodeling/equity_change_item_vectors.rb
165
274
  - lib/finmodeling/factory.rb
275
+ - lib/finmodeling/fama_french_cost_of_equity.rb
166
276
  - lib/finmodeling/float_helpers.rb
277
+ - lib/finmodeling/forecasted_reformulated_balance_sheet.rb
278
+ - lib/finmodeling/forecasted_reformulated_income_statement.rb
167
279
  - lib/finmodeling/forecasts.rb
168
- - lib/finmodeling/generic_forecasting_policy.rb
169
280
  - lib/finmodeling/has_string_classifer.rb
170
281
  - lib/finmodeling/income_statement_analyses.rb
171
282
  - lib/finmodeling/income_statement_calculation.rb
172
283
  - lib/finmodeling/income_statement_item.rb
173
284
  - lib/finmodeling/income_statement_item_vectors.rb
285
+ - lib/finmodeling/invalid_filing_error.rb
174
286
  - lib/finmodeling/liabs_and_equity_calculation.rb
175
287
  - lib/finmodeling/liabs_and_equity_item.rb
176
288
  - lib/finmodeling/liabs_and_equity_item_vectors.rb
289
+ - lib/finmodeling/linear_trend_forecasting_policy.rb
177
290
  - lib/finmodeling/net_income_calculation.rb
291
+ - lib/finmodeling/net_income_summary_from_differences.rb
178
292
  - lib/finmodeling/paths.rb
179
293
  - lib/finmodeling/period_array.rb
180
294
  - lib/finmodeling/quarterly_report_filing.rb
@@ -183,8 +297,15 @@ files:
183
297
  - lib/finmodeling/reformulated_balance_sheet.rb
184
298
  - lib/finmodeling/reformulated_cash_flow_statement.rb
185
299
  - lib/finmodeling/reformulated_income_statement.rb
300
+ - lib/finmodeling/reformulated_shareholder_equity_statement.rb
301
+ - lib/finmodeling/reoi_valuation.rb
302
+ - lib/finmodeling/shareholder_equity_statement_calculation.rb
186
303
  - lib/finmodeling/string_helpers.rb
304
+ - lib/finmodeling/time_series_estimator.rb
305
+ - lib/finmodeling/trailing_avg_forecasting_policy.rb
187
306
  - lib/finmodeling/version.rb
307
+ - lib/finmodeling/weighted_avg_cost_of_capital.rb
308
+ - lib/finmodeling/yahoo_finance_helpers.rb
188
309
  - spec/annual_report_filing_spec.rb
189
310
  - spec/assets_calculation_spec.rb
190
311
  - spec/assets_item_spec.rb
@@ -195,19 +316,25 @@ files:
195
316
  - spec/cash_change_calculation_spec.rb
196
317
  - spec/cash_change_item_spec.rb
197
318
  - spec/cash_flow_statement_calculation_spec.rb
319
+ - spec/company_beta_spec.rb
198
320
  - spec/company_filing_calculation_spec.rb
199
321
  - spec/company_filing_spec.rb
200
322
  - spec/company_filings_spec.rb
201
323
  - spec/company_spec.rb
202
- - spec/constant_forecasting_policy_spec.rb
324
+ - spec/comprehensive_income_statement_calculation_spec.rb
325
+ - spec/comprehensive_income_statement_item_spec.rb
326
+ - spec/debt_cost_of_capital_spec.rb
327
+ - spec/equity_change_calculation_spec.rb
328
+ - spec/equity_change_item_spec.rb
203
329
  - spec/factory_spec.rb
204
330
  - spec/forecasts_spec.rb
205
- - spec/generic_forecasting_policy_spec.rb
206
331
  - spec/income_statement_analyses_spec.rb
207
332
  - spec/income_statement_calculation_spec.rb
208
333
  - spec/income_statement_item_spec.rb
209
334
  - spec/liabs_and_equity_calculation_spec.rb
210
335
  - spec/liabs_and_equity_item_spec.rb
336
+ - spec/linear_trend_forecasting_policy_spec.rb
337
+ - spec/matchers/custom_matchers.rb
211
338
  - spec/mocks/calculation.rb
212
339
  - spec/mocks/income_statement_analyses.rb
213
340
  - spec/mocks/sec_query.rb
@@ -219,13 +346,20 @@ files:
219
346
  - spec/reformulated_balance_sheet_spec.rb
220
347
  - spec/reformulated_cash_flow_statement_spec.rb
221
348
  - spec/reformulated_income_statement_spec.rb
349
+ - spec/reformulated_shareholder_equity_statement_spec.rb
350
+ - spec/reoi_valuation_spec.rb
351
+ - spec/shareholder_equity_statement_calculation_spec.rb
222
352
  - spec/spec_helper.rb
223
353
  - spec/string_helpers_spec.rb
354
+ - spec/time_series_estimator_spec.rb
355
+ - spec/trailing_avg_forecasting_policy_spec.rb
356
+ - spec/weighted_avg_cost_of_capital_spec.rb
224
357
  - tools/create_balance_sheet_training_vectors.rb
225
358
  - tools/create_cash_change_training_vectors.rb
226
359
  - tools/create_credit_debit_training_vectors.rb
360
+ - tools/create_equity_change_training_vectors.rb
227
361
  - tools/create_income_statement_training_vectors.rb
228
- has_rdoc: true
362
+ - tools/time_specs.sh
229
363
  homepage: https://github.com/jimlindstrom/FinModeling
230
364
  licenses: []
231
365
  post_install_message:
@@ -246,7 +380,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
246
380
  version: '0'
247
381
  requirements: []
248
382
  rubyforge_project:
249
- rubygems_version: 1.6.2
383
+ rubygems_version: 1.8.24
250
384
  signing_key:
251
385
  specification_version: 3
252
386
  summary: A gem for manipulating XBRL financial filings
@@ -261,19 +395,25 @@ test_files:
261
395
  - spec/cash_change_calculation_spec.rb
262
396
  - spec/cash_change_item_spec.rb
263
397
  - spec/cash_flow_statement_calculation_spec.rb
398
+ - spec/company_beta_spec.rb
264
399
  - spec/company_filing_calculation_spec.rb
265
400
  - spec/company_filing_spec.rb
266
401
  - spec/company_filings_spec.rb
267
402
  - spec/company_spec.rb
268
- - spec/constant_forecasting_policy_spec.rb
403
+ - spec/comprehensive_income_statement_calculation_spec.rb
404
+ - spec/comprehensive_income_statement_item_spec.rb
405
+ - spec/debt_cost_of_capital_spec.rb
406
+ - spec/equity_change_calculation_spec.rb
407
+ - spec/equity_change_item_spec.rb
269
408
  - spec/factory_spec.rb
270
409
  - spec/forecasts_spec.rb
271
- - spec/generic_forecasting_policy_spec.rb
272
410
  - spec/income_statement_analyses_spec.rb
273
411
  - spec/income_statement_calculation_spec.rb
274
412
  - spec/income_statement_item_spec.rb
275
413
  - spec/liabs_and_equity_calculation_spec.rb
276
414
  - spec/liabs_and_equity_item_spec.rb
415
+ - spec/linear_trend_forecasting_policy_spec.rb
416
+ - spec/matchers/custom_matchers.rb
277
417
  - spec/mocks/calculation.rb
278
418
  - spec/mocks/income_statement_analyses.rb
279
419
  - spec/mocks/sec_query.rb
@@ -285,5 +425,11 @@ test_files:
285
425
  - spec/reformulated_balance_sheet_spec.rb
286
426
  - spec/reformulated_cash_flow_statement_spec.rb
287
427
  - spec/reformulated_income_statement_spec.rb
428
+ - spec/reformulated_shareholder_equity_statement_spec.rb
429
+ - spec/reoi_valuation_spec.rb
430
+ - spec/shareholder_equity_statement_calculation_spec.rb
288
431
  - spec/spec_helper.rb
289
432
  - spec/string_helpers_spec.rb
433
+ - spec/time_series_estimator_spec.rb
434
+ - spec/trailing_avg_forecasting_policy_spec.rb
435
+ - spec/weighted_avg_cost_of_capital_spec.rb
@@ -1,23 +0,0 @@
1
- module FinModeling
2
- class ConstantForecastingPolicy
3
- def initialize(args)
4
- @vals = args
5
- end
6
-
7
- def revenue_growth
8
- @vals[:revenue_growth]
9
- end
10
-
11
- def sales_pm
12
- @vals[:sales_pm]
13
- end
14
-
15
- def fi_over_nfa
16
- @vals[:fi_over_nfa]
17
- end
18
-
19
- def sales_over_noa
20
- @vals[:sales_over_noa]
21
- end
22
- end
23
- end
@@ -1,19 +0,0 @@
1
- module FinModeling
2
- class GenericForecastingPolicy
3
- def revenue_growth
4
- 0.04
5
- end
6
-
7
- def sales_pm
8
- 0.20
9
- end
10
-
11
- def fi_over_nfa
12
- 0.01
13
- end
14
-
15
- def sales_over_noa
16
- 2.00
17
- end
18
- end
19
- end
@@ -1,37 +0,0 @@
1
- # constant_forecasting_policy_spec.rb
2
-
3
- require 'spec_helper'
4
-
5
- describe FinModeling::ConstantForecastingPolicy do
6
- before (:all) do
7
- @vals = { :revenue_growth => 0.04,
8
- :sales_pm => 0.20,
9
- :fi_over_nfa => 0.01,
10
- :sales_over_noa => 2.00 }
11
- @policy = FinModeling::ConstantForecastingPolicy.new(@vals)
12
- end
13
-
14
- describe ".revenue_growth" do
15
- subject { @policy.revenue_growth }
16
- it { should be_an_instance_of Float }
17
- it { should be_within(0.01).of(@vals[:revenue_growth]) }
18
- end
19
-
20
- describe ".sales_pm" do
21
- subject { @policy.sales_pm }
22
- it { should be_an_instance_of Float }
23
- it { should be_within(0.01).of(@vals[:sales_pm]) }
24
- end
25
-
26
- describe ".fi_over_nfa" do
27
- subject { @policy.fi_over_nfa }
28
- it { should be_an_instance_of Float }
29
- it { should be_within(0.01).of(@vals[:fi_over_nfa]) }
30
- end
31
-
32
- describe ".sales_over_noa" do
33
- subject { @policy.sales_over_noa }
34
- it { should be_an_instance_of Float }
35
- it { should be_within(0.01).of(@vals[:sales_over_noa]) }
36
- end
37
- end
@@ -1,33 +0,0 @@
1
- # generic_forecasting_policy_spec.rb
2
-
3
- require 'spec_helper'
4
-
5
- describe FinModeling::GenericForecastingPolicy do
6
- before (:all) do
7
- @policy = FinModeling::GenericForecastingPolicy.new
8
- end
9
-
10
- describe ".revenue_growth" do
11
- subject { @policy.revenue_growth }
12
- it { should be_an_instance_of Float }
13
- it { should be_within(0.01).of(0.04) } # FIXME: Make this not hard-coded
14
- end
15
-
16
- describe ".sales_pm" do
17
- subject { @policy.sales_pm }
18
- it { should be_an_instance_of Float }
19
- it { should be_within(0.01).of(0.20) } # FIXME: Make this not hard-coded
20
- end
21
-
22
- describe ".fi_over_nfa" do
23
- subject { @policy.fi_over_nfa }
24
- it { should be_an_instance_of Float }
25
- it { should be_within(0.01).of(0.01) } # FIXME: Make this not hard-coded
26
- end
27
-
28
- describe ".sales_over_noa" do
29
- subject { @policy.sales_over_noa }
30
- it { should be_an_instance_of Float }
31
- it { should be_within(0.01).of(2.00) } # FIXME: Make this not hard-coded
32
- end
33
- end