neurostats-API 0.0.3__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,440 @@
1
+ Metadata-Version: 2.1
2
+ Name: neurostats_API
3
+ Version: 0.0.3
4
+ Summary: The service of NeuroStats website
5
+ Home-page: https://github.com/NeurowattStats/NeuroStats_API.git
6
+ Author: JasonWang@Neurowatt
7
+ Author-email: jason@neurowatt.ai
8
+ Requires-Python: >=3.6
9
+ Description-Content-Type: text/markdown
10
+
11
+ # neurostats_API
12
+
13
+ - [檔案架構](#檔案架構)
14
+ - [使用方法](#使用方法)
15
+ - [import](#import)
16
+ - [價值投資](#得到最新一期的評價資料與歷年評價)
17
+ - [財務分析-重要指標](#財務分析-重要指標)
18
+ - [月營收表](#回傳月營收表)
19
+ - [資產負債表](#資產負債表)
20
+ - [現金流量表](#現金流量表)
21
+
22
+ ## 檔案架構
23
+
24
+ ```
25
+ ./
26
+ ├── cli.py
27
+ ├── main.py
28
+ ├── README.md
29
+ ├── requirement.txt
30
+ ├── tw50_company_list.json
31
+ └── utils
32
+ ├── fetcher.py
33
+ ├── __init__.py
34
+ ```
35
+
36
+ `main.py`: 執行檔
37
+ `cli.py`: 命令輸入的檔案
38
+ `utils`: 存放fetcher
39
+ - `fetcher.py`: Service的主架構
40
+ `tw50_company_list.json`: tw50的公司列表
41
+
42
+ ## 使用方法
43
+
44
+ ### import
45
+ ```Python
46
+ from utils import statsFetcher
47
+ stats_fetcher = statsFetcher
48
+ ```
49
+
50
+ ### 得到最新一期的評價資料與歷年評價
51
+ ``` Python
52
+ ticker = 2330 # 換成tw50內任意ticker
53
+ stats_fetcher.get_value_sheet(ticker)
54
+ ```
55
+ #### 回傳(2330為例)
56
+ ```Python
57
+ {
58
+ "ticker": 股票代碼,
59
+ "company_name": 公司中文名稱,
60
+ "daily_data":{
61
+ ## 以下八個是iFa項目
62
+ "P_E": 本益比,
63
+ "P_B": 股價,
64
+ "P_FCF": 股價自由現金流比,
65
+ "P_S": 股價營收比,
66
+ "EV_EBIT: ,
67
+ "EV_EBITDA": ,
68
+ "EV_OPI": ,
69
+ "EV_S";
70
+ ## 以上八個是iFa項目
71
+ "close": 收盤價,
72
+ }
73
+
74
+ "yearly_data": pd.DataFrame (下表格為範例)
75
+ year P_E P_FCF P_B P_S EV_OPI EV_EBIT EV_EBITDA EV_S
76
+ 0 107 16.68 29.155555 3.71 11.369868 29.837201 28.798274 187.647704 11.107886
77
+ 1 108 26.06 67.269095 5.41 17.025721 50.145736 47.853790 302.526388 17.088863
78
+ 2 109 27.98 95.650723 7.69 22.055379 53.346615 51.653834 205.847232 22.481951
79
+ 3 110 27.83 149.512474 7.68 22.047422 55.398018 54.221387 257.091893 22.615355
80
+ 4 111 13.11 48.562021 4.25 11.524975 24.683850 24.226554 66.953260 12.129333
81
+ 5 112 17.17 216.371410 4.59 16.419533 40.017707 37.699267 105.980652 17.127656
82
+ 6 過去4季 NaN -24.929987 NaN 4.300817 83.102921 55.788996 -1073.037084 7.436656
83
+ }
84
+ ```
85
+ > 這裡有Nan是因為本益比與P/B等資料沒有爬到最新的時間
86
+
87
+ ### 回傳月營收表
88
+ ``` Python
89
+ ticker = 2330 # 換成tw50內任意ticker
90
+ stats_fetcher.get_month_revenue_sheet(ticker)
91
+ ```
92
+
93
+ #### 回傳
94
+ ```Python
95
+ {
96
+ "_id": 671b776dd834afbfbeb9adb3
97
+ "ticker": 2330
98
+ "company_name":台積電
99
+ "month_revenue":
100
+ 2014 2015 ... 2023 2024
101
+ 1 51,429,993 87,120,068 ... 200,050,544 215,785,127
102
+ 2 46,829,051 62,645,075 ... 163,174,097 181,648,270
103
+ ... ... ... ... ... ...
104
+ 12 69,510,190 58,347,005 ... 176,299,866 None
105
+ grand_total None 639,978,805 ... 1,536,206,985 2,025,846,521
106
+
107
+ "this_month_revenue_over_years":
108
+ 2015 2016 ... 2023 2024
109
+ revenue 64,514,083 89,702,807 ... 180,430,282 251,872,717
110
+ MoM None None ... None None
111
+ ... ... ... ... ... ...
112
+ YoY_5 None None ... None None
113
+ YoY_10 None None ... None None
114
+
115
+
116
+ "grand_total_over_years":
117
+ 2015 2016 ... 2023 2024
118
+ revenue 639,978,805 685,711,092 ... 1,536,206,985 2,025,846,521
119
+ MoM None None ... None None
120
+ ... ... ... ... ... ...
121
+ YoY_5 None None ... None None
122
+ YoY_10 None None ... None None
123
+
124
+
125
+ }
126
+ ```
127
+ - `'ticker'`: 股票代碼
128
+ - `'company_name'`: 公司名稱
129
+ - `'month_revenue'`: 歷年的月營收以及到今年最新月份累計的月營收表格
130
+ - `'this_month_revenue_over_years'`: 今年這個月的月營收與歷年同月份的營收比較
131
+ - `'grand_total_over_years'`: 累計至今年這個月的月營收與歷年的比較
132
+
133
+ > 大部分資料(成長率)缺失是因為尚未計算,僅先填上已經有的資料
134
+
135
+
136
+ ### 財務分析: 重要指標
137
+ 對應https://ifa.ai/tw-stock/2330/finance-overview
138
+ ```Python
139
+ from fetchers import FinanceOverviewFetcher
140
+ fetcher = FinanceOverviewFetcher(2330) # 參數內可換成其他股票代碼
141
+ fetcher.query_data()
142
+ ```
143
+
144
+ #### 回傳
145
+ 型態為Dict:
146
+ ```Python
147
+ {
148
+ ticker: str #股票代碼,
149
+ company_name: str #公司名稱,
150
+ seasonal_data: Dict # 回傳資料
151
+ }
152
+ ```
153
+
154
+ 以下為seasonal_data目前回傳的key的中英對應(中文皆參照iFa.ai)
155
+
156
+ markdown
157
+ 複製程式碼
158
+ | 英文 | 中文 |
159
+ |-----------------------------------|-----------------------------|
160
+ | revenue | 營業收入 |
161
+ | gross_profit | 營業毛利 |
162
+ | operating_income | 營業利益 |
163
+ | net_income | 淨利 |
164
+ | operating_cash_flow | 營業活動之現金流 |
165
+ | invest_cash_flow | 投資活動之淨現金流 |
166
+ | financing_cash_flow | 籌資活動之淨現金流 |
167
+ | revenue_per_share | 每股營收 |
168
+ | gross_per_share | 每股營業毛利 |
169
+ | operating_income_per_share | 每股營業利益 |
170
+ | eps | 每股盈餘(EPS) |
171
+ | operating_cash_flow_per_share | 每股營業現金流 |
172
+ | fcf_per_share | 每股自由現金流 |
173
+ | debt_to_operating_cash_flow | 每股有息負債 |
174
+ | equity | 每股淨值 |
175
+ | roa | 資產報酬率 |
176
+ | roe | 股東權益報酬率 |
177
+ | gross_over_asset | 營業毛利÷總資產 |
178
+ | roce | ROCE |
179
+ | gross_profit_margin | 營業毛利率 |
180
+ | operation_profit_rate | 營業利益率 |
181
+ | net_income_rate | 淨利率 |
182
+ | operating_cash_flow_profit_rate | 營業現金流利潤率 |
183
+ | revenue_YoY | 營收年成長率 |
184
+ | gross_prof_YoY | 營業毛利年成長率 |
185
+ | operating_income_YoY | 營業利益年成長率 |
186
+ | net_income_YoY | 淨利年成長率 |
187
+ | dso | 應收帳款收現天數 |
188
+ | account_receive_over_revenue | 應收帳款佔營收比率 |
189
+ | dio | 平均售貨天數 |
190
+ | inventories_revenue_ratio | 存貨佔營收比率 |
191
+ | dpo | 應付帳款付現日天數 |
192
+ | cash_of_conversion_cycle | 現金循環週期 |
193
+ | asset_turnover | 總資產週轉率 |
194
+ | applcation_turnover | 不動產、廠房及設備週轉率 |
195
+ | current_ratio | 流動比率 |
196
+ | quick_ratio | 速動比率 |
197
+ | debt_to_equity_ratio | 負債權益比率 |
198
+ | net_debt_to_equity_ratio | 淨負債權益比率 |
199
+ | interest_coverage_ratio | 利息保障倍數 |
200
+ | debt_to_operating_cash_flow | 有息負債÷營業活動現金流 |
201
+ | debt_to_free_cash_flow | 有息負債÷自由現金流 |
202
+ | cash_flow_ratio | 現金流量比率 |
203
+ | current_assets | 流動資產 |
204
+ | current_liabilities | 流動負債 |
205
+ | non_current_assets | 非流動資產 |
206
+ | non_current_liabilities| 非流動負債 |
207
+ | total_asset | 資產總額 |
208
+ | total_liabilities | 負債總額 |
209
+ | equity | 權益 |
210
+
211
+ #### 以下數值未在回傳資料中,待資料庫更新
212
+ |英文|中文|
213
+ |---|----|
214
+ | operating_cash_flow_YoY (not in list, inferred) | 營業現金流年成長率 |
215
+ | fcf_YoY (not in list, inferred) | 自由現金流年成長率 |
216
+ | operating_cash_flow_per_share_YoY (not in list, inferred) | 每股營業現金流年成長率 |
217
+ | fcf_per_share_YoY (not in list, inferred) | 每股自由現金流年成長率 |
218
+
219
+ ### 損益表
220
+ ```Python
221
+ ticker = 2330 # 換成tw50內任意ticker
222
+ stats_fetcher.get_profit_lose(ticker)
223
+ ```
224
+
225
+ #### 回傳
226
+ 因項目眾多,不列出詳細內容,僅列出目前會回傳的項目
227
+ ```Python
228
+ {
229
+ "ticker": "2330"
230
+ "company_name": "台積電"
231
+ # 以下皆為pd.DataFrame
232
+ "profit_lose": #損益表,
233
+ "grand_total_profit_lose": #今年度累計損益表,
234
+ # 營業收入
235
+ "revenue":
236
+ "grand_total_revenue":
237
+ # 毛利
238
+ "gross_profit":
239
+ "grand_total_gross_profit":
240
+ "gross_profit_percentage":
241
+ "grand_total_gross_profit_percentage"
242
+ # 營利
243
+ "operating_income":
244
+ "grand_total_operating_income":
245
+ "operating_income_percentage":
246
+ "grand_total_operating_income_percentage":
247
+ # 稅前淨利
248
+ "net_income_before_tax":
249
+ "grand_total_net_income_before_tax":
250
+ "net_income_before_tax_percentage":
251
+ "grand_total_net_income_before_tax_percentage":
252
+ # 本期淨利
253
+ "net_income":
254
+ "grand_total_net_income":
255
+ "net_income_percentage":
256
+ "grand_total_income_percentage":
257
+ # EPS
258
+ "EPS":
259
+ "EPS_growth":
260
+ "grand_total_EPS":
261
+ "grand_total_EPS_growth":
262
+ }
263
+ ```
264
+
265
+ ### 資產負債表
266
+ ``` Python
267
+ ticker = 2330 # 換成tw50內任意ticker
268
+ stats_fetcher.get_balance_sheet(ticker)
269
+ ```
270
+
271
+ #### 回傳
272
+ ```Python
273
+ {
274
+ "ticker": "2330"
275
+ "company_name": "台積電"
276
+ "balance_sheet":
277
+ 2018Q2_value 2018Q2_percentage ... 2024Q2_value 2024Q2_percentage
278
+ 流動資產 NaN NaN ... NaN NaN
279
+ 現金及約當現金 632229880.0 30.79 ... 1.799127e+09 30.07
280
+ ... ... ... ... ... ... ...
281
+ 按攤銷後成本衡量之金融資產-非流動 NaN NaN ... 8.868079e+07 1.48
282
+ 其他權益 NaN NaN ... NaN NaN
283
+
284
+ "total_asset":
285
+ 2018Q2_value 2018Q2_percentage ... 2024Q2_value 2024Q2_percentage
286
+ total_asset 2.053413e+09 100.00 ... 5.982364e+09 100.00
287
+ total_debt 5.627777e+08 27.41 ... 2.162216e+09 36.14
288
+ total_equity 1.490635e+09 72.59 ... 3.820148e+09 63.86
289
+
290
+ "current_asset":
291
+ 2018Q2_value 2018Q2_percentage ... 2024Q2_value 2024Q2_percentage
292
+ current_asset 959042679.0 46.7 ... 2.591658e+09 43.32
293
+
294
+ "non_current_asset":
295
+ 2018Q2_value 2018Q2_percentage ... 2024Q2_value 2024Q2_percentage
296
+ non_current_asset 1.094370e+09 53.3 ... 3.390706e+09 56.68
297
+
298
+ "current_debt":
299
+ 2018Q2_value 2018Q2_percentage ... 2024Q2_value 2024Q2_percentage
300
+ current_debt 1.094370e+09 53.3 ... 3.390706e+09 56.68
301
+
302
+ "non_current_debt":
303
+ 2018Q2_value 2018Q2_percentage ... 2024Q2_value 2024Q2_percentage
304
+ non_current_debt 1.094370e+09 53.3 ... 3.390706e+09 56.68
305
+
306
+ "equity":
307
+ 2018Q2_value 2018Q2_percentage ... 2024Q2_value 2024Q2_percentage
308
+ equity 1.094370e+09 53.3 ... 3.390706e+09 56.68
309
+
310
+ }
311
+ ```
312
+ - `'ticker'`: 股票代碼
313
+ - `'company_name'`: 公司名稱
314
+ - `'balance_sheet'`: 歷年當季資場負債表"全表"
315
+ - `'total_asset'`: 歷年當季資產總額
316
+ - `'current_asset'`: 歷年當季流動資產總額
317
+ - `'non_current_asset'`: 歷年當季非流動資產
318
+ - `'current_debt'`: 歷年當季流動負債
319
+ - `'non_current_debt'`: 歷年當季非流動負債
320
+ - `'equity'`: 歷年當季權益
321
+
322
+ ### 現金流量表
323
+ ``` Python
324
+ ticker = 2330 # 換成tw50內任意ticker
325
+ stats_fetcher.get_cash_flow(ticker)
326
+ ```
327
+ #### 回傳
328
+ ```Python
329
+ {
330
+ "ticker":2330
331
+ "company_name":台積電
332
+ "cash_flow":
333
+ 2018Q2_value 2018Q2_percentage ... 2024Q2_value \
334
+ 營業活動之現金流量-間接法 NaN NaN ... NaN
335
+ 繼續營業單位稅前淨利(淨損) 187531229.0 0.645548 ... 572853779.0
336
+ ... ... ... ... ...
337
+ 存出保證金增加 NaN NaN ... -122271.0
338
+ 收取之股利 NaN NaN ... 895503.0
339
+
340
+ 2024Q2_percentage
341
+ 營業活動之現金流量-間接法 NaN
342
+ 繼續營業單位稅前淨利(淨損) 0.703769
343
+ ... ...
344
+ 存出保證金增加 0.000755
345
+ 收取之股利 -0.005530
346
+
347
+ "CASHO":
348
+ 2018Q2_value 2018Q2_percentage ... 2024Q2_value \
349
+ 營業活動之現金流量-間接法 NaN NaN ... NaN
350
+ 繼續營業單位稅前淨利(淨損) 187531229.0 0.645548 ... 572853779.0
351
+ ... ... ... ... ...
352
+ 退還(支付)之所得稅 -31709079.0 -0.109154 ... -89154446.0
353
+ 營業活動之淨現金流入(流出) 290499278.0 1.000000 ... 813979318.0
354
+
355
+ 2024Q2_percentage
356
+ 營業活動之現金流量-間接法 NaN
357
+ 繼續營業單位稅前淨利(淨損) 0.703769
358
+ ... ...
359
+ 退還(支付)之所得稅 -0.109529
360
+ 營業活動之淨現金流入(流出) 1.000000
361
+
362
+ "CASHI":
363
+ 2018Q2_value 2018Q2_percentage ... 2024Q2_value \
364
+ 投資活動之現金流量 NaN NaN ... NaN
365
+ 取得透過其他綜合損益按公允價值衡量之金融資產 -47523622.0 0.355889 ... -43780180.0
366
+ ... ... ... ... ...
367
+ 其他投資活動 -149104.0 0.001117 ... 7956680.0
368
+ 投資活動之淨現金流入(流出) -133534789.0 1.000000 ... -357414321.0
369
+
370
+ 2024Q2_percentage
371
+ 投資活動之現金流量 NaN
372
+ 取得透過其他綜合損益按公允價值衡量之金融資產 0.122491
373
+ ... ...
374
+ 其他投資活動 -0.022262
375
+ 投資活動之淨現金流入(流出) 1.000000
376
+
377
+ "CASHF":
378
+ 2018Q2_value 2018Q2_percentage ... 2024Q2_value \
379
+ 籌資活動之現金流量 NaN NaN ... NaN
380
+ 短期借款減少 -33743725.0 0.387977 ... NaN
381
+ ... ... ... ... ...
382
+ 存出保證金增加 NaN NaN ... -122271.0
383
+ 收取之股利 NaN NaN ... 895503.0
384
+
385
+ 2024Q2_percentage
386
+ 籌資活動之現金流量 NaN
387
+ 短期借款減少 NaN
388
+ ... ...
389
+ 存出保證金增加 0.000755
390
+ 收取之股利 -0.005530
391
+
392
+ }
393
+ ```
394
+ - `'ticker'`: 股票代碼
395
+ - `'company_name'`: 公司名稱
396
+ - `'cash_flow'`: 歷年當季現金流量表"全表"
397
+ - `'CASHO'`: 歷年當季營運活動之現金流量
398
+ - `'CASHI'`: 歷年當季投資活動之現金流量
399
+ - `'CASHF'`: 歷年當季籌資活動之現金流量
400
+
401
+ > 大部分資料缺失是因為尚未計算,僅先填上已經有的資料
402
+
403
+ ## cli 範例輸入
404
+ ```
405
+ python ./cli.py --ticker 1101
406
+ ```
407
+
408
+ ### cli 輸出
409
+ ```Python
410
+ _id
411
+ ObjectId('67219e046104872ef7490cd3')
412
+ ticker
413
+ '1101'
414
+ company_name
415
+ '台泥'
416
+ yearly_data
417
+ year P_E P_FCF P_B P_S EV_OPI EV_EBIT EV_EBITDA EV_S
418
+ 0 107 9.78 66.346637 1.07 1.963814 16.061211 14.807325 32.858903 3.685025
419
+ 1 108 10.76 23.532308 1.35 3.296749 21.995948 19.877169 44.395187 5.338454
420
+ 2 109 10.29 -26.134468 1.32 4.282560 26.353871 23.417022 46.269197 6.908155
421
+ 3 110 14.08 22.345215 1.50 5.558267 42.034804 32.290621 77.139298 7.973839
422
+ 4 111 28.04 -63.248928 1.16 4.595606 -136332.740038 149.169022 -756.781156 7.324556
423
+ 5 112 29.53 -18.313377 1.15 5.301801 98.225453 65.598234 321.991608 8.582981
424
+ 6 過去4季 NaN -24.929987 NaN 4.300817 83.102921 55.788996 -1073.037084 7.436656
425
+ daily_data
426
+ { 'EV_EBIT': 55.78899626851681,
427
+ 'EV_EBITDA': -1073.037084015388,
428
+ 'EV_OPI': 83.10292101832388,
429
+ 'EV_S': 7.436656083243897,
430
+ 'P_B': None,
431
+ 'P_E': None,
432
+ 'P_FCF': -24.92998660989962,
433
+ 'P_S': 4.300817175744059,
434
+ 'close': 32.150001525878906,
435
+ }
436
+ ```
437
+ > 這裡有Nan是因為本益比與P/B等資料沒有爬到最新的時間
438
+
439
+ ## TODO
440
+