thinh-vu / vnstock

A powerful Python library for getting rich data from the Vietnam Stock Market using just a few lines of code
https://vnstocks.com
Other
499 stars 130 forks source link

Lỗi khi lấy dữ liệu lịch sử của `HNXINDEX` từ `TCBS` bằng `Wrapper Class` #128

Closed anhtuan23 closed 2 months ago

anhtuan23 commented 2 months ago

Mô tả lỗi Khi lấy dữ liệu lịch sửa của HNXINDEX từ TCBS, Wrapper Class báo lỗi, trong khi nếu dùng trực tiếp qua Core Engine thì thành công.

Cách tái hiện lại lỗi để xử lý

  1. Dùng Wrapper Class Các bước để tái hiện sự cố:
    
    from vnstock3 import Vnstock

Vnstock().stock(symbol="HNXINDEX", source="TCBS").quote.history( start="2024-02-21", end="2024-06-07", interval="1D" )


Báo lỗi

ValueError Traceback (most recent call last) Cell In[23], line 3 1 from vnstock3 import Vnstock ----> 3 Vnstock().stock(symbol=\"HNXINDEX\", source=\"TCBS\").quote.history( 4 start=\"2024-02-21\", end=\"2024-06-07\", interval=\"1D\" 5 )

File ~/projects/ai/pred_stock_proj/pred_stock/.venv/lib/python3.12/site-packages/vnstock3/common/vnstock.py:30, in Vnstock.stock(self, symbol, source) 28 else: 29 self.symbol = symbol ---> 30 return StockComponents(self.symbol, source)

File ~/projects/ai/pred_stock_proj/pred_stock/.venv/lib/python3.12/site-packages/vnstock3/common/data/data_explorer.py:20, in StockComponents.init(self, symbol, source) 18 if self.source not in self.SUPPORTED_SOURCES: 19 raise ValueError(f\"Hiện tại chỉ có nguồn dữ liệu từ {', '.join(self.SUPPORTED_SOURCES)} được hỗ trợ.\") ---> 20 self._initialize_components()

File ~/projects/ai/pred_stock_proj/pred_stock/.venv/lib/python3.12/site-packages/vnstock3/common/data/data_explorer.py:33, in StockComponents._initialize_components(self) 31 self.listing = Listing(source='VCI') 32 self.trading = Trading(self.symbol, source=self.source) ---> 33 self.company = Company(self.symbol, source=self.source) 34 if get_asset_type(self.symbol) == \"stock\": 35 self.finance = Finance(self.symbol, source=self.source)

File ~/projects/ai/pred_stock_proj/pred_stock/.venv/lib/python3.12/site-packages/vnstock3/common/data/data_explorer.py:252, in Company.init(self, symbol, source) 250 raise ValueError(\"Hiện tại chỉ có nguồn dữ liệu từ TCBS được hỗ trợ.\") 251 self.source_module = f\"vnstock3.explorer.{source.lower()}\" --> 252 self.data_source = self._load_data_source()

File ~/projects/ai/pred_stock_proj/pred_stock/.venv/lib/python3.12/site-packages/vnstock3/common/data/data_explorer.py:259, in Company._load_data_source(self) 255 \"\"\" 256 Điều hướng lớp (class) nguồn dữ liệu được lựa chọn. 257 \"\"\" 258 module = importlib.import_module(self.source_module) --> 259 return module.Company(self.symbol)

File ~/projects/ai/pred_stock_proj/pred_stock/.venv/lib/python3.12/site-packages/vnstock3/explorer/tcbs/company.py:27, in Company.init(self, symbol, random_agent, to_df, show_log) 25 # if asset_type is not stock, raise error 26 if self.asset_type not in ['stock']: ---> 27 raise ValueError(\"Mã chứng khoán không hợp lệ. Chỉ cổ phiếu mới có thông tin.\") 28 self.base_url = _BASE_URL 29 self.headers = get_headers(data_source='TCBS', random_agent=random_agent)

ValueError: Mã chứng khoán không hợp lệ. Chỉ cổ phiếu mới có thông tin.


2. Dùng `Core Engine`
```Python
from vnstock3.explorer import tcbs

tcbs.quote.Quote(symbol="HNXINDEX").history(
    start="2024-02-21", end="2024-06-07", interval="1D"
)

Không báo lỗi.

thinh-vu commented 2 months ago

Cám ơn @anhtuan23 đã báo lỗi, mình sẽ kiểm tra và tổng hợp các lỗi hiện có để sửa lỗi trong phiên bản gần nhất.

thinh-vu commented 2 months ago

Lỗi này đã được sửa trong phiên bản mới nhất 0.3.0.5. Bạn cập nhật lên phiên bản mới nhé, lịch sử thay đổi tại đây