neurostats-API 0.0.11__tar.gz → 0.0.13__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {neurostats_API-0.0.11 → neurostats_API-0.0.13}/PKG-INFO +250 -5
- {neurostats_API-0.0.11 → neurostats_API-0.0.13}/README.md +249 -4
- neurostats_API-0.0.13/neurostats_API/__init__.py +1 -0
- {neurostats_API-0.0.11 → neurostats_API-0.0.13}/neurostats_API/fetchers/__init__.py +1 -0
- neurostats_API-0.0.13/neurostats_API/fetchers/institution.py +293 -0
- neurostats_API-0.0.13/neurostats_API/fetchers/margin_trading.py +279 -0
- {neurostats_API-0.0.11 → neurostats_API-0.0.13}/neurostats_API/fetchers/value_invest.py +72 -0
- {neurostats_API-0.0.11 → neurostats_API-0.0.13}/neurostats_API/utils/data_process.py +15 -0
- {neurostats_API-0.0.11 → neurostats_API-0.0.13}/neurostats_API.egg-info/PKG-INFO +250 -5
- {neurostats_API-0.0.11 → neurostats_API-0.0.13}/neurostats_API.egg-info/SOURCES.txt +1 -0
- {neurostats_API-0.0.11 → neurostats_API-0.0.13}/setup.py +1 -1
- {neurostats_API-0.0.11 → neurostats_API-0.0.13}/test/test_fetchers.py +22 -1
- neurostats_API-0.0.11/neurostats_API/__init__.py +0 -1
- neurostats_API-0.0.11/neurostats_API/fetchers/institution.py +0 -214
- {neurostats_API-0.0.11 → neurostats_API-0.0.13}/MANIFEST.in +0 -0
- {neurostats_API-0.0.11 → neurostats_API-0.0.13}/neurostats_API/cli.py +0 -0
- {neurostats_API-0.0.11 → neurostats_API-0.0.13}/neurostats_API/fetchers/balance_sheet.py +0 -0
- {neurostats_API-0.0.11 → neurostats_API-0.0.13}/neurostats_API/fetchers/base.py +0 -0
- {neurostats_API-0.0.11 → neurostats_API-0.0.13}/neurostats_API/fetchers/cash_flow.py +0 -0
- {neurostats_API-0.0.11 → neurostats_API-0.0.13}/neurostats_API/fetchers/finance_overview.py +0 -0
- {neurostats_API-0.0.11 → neurostats_API-0.0.13}/neurostats_API/fetchers/month_revenue.py +0 -0
- {neurostats_API-0.0.11 → neurostats_API-0.0.13}/neurostats_API/fetchers/profit_lose.py +0 -0
- {neurostats_API-0.0.11 → neurostats_API-0.0.13}/neurostats_API/fetchers/tech.py +0 -0
- {neurostats_API-0.0.11 → neurostats_API-0.0.13}/neurostats_API/main.py +0 -0
- {neurostats_API-0.0.11 → neurostats_API-0.0.13}/neurostats_API/tools/balance_sheet.yaml +0 -0
- {neurostats_API-0.0.11 → neurostats_API-0.0.13}/neurostats_API/tools/cash_flow_percentage.yaml +0 -0
- {neurostats_API-0.0.11 → neurostats_API-0.0.13}/neurostats_API/tools/finance_overview_dict.yaml +0 -0
- {neurostats_API-0.0.11 → neurostats_API-0.0.13}/neurostats_API/tools/profit_lose.yaml +0 -0
- {neurostats_API-0.0.11 → neurostats_API-0.0.13}/neurostats_API/tools/seasonal_data_field_dict.txt +0 -0
- {neurostats_API-0.0.11 → neurostats_API-0.0.13}/neurostats_API/utils/__init__.py +0 -0
- {neurostats_API-0.0.11 → neurostats_API-0.0.13}/neurostats_API/utils/datetime.py +0 -0
- {neurostats_API-0.0.11 → neurostats_API-0.0.13}/neurostats_API/utils/db_client.py +0 -0
- {neurostats_API-0.0.11 → neurostats_API-0.0.13}/neurostats_API/utils/fetcher.py +0 -0
- {neurostats_API-0.0.11 → neurostats_API-0.0.13}/neurostats_API.egg-info/dependency_links.txt +0 -0
- {neurostats_API-0.0.11 → neurostats_API-0.0.13}/neurostats_API.egg-info/top_level.txt +0 -0
- {neurostats_API-0.0.11 → neurostats_API-0.0.13}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: neurostats_API
|
3
|
-
Version: 0.0.
|
3
|
+
Version: 0.0.13
|
4
4
|
Summary: The service of NeuroStats website
|
5
5
|
Home-page: https://github.com/NeurowattStats/NeuroStats_API.git
|
6
6
|
Author: JasonWang@Neurowatt
|
@@ -14,11 +14,14 @@ Description-Content-Type: text/markdown
|
|
14
14
|
- [使用方法](#使用方法)
|
15
15
|
- [下載](#下載)
|
16
16
|
- [價值投資](#得到最新一期的評價資料與歷年評價)
|
17
|
+
- [歷史評價](#得到指定公司的歷來評價)
|
17
18
|
- [財務分析-重要指標](#財務分析-重要指標)
|
18
19
|
- [月營收表](#回傳月營收表)
|
19
20
|
- [損益表](#損益表)
|
20
21
|
- [資產負債表](#資產負債表)
|
21
22
|
- [現金流量表](#現金流量表)
|
23
|
+
- [法人交易](#法人交易)
|
24
|
+
- [資券餘額](#資券餘額)
|
22
25
|
- [版本紀錄](#版本紀錄)
|
23
26
|
|
24
27
|
|
@@ -80,7 +83,7 @@ pip install neurostats-API
|
|
80
83
|
```Python
|
81
84
|
>>> import neurostats_API
|
82
85
|
>>> print(neurostats_API.__version__)
|
83
|
-
0.0.
|
86
|
+
0.0.13
|
84
87
|
```
|
85
88
|
|
86
89
|
### 得到最新一期的評價資料與歷年評價
|
@@ -89,7 +92,8 @@ from neurostats_API.utils import ValueFetcher, DBClient
|
|
89
92
|
db_client = DBClient("<連接的DB位置>").get_client()
|
90
93
|
ticker = "2330" # 換成tw50內任意ticker
|
91
94
|
fetcher = ValueFetcher(ticker, db_client)
|
92
|
-
|
95
|
+
|
96
|
+
fetcher.query_data()
|
93
97
|
```
|
94
98
|
|
95
99
|
#### 回傳(2330為例)
|
@@ -124,6 +128,69 @@ data = stats_fetcher.query_data()
|
|
124
128
|
```
|
125
129
|
> 這裡有Nan是因為本益比與P/B等資料沒有爬到最新的時間
|
126
130
|
|
131
|
+
### 得到指定公司的歷來評價
|
132
|
+
``` Python
|
133
|
+
from neurostats_API.utils import ValueFetcher, DBClient
|
134
|
+
db_client = DBClient("<連接的DB位置>").get_client()
|
135
|
+
ticker = "2330" # 換成tw50內任意ticker
|
136
|
+
fetcher = ValueFetcher(ticker, db_client)
|
137
|
+
|
138
|
+
fetcher.query_value_serie()
|
139
|
+
```
|
140
|
+
#### 回傳(2330為例)
|
141
|
+
```Python
|
142
|
+
{
|
143
|
+
'EV_EBIT': EV_EBIT
|
144
|
+
2014-01-02 NaN
|
145
|
+
2014-01-03 NaN
|
146
|
+
... ...
|
147
|
+
2024-12-12 15.021431
|
148
|
+
2024-12-13 15.088321
|
149
|
+
,
|
150
|
+
'EV_OPI': EV_OPI
|
151
|
+
2014-01-03 NaN
|
152
|
+
... ...
|
153
|
+
2024-12-12 15.999880
|
154
|
+
2024-12-13 16.071128
|
155
|
+
,
|
156
|
+
'EV_S': EV_S
|
157
|
+
2014-01-02 NaN
|
158
|
+
2014-01-03 NaN
|
159
|
+
... ...
|
160
|
+
2024-12-12 6.945457
|
161
|
+
2024-12-13 6.976385
|
162
|
+
,
|
163
|
+
'P_B': P_B
|
164
|
+
2014-01-02 NaN
|
165
|
+
2014-01-03 NaN
|
166
|
+
... ...
|
167
|
+
2024-12-12 6.79
|
168
|
+
2024-12-13 6.89
|
169
|
+
,
|
170
|
+
'P_E': P_E
|
171
|
+
2014-01-02 NaN
|
172
|
+
2014-01-03 NaN
|
173
|
+
... ...
|
174
|
+
2024-12-12 26.13
|
175
|
+
2024-12-13 26.50
|
176
|
+
,
|
177
|
+
'P_FCF': P_FCF
|
178
|
+
2014-01-02 NaN
|
179
|
+
2014-01-03 NaN
|
180
|
+
... ...
|
181
|
+
2024-12-12 45.302108
|
182
|
+
2024-12-13 45.515797
|
183
|
+
,
|
184
|
+
'P_S': P_S
|
185
|
+
2014-01-02 NaN
|
186
|
+
2014-01-03 NaN
|
187
|
+
... ...
|
188
|
+
2024-12-12 6.556760
|
189
|
+
2024-12-13 6.587688
|
190
|
+
}
|
191
|
+
```
|
192
|
+
|
193
|
+
|
127
194
|
### 回傳月營收表
|
128
195
|
``` Python
|
129
196
|
from neurostats_API.fetchers import MonthRevenueFetcher, DBClient
|
@@ -324,7 +391,7 @@ db_client = DBClient("<連接的DB位置>").get_client()
|
|
324
391
|
ticker = "2330" # 換成tw50內任意ticker
|
325
392
|
fetcher = BalanceSheetFetcher(ticker, db_client)
|
326
393
|
|
327
|
-
|
394
|
+
fetcher.query_data()
|
328
395
|
```
|
329
396
|
|
330
397
|
#### 回傳
|
@@ -386,7 +453,7 @@ db_client = DBClient("<連接的DB位置>").get_client()
|
|
386
453
|
ticker = 2330 # 換成tw50內任意ticker
|
387
454
|
fetcher = StatsFetcher(ticker, db_client)
|
388
455
|
|
389
|
-
|
456
|
+
fetcher.query()
|
390
457
|
```
|
391
458
|
#### 回傳
|
392
459
|
```Python
|
@@ -435,8 +502,186 @@ stats_fetcher.query()
|
|
435
502
|
|
436
503
|
> 大部分資料缺失是因為尚未計算,僅先填上已經有的資料
|
437
504
|
|
505
|
+
## 籌碼面
|
506
|
+
### 法人交易
|
507
|
+
``` Python
|
508
|
+
from neurostats_API.fetchers import InstitutionFetcher
|
509
|
+
db_client = DBClient("<連接的DB位置>").get_client()
|
510
|
+
ticker = 2330 # 換成tw50內任意ticker
|
511
|
+
fetcher = StatsFetcher(ticker, db_client)
|
512
|
+
|
513
|
+
fetcher.query()
|
514
|
+
```
|
515
|
+
### 回傳
|
516
|
+
```Python
|
517
|
+
{ 'annual_trading':
|
518
|
+
close volume ... 自營商買賣超股數(避險) 三大法人買賣超股數
|
519
|
+
2024-12-02 1035.000000 31168404.0 ... -133215.0 11176252.0
|
520
|
+
2024-11-29 996.000000 40094983.0 ... 401044.0 -7880519.0
|
521
|
+
... ... ... ... ... ...
|
522
|
+
2023-12-05 559.731873 22229723.0 ... 33,400 -5,988,621
|
523
|
+
2023-12-04 563.659790 26847171.0 ... -135,991 -5,236,743
|
524
|
+
|
525
|
+
,
|
526
|
+
'latest_trading':
|
527
|
+
{ 'date': datetime.datetime(2024, 12, 2, 0, 0),
|
528
|
+
'table':
|
529
|
+
category variable ... over_buy_sell sell
|
530
|
+
0 foreign average_price ... 0.00 0.0
|
531
|
+
1 foreign percentage ... 0.00 0.0
|
532
|
+
.. ... ... ... ... ...
|
533
|
+
14 prop price ... 0.00 0.0
|
534
|
+
15 prop stock ... -133.22 217.2
|
535
|
+
}
|
536
|
+
,
|
537
|
+
'price':
|
538
|
+
{
|
539
|
+
'52weeks_range': '555.8038940429688-1100.0', # str
|
540
|
+
'close': 1035.0, # float
|
541
|
+
'last_close': 996.0, # float
|
542
|
+
'last_open': 995.0, # float
|
543
|
+
'last_range': '994.0-1010.0', # str
|
544
|
+
'last_volume': 40094.983, # float
|
545
|
+
'open': 1020.0, # float
|
546
|
+
'range': '1015.0-1040.0', # str
|
547
|
+
'volume': 32238.019 # float
|
548
|
+
}
|
549
|
+
}
|
550
|
+
```
|
551
|
+
|
552
|
+
- `annual_trading`: 對應一年內每日的交易量
|
553
|
+
- `latest_trading`: 對應當日交易
|
554
|
+
##### 欄位項目名稱
|
555
|
+
|英文|中文對應|
|
556
|
+
|----|-------|
|
557
|
+
|buy|買進|
|
558
|
+
|sell|賣出|
|
559
|
+
|over_buy_sell|買賣超|
|
560
|
+
|
561
|
+
##### category項目名稱
|
562
|
+
|英文|中文對應|
|
563
|
+
|----|-------|
|
564
|
+
|foreign|外資|
|
565
|
+
|prop|自營商|
|
566
|
+
|mutual|投信|
|
567
|
+
|institutional_investor|三大法人|
|
568
|
+
|
569
|
+
##### variable項目名稱
|
570
|
+
|英文|中文對應|
|
571
|
+
|----|-------|
|
572
|
+
|stock|股票張數|
|
573
|
+
|price|成交金額|
|
574
|
+
|average_price|均價|
|
575
|
+
|percetage|佔成交比重|
|
576
|
+
|
577
|
+
**成交金額以及均價因為資料沒有爬到而無法計算**
|
578
|
+
**仍然先將這項目加入,只是數值都會是0**
|
579
|
+
|
580
|
+
- `price`: 對應法人買賣頁面的今日與昨日交易價
|
581
|
+
請注意`range`, `last_range`, `52week_range`這三個項目型態為字串,其餘為float
|
582
|
+
|
583
|
+
##### 項目名稱
|
584
|
+
|英文|中文對應|
|
585
|
+
|----|-------|
|
586
|
+
|open|開盤價|
|
587
|
+
|close|收盤價|
|
588
|
+
|range|當日範圍|
|
589
|
+
|volume|成交張數|
|
590
|
+
|last_open|開盤價(昨)|
|
591
|
+
|last_close|收盤價(昨)|
|
592
|
+
|last_range|昨日範圍|
|
593
|
+
|last_volume|成交張數(昨)|
|
594
|
+
|52weeks_range|52週範圍|
|
595
|
+
|
596
|
+
## 資券餘額
|
597
|
+
對應iFa.ai -> 交易資訊 -> 資券變化
|
598
|
+
```Python
|
599
|
+
from neurostats_API.fetchers import MarginTradingFetcher
|
600
|
+
db_client = DBClient("<連接的DB位置>").get_client()
|
601
|
+
ticker = 2330 # 換成tw50內任意ticker
|
602
|
+
fetcher = MarginTradingFetcher(ticker, db_client)
|
603
|
+
|
604
|
+
fetcher.query()
|
605
|
+
```
|
606
|
+
|
607
|
+
### 回傳
|
608
|
+
```Python
|
609
|
+
{ 'annual_margin':
|
610
|
+
close volume ... 借券_次一營業日可限額 資券互抵
|
611
|
+
2024-12-03 1060.000000 29637.0 ... 12222.252 0.0
|
612
|
+
2024-12-02 1035.000000 31168.0 ... 12156.872 1.0
|
613
|
+
... ... ... ... ... ...
|
614
|
+
2023-12-05 559.731873 22230.0 ... 7838.665 1.0
|
615
|
+
2023-12-04 563.659790 26847.0 ... 7722.725 2.0
|
616
|
+
|
617
|
+
'latest_trading': {
|
618
|
+
'date': datetime.datetime(2024, 12, 3, 0, 0),
|
619
|
+
'margin_trading':
|
620
|
+
financing short_selling
|
621
|
+
買進 761.0 34.0
|
622
|
+
賣出 1979.0 44.0
|
623
|
+
... ... ...
|
624
|
+
次一營業日限額 6483183.0 6483183.0
|
625
|
+
現償 3.0 12.0
|
626
|
+
|
627
|
+
|
628
|
+
'security_offset': 0.0,
|
629
|
+
'stock_lending': stock_lending
|
630
|
+
當日賣出 10
|
631
|
+
當日還券 0
|
632
|
+
當日調整 0
|
633
|
+
當日餘額 14688
|
634
|
+
次一營業日可限額 12222
|
635
|
+
},
|
636
|
+
'price': { '52weeks_range': '555.8038940429688 - 1100.0',
|
637
|
+
'close': 1060.0,
|
638
|
+
'last_close': 1035.0,
|
639
|
+
'last_open': 1020.0,
|
640
|
+
'last_range': '1015.0 - 1040.0',
|
641
|
+
'last_volume': 31168.404,
|
642
|
+
'open': 1060.0,
|
643
|
+
'range': '1055.0 - 1065.0',
|
644
|
+
'volume': 29636.523}}
|
645
|
+
```
|
646
|
+
- `annual_trading`: 對應一年內每日的資券變化量
|
647
|
+
- `latest_trading`: 對應當日交易
|
648
|
+
##### 欄位項目名稱
|
649
|
+
|英文|中文對應|
|
650
|
+
|----|-------|
|
651
|
+
|financing|融資|
|
652
|
+
|short_selling|融券|
|
653
|
+
|
654
|
+
- `price`: 對應法人買賣頁面的今日與昨日交易價
|
655
|
+
##### 項目名稱
|
656
|
+
|英文|中文對應|
|
657
|
+
|----|-------|
|
658
|
+
|open|開盤價|
|
659
|
+
|close|收盤價|
|
660
|
+
|range|當日範圍|
|
661
|
+
|volume|成交張數|
|
662
|
+
|last_open|開盤價(昨)|
|
663
|
+
|last_close|收盤價(昨)|
|
664
|
+
|last_range|昨日範圍|
|
665
|
+
|last_volume|成交張數(昨)|
|
666
|
+
|52weeks_range|52週範圍|
|
667
|
+
|
668
|
+
請注意`range`, `last_range`, `52week_range`這三個項目型態為字串,其餘為float
|
438
669
|
|
439
670
|
## 版本紀錄
|
671
|
+
### 0.0.13
|
672
|
+
- value_fetcher 新增獲得一序列評價的功能
|
673
|
+
|
674
|
+
### 0.0.12
|
675
|
+
- 新增資券變化(margin trading)
|
676
|
+
|
677
|
+
- 修改法人買賣(institution_trading)的query方式
|
678
|
+
|
679
|
+
### 0.0.11
|
680
|
+
- 修復財務分析的千元計算問題
|
681
|
+
|
682
|
+
- 籌碼面新增法人買賣(institution_trading)
|
683
|
+
|
684
|
+
- 將財報三表與月營收的資料型態與數值做轉換(%轉字串, 千元乘以1000)
|
440
685
|
### 0.0.10
|
441
686
|
- 更新指標的資料型態: 單位為千元乘以1000之後回傳整數
|
442
687
|
|
@@ -4,11 +4,14 @@
|
|
4
4
|
- [使用方法](#使用方法)
|
5
5
|
- [下載](#下載)
|
6
6
|
- [價值投資](#得到最新一期的評價資料與歷年評價)
|
7
|
+
- [歷史評價](#得到指定公司的歷來評價)
|
7
8
|
- [財務分析-重要指標](#財務分析-重要指標)
|
8
9
|
- [月營收表](#回傳月營收表)
|
9
10
|
- [損益表](#損益表)
|
10
11
|
- [資產負債表](#資產負債表)
|
11
12
|
- [現金流量表](#現金流量表)
|
13
|
+
- [法人交易](#法人交易)
|
14
|
+
- [資券餘額](#資券餘額)
|
12
15
|
- [版本紀錄](#版本紀錄)
|
13
16
|
|
14
17
|
|
@@ -70,7 +73,7 @@ pip install neurostats-API
|
|
70
73
|
```Python
|
71
74
|
>>> import neurostats_API
|
72
75
|
>>> print(neurostats_API.__version__)
|
73
|
-
0.0.
|
76
|
+
0.0.13
|
74
77
|
```
|
75
78
|
|
76
79
|
### 得到最新一期的評價資料與歷年評價
|
@@ -79,7 +82,8 @@ from neurostats_API.utils import ValueFetcher, DBClient
|
|
79
82
|
db_client = DBClient("<連接的DB位置>").get_client()
|
80
83
|
ticker = "2330" # 換成tw50內任意ticker
|
81
84
|
fetcher = ValueFetcher(ticker, db_client)
|
82
|
-
|
85
|
+
|
86
|
+
fetcher.query_data()
|
83
87
|
```
|
84
88
|
|
85
89
|
#### 回傳(2330為例)
|
@@ -114,6 +118,69 @@ data = stats_fetcher.query_data()
|
|
114
118
|
```
|
115
119
|
> 這裡有Nan是因為本益比與P/B等資料沒有爬到最新的時間
|
116
120
|
|
121
|
+
### 得到指定公司的歷來評價
|
122
|
+
``` Python
|
123
|
+
from neurostats_API.utils import ValueFetcher, DBClient
|
124
|
+
db_client = DBClient("<連接的DB位置>").get_client()
|
125
|
+
ticker = "2330" # 換成tw50內任意ticker
|
126
|
+
fetcher = ValueFetcher(ticker, db_client)
|
127
|
+
|
128
|
+
fetcher.query_value_serie()
|
129
|
+
```
|
130
|
+
#### 回傳(2330為例)
|
131
|
+
```Python
|
132
|
+
{
|
133
|
+
'EV_EBIT': EV_EBIT
|
134
|
+
2014-01-02 NaN
|
135
|
+
2014-01-03 NaN
|
136
|
+
... ...
|
137
|
+
2024-12-12 15.021431
|
138
|
+
2024-12-13 15.088321
|
139
|
+
,
|
140
|
+
'EV_OPI': EV_OPI
|
141
|
+
2014-01-03 NaN
|
142
|
+
... ...
|
143
|
+
2024-12-12 15.999880
|
144
|
+
2024-12-13 16.071128
|
145
|
+
,
|
146
|
+
'EV_S': EV_S
|
147
|
+
2014-01-02 NaN
|
148
|
+
2014-01-03 NaN
|
149
|
+
... ...
|
150
|
+
2024-12-12 6.945457
|
151
|
+
2024-12-13 6.976385
|
152
|
+
,
|
153
|
+
'P_B': P_B
|
154
|
+
2014-01-02 NaN
|
155
|
+
2014-01-03 NaN
|
156
|
+
... ...
|
157
|
+
2024-12-12 6.79
|
158
|
+
2024-12-13 6.89
|
159
|
+
,
|
160
|
+
'P_E': P_E
|
161
|
+
2014-01-02 NaN
|
162
|
+
2014-01-03 NaN
|
163
|
+
... ...
|
164
|
+
2024-12-12 26.13
|
165
|
+
2024-12-13 26.50
|
166
|
+
,
|
167
|
+
'P_FCF': P_FCF
|
168
|
+
2014-01-02 NaN
|
169
|
+
2014-01-03 NaN
|
170
|
+
... ...
|
171
|
+
2024-12-12 45.302108
|
172
|
+
2024-12-13 45.515797
|
173
|
+
,
|
174
|
+
'P_S': P_S
|
175
|
+
2014-01-02 NaN
|
176
|
+
2014-01-03 NaN
|
177
|
+
... ...
|
178
|
+
2024-12-12 6.556760
|
179
|
+
2024-12-13 6.587688
|
180
|
+
}
|
181
|
+
```
|
182
|
+
|
183
|
+
|
117
184
|
### 回傳月營收表
|
118
185
|
``` Python
|
119
186
|
from neurostats_API.fetchers import MonthRevenueFetcher, DBClient
|
@@ -314,7 +381,7 @@ db_client = DBClient("<連接的DB位置>").get_client()
|
|
314
381
|
ticker = "2330" # 換成tw50內任意ticker
|
315
382
|
fetcher = BalanceSheetFetcher(ticker, db_client)
|
316
383
|
|
317
|
-
|
384
|
+
fetcher.query_data()
|
318
385
|
```
|
319
386
|
|
320
387
|
#### 回傳
|
@@ -376,7 +443,7 @@ db_client = DBClient("<連接的DB位置>").get_client()
|
|
376
443
|
ticker = 2330 # 換成tw50內任意ticker
|
377
444
|
fetcher = StatsFetcher(ticker, db_client)
|
378
445
|
|
379
|
-
|
446
|
+
fetcher.query()
|
380
447
|
```
|
381
448
|
#### 回傳
|
382
449
|
```Python
|
@@ -425,8 +492,186 @@ stats_fetcher.query()
|
|
425
492
|
|
426
493
|
> 大部分資料缺失是因為尚未計算,僅先填上已經有的資料
|
427
494
|
|
495
|
+
## 籌碼面
|
496
|
+
### 法人交易
|
497
|
+
``` Python
|
498
|
+
from neurostats_API.fetchers import InstitutionFetcher
|
499
|
+
db_client = DBClient("<連接的DB位置>").get_client()
|
500
|
+
ticker = 2330 # 換成tw50內任意ticker
|
501
|
+
fetcher = StatsFetcher(ticker, db_client)
|
502
|
+
|
503
|
+
fetcher.query()
|
504
|
+
```
|
505
|
+
### 回傳
|
506
|
+
```Python
|
507
|
+
{ 'annual_trading':
|
508
|
+
close volume ... 自營商買賣超股數(避險) 三大法人買賣超股數
|
509
|
+
2024-12-02 1035.000000 31168404.0 ... -133215.0 11176252.0
|
510
|
+
2024-11-29 996.000000 40094983.0 ... 401044.0 -7880519.0
|
511
|
+
... ... ... ... ... ...
|
512
|
+
2023-12-05 559.731873 22229723.0 ... 33,400 -5,988,621
|
513
|
+
2023-12-04 563.659790 26847171.0 ... -135,991 -5,236,743
|
514
|
+
|
515
|
+
,
|
516
|
+
'latest_trading':
|
517
|
+
{ 'date': datetime.datetime(2024, 12, 2, 0, 0),
|
518
|
+
'table':
|
519
|
+
category variable ... over_buy_sell sell
|
520
|
+
0 foreign average_price ... 0.00 0.0
|
521
|
+
1 foreign percentage ... 0.00 0.0
|
522
|
+
.. ... ... ... ... ...
|
523
|
+
14 prop price ... 0.00 0.0
|
524
|
+
15 prop stock ... -133.22 217.2
|
525
|
+
}
|
526
|
+
,
|
527
|
+
'price':
|
528
|
+
{
|
529
|
+
'52weeks_range': '555.8038940429688-1100.0', # str
|
530
|
+
'close': 1035.0, # float
|
531
|
+
'last_close': 996.0, # float
|
532
|
+
'last_open': 995.0, # float
|
533
|
+
'last_range': '994.0-1010.0', # str
|
534
|
+
'last_volume': 40094.983, # float
|
535
|
+
'open': 1020.0, # float
|
536
|
+
'range': '1015.0-1040.0', # str
|
537
|
+
'volume': 32238.019 # float
|
538
|
+
}
|
539
|
+
}
|
540
|
+
```
|
541
|
+
|
542
|
+
- `annual_trading`: 對應一年內每日的交易量
|
543
|
+
- `latest_trading`: 對應當日交易
|
544
|
+
##### 欄位項目名稱
|
545
|
+
|英文|中文對應|
|
546
|
+
|----|-------|
|
547
|
+
|buy|買進|
|
548
|
+
|sell|賣出|
|
549
|
+
|over_buy_sell|買賣超|
|
550
|
+
|
551
|
+
##### category項目名稱
|
552
|
+
|英文|中文對應|
|
553
|
+
|----|-------|
|
554
|
+
|foreign|外資|
|
555
|
+
|prop|自營商|
|
556
|
+
|mutual|投信|
|
557
|
+
|institutional_investor|三大法人|
|
558
|
+
|
559
|
+
##### variable項目名稱
|
560
|
+
|英文|中文對應|
|
561
|
+
|----|-------|
|
562
|
+
|stock|股票張數|
|
563
|
+
|price|成交金額|
|
564
|
+
|average_price|均價|
|
565
|
+
|percetage|佔成交比重|
|
566
|
+
|
567
|
+
**成交金額以及均價因為資料沒有爬到而無法計算**
|
568
|
+
**仍然先將這項目加入,只是數值都會是0**
|
569
|
+
|
570
|
+
- `price`: 對應法人買賣頁面的今日與昨日交易價
|
571
|
+
請注意`range`, `last_range`, `52week_range`這三個項目型態為字串,其餘為float
|
572
|
+
|
573
|
+
##### 項目名稱
|
574
|
+
|英文|中文對應|
|
575
|
+
|----|-------|
|
576
|
+
|open|開盤價|
|
577
|
+
|close|收盤價|
|
578
|
+
|range|當日範圍|
|
579
|
+
|volume|成交張數|
|
580
|
+
|last_open|開盤價(昨)|
|
581
|
+
|last_close|收盤價(昨)|
|
582
|
+
|last_range|昨日範圍|
|
583
|
+
|last_volume|成交張數(昨)|
|
584
|
+
|52weeks_range|52週範圍|
|
585
|
+
|
586
|
+
## 資券餘額
|
587
|
+
對應iFa.ai -> 交易資訊 -> 資券變化
|
588
|
+
```Python
|
589
|
+
from neurostats_API.fetchers import MarginTradingFetcher
|
590
|
+
db_client = DBClient("<連接的DB位置>").get_client()
|
591
|
+
ticker = 2330 # 換成tw50內任意ticker
|
592
|
+
fetcher = MarginTradingFetcher(ticker, db_client)
|
593
|
+
|
594
|
+
fetcher.query()
|
595
|
+
```
|
596
|
+
|
597
|
+
### 回傳
|
598
|
+
```Python
|
599
|
+
{ 'annual_margin':
|
600
|
+
close volume ... 借券_次一營業日可限額 資券互抵
|
601
|
+
2024-12-03 1060.000000 29637.0 ... 12222.252 0.0
|
602
|
+
2024-12-02 1035.000000 31168.0 ... 12156.872 1.0
|
603
|
+
... ... ... ... ... ...
|
604
|
+
2023-12-05 559.731873 22230.0 ... 7838.665 1.0
|
605
|
+
2023-12-04 563.659790 26847.0 ... 7722.725 2.0
|
606
|
+
|
607
|
+
'latest_trading': {
|
608
|
+
'date': datetime.datetime(2024, 12, 3, 0, 0),
|
609
|
+
'margin_trading':
|
610
|
+
financing short_selling
|
611
|
+
買進 761.0 34.0
|
612
|
+
賣出 1979.0 44.0
|
613
|
+
... ... ...
|
614
|
+
次一營業日限額 6483183.0 6483183.0
|
615
|
+
現償 3.0 12.0
|
616
|
+
|
617
|
+
|
618
|
+
'security_offset': 0.0,
|
619
|
+
'stock_lending': stock_lending
|
620
|
+
當日賣出 10
|
621
|
+
當日還券 0
|
622
|
+
當日調整 0
|
623
|
+
當日餘額 14688
|
624
|
+
次一營業日可限額 12222
|
625
|
+
},
|
626
|
+
'price': { '52weeks_range': '555.8038940429688 - 1100.0',
|
627
|
+
'close': 1060.0,
|
628
|
+
'last_close': 1035.0,
|
629
|
+
'last_open': 1020.0,
|
630
|
+
'last_range': '1015.0 - 1040.0',
|
631
|
+
'last_volume': 31168.404,
|
632
|
+
'open': 1060.0,
|
633
|
+
'range': '1055.0 - 1065.0',
|
634
|
+
'volume': 29636.523}}
|
635
|
+
```
|
636
|
+
- `annual_trading`: 對應一年內每日的資券變化量
|
637
|
+
- `latest_trading`: 對應當日交易
|
638
|
+
##### 欄位項目名稱
|
639
|
+
|英文|中文對應|
|
640
|
+
|----|-------|
|
641
|
+
|financing|融資|
|
642
|
+
|short_selling|融券|
|
643
|
+
|
644
|
+
- `price`: 對應法人買賣頁面的今日與昨日交易價
|
645
|
+
##### 項目名稱
|
646
|
+
|英文|中文對應|
|
647
|
+
|----|-------|
|
648
|
+
|open|開盤價|
|
649
|
+
|close|收盤價|
|
650
|
+
|range|當日範圍|
|
651
|
+
|volume|成交張數|
|
652
|
+
|last_open|開盤價(昨)|
|
653
|
+
|last_close|收盤價(昨)|
|
654
|
+
|last_range|昨日範圍|
|
655
|
+
|last_volume|成交張數(昨)|
|
656
|
+
|52weeks_range|52週範圍|
|
657
|
+
|
658
|
+
請注意`range`, `last_range`, `52week_range`這三個項目型態為字串,其餘為float
|
428
659
|
|
429
660
|
## 版本紀錄
|
661
|
+
### 0.0.13
|
662
|
+
- value_fetcher 新增獲得一序列評價的功能
|
663
|
+
|
664
|
+
### 0.0.12
|
665
|
+
- 新增資券變化(margin trading)
|
666
|
+
|
667
|
+
- 修改法人買賣(institution_trading)的query方式
|
668
|
+
|
669
|
+
### 0.0.11
|
670
|
+
- 修復財務分析的千元計算問題
|
671
|
+
|
672
|
+
- 籌碼面新增法人買賣(institution_trading)
|
673
|
+
|
674
|
+
- 將財報三表與月營收的資料型態與數值做轉換(%轉字串, 千元乘以1000)
|
430
675
|
### 0.0.10
|
431
676
|
- 更新指標的資料型態: 單位為千元乘以1000之後回傳整數
|
432
677
|
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__='0.0.13'
|
@@ -3,6 +3,7 @@ from .balance_sheet import BalanceSheetFetcher
|
|
3
3
|
from .cash_flow import CashFlowFetcher
|
4
4
|
from .finance_overview import FinanceOverviewFetcher
|
5
5
|
from .institution import InstitutionFetcher
|
6
|
+
from .margin_trading import MarginTradingFetcher
|
6
7
|
from .month_revenue import MonthRevenueFetcher
|
7
8
|
from .profit_lose import ProfitLoseFetcher
|
8
9
|
from .value_invest import ValueFetcher
|