Skip to content

Fundamental Statement Status

Overview

Collect the status on fundamental statement.

TODO

  • Design the status component, example: WAITING, FAILED, COMPONENT

  • Detail handle on source

  • Related parse language on Vietnamse and English

SAD - System architechture design

Logical flow

flowchart LR

  %% Component
  source[Source]
  parse_element[Parse structured metadata]
  %% Flow
  source --> parse_element --> annoate_status --> partition_download --> internal_bucket

Step 1: Define source element

Source can come from:

  • From the exchange

  • From the approved channel

Example on Vietcombank (for Bank)

Step 2: Parse structure metadata

Included:

  • Type of statement: This is different on type of fundamental category

Bank: INCOME_STAEMENT, FREQUENCY_REPORT, NOTICE, GENERAL_MEETING

  • Statement form: QUARTERLY, YEARLY

  • Time of period

Step 3: Download partition

Syntax local:

RAW/VCB/2023///

-> Storage:

EXTRACT/VCB/2023///

Script flow

# for <tick> in <RANGE: tickers>:
#     for loop ịn <RANGE: years>
#          for loop <TYPE: INCOME_STAEMENT, FREQUENCY_REPORT, NOTICE, GENERAL_MEETING>
#              for loop <PERIOD: Q12023 Q22023 Y>
#                    <Download> ... File ---> Local stage

[2] Download technique

https://filesystem-spec.readthedocs.io/en/latest/

[3] [Optional] Extract text from financial

Report metadata

For in FILES -> Count totals file for specific filer:

Question: For ticker có total: báo cáo trong year

Source Reference

https://docs.python.org/3/library/urllib.request.html

https://pypdf2.readthedocs.io/en/3.0.0/

https://www.vietcombank.com.vn/vi-VN/Nha-dau-tu/Chi-tiet-nha-dau-tu#investmentdocumentchip=K%E1%BA%BFt%20qu%E1%BA%A3%20Kinh%20doanh%20Qu%C3%BD&investmentdocumentyear=N%C4%83m%202023&investmentdocumentmenu=Qu%C3%BD%201