histock-simplefilter 0.1.2 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -2
- data/README.md +24 -2
- data/lib/histock/simplefilter/fetch/financial_statements.rb +10 -0
- data/lib/histock/simplefilter/fetch.rb +33 -9
- data/lib/histock/simplefilter/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e32979ce299039612c2aa20f15b18562e1dabdbdeec3a25b981f03c7ecab084c
|
4
|
+
data.tar.gz: fd56926c121afc019093988e891bb41c42437699ab28187de32ad825852d066f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1c0412f9bb2c4861d66ad676024761804bc5ae0d62ce9b82f666dc7e328315ebb438be13bc426081ec89ab8ebefff3394a26e8f6f4daea7f6d2b64470a5c8fc5
|
7
|
+
data.tar.gz: f29c7bea0fe1f5b0dfa54dcee98031c607083232e61330547256f26617284aba0b17f64b64bfcd96e0a085c3f503850e54590f37d1df558b02061f78920b50fd
|
data/CHANGELOG.md
CHANGED
@@ -1,10 +1,16 @@
|
|
1
|
+
## v0.2.0
|
2
|
+
[full changelog](http://github.com/ysato5654/histock-simplefilter/compare/v0.1.2...v0.2.0)
|
3
|
+
|
4
|
+
* support new request
|
5
|
+
- financial statements
|
6
|
+
|
1
7
|
## v0.1.2
|
2
|
-
[full changelog](http://github.com/ysato5654/histock-
|
8
|
+
[full changelog](http://github.com/ysato5654/histock-simplefilter/compare/v0.1.1...v0.1.2)
|
3
9
|
|
4
10
|
* fix include path
|
5
11
|
|
6
12
|
## v0.1.1
|
7
|
-
[full changelog](http://github.com/ysato5654/histock-
|
13
|
+
[full changelog](http://github.com/ysato5654/histock-simplefilter/compare/v0.1.0...v0.1.1)
|
8
14
|
|
9
15
|
* update gemspec
|
10
16
|
|
data/README.md
CHANGED
@@ -27,11 +27,11 @@ $ gem install histock-simplefilter
|
|
27
27
|
|
28
28
|
## Usage
|
29
29
|
|
30
|
-
|
30
|
+
### Dividend policy
|
31
31
|
|
32
32
|
```rb
|
33
33
|
histock = Histock::Simplefilter.new
|
34
|
-
histock.dividend_policy(
|
34
|
+
histock.dividend_policy('2330')
|
35
35
|
# [
|
36
36
|
# ["所屬年度", "發放年度", "除權日", "除息日", "除權息前股價", "股票股利", "現金股利", "EPS", "配息率", "現金殖利率", "扣抵稅率", "增資配股率", "增資認購價"],
|
37
37
|
# ["2019", "2020", "-", "06/18", "297.5", "0", "2.5", "13.32", "0.1877", "0.0084", "0", "0", "0"],
|
@@ -52,3 +52,25 @@ histock.dividend_policy(:code => '1234')
|
|
52
52
|
# ["2007", "2008", "07/16", "07/16", "55.8", "0.05", "3.03", "-", "-", "0", "0.0186", "0.02", "0"]
|
53
53
|
# ]
|
54
54
|
```
|
55
|
+
|
56
|
+
### Financial statements
|
57
|
+
|
58
|
+
```rb
|
59
|
+
histock = Histock::Simplefilter.new
|
60
|
+
histock.financial_statements('2330')
|
61
|
+
# [
|
62
|
+
# ["年度/月份", "單月營收", "去年同月營收", "單月月增率", "單月年增率", "累計營收", "去年累計營收", "累積年增率"],
|
63
|
+
# ["2020/04", "96,001,568", "74,693,616", "-15.4%", "28.5%", "406,598,784", "293,398,112", "38.6%"],
|
64
|
+
# ["2020/03", "113,519,600", "79,721,584", "21.5%", "42.4%", "310,597,184", "218,704,496", "42%"],
|
65
|
+
# ["2020/02", "93,394,448", "60,889,060", "-9.9%", "53.4%", "197,077,600", "138,982,896", "41.8%"],
|
66
|
+
# ["2020/01", "103,683,104", "78,093,824", "0.3%", "32.8%", "103,683,104", "78,093,824", "32.8%"],
|
67
|
+
# ["2019/12", "103,313,104", "89,830,600", "-4.2%", "15%", "1,069,985,024", "1,031,473,984", "3.7%"],
|
68
|
+
# ["2019/11", "107,884,400", "98,389,424", "1.7%", "9.6%", "966,672,320", "941,642,880", "2.7%"],
|
69
|
+
# ["2019/10", "106,039,504", "101,550,200", "3.8%", "4.4%", "858,787,904", "843,253,632", "1.8%"],
|
70
|
+
# ["2019/09", "102,170,096", "94,921,920", "-3.7%", "7.6%", "752,748,416", "741,703,424", "1.5%"],
|
71
|
+
# ["2019/08", "106,117,600", "91,055,040", "25.2%", "16.5%", "650,578,304", "646,781,376", "0.6%"],
|
72
|
+
# ["2019/07", "84,757,728", "74,370,928", "-1.3%", "14%", "544,460,672", "555,726,400", "-2%"],
|
73
|
+
# ["2019/06", "85,867,928", "70,438,304", "6.8%", "21.9%", "459,702,912", "481,355,488", "-4.5%"],
|
74
|
+
# ["2019/05", "80,436,928", "80,968,736", "7.7%", "-0.6%", "373,835,008", "410,917,184", "-9%"],
|
75
|
+
# ]
|
76
|
+
```
|
@@ -1,9 +1,11 @@
|
|
1
1
|
require 'nokogiri'
|
2
2
|
require File.expand_path(File.dirname(__FILE__)) + '/fetch/dividend_policy'
|
3
|
+
require File.expand_path(File.dirname(__FILE__)) + '/fetch/financial_statements'
|
3
4
|
|
4
5
|
module Histock
|
5
6
|
module Fetch
|
6
7
|
include DividendPolicy
|
8
|
+
include FinancialStatements
|
7
9
|
|
8
10
|
private
|
9
11
|
|
@@ -20,14 +22,23 @@ module Histock
|
|
20
22
|
node = nodes.first
|
21
23
|
# => Nokogiri::XML::Element
|
22
24
|
|
23
|
-
|
25
|
+
parse_table(:query => query, :element => node)
|
26
|
+
end
|
27
|
+
|
28
|
+
def parse_table query:, element:
|
29
|
+
parse_tr(:query => query, :element => element)
|
30
|
+
end
|
24
31
|
|
25
|
-
|
32
|
+
# column
|
33
|
+
def parse_tr query:, element:
|
34
|
+
array = Array.new
|
35
|
+
|
36
|
+
element.children.each do |e|
|
26
37
|
next unless e.element?
|
27
38
|
|
28
39
|
case e.name
|
29
40
|
when 'tr'
|
30
|
-
value =
|
41
|
+
value = parse_th_td(:query => query, :element => e)
|
31
42
|
|
32
43
|
array.push value unless value.empty?
|
33
44
|
else
|
@@ -35,21 +46,34 @@ module Histock
|
|
35
46
|
end
|
36
47
|
end
|
37
48
|
|
49
|
+
case query
|
50
|
+
when :financial_statements
|
51
|
+
header = array.delete_at(0)
|
52
|
+
header.delete_at(-1)
|
53
|
+
header.delete_at(-1)
|
54
|
+
|
55
|
+
header.push array.delete_at(0)
|
56
|
+
header.flatten!
|
57
|
+
|
58
|
+
array.unshift(header)
|
59
|
+
end
|
60
|
+
|
38
61
|
array
|
39
62
|
end
|
40
63
|
|
41
|
-
|
42
|
-
|
64
|
+
# row
|
65
|
+
def parse_th_td query:, element:
|
66
|
+
array = Array.new
|
43
67
|
|
44
68
|
element.children.each do |e|
|
45
69
|
case e.name
|
46
|
-
when 'th' then
|
47
|
-
when 'td' then
|
48
|
-
else
|
70
|
+
when 'th' then array.push e.children.text.gsub(/\<br\>/, '')
|
71
|
+
when 'td' then array.push e.children.text
|
72
|
+
else raise TableFormatError
|
49
73
|
end
|
50
74
|
end
|
51
75
|
|
52
|
-
|
76
|
+
array
|
53
77
|
end
|
54
78
|
end
|
55
79
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: histock-simplefilter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yuya Sato
|
@@ -103,6 +103,7 @@ files:
|
|
103
103
|
- lib/histock/simplefilter/error.rb
|
104
104
|
- lib/histock/simplefilter/fetch.rb
|
105
105
|
- lib/histock/simplefilter/fetch/dividend_policy.rb
|
106
|
+
- lib/histock/simplefilter/fetch/financial_statements.rb
|
106
107
|
- lib/histock/simplefilter/version.rb
|
107
108
|
homepage: https://github.com/ysato5654/histock-simplefilter
|
108
109
|
licenses:
|
@@ -126,7 +127,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
126
127
|
- !ruby/object:Gem::Version
|
127
128
|
version: '0'
|
128
129
|
requirements: []
|
129
|
-
rubygems_version: 3.1.
|
130
|
+
rubygems_version: 3.1.3
|
130
131
|
signing_key:
|
131
132
|
specification_version: 4
|
132
133
|
summary: HiStock (https://histock.tw/) filter
|