neurostats-API 0.0.3__tar.gz

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.
@@ -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
+