neurostats-API 1.0.0rc5__tar.gz → 1.0.0rc6__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.
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/PKG-INFO +2 -2
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/README.md +1 -1
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/fetchers/__init__.py +1 -1
- neurostats_api-1.0.0rc6/neurostats_API/async_mode/fetchers/tej/__init__.py +2 -0
- neurostats_api-1.0.0rc5/neurostats_API/async_mode/fetchers/tej.py → neurostats_api-1.0.0rc6/neurostats_API/async_mode/fetchers/tej/seasonal_data.py +1 -1
- neurostats_api-1.0.0rc6/neurostats_API/async_mode/fetchers/tej/tech.py +34 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/month_revenue/twse.py +7 -7
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API.egg-info/PKG-INFO +2 -2
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API.egg-info/SOURCES.txt +3 -1
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/setup.py +1 -1
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/test/test_async_fetcher.py +1 -1
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/MANIFEST.in +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/__init__.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/__init__.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db/__init__.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db/base.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db/tej.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db/twse.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db/us.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/__init__.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/base.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/daily/__init__.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/daily/base.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/daily/tej_chip.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/daily/tej_tech.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/daily/twse_chip.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/daily/value.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/daily/yf.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/month_revenue/__init__.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/month_revenue/base.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/month_revenue/twse.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/seasonal/__init__.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/seasonal/balance_sheet.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/seasonal/base.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/seasonal/cashflow.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/seasonal/profit_lose.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/seasonal/tej.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/factory/__init__.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/factory/extractor_factory.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/factory/transformer_factory.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/fetchers/balance_sheet.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/fetchers/base.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/fetchers/cash_flow.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/fetchers/finance_overview.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/fetchers/month_revenue.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/fetchers/profit_lose.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/fetchers/tech.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/fetchers/twse_institution.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/fetchers/twse_margin.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/fetchers/value.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/cli.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/config/company_list/ticker_index_industry_map.json +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/config/company_list/tw.json +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/config/company_list/us.json +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/config/company_list/us_TradingView_list.json +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/config/tej_db/tej_db_index.yaml +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/config/tej_db/tej_db_percent_index.yaml +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/config/tej_db/tej_db_skip_index.yaml +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/config/tej_db/tej_db_thousand_index.yaml +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/config/twse/balance_sheet.yaml +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/config/twse/cash_flow_percentage.yaml +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/config/twse/finance_overview_dict.yaml +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/config/twse/profit_lose.yaml +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/config/twse/seasonal_data_field_dict.txt +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/fetchers/__init__.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/fetchers/balance_sheet.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/fetchers/base.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/fetchers/cash_flow.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/fetchers/finance_overview.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/fetchers/institution.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/fetchers/margin_trading.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/fetchers/month_revenue.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/fetchers/profit_lose.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/fetchers/tech.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/fetchers/tej_finance_report.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/fetchers/value_invest.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/main.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/__init__.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/balance_sheet/__init__.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/balance_sheet/base.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/balance_sheet/twse.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/balance_sheet/us.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/base.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/cash_flow/__init__.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/cash_flow/base.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/cash_flow/twse.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/cash_flow/us.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/daily_chip/__init__.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/daily_chip/base.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/daily_chip/tej.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/daily_chip/twse_chip.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/daily_chip/utils/__init__.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/daily_chip/utils/institution.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/daily_chip/utils/margin_trading.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/daily_chip/utils/security_lending.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/daily_tech/__init__.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/daily_tech/base.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/daily_tech/tech.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/daily_tech/utils/__init__.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/daily_tech/utils/processor.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/finance_overview/__init__.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/finance_overview/agent_overview.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/finance_overview/base.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/finance_overview/stats_overview.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/month_revenue/__init__.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/month_revenue/base.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/profit_lose/__init__.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/profit_lose/base.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/profit_lose/twse.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/profit_lose/us.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/tej/__init__.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/tej/base.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/tej/finance_statement.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/value/__init__.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/value/base.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/value/tej.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/value/twse.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/utils/__init__.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/utils/calculate_value.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/utils/data_process.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/utils/datetime.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/utils/db_client.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/utils/exception.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/utils/logger.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API.egg-info/dependency_links.txt +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API.egg-info/requires.txt +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API.egg-info/top_level.txt +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/setup.cfg +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/test/test_fetchers.py +0 -0
- {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/test/test_tej.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: neurostats_API
|
3
|
-
Version: 1.0.
|
3
|
+
Version: 1.0.0rc6
|
4
4
|
Summary: The service of NeuroStats website
|
5
5
|
Home-page: https://github.com/NeurowattStats/NeuroStats_API.git
|
6
6
|
Author: JasonWang@Neurowatt
|
@@ -71,7 +71,7 @@ pip install neurostats-API
|
|
71
71
|
```Python
|
72
72
|
>>> import neurostats_API
|
73
73
|
>>> print(neurostats_API.__version__)
|
74
|
-
1.0.
|
74
|
+
1.0.0rc6
|
75
75
|
```
|
76
76
|
|
77
77
|
### 下載舊版
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/fetchers/__init__.py
RENAMED
@@ -7,4 +7,4 @@ from .twse_margin import AsyncTWSEMarginFetcher
|
|
7
7
|
from .month_revenue import AsyncMonthlyRevenueFetcher
|
8
8
|
from .profit_lose import AsyncProfitLoseFetcher
|
9
9
|
from .value import AsyncTWSEStatsValueFetcher
|
10
|
-
from .tej import AsyncTEJSeasonalFetcher
|
10
|
+
from .tej import AsyncTEJDailyTechFetcher, AsyncTEJSeasonalFetcher
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import pandas as pd
|
2
|
+
from neurostats_API.async_mode.fetchers.base import AsyncBaseFetcher
|
3
|
+
from neurostats_API.async_mode.factory import get_extractor
|
4
|
+
from neurostats_API.utils import NotSupportedError
|
5
|
+
|
6
|
+
class AsyncTEJDailyTechFetcher(AsyncBaseFetcher):
|
7
|
+
|
8
|
+
def __init__(
|
9
|
+
self,
|
10
|
+
ticker,
|
11
|
+
client,
|
12
|
+
):
|
13
|
+
self.ticker = ticker
|
14
|
+
try:
|
15
|
+
self.extractor = get_extractor("TEJ_tech", ticker, client)
|
16
|
+
|
17
|
+
self.company_name = self.extractor.get_company_name()
|
18
|
+
self.zone = self.extractor.get_zone()
|
19
|
+
|
20
|
+
except NotSupportedError as e:
|
21
|
+
raise NotSupportedError(
|
22
|
+
f"{self.__class__.__name__} only support TW companies now, {ticker} is not available"
|
23
|
+
) from e
|
24
|
+
|
25
|
+
async def query_data(self, start_date, end_date):
|
26
|
+
data = await self.extractor.query_data(start_date, end_date)
|
27
|
+
df = pd.DataFrame(data)
|
28
|
+
return df.rename(columns={
|
29
|
+
"open_d": "open",
|
30
|
+
"high_d": "high",
|
31
|
+
"low_d": "low",
|
32
|
+
"close_d": "close",
|
33
|
+
"vol": "volume"
|
34
|
+
})
|
@@ -68,11 +68,11 @@ class TWSEMonthlyRevenueTransformer(BaseMonthRevenueTransformer):
|
|
68
68
|
return return_dict
|
69
69
|
|
70
70
|
def _get_recent_growth(self, monthly_data, grand_total_dict, interval=12):
|
71
|
-
last_month_data = monthly_data[
|
71
|
+
last_month_data = monthly_data[-(interval + 1): ] + [{}] * max(0, interval - len(monthly_data) + 1)
|
72
72
|
|
73
73
|
MoMs = [
|
74
74
|
YoY_Calculator.cal_growth(this.get('revenue'), last.get('revenue'), delta = 1)
|
75
|
-
for
|
75
|
+
for last, this in zip(last_month_data[:interval], last_month_data[1 :interval + 1])
|
76
76
|
]
|
77
77
|
|
78
78
|
def safe_accum_yoy(data):
|
@@ -85,15 +85,15 @@ class TWSEMonthlyRevenueTransformer(BaseMonthRevenueTransformer):
|
|
85
85
|
return None
|
86
86
|
|
87
87
|
recent_month_data = {
|
88
|
-
"date": [f"{d.get('year', 0)}/{d.get('month', 0)}" for d in
|
89
|
-
"revenue": [d.get('revenue') for d in
|
88
|
+
"date": [f"{d.get('year', 0)}/{d.get('month', 0)}" for d in last_month_data[:interval]],
|
89
|
+
"revenue": [d.get('revenue') for d in last_month_data[:interval]],
|
90
90
|
"MoM": [f"{(m * 100):.2f}%" if isinstance(m, float) else None for m in MoMs],
|
91
|
-
"YoY": [d.get('revenue_increment_ratio') for d in
|
92
|
-
"total_YoY": [d.get('grand_total_increment_ratio') for d in
|
91
|
+
"YoY": [d.get('revenue_increment_ratio') for d in last_month_data[:interval]],
|
92
|
+
"total_YoY": [d.get('grand_total_increment_ratio') for d in last_month_data[:interval]],
|
93
93
|
# accum_YoY
|
94
94
|
# accum_YoY 為 Davis提出的定義
|
95
95
|
# 2024/6的累計YoY(accum_YoY) 為 2024累計到6月為止的總營收/2023年度總營收
|
96
|
-
"accum_YoY": [safe_accum_yoy(d) for d in
|
96
|
+
"accum_YoY": [safe_accum_yoy(d) for d in last_month_data[:interval]]
|
97
97
|
}
|
98
98
|
|
99
99
|
df = pd.DataFrame(recent_month_data)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: neurostats_API
|
3
|
-
Version: 1.0.
|
3
|
+
Version: 1.0.0rc6
|
4
4
|
Summary: The service of NeuroStats website
|
5
5
|
Home-page: https://github.com/NeurowattStats/NeuroStats_API.git
|
6
6
|
Author: JasonWang@Neurowatt
|
@@ -71,7 +71,7 @@ pip install neurostats-API
|
|
71
71
|
```Python
|
72
72
|
>>> import neurostats_API
|
73
73
|
>>> print(neurostats_API.__version__)
|
74
|
-
1.0.
|
74
|
+
1.0.0rc6
|
75
75
|
```
|
76
76
|
|
77
77
|
### 下載舊版
|
@@ -44,10 +44,12 @@ neurostats_API/async_mode/fetchers/finance_overview.py
|
|
44
44
|
neurostats_API/async_mode/fetchers/month_revenue.py
|
45
45
|
neurostats_API/async_mode/fetchers/profit_lose.py
|
46
46
|
neurostats_API/async_mode/fetchers/tech.py
|
47
|
-
neurostats_API/async_mode/fetchers/tej.py
|
48
47
|
neurostats_API/async_mode/fetchers/twse_institution.py
|
49
48
|
neurostats_API/async_mode/fetchers/twse_margin.py
|
50
49
|
neurostats_API/async_mode/fetchers/value.py
|
50
|
+
neurostats_API/async_mode/fetchers/tej/__init__.py
|
51
|
+
neurostats_API/async_mode/fetchers/tej/seasonal_data.py
|
52
|
+
neurostats_API/async_mode/fetchers/tej/tech.py
|
51
53
|
neurostats_API/config/company_list/ticker_index_industry_map.json
|
52
54
|
neurostats_API/config/company_list/tw.json
|
53
55
|
neurostats_API/config/company_list/us.json
|
@@ -103,7 +103,7 @@ async def test_tech():
|
|
103
103
|
|
104
104
|
test_fns = [
|
105
105
|
fetcher.get_daily, fetcher.get_weekly, fetcher.get_monthly,
|
106
|
-
fetcher.get_quarterly, fetcher.get_yearly
|
106
|
+
fetcher.get_quarterly, fetcher.get_yearly, fetcher.get_tej
|
107
107
|
]
|
108
108
|
|
109
109
|
for fetch_fn in test_fns:
|
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/base.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/factory/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/fetchers/base.py
RENAMED
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/fetchers/cash_flow.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/fetchers/tech.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/fetchers/value.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/config/company_list/tw.json
RENAMED
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/config/company_list/us.json
RENAMED
File without changes
|
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/config/tej_db/tej_db_index.yaml
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/config/twse/balance_sheet.yaml
RENAMED
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/config/twse/profit_lose.yaml
RENAMED
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/fetchers/balance_sheet.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/fetchers/finance_overview.py
RENAMED
File without changes
|
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/fetchers/margin_trading.py
RENAMED
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/fetchers/month_revenue.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/fetchers/tej_finance_report.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/balance_sheet/us.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/cash_flow/base.py
RENAMED
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/cash_flow/twse.py
RENAMED
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/cash_flow/us.py
RENAMED
File without changes
|
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/daily_chip/base.py
RENAMED
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/daily_chip/tej.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/daily_tech/base.py
RENAMED
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/daily_tech/tech.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/profit_lose/base.py
RENAMED
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/profit_lose/twse.py
RENAMED
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/profit_lose/us.py
RENAMED
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/tej/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/value/__init__.py
RENAMED
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/value/base.py
RENAMED
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/value/tej.py
RENAMED
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/value/twse.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API.egg-info/dependency_links.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|