finmodeling 0.1

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 (97) hide show
  1. data/.gitignore +3 -0
  2. data/Gemfile +10 -0
  3. data/README.md +292 -0
  4. data/Rakefile +6 -0
  5. data/TODO.txt +36 -0
  6. data/examples/dump_report.rb +33 -0
  7. data/examples/lists/nasdaq-mid-to-mega-tech-symbols.txt +226 -0
  8. data/examples/show_report.rb +218 -0
  9. data/examples/show_reports.rb +77 -0
  10. data/finmodeling.gemspec +31 -0
  11. data/lib/finmodeling/annual_report_filing.rb +104 -0
  12. data/lib/finmodeling/array_with_stats.rb +22 -0
  13. data/lib/finmodeling/assets_calculation.rb +36 -0
  14. data/lib/finmodeling/assets_item.rb +14 -0
  15. data/lib/finmodeling/assets_item_vectors.rb +638 -0
  16. data/lib/finmodeling/balance_sheet_analyses.rb +33 -0
  17. data/lib/finmodeling/balance_sheet_calculation.rb +68 -0
  18. data/lib/finmodeling/calculation_summary.rb +148 -0
  19. data/lib/finmodeling/can_cache_classifications.rb +36 -0
  20. data/lib/finmodeling/can_cache_summaries.rb +16 -0
  21. data/lib/finmodeling/can_classify_rows.rb +54 -0
  22. data/lib/finmodeling/cash_change_calculation.rb +67 -0
  23. data/lib/finmodeling/cash_change_item.rb +14 -0
  24. data/lib/finmodeling/cash_change_item_vectors.rb +241 -0
  25. data/lib/finmodeling/cash_flow_statement_calculation.rb +85 -0
  26. data/lib/finmodeling/classifiers.rb +11 -0
  27. data/lib/finmodeling/company.rb +102 -0
  28. data/lib/finmodeling/company_filing.rb +64 -0
  29. data/lib/finmodeling/company_filing_calculation.rb +75 -0
  30. data/lib/finmodeling/company_filings.rb +100 -0
  31. data/lib/finmodeling/config.rb +37 -0
  32. data/lib/finmodeling/constant_forecasting_policy.rb +23 -0
  33. data/lib/finmodeling/factory.rb +27 -0
  34. data/lib/finmodeling/float_helpers.rb +17 -0
  35. data/lib/finmodeling/forecasts.rb +48 -0
  36. data/lib/finmodeling/generic_forecasting_policy.rb +19 -0
  37. data/lib/finmodeling/has_string_classifer.rb +96 -0
  38. data/lib/finmodeling/income_statement_analyses.rb +74 -0
  39. data/lib/finmodeling/income_statement_calculation.rb +71 -0
  40. data/lib/finmodeling/income_statement_item.rb +14 -0
  41. data/lib/finmodeling/income_statement_item_vectors.rb +654 -0
  42. data/lib/finmodeling/liabs_and_equity_calculation.rb +36 -0
  43. data/lib/finmodeling/liabs_and_equity_item.rb +14 -0
  44. data/lib/finmodeling/liabs_and_equity_item_vectors.rb +1936 -0
  45. data/lib/finmodeling/net_income_calculation.rb +41 -0
  46. data/lib/finmodeling/paths.rb +5 -0
  47. data/lib/finmodeling/period_array.rb +24 -0
  48. data/lib/finmodeling/quarterly_report_filing.rb +23 -0
  49. data/lib/finmodeling/rate.rb +20 -0
  50. data/lib/finmodeling/ratio.rb +20 -0
  51. data/lib/finmodeling/reformulated_balance_sheet.rb +176 -0
  52. data/lib/finmodeling/reformulated_cash_flow_statement.rb +140 -0
  53. data/lib/finmodeling/reformulated_income_statement.rb +436 -0
  54. data/lib/finmodeling/string_helpers.rb +26 -0
  55. data/lib/finmodeling/version.rb +3 -0
  56. data/lib/finmodeling.rb +70 -0
  57. data/spec/annual_report_filing_spec.rb +68 -0
  58. data/spec/assets_calculation_spec.rb +21 -0
  59. data/spec/assets_item_spec.rb +66 -0
  60. data/spec/balance_sheet_analyses_spec.rb +43 -0
  61. data/spec/balance_sheet_calculation_spec.rb +91 -0
  62. data/spec/calculation_summary_spec.rb +63 -0
  63. data/spec/can_classify_rows_spec.rb +86 -0
  64. data/spec/cash_change_calculation_spec.rb +56 -0
  65. data/spec/cash_change_item_spec.rb +66 -0
  66. data/spec/cash_flow_statement_calculation_spec.rb +108 -0
  67. data/spec/company_filing_calculation_spec.rb +74 -0
  68. data/spec/company_filing_spec.rb +30 -0
  69. data/spec/company_filings_spec.rb +55 -0
  70. data/spec/company_spec.rb +73 -0
  71. data/spec/constant_forecasting_policy_spec.rb +37 -0
  72. data/spec/factory_spec.rb +18 -0
  73. data/spec/forecasts_spec.rb +21 -0
  74. data/spec/generic_forecasting_policy_spec.rb +33 -0
  75. data/spec/income_statement_analyses_spec.rb +63 -0
  76. data/spec/income_statement_calculation_spec.rb +88 -0
  77. data/spec/income_statement_item_spec.rb +86 -0
  78. data/spec/liabs_and_equity_calculation_spec.rb +20 -0
  79. data/spec/liabs_and_equity_item_spec.rb +66 -0
  80. data/spec/mocks/calculation.rb +10 -0
  81. data/spec/mocks/income_statement_analyses.rb +93 -0
  82. data/spec/mocks/sec_query.rb +31 -0
  83. data/spec/net_income_calculation_spec.rb +23 -0
  84. data/spec/period_array.rb +52 -0
  85. data/spec/quarterly_report_filing_spec.rb +69 -0
  86. data/spec/rate_spec.rb +33 -0
  87. data/spec/ratio_spec.rb +33 -0
  88. data/spec/reformulated_balance_sheet_spec.rb +146 -0
  89. data/spec/reformulated_cash_flow_statement_spec.rb +174 -0
  90. data/spec/reformulated_income_statement_spec.rb +293 -0
  91. data/spec/spec_helper.rb +5 -0
  92. data/spec/string_helpers_spec.rb +23 -0
  93. data/tools/create_balance_sheet_training_vectors.rb +65 -0
  94. data/tools/create_cash_change_training_vectors.rb +48 -0
  95. data/tools/create_credit_debit_training_vectors.rb +51 -0
  96. data/tools/create_income_statement_training_vectors.rb +48 -0
  97. metadata +289 -0
