quandl_operation 0.1.0 → 0.1.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.
- checksums.yaml +7 -0
- data/lib/quandl/operation/transform.rb +26 -1
- data/lib/quandl/operation/version.rb +1 -1
- data/spec/quandl/operation/transform_spec.rb +16 -0
- metadata +12 -22
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 0d8410610bcbdd3049efc55fef6de5e2fe284203
|
4
|
+
data.tar.gz: d8d867b424f11cd70c3eaefa0bfff4c6e369aa28
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 50637635dfbbe29e86534939cf1dec6082a558328b03c7492ae2274724c98ed35eb534c0d78f1766a41768852f3d906e9fc7ebea929fe0d271ba594bbab82ee0
|
7
|
+
data.tar.gz: b49dc76071b6a7241b54aa990da463b330f18a5e1bada0c08d43b48e1307d82ec245ff8822be6a3ed283bb6e4051cd98af6d1d8590c21290b4b500cf26dbf59c
|
@@ -23,7 +23,7 @@ class Transform
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def valid_transformations
|
26
|
-
[ :diff, :rdiff, :cumul, :normalize ]
|
26
|
+
[ :diff, :rdiff, :cumul, :normalize, :rdiff_from ]
|
27
27
|
end
|
28
28
|
|
29
29
|
def transform( data, type)
|
@@ -31,6 +31,7 @@ class Transform
|
|
31
31
|
#Transforms table from actual data points
|
32
32
|
#to differences between points (:diff)
|
33
33
|
#or a ratio between points(:rdiff)
|
34
|
+
#or a ratio between the latest point and an earlier point (:rdiff_from)
|
34
35
|
#If type is other than these two, nothing is done.
|
35
36
|
|
36
37
|
# ensure that type is in the expected format
|
@@ -103,6 +104,30 @@ class Transform
|
|
103
104
|
|
104
105
|
#delete the first date in datapac (because there is no diff for that)
|
105
106
|
data.delete_at(0)
|
107
|
+
elsif type == :rdiff_from
|
108
|
+
num_rows = keylist.length - 1
|
109
|
+
initial = Array.new(numcols,nil)
|
110
|
+
num_rows.downto(0) do |i|
|
111
|
+
temparr[i] = []
|
112
|
+
curr_row = data[i][1..-1]
|
113
|
+
0.upto(numcols-1) do |x|
|
114
|
+
if curr_row[x].nil?
|
115
|
+
temparr[i][x] = nil
|
116
|
+
elsif initial[x].nil?
|
117
|
+
initial[x] = curr_row[x]
|
118
|
+
temparr[i][x] = 0.0
|
119
|
+
elsif curr_row[x] == 0
|
120
|
+
temparr[i][x] = nil
|
121
|
+
else
|
122
|
+
temparr[i][x] = ( Float(initial[x]) - Float(curr_row[x]) ) / Float(curr_row[x])
|
123
|
+
end
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
|
128
|
+
0.upto(keylist.length-1) do |i|
|
129
|
+
data[i] = [keylist[i], temparr[i]].flatten
|
130
|
+
end
|
106
131
|
else
|
107
132
|
data = Parse.sort( data, :desc )
|
108
133
|
cumulsum = Array.new(numcols,0)
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe Quandl::Operation::Transform do
|
5
|
+
|
6
|
+
context "rdiff_from" do
|
7
|
+
|
8
|
+
it "should transform the data correctly" do
|
9
|
+
data = [[1,3,5],[4,5,4],[5,15,20]]
|
10
|
+
result = Quandl::Operation::Transform.perform(data, :rdiff_from)
|
11
|
+
result.should eq [[1,4,3],[4,2,4],[5,0,0]]
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: quandl_operation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.2
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Blake Hilscher
|
@@ -14,7 +13,6 @@ dependencies:
|
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rake
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
@@ -22,7 +20,6 @@ dependencies:
|
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ~>
|
28
25
|
- !ruby/object:Gem::Version
|
@@ -30,7 +27,6 @@ dependencies:
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rspec
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ~>
|
36
32
|
- !ruby/object:Gem::Version
|
@@ -38,7 +34,6 @@ dependencies:
|
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - ~>
|
44
39
|
- !ruby/object:Gem::Version
|
@@ -46,7 +41,6 @@ dependencies:
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: fivemat
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
45
|
- - ~>
|
52
46
|
- !ruby/object:Gem::Version
|
@@ -54,7 +48,6 @@ dependencies:
|
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
52
|
- - ~>
|
60
53
|
- !ruby/object:Gem::Version
|
@@ -62,33 +55,29 @@ dependencies:
|
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: activesupport
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- -
|
59
|
+
- - '>='
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: 3.0.0
|
70
62
|
type: :runtime
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- -
|
66
|
+
- - '>='
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: 3.0.0
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: quandl_logger
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- -
|
73
|
+
- - '>='
|
84
74
|
- !ruby/object:Gem::Version
|
85
75
|
version: 0.0.3
|
86
76
|
type: :runtime
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- -
|
80
|
+
- - '>='
|
92
81
|
- !ruby/object:Gem::Version
|
93
82
|
version: 0.0.3
|
94
83
|
description: Data will be operated
|
@@ -120,32 +109,33 @@ files:
|
|
120
109
|
- lib/quandl/operation/version.rb
|
121
110
|
- quandl_operation.gemspec
|
122
111
|
- spec/quandl/operation/collapse_spec.rb
|
112
|
+
- spec/quandl/operation/transform_spec.rb
|
123
113
|
- spec/spec_helper.rb
|
124
114
|
homepage: http://blake.hilscher.ca/
|
125
115
|
licenses:
|
126
116
|
- MIT
|
117
|
+
metadata: {}
|
127
118
|
post_install_message:
|
128
119
|
rdoc_options: []
|
129
120
|
require_paths:
|
130
121
|
- lib
|
131
122
|
required_ruby_version: !ruby/object:Gem::Requirement
|
132
|
-
none: false
|
133
123
|
requirements:
|
134
|
-
- -
|
124
|
+
- - '>='
|
135
125
|
- !ruby/object:Gem::Version
|
136
126
|
version: '0'
|
137
127
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
138
|
-
none: false
|
139
128
|
requirements:
|
140
|
-
- -
|
129
|
+
- - '>='
|
141
130
|
- !ruby/object:Gem::Version
|
142
131
|
version: '0'
|
143
132
|
requirements: []
|
144
133
|
rubyforge_project:
|
145
|
-
rubygems_version:
|
134
|
+
rubygems_version: 2.0.5
|
146
135
|
signing_key:
|
147
|
-
specification_version:
|
136
|
+
specification_version: 4
|
148
137
|
summary: For altering data
|
149
138
|
test_files:
|
150
139
|
- spec/quandl/operation/collapse_spec.rb
|
140
|
+
- spec/quandl/operation/transform_spec.rb
|
151
141
|
- spec/spec_helper.rb
|