metadata ADDED
@@ -0,0 +1,289 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: finmodeling
3
+ version: !ruby/object:Gem::Version
4
+ version: '0.1'
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Jim Lindstrom
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-03-31 00:00:00.000000000 -04:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: fileutils
17
+ requirement: &83594790 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: *83594790
26
+ - !ruby/object:Gem::Dependency
27
+ name: sec_query
28
+ requirement: &83594580 !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: *83594580
37
+ - !ruby/object:Gem::Dependency
38
+ name: edgar
39
+ requirement: &83594370 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
45
+ type: :runtime
46
+ prerelease: false
47
+ version_requirements: *83594370
48
+ - !ruby/object:Gem::Dependency
49
+ name: xbrlware-ruby19
50
+ requirement: &83594120 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - =
54
+ - !ruby/object:Gem::Version
55
+ version: 1.1.2.19.2
56
+ type: :runtime
57
+ prerelease: false
58
+ version_requirements: *83594120
59
+ - !ruby/object:Gem::Dependency
60
+ name: xbrlware-extras
61
+ requirement: &83593870 !ruby/object:Gem::Requirement
62
+ none: false
63
+ requirements:
64
+ - - =
65
+ - !ruby/object:Gem::Version
66
+ version: 1.1.2.19.2
67
+ type: :runtime
68
+ prerelease: false
69
+ version_requirements: *83593870
70
+ - !ruby/object:Gem::Dependency
71
+ name: sec_query
72
+ requirement: &83593680 !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ type: :runtime
79
+ prerelease: false
80
+ version_requirements: *83593680
81
+ - !ruby/object:Gem::Dependency
82
+ name: naive_bayes
83
+ requirement: &83593450 !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - ! '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ type: :runtime
90
+ prerelease: false
91
+ version_requirements: *83593450
92
+ - !ruby/object:Gem::Dependency
93
+ name: statsample
94
+ requirement: &83637330 !ruby/object:Gem::Requirement
95
+ none: false
96
+ requirements:
97
+ - - ! '>='
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
100
+ type: :runtime
101
+ prerelease: false
102
+ version_requirements: *83637330
103
+ - !ruby/object:Gem::Dependency
104
+ name: rspec
105
+ requirement: &83637080 !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - =
109
+ - !ruby/object:Gem::Version
110
+ version: '2.5'
111
+ type: :development
112
+ prerelease: false
113
+ version_requirements: *83637080
114
+ - !ruby/object:Gem::Dependency
115
+ name: rake
116
+ requirement: &83636870 !ruby/object:Gem::Requirement
117
+ none: false
118
+ requirements:
119
+ - - ! '>='
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
122
+ type: :development
123
+ prerelease: false
124
+ version_requirements: *83636870
125
+ description: A gem for manipulating XBRL financial filings
126
+ email:
127
+ - jim.lindstrom@gmail.com
128
+ executables: []
129
+ extensions: []
130
+ extra_rdoc_files: []
131
+ files:
132
+ - .gitignore
133
+ - Gemfile
134
+ - README.md
135
+ - Rakefile
136
+ - TODO.txt
137
+ - examples/dump_report.rb
138
+ - examples/lists/nasdaq-mid-to-mega-tech-symbols.txt
139
+ - examples/show_report.rb
140
+ - examples/show_reports.rb
141
+ - finmodeling.gemspec
142
+ - lib/finmodeling.rb
143
+ - lib/finmodeling/annual_report_filing.rb
144
+ - lib/finmodeling/array_with_stats.rb
145
+ - lib/finmodeling/assets_calculation.rb
146
+ - lib/finmodeling/assets_item.rb
147
+ - lib/finmodeling/assets_item_vectors.rb
148
+ - lib/finmodeling/balance_sheet_analyses.rb
149
+ - lib/finmodeling/balance_sheet_calculation.rb
150
+ - lib/finmodeling/calculation_summary.rb
151
+ - lib/finmodeling/can_cache_classifications.rb
152
+ - lib/finmodeling/can_cache_summaries.rb
153
+ - lib/finmodeling/can_classify_rows.rb
154
+ - lib/finmodeling/cash_change_calculation.rb
155
+ - lib/finmodeling/cash_change_item.rb
156
+ - lib/finmodeling/cash_change_item_vectors.rb
157
+ - lib/finmodeling/cash_flow_statement_calculation.rb
158
+ - lib/finmodeling/classifiers.rb
159
+ - lib/finmodeling/company.rb
160
+ - lib/finmodeling/company_filing.rb
161
+ - lib/finmodeling/company_filing_calculation.rb
162
+ - lib/finmodeling/company_filings.rb
163
+ - lib/finmodeling/config.rb
164
+ - lib/finmodeling/constant_forecasting_policy.rb
165
+ - lib/finmodeling/factory.rb
166
+ - lib/finmodeling/float_helpers.rb
167
+ - lib/finmodeling/forecasts.rb
168
+ - lib/finmodeling/generic_forecasting_policy.rb
169
+ - lib/finmodeling/has_string_classifer.rb
170
+ - lib/finmodeling/income_statement_analyses.rb
171
+ - lib/finmodeling/income_statement_calculation.rb
172
+ - lib/finmodeling/income_statement_item.rb
173
+ - lib/finmodeling/income_statement_item_vectors.rb
174
+ - lib/finmodeling/liabs_and_equity_calculation.rb
175
+ - lib/finmodeling/liabs_and_equity_item.rb
176
+ - lib/finmodeling/liabs_and_equity_item_vectors.rb
177
+ - lib/finmodeling/net_income_calculation.rb
178
+ - lib/finmodeling/paths.rb
179
+ - lib/finmodeling/period_array.rb
180
+ - lib/finmodeling/quarterly_report_filing.rb
181
+ - lib/finmodeling/rate.rb
182
+ - lib/finmodeling/ratio.rb
183
+ - lib/finmodeling/reformulated_balance_sheet.rb
184
+ - lib/finmodeling/reformulated_cash_flow_statement.rb
185
+ - lib/finmodeling/reformulated_income_statement.rb
186
+ - lib/finmodeling/string_helpers.rb
187
+ - lib/finmodeling/version.rb
188
+ - spec/annual_report_filing_spec.rb
189
+ - spec/assets_calculation_spec.rb
190
+ - spec/assets_item_spec.rb
191
+ - spec/balance_sheet_analyses_spec.rb
192
+ - spec/balance_sheet_calculation_spec.rb
193
+ - spec/calculation_summary_spec.rb
194
+ - spec/can_classify_rows_spec.rb
195
+ - spec/cash_change_calculation_spec.rb
196
+ - spec/cash_change_item_spec.rb
197
+ - spec/cash_flow_statement_calculation_spec.rb
198
+ - spec/company_filing_calculation_spec.rb
199
+ - spec/company_filing_spec.rb
200
+ - spec/company_filings_spec.rb
201
+ - spec/company_spec.rb
202
+ - spec/constant_forecasting_policy_spec.rb
203
+ - spec/factory_spec.rb
204
+ - spec/forecasts_spec.rb
205
+ - spec/generic_forecasting_policy_spec.rb
206
+ - spec/income_statement_analyses_spec.rb
207
+ - spec/income_statement_calculation_spec.rb
208
+ - spec/income_statement_item_spec.rb
209
+ - spec/liabs_and_equity_calculation_spec.rb
210
+ - spec/liabs_and_equity_item_spec.rb
211
+ - spec/mocks/calculation.rb
212
+ - spec/mocks/income_statement_analyses.rb
213
+ - spec/mocks/sec_query.rb
214
+ - spec/net_income_calculation_spec.rb
215
+ - spec/period_array.rb
216
+ - spec/quarterly_report_filing_spec.rb
217
+ - spec/rate_spec.rb
218
+ - spec/ratio_spec.rb
219
+ - spec/reformulated_balance_sheet_spec.rb
220
+ - spec/reformulated_cash_flow_statement_spec.rb
221
+ - spec/reformulated_income_statement_spec.rb
222
+ - spec/spec_helper.rb
223
+ - spec/string_helpers_spec.rb
224
+ - tools/create_balance_sheet_training_vectors.rb
225
+ - tools/create_cash_change_training_vectors.rb
226
+ - tools/create_credit_debit_training_vectors.rb
227
+ - tools/create_income_statement_training_vectors.rb
228
+ has_rdoc: true
229
+ homepage: https://github.com/jimlindstrom/FinModeling
230
+ licenses: []
231
+ post_install_message:
232
+ rdoc_options: []
233
+ require_paths:
234
+ - lib
235
+ required_ruby_version: !ruby/object:Gem::Requirement
236
+ none: false
237
+ requirements:
238
+ - - ! '>='
239
+ - !ruby/object:Gem::Version
240
+ version: '0'
241
+ required_rubygems_version: !ruby/object:Gem::Requirement
242
+ none: false
243
+ requirements:
244
+ - - ! '>='
245
+ - !ruby/object:Gem::Version
246
+ version: '0'
247
+ requirements: []
248
+ rubyforge_project:
249
+ rubygems_version: 1.6.2
250
+ signing_key:
251
+ specification_version: 3
252
+ summary: A gem for manipulating XBRL financial filings
253
+ test_files:
254
+ - spec/annual_report_filing_spec.rb
255
+ - spec/assets_calculation_spec.rb
256
+ - spec/assets_item_spec.rb
257
+ - spec/balance_sheet_analyses_spec.rb
258
+ - spec/balance_sheet_calculation_spec.rb
259
+ - spec/calculation_summary_spec.rb
260
+ - spec/can_classify_rows_spec.rb
261
+ - spec/cash_change_calculation_spec.rb
262
+ - spec/cash_change_item_spec.rb
263
+ - spec/cash_flow_statement_calculation_spec.rb
264
+ - spec/company_filing_calculation_spec.rb
265
+ - spec/company_filing_spec.rb
266
+ - spec/company_filings_spec.rb
267
+ - spec/company_spec.rb
268
+ - spec/constant_forecasting_policy_spec.rb
269
+ - spec/factory_spec.rb
270
+ - spec/forecasts_spec.rb
271
+ - spec/generic_forecasting_policy_spec.rb
272
+ - spec/income_statement_analyses_spec.rb
273
+ - spec/income_statement_calculation_spec.rb
274
+ - spec/income_statement_item_spec.rb
275
+ - spec/liabs_and_equity_calculation_spec.rb
276
+ - spec/liabs_and_equity_item_spec.rb
277
+ - spec/mocks/calculation.rb
278
+ - spec/mocks/income_statement_analyses.rb
279
+ - spec/mocks/sec_query.rb
280
+ - spec/net_income_calculation_spec.rb
281
+ - spec/period_array.rb
282
+ - spec/quarterly_report_filing_spec.rb
283
+ - spec/rate_spec.rb
284
+ - spec/ratio_spec.rb
285
+ - spec/reformulated_balance_sheet_spec.rb
286
+ - spec/reformulated_cash_flow_statement_spec.rb
287
+ - spec/reformulated_income_statement_spec.rb
288
+ - spec/spec_helper.rb
289
+ - spec/string_helpers_spec.rb