diff --git a/.gitattributes b/.gitattributes
index fb0d51224f5f45eb23fa6ed992fdbdbdc1effac6..a6344aac8c09253b3b630fb776ae94478aa0275b 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,28 +1,35 @@
-vn-stock-analysis-app/static/images/stock_candle.png filter=lfs diff=lfs merge=lfs -text
-vn-stock-analysis-app/static/images/vnindex_candle.png filter=lfs diff=lfs merge=lfs -text
-vn-stock-analysis-app/static/images/vnindex_money.png filter=lfs diff=lfs merge=lfs -text
-vn-stock-analysis-app/ta-lib-0.4.0-src.tar.gz filter=lfs diff=lfs merge=lfs -text
-vn-stock-analysis-app/ta-lib/bin filter=lfs diff=lfs merge=lfs -text
-vn-stock-analysis-app/ta-lib/src/.libs/libta_lib.a filter=lfs diff=lfs merge=lfs -text
-vn-stock-analysis-app/ta-lib/src/.libs/libta_lib.so.0.0.0 filter=lfs diff=lfs merge=lfs -text
-vn-stock-analysis-app/ta-lib/src/ta_abstract/.libs/libta_abstract_gc_la-ta_frame.o filter=lfs diff=lfs merge=lfs -text
-vn-stock-analysis-app/ta-lib/src/ta_abstract/.libs/libta_abstract_gc_la-ta_func_api.o filter=lfs diff=lfs merge=lfs -text
-vn-stock-analysis-app/ta-lib/src/ta_abstract/.libs/libta_abstract_gc_la-table_c.o filter=lfs diff=lfs merge=lfs -text
-vn-stock-analysis-app/ta-lib/src/ta_abstract/.libs/libta_abstract_gc.a filter=lfs diff=lfs merge=lfs -text
-vn-stock-analysis-app/ta-lib/src/ta_abstract/.libs/libta_abstract_la-ta_frame.o filter=lfs diff=lfs merge=lfs -text
-vn-stock-analysis-app/ta-lib/src/ta_abstract/.libs/libta_abstract_la-ta_func_api.o filter=lfs diff=lfs merge=lfs -text
-vn-stock-analysis-app/ta-lib/src/ta_abstract/.libs/libta_abstract_la-table_c.o filter=lfs diff=lfs merge=lfs -text
-vn-stock-analysis-app/ta-lib/src/ta_abstract/.libs/libta_abstract.a filter=lfs diff=lfs merge=lfs -text
-vn-stock-analysis-app/ta-lib/src/ta_abstract/libta_abstract_gc_la-ta_frame.o filter=lfs diff=lfs merge=lfs -text
-vn-stock-analysis-app/ta-lib/src/ta_abstract/libta_abstract_gc_la-ta_func_api.o filter=lfs diff=lfs merge=lfs -text
-vn-stock-analysis-app/ta-lib/src/ta_abstract/libta_abstract_gc_la-table_c.o filter=lfs diff=lfs merge=lfs -text
-vn-stock-analysis-app/ta-lib/src/ta_abstract/libta_abstract_la-ta_frame.o filter=lfs diff=lfs merge=lfs -text
-vn-stock-analysis-app/ta-lib/src/ta_abstract/libta_abstract_la-ta_func_api.o filter=lfs diff=lfs merge=lfs -text
-vn-stock-analysis-app/ta-lib/src/ta_abstract/libta_abstract_la-table_c.o filter=lfs diff=lfs merge=lfs -text
-vn-stock-analysis-app/ta-lib/src/ta_func/.libs/libta_func.a filter=lfs diff=lfs merge=lfs -text
-vn-stock-analysis-app/ta-lib/src/tools/gen_code/gen_code filter=lfs diff=lfs merge=lfs -text
-vn-stock-analysis-app/ta-lib/src/tools/gen_code/gen_code-gen_code.o filter=lfs diff=lfs merge=lfs -text
-vn-stock-analysis-app/ta-lib/src/tools/gen_code/mcpp.exe filter=lfs diff=lfs merge=lfs -text
-vn-stock-analysis-app/ta-lib/src/tools/ta_regtest/.libs/ta_regtest filter=lfs diff=lfs merge=lfs -text
-vn-stock-analysis-app/ta-lib/src/tools/ta_regtest/ta_regtest-test_data.o filter=lfs diff=lfs merge=lfs -text
-vn-stock-analysis-app/ta-lib/src/tools/ta_regtest/ta_regtest-test_util.o filter=lfs diff=lfs merge=lfs -text
+*.7z filter=lfs diff=lfs merge=lfs -text
+*.arrow filter=lfs diff=lfs merge=lfs -text
+*.bin filter=lfs diff=lfs merge=lfs -text
+*.bz2 filter=lfs diff=lfs merge=lfs -text
+*.ckpt filter=lfs diff=lfs merge=lfs -text
+*.ftz filter=lfs diff=lfs merge=lfs -text
+*.gz filter=lfs diff=lfs merge=lfs -text
+*.h5 filter=lfs diff=lfs merge=lfs -text
+*.joblib filter=lfs diff=lfs merge=lfs -text
+*.lfs.* filter=lfs diff=lfs merge=lfs -text
+*.mlmodel filter=lfs diff=lfs merge=lfs -text
+*.model filter=lfs diff=lfs merge=lfs -text
+*.msgpack filter=lfs diff=lfs merge=lfs -text
+*.npy filter=lfs diff=lfs merge=lfs -text
+*.npz filter=lfs diff=lfs merge=lfs -text
+*.onnx filter=lfs diff=lfs merge=lfs -text
+*.ot filter=lfs diff=lfs merge=lfs -text
+*.parquet filter=lfs diff=lfs merge=lfs -text
+*.pb filter=lfs diff=lfs merge=lfs -text
+*.pickle filter=lfs diff=lfs merge=lfs -text
+*.pkl filter=lfs diff=lfs merge=lfs -text
+*.pt filter=lfs diff=lfs merge=lfs -text
+*.pth filter=lfs diff=lfs merge=lfs -text
+*.rar filter=lfs diff=lfs merge=lfs -text
+*.safetensors filter=lfs diff=lfs merge=lfs -text
+saved_model/**/* filter=lfs diff=lfs merge=lfs -text
+*.tar.* filter=lfs diff=lfs merge=lfs -text
+*.tar filter=lfs diff=lfs merge=lfs -text
+*.tflite filter=lfs diff=lfs merge=lfs -text
+*.tgz filter=lfs diff=lfs merge=lfs -text
+*.wasm filter=lfs diff=lfs merge=lfs -text
+*.xz filter=lfs diff=lfs merge=lfs -text
+*.zip filter=lfs diff=lfs merge=lfs -text
+*.zst filter=lfs diff=lfs merge=lfs -text
+*tfevents* filter=lfs diff=lfs merge=lfs -text
diff --git a/.github/workflows/dongbotoihuggingface.yml b/.github/workflows/dongbotoihuggingface.yml
deleted file mode 100644
index 2db41e0da59e4dd3933c8807240d92a851288421..0000000000000000000000000000000000000000
--- a/.github/workflows/dongbotoihuggingface.yml
+++ /dev/null
@@ -1,50 +0,0 @@
-name: Sync to Hugging Face Hub
-
-on:
- push:
- branches: [ codespace-crispy-fishstick-g4g6pw9rg4v2w97 ]
- workflow_dispatch:
-
-jobs:
- sync-to-hub:
- runs-on: ubuntu-latest
-
- steps:
- # 1. Checkout code & LFS
- - name: Checkout code with Git LFS
- uses: actions/checkout@v3
- with:
- fetch-depth: 0
- lfs: true
-
- # 2. Remove venv để tránh push file lớn
- - name: Remove virtual environment folder
- run: |
- git rm -r --cached venv || echo "venv not tracked"
- echo "venv/" >> .gitignore
- git add .gitignore
- git commit -m "Remove venv before deploy" || echo "Nothing to commit"
-
- # 3. Dọn sạch workspace để tránh lỗi uncommitted changes
- - name: Clean workspace
- run: |
- git reset --hard
- git clean -fd
-
- # 4. Thiết lập Git LFS và remote HF
- - name: Setup Git LFS & add HF remote
- env:
- GIT_LFS_SKIP_SMUDGE: 1
- run: |
- git lfs install
- git config user.name "github-actions"
- git config user.email "actions@github.com"
- # Thêm remote hf với token
- git remote add hf https://danghungithp:${{ secrets.HF_TOKEN }}@huggingface.co/spaces/danghungithp/vsa
-
- # 5. Push force từ branch codespace-… lên main của HF
- - name: Force-push to Hugging Face Space
- env:
- GIT_LFS_SKIP_SMUDGE: 1
- run: |
- git push hf codespace-crispy-fishstick-g4g6pw9rg4v2w97:main --force
diff --git a/.github/workflows/sync_to_hf.yml b/.github/workflows/sync_to_hf.yml
deleted file mode 100644
index 8ec844624cb9eb1ed6131f3e5e29f345a9d0b6f2..0000000000000000000000000000000000000000
--- a/.github/workflows/sync_to_hf.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-name: Sync to Hugging Face Hub
-
-on:
- push:
- branches: [main]
- workflow_dispatch:
-
-jobs:
- sync-to-hub:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
- with:
- fetch-depth: 0
- lfs: true
- - name: Push to HF
- env:
- HF_TOKEN: ${{ secrets.HF_TOKEN }}
- run: git push -f https://danghungithp:$HF_TOKEN@huggingface.co/spaces/danghungithp/vsa main
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index c300fa88af46d8ca70f2933d6075ed49e6500614..0000000000000000000000000000000000000000
--- a/.gitignore
+++ /dev/null
@@ -1,15 +0,0 @@
-# IDE / Editor specific
-.vscode/
-.idea/
-
-# OS generated files
-.DS_Store
-Thumbs.db
-
-# Log files
-*.log
-nohup.out
-
-# Data files
-*.csv
-*.json
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
deleted file mode 100644
index 022f793d6c41fcdccf5f63e8f8c3bf26b40f024e..0000000000000000000000000000000000000000
--- a/.vscode/extensions.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "recommendations": [
- "saoudrizwan.claude-dev"
- ]
-}
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
deleted file mode 100644
index e4944083acb7205edca0439f9b1970a68b3e1c9e..0000000000000000000000000000000000000000
--- a/Dockerfile
+++ /dev/null
@@ -1,40 +0,0 @@
-# Use an official Python runtime as a parent image
-FROM python:3.9-slim
-
-# Set the working directory in the container
-WORKDIR /app
-
-# Install system dependencies required for TA-Lib and other packages
-RUN apt-get update && apt-get install -y \
- build-essential \
- wget \
- unzip \
- && rm -rf /var/lib/apt/lists/*
-
-# Download and install TA-Lib
-RUN wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz && \
- tar -xzf ta-lib-0.4.0-src.tar.gz && \
- cd ta-lib/ && \
- ./configure --prefix=/usr && \
- make && \
- make install && \
- cd .. && \
- rm -rf ta-lib ta-lib-0.4.0-src.tar.gz
-
-# Copy the requirements file into the container
-COPY requirements.txt .
-
-# Install any needed packages specified in requirements.txt
-RUN pip install --no-cache-dir -r requirements.txt
-
-# Copy the rest of the application's code into the container
-COPY . .
-
-# Make port 8000 available to the world outside this container
-EXPOSE 8000
-
-# Define environment variable
-ENV NAME World
-
-# Run app.py when the container launches
-CMD ["gunicorn", "--bind", "0.0.0.0:8000", "app:app"]
diff --git a/README.md b/README.md
index aee6dc2cd643cebbcd5ae2cee019e06dc6f07410..2362b2f53bd51bfbb073908718660f6afeae1626 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,14 @@
---
-title: VN Stock Analysis
-emoji: 📈
-colorFrom: blue
-colorTo: green
-sdk: docker
-app_port: 8000
+title: Vsa
+emoji: 🦀
+colorFrom: gray
+colorTo: pink
+sdk: gradio
+sdk_version: 5.35.0
+app_file: app.py
+pinned: false
+license: apache-2.0
+short_description: vn stock analysis
---
+
+Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
diff --git a/requirements.txt b/requirements.txt
deleted file mode 100644
index b4424572cf9b11ad0218a19ac6be8856958a7ee7..0000000000000000000000000000000000000000
--- a/requirements.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-Flask
-vnstock
-pandas
-numpy
-requests
-matplotlib
-pandas-ta
-scipy
-mplfinance
-numpy-financial
-flask-cors
-google-generativeai
-groq
-beautifulsoup4
-feedparser
-newspaper3k
-gunicorn
-huggingface-hub
diff --git a/static/images/vnindex_vsa.png b/static/images/vnindex_vsa.png
deleted file mode 100644
index be34ed6b3b1850d52d109593ac97be9026f94b98..0000000000000000000000000000000000000000
Binary files a/static/images/vnindex_vsa.png and /dev/null differ
diff --git a/stock-vsa-analyzer/README.md b/stock-vsa-analyzer/README.md
deleted file mode 100644
index 222182627bdac58aca34d9c9d187ef29bd859868..0000000000000000000000000000000000000000
--- a/stock-vsa-analyzer/README.md
+++ /dev/null
@@ -1,57 +0,0 @@
-# Stock VSA Analyzer
-
-## Overview
-The Stock VSA Analyzer is a web application designed to analyze stock price movements using Volume Spread Analysis (VSA) techniques. It provides users with tools to visualize price and volume data, calculate key indicators such as Price Volume (PV) and Money Flow Index (MFI), and identify potential trading opportunities through breakout detection.
-
-## Features
-- **Price and Volume Charts**: Visualize stock price movements alongside volume data.
-- **Indicators**: Calculate and display PV and MFI indicators to assist in analysis.
-- **Screener**: Filter stocks based on user-defined criteria using PV, MFI, and breakout detection.
-- **User Controls**: Set entry points, stop-loss, and take-profit levels for trades.
-
-## Project Structure
-```
-stock-vsa-analyzer
-├── public
-│ ├── index.html # Main HTML document
-│ └── styles.css # Styles for the application
-├── src
-│ ├── app.js # Application initialization and event handling
-│ ├── chart.js # Chart rendering logic
-│ ├── indicators
-│ │ ├── pv.js # Price Volume indicator calculations
-│ │ ├── mfi.js # Money Flow Index calculations
-│ │ └── vsa.js # Volume Spread Analysis techniques
-│ ├── utils
-│ │ └── screener.js # Stock screener logic
-│ └── config.js # Configuration settings
-├── package.json # npm configuration file
-└── README.md # Project documentation
-```
-
-## Installation
-1. Clone the repository:
- ```
- git clone https://github.com/yourusername/stock-vsa-analyzer.git
- ```
-2. Navigate to the project directory:
- ```
- cd stock-vsa-analyzer
- ```
-3. Install the dependencies:
- ```
- npm install
- ```
-
-## Usage
-1. Start the application:
- ```
- npm start
- ```
-2. Open your web browser and navigate to `http://localhost:3000` to access the application.
-
-## Contributing
-Contributions are welcome! Please feel free to submit a pull request or open an issue for any enhancements or bug fixes.
-
-## License
-This project is licensed under the MIT License. See the LICENSE file for details.
\ No newline at end of file
diff --git a/stock-vsa-analyzer/package.json b/stock-vsa-analyzer/package.json
deleted file mode 100644
index 1af11bcbb71daa6da4fb4698ae0e6dcbaff7df24..0000000000000000000000000000000000000000
--- a/stock-vsa-analyzer/package.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "name": "stock-vsa-analyzer",
- "version": "1.0.0",
- "description": "A web application for analyzing stock price and volume using Volume Spread Analysis (VSA) techniques.",
- "main": "src/app.js",
- "scripts": {
- "start": "live-server public",
- "build": "webpack --mode production",
- "dev": "webpack --mode development"
- },
- "dependencies": {
- "chart.js": "^3.7.0",
- "plotly.js": "^2.5.1",
- "live-server": "^1.2.1"
- },
- "devDependencies": {
- "webpack": "^5.64.0",
- "webpack-cli": "^4.9.1",
- "babel-loader": "^8.2.3",
- "babel-core": "^7.0.0",
- "babel-preset-env": "^1.7.0"
- },
- "keywords": [
- "stock",
- "analysis",
- "vsa",
- "volume",
- "price",
- "charting"
- ],
- "author": "Your Name",
- "license": "MIT"
-}
\ No newline at end of file
diff --git a/stock-vsa-analyzer/public/index.html b/stock-vsa-analyzer/public/index.html
deleted file mode 100644
index 1a567cf4c1485b77cd8853d6248a8f981cb83c8a..0000000000000000000000000000000000000000
--- a/stock-vsa-analyzer/public/index.html
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
-
-
- Phân tích dòng tiền cổ phiếu VSA
-
-
-
-
-
Phân tích dòng tiền cổ phiếu theo VSA
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Money Flow Index (MFI): Chỉ số dòng tiền. Đường ngang ở mức 50 là ngưỡng trung bình. MFI trên 50 cho thấy áp lực mua, dưới 50 cho thấy áp lực bán.
-
Price Volume (PV): Tích số giá và khối lượng. Đường ngang ở mức 0 là ngưỡng trung bình. PV trên 0 cho thấy dòng tiền vào, dưới 0 cho thấy dòng tiền ra.
-
-
-
-
Nhập mã cổ phiếu, điểm vào, dừng lỗ và chốt lời để phân tích.
-
-
-
-
-
diff --git a/stock-vsa-analyzer/public/styles.css b/stock-vsa-analyzer/public/styles.css
deleted file mode 100644
index c3dc1ec455c0ad82d6ec04c512f0547b366f1117..0000000000000000000000000000000000000000
--- a/stock-vsa-analyzer/public/styles.css
+++ /dev/null
@@ -1,62 +0,0 @@
-body {
- font-family: Arial, sans-serif;
- background-color: #f4f4f4;
- margin: 0;
- padding: 20px;
-}
-
-h1 {
- text-align: center;
- color: #333;
-}
-
-.chart-container {
- width: 100%;
- max-width: 800px;
- margin: 0 auto;
-}
-
-.controls {
- display: flex;
- justify-content: space-between;
- margin-bottom: 20px;
-}
-
-.control-group {
- display: flex;
- flex-direction: column;
-}
-
-label {
- margin-bottom: 5px;
- font-weight: bold;
-}
-
-input[type="number"], input[type="text"] {
- padding: 10px;
- border: 1px solid #ccc;
- border-radius: 4px;
-}
-
-button {
- padding: 10px 15px;
- background-color: #28a745;
- color: white;
- border: none;
- border-radius: 4px;
- cursor: pointer;
-}
-
-button:hover {
- background-color: #218838;
-}
-
-.error {
- color: red;
- font-size: 0.9em;
-}
-
-.success {
- color: green;
- font-size: 0.9em;
-}
\ No newline at end of file
diff --git a/stock-vsa-analyzer/src/app.js b/stock-vsa-analyzer/src/app.js
deleted file mode 100644
index 8a55c1fa64e4cef679d8feb395c3f0fff76eee3a..0000000000000000000000000000000000000000
--- a/stock-vsa-analyzer/src/app.js
+++ /dev/null
@@ -1,58 +0,0 @@
-import * as chart from './chart.js';
-import { calculatePV } from './indicators/pv.js';
-import { calculateMFI } from './indicators/mfi.js';
-import { analyzeVSA } from './indicators/vsa.js';
-
-let stockData = [];
-let entryPoint = 0;
-let stopLoss = 0;
-let takeProfit = 0;
-
-document.getElementById('analyze-button').addEventListener('click', () => {
- const stockSymbol = document.getElementById('stock-symbol').value;
- fetchStockData(stockSymbol);
-});
-
-document.getElementById('set-points-button').addEventListener('click', () => {
- entryPoint = parseFloat(document.getElementById('entry-point').value);
- stopLoss = parseFloat(document.getElementById('stop-loss').value);
- takeProfit = parseFloat(document.getElementById('take-profit').value);
- updateTradePoints();
-});
-
-async function fetchStockData(symbol) {
- try {
- const response = await fetch(`http://localhost:5000/api/stock_data?symbol=${symbol}`);
- const data = await response.json();
- if (!Array.isArray(data) || data.length === 0) {
- alert('Không có dữ liệu cho mã cổ phiếu này!');
- return;
- }
- processStockData(data);
- } catch (error) {
- alert('Lỗi khi lấy dữ liệu từ server: ' + error);
- }
-}
-
-function processStockData(data) {
- // Chuẩn hóa dữ liệu cho các hàm chỉ báo
- const priceArr = data.map(d => d.price);
- const volumeArr = data.map(d => d.volume);
- const pv = calculatePV(priceArr, volumeArr);
- const mfi = calculateMFI(data, volumeArr);
- const vsaAnalysis = analyzeVSA(priceArr, volumeArr);
-
- // Vẽ biểu đồ
- chart.renderPriceVolumeChart({labels: priceArr.map((_,i)=>i+1), values: priceArr}, {labels: volumeArr.map((_,i)=>i+1), values: volumeArr});
- chart.renderPVChart({labels: pv.map((_,i)=>i+1), values: pv});
- chart.renderMFIChart({labels: mfi.map((_,i)=>i+1), values: mfi});
- displayAnalysisResults(vsaAnalysis);
-}
-
-function updateTradePoints() {
- document.getElementById('trade-points').innerText = `Điểm vào: ${entryPoint}, Dừng lỗ: ${stopLoss}, Chốt lời: ${takeProfit}`;
-}
-
-function displayAnalysisResults(analysis) {
- document.getElementById('analysis-results').innerText = JSON.stringify(analysis, null, 2);
-}
\ No newline at end of file
diff --git a/stock-vsa-analyzer/src/chart.js b/stock-vsa-analyzer/src/chart.js
deleted file mode 100644
index 80e17432337e01bc7100ec9e99142d869ec3a6e4..0000000000000000000000000000000000000000
--- a/stock-vsa-analyzer/src/chart.js
+++ /dev/null
@@ -1,129 +0,0 @@
-const ctx = document.getElementById('stockChart').getContext('2d');
-const volumeCtx = document.getElementById('volumeChart').getContext('2d');
-const pvCtx = document.getElementById('pvChart').getContext('2d');
-const mfiCtx = document.getElementById('mfiChart').getContext('2d');
-
-function renderPriceVolumeChart(priceData, volumeData) {
- const priceChart = new Chart(ctx, {
- type: 'line',
- data: {
- labels: priceData.labels,
- datasets: [{
- label: 'Price',
- data: priceData.values,
- borderColor: 'rgba(75, 192, 192, 1)',
- borderWidth: 2,
- fill: false
- }]
- },
- options: {
- responsive: true,
- scales: {
- y: {
- beginAtZero: false
- }
- }
- }
- });
-
- const volumeChart = new Chart(volumeCtx, {
- type: 'bar',
- data: {
- labels: volumeData.labels,
- datasets: [{
- label: 'Volume',
- data: volumeData.values,
- backgroundColor: 'rgba(153, 102, 255, 0.5)',
- borderColor: 'rgba(153, 102, 255, 1)',
- borderWidth: 1
- }]
- },
- options: {
- responsive: true,
- scales: {
- y: {
- beginAtZero: true
- }
- }
- }
- });
-}
-function renderPVChart(pvData) {
- const pvChart = new Chart(pvCtx, {
- type: 'line',
- data: {
- labels: pvData.labels,
- datasets: [{
- label: 'Price Volume (PV)',
- data: pvData.values,
- borderColor: 'rgba(255, 99, 132, 1)',
- borderWidth: 2,
- fill: false
- }]
- },
- options: {
- responsive: true,
- scales: {
- y: {
- beginAtZero: false
- }
- }
- }
- });
-
- // Add horizontal line at y=0
- pvChart.config.data.datasets.push({
- type: 'line',
- data: [{x: pvData.labels[0], y: 0}, {x: pvData.labels[pvData.labels.length - 1], y: 0}],
- borderColor: 'rgba(0, 0, 0, 0.5)',
- borderWidth: 1,
- label: 'Neutral Line',
- pointRadius: 0,
- fill: false
- });
-}
-
-function renderMFIChart(mfiData) {
- const mfiChart = new Chart(mfiCtx, {
- type: 'line',
- data: {
- labels: mfiData.labels,
- datasets: [{
- label: 'Money Flow Index (MFI)',
- data: mfiData.values,
- borderColor: 'rgba(255, 206, 86, 1)',
- borderWidth: 2,
- fill: false
- }]
- },
- options: {
- responsive: true,
- scales: {
- y: {
- beginAtZero: true,
- max: 100
- }
- }
- }
- });
-
- // Add horizontal line at y=50
- mfiChart.config.data.datasets.push({
- type: 'line',
- data: [{x: mfiData.labels[0], y: 50}, {x: mfiData.labels[mfiData.labels.length - 1], y: 50}],
- borderColor: 'rgba(0, 0, 0, 0.5)',
- borderWidth: 1,
- label: 'Neutral Line',
- pointRadius: 0,
- fill: false
- });
-}
-
-function updateCharts(priceData, volumeData, pvData, mfiData) {
- renderPriceVolumeChart(priceData, volumeData);
- renderPVChart(pvData);
- renderMFIChart(mfiData);
-}
-
-// Example usage: Call updateCharts with your data
-// updateCharts(priceData, volumeData, pvData, mfiData);
diff --git a/stock-vsa-analyzer/src/config.js b/stock-vsa-analyzer/src/config.js
deleted file mode 100644
index 75815e3848cdbdcb9c471265011cd571272a8f07..0000000000000000000000000000000000000000
--- a/stock-vsa-analyzer/src/config.js
+++ /dev/null
@@ -1,11 +0,0 @@
-const config = {
- apiEndpoint: 'https://api.example.com/data', // Replace with your actual API endpoint
- defaultPVPeriod: 14, // Default period for Price Volume calculation
- defaultMFIPeriod: 14, // Default period for Money Flow Index calculation
- volumeThreshold: 100000, // Minimum volume threshold for screening
- breakoutPercentage: 5, // Percentage for breakout detection
- stopLossPercentage: 2, // Default stop loss percentage
- takeProfitPercentage: 5, // Default take profit percentage
-};
-
-export default config;
\ No newline at end of file
diff --git a/stock-vsa-analyzer/src/indicators/mfi.js b/stock-vsa-analyzer/src/indicators/mfi.js
deleted file mode 100644
index e99a9af0c3c9fe127ebaf477748856c69b89d242..0000000000000000000000000000000000000000
--- a/stock-vsa-analyzer/src/indicators/mfi.js
+++ /dev/null
@@ -1,27 +0,0 @@
-export function calculateMFI(prices, volumes, period = 14) {
- const mfiValues = [];
- const typicalPrices = prices.map((price, index) => {
- return (price.high + price.low + price.close) / 3;
- });
-
- for (let i = 0; i < typicalPrices.length; i++) {
- if (i < period) {
- mfiValues.push(null);
- continue;
- }
-
- const gain = typicalPrices.slice(i - period + 1, i + 1).reduce((acc, price, index) => {
- return acc + (price > typicalPrices[i - period + index] ? volumes[i - period + index] : 0);
- }, 0);
-
- const loss = typicalPrices.slice(i - period + 1, i + 1).reduce((acc, price, index) => {
- return acc + (price < typicalPrices[i - period + index] ? volumes[i - period + index] : 0);
- }, 0);
-
- const moneyFlowRatio = gain / loss || 0;
- const mfi = 100 - (100 / (1 + moneyFlowRatio));
- mfiValues.push(mfi);
- }
-
- return mfiValues;
-}
\ No newline at end of file
diff --git a/stock-vsa-analyzer/src/indicators/pv.js b/stock-vsa-analyzer/src/indicators/pv.js
deleted file mode 100644
index 12de833ff8fa948aa7370f20f5cdb4ecaa466987..0000000000000000000000000000000000000000
--- a/stock-vsa-analyzer/src/indicators/pv.js
+++ /dev/null
@@ -1,34 +0,0 @@
-const calculatePV = (priceData, volumeData) => {
- if (priceData.length !== volumeData.length) {
- throw new Error("Price and volume data must have the same length");
- }
-
- const pv = [];
- for (let i = 0; i < priceData.length; i++) {
- const priceChange = priceData[i] - (priceData[i - 1] || priceData[i]);
- const volume = volumeData[i];
- pv.push(priceChange * volume);
- }
- return pv;
-};
-
-const analyzePV = (pvData) => {
- const analysis = {
- bullish: 0,
- bearish: 0,
- neutral: 0,
- };
-
- for (let i = 1; i < pvData.length; i++) {
- if (pvData[i] > 0 && pvData[i - 1] > 0) {
- analysis.bullish++;
- } else if (pvData[i] < 0 && pvData[i - 1] < 0) {
- analysis.bearish++;
- } else {
- analysis.neutral++;
- }
- }
- return analysis;
-};
-
-export { calculatePV, analyzePV };
\ No newline at end of file
diff --git a/stock-vsa-analyzer/src/indicators/vsa.js b/stock-vsa-analyzer/src/indicators/vsa.js
deleted file mode 100644
index 71cbb298ea514eb76e373a9710eed9d539f62a50..0000000000000000000000000000000000000000
--- a/stock-vsa-analyzer/src/indicators/vsa.js
+++ /dev/null
@@ -1,59 +0,0 @@
-// This file contains functions that implement Volume Spread Analysis (VSA) techniques.
-// It analyzes price and volume data to identify potential breakouts and market trends.
-
-export function analyzeVSA(priceData, volumeData) {
- const results = [];
-
- for (let i = 1; i < priceData.length; i++) {
- const currentPrice = priceData[i];
- const previousPrice = priceData[i - 1];
- const currentVolume = volumeData[i];
- const previousVolume = volumeData[i - 1];
-
- const priceChange = currentPrice - previousPrice;
- const volumeChange = currentVolume - previousVolume;
-
- const vsaSignal = determineVsaSignal(priceChange, volumeChange);
- results.push({
- price: currentPrice,
- volume: currentVolume,
- vsaSignal: vsaSignal
- });
- }
-
- return results;
-}
-
-function determineVsaSignal(priceChange, volumeChange) {
- if (priceChange > 0 && volumeChange > 0) {
- return 'Bullish';
- } else if (priceChange < 0 && volumeChange > 0) {
- return 'Bearish';
- } else if (priceChange > 0 && volumeChange < 0) {
- return 'Weak Bullish';
- } else if (priceChange < 0 && volumeChange < 0) {
- return 'Weak Bearish';
- } else {
- return 'Neutral';
- }
-}
-
-export function detectBreakouts(priceData, volumeData, threshold) {
- const breakouts = [];
-
- for (let i = 1; i < priceData.length; i++) {
- const currentPrice = priceData[i];
- const previousPrice = priceData[i - 1];
- const currentVolume = volumeData[i];
-
- if (currentPrice > previousPrice + threshold && currentVolume > volumeData[i - 1]) {
- breakouts.push({
- price: currentPrice,
- volume: currentVolume,
- breakout: true
- });
- }
- }
-
- return breakouts;
-}
\ No newline at end of file
diff --git a/stock-vsa-analyzer/src/utils/screener.js b/stock-vsa-analyzer/src/utils/screener.js
deleted file mode 100644
index ce3bc80ae7fc5f47179e87a59e6e5f39fae612c3..0000000000000000000000000000000000000000
--- a/stock-vsa-analyzer/src/utils/screener.js
+++ /dev/null
@@ -1,32 +0,0 @@
-export const calculatePV = (priceData, volumeData) => {
- const pv = [];
- for (let i = 0; i < priceData.length; i++) {
- pv.push(priceData[i] * volumeData[i]);
- }
- return pv;
-};
-
-export const calculateMFI = (priceData, volumeData, period = 14) => {
- const mfi = [];
- // Implement MFI calculation logic here
- return mfi;
-};
-
-export const detectBreakout = (priceData, volumeData) => {
- const breakouts = [];
- // Implement breakout detection logic here
- return breakouts;
-};
-
-export const screener = (stocks, criteria) => {
- return stocks.filter(stock => {
- const { priceData, volumeData } = stock;
- const pv = calculatePV(priceData, volumeData);
- const mfi = calculateMFI(priceData, volumeData);
- const breakouts = detectBreakout(priceData, volumeData);
-
- return pv.some(value => value > criteria.pvThreshold) &&
- mfi.some(value => value < criteria.mfiThreshold) &&
- breakouts.length > 0;
- });
-};
\ No newline at end of file
diff --git a/vn-stock-analysis-app/DFbalance_sheet_quarter.csv b/vn-stock-analysis-app/DFbalance_sheet_quarter.csv
deleted file mode 100644
index 8095e575de51f6923c785c8686dd4ed6d164fd36..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/DFbalance_sheet_quarter.csv
+++ /dev/null
@@ -1,45 +0,0 @@
-ticker,yearReport,lengthReport,CURRENT ASSETS (Bn. VND),Cash and cash equivalents (Bn. VND),Short-term investments (Bn. VND),Accounts receivable (Bn. VND),Net Inventories,Other current assets,LONG-TERM ASSETS (Bn. VND),Fixed assets (Bn. VND),Investment in properties,Long-term investments (Bn. VND),Goodwill,Other non-current assets,TOTAL ASSETS (Bn. VND),LIABILITIES (Bn. VND),Current liabilities (Bn. VND),Long-term liabilities (Bn. VND),OWNER'S EQUITY(Bn.VND),Capital and reserves (Bn. VND),Undistributed earnings (Bn. VND),MINORITY INTERESTS,TOTAL RESOURCES (Bn. VND),Prepayments to suppliers (Bn. VND),Short-term loans receivables (Bn. VND),"Inventories, Net (Bn. VND)",Other current assets (Bn. VND),Investment and development funds (Bn. VND),Common shares (Bn. VND),Paid-in capital (Bn. VND),Long-term borrowings (Bn. VND),Advances from customers (Bn. VND),Short-term borrowings (Bn. VND),Good will (Bn. VND),Long-term prepayments (Bn. VND),Other long-term assets (Bn. VND),Other long-term receivables (Bn. VND),Long-term trade receivables (Bn. VND)
-CEO,2025,1,4849622609777,847927801197,1002007645162,1369347522111,1420611771618,209727869689,3999032163634,2146699286017,597682444211,0,0,111591666085,8848654773411,2481890103159,1798307072870,683583030289,6366764670252,6366764670252,491958475628,240274798238,8848654773411,152960263537,0,1420611771618,0,230900226386,5404064320000,5404064320000,341220116538,762834868444,159903078927,32854552359,55741082018,0,9949570694,9949570694
-CEO,2024,4,4991254141661,993340552048,1005707645162,1401806712424,1375991004679,214408227348,3966329328143,2158995368700,601914683963,0,0,117915741147,8957583469804,2645282107542,1966055155685,679226951857,6312301362262,6312301362262,454268805674,223501160202,8957583469804,171037320309,0,1375991004679,0,230900226386,5404064320000,5404064320000,334970759139,812074247812,193352954059,37196940594,57978310208,0,9949570694,9949570694
-CEO,2024,3,4907345694003,1025354872644,830687327624,1532406842609,1274904402598,243992248528,4045465826213,2202588330259,606146923715,100000000,0,141816790611,8952811520216,2623220293818,1890203943348,733016350470,6329591226398,6329591226398,431496398172,274009489568,8952811520216,189315088542,41300000000,1274904402598,0,220454168658,5404064320000,5404064320000,373692124866,846686904261,169452613145,42838568822,76013195937,0,15551765092,15551765092
-CEO,2024,2,5047183273798,1030816092516,932687327624,1502314432360,1328047292420,253318128878,3972580777178,2189450928031,610379163467,100000000,0,148570251045,9019764050976,2735969631367,2016121371135,719848260232,6283794419609,6283794419609,644561358060,269392365982,9019764050976,172781958119,30100000000,1328047292420,0,223486245567,5146787600000,5146787600000,337984477250,880900950866,224651926120,47251173341,78281518188,0,15552015092,15552015092
-CEO,2024,1,5340882972777,1243175878356,918687327624,1469666493392,1442657568834,266695704571,3718265246867,1357511559426,614611403216,0,0,140714804623,9059148219644,2781775188556,2034098782223,747676406333,6277373031088,6277373031088,617116298416,295718228298,9059148219644,190679511024,0,1442657568834,0,218184054374,5146787600000,5146787600000,339777804524,1099443674404,234874679524,51663777860,65586945588,0,15712015092,15712015092
-CEO,2023,4,5748685926680,1163356865428,1532287327624,1520010289594,1272039973535,260991470499,3672535858319,1363482570005,618843642965,0,0,135444377201,9421221784999,3186461254723,2479554504206,706906750517,6234760530276,6234760530276,604706798200,287345286524,9421221784999,242498709011,10800000000,1272039973535,0,196353995552,5146787600000,5146787600000,279307304141,1100386421147,542465500502,56076382379,55713602135,0,14507856507,14507856507
-CEO,2023,3,6065574069325,2928012513055,10188217350,1247412901378,1638266135074,241694302468,3470769062271,1376999543791,623075882714,0,0,141476360607,9536343131596,3186763267182,2433124084826,753639182356,6349579864414,6349579864414,585157018906,434636756589,9536343131596,237055317651,35700000000,1638266135074,0,183431638919,5146787600000,5146787600000,315538562250,1260078637199,300597891849,60488986898,56731756634,0,14250130872,14250130872
-CEO,2023,2,3445404878377,599948102481,96527830489,1152212131365,1458045697469,138671116573,3478326551685,1392377603571,627264737860,0,0,140776006827,6923731430062,3147534733106,2374543765623,772990967483,3776196696956,3776196696956,588575397106,443763252926,6923731430062,195869549538,0,1458045697469,0,170458196924,2573399850000,2573399850000,313187881271,1192110212515,325534453747,64901591417,57390500773,0,14100130872,14100130872
-CEO,2023,1,3179400515656,122596497881,277427830489,1171499234833,1471267838598,136609113855,3413262587507,1382618331922,626765529552,0,0,143258339474,6592663103163,2851736544773,1964176259092,887560285681,3740926558390,3740926558390,548503922369,448564589097,6592663103163,192935475594,0,1471267838598,0,170458196924,2573399850000,2573399850000,397353982748,388479012185,709488879012,69314195936,56808074200,0,11939137241,11939137241
-CEO,2022,4,3661094686313,407902279191,382865299847,1248379796818,1467663370736,154283939721,3399388850047,1397521437351,630919704300,0,0,148731813766,7060483536360,3341340397665,2426012612709,915327784956,3719143138695,3719143138695,520963726853,454321364918,7060483536360,189108794047,0,1467663370736,0,170458196924,2573399850000,2573399850000,417562249549,429988780619,747700454064,73726800455,57259046069,0,11742015001,11742015001
-CEO,2022,3,3877893297007,318570157006,748765299847,1174591146905,1463119382020,172847311229,3968441467216,1408994895175,720750515007,1600000000,0,154156214360,7846334764223,4296587627208,3075960298992,1220627328216,3549747137015,3549747137015,331537928800,474351161291,7846334764223,208905917565,0,1463119382020,0,170458196924,2573399850000,2573399850000,792404418965,1145651579901,870407449812,78063434709,56659101161,1600000000,11743515001,11743515001
-CEO,2022,2,3387816154082,255250390957,776597936833,1245492737062,923324999170,187150090060,4125938103881,1415514922249,725511657233,1600000000,0,159948158299,7513754257963,4005173891782,2762724854982,1242449036800,3508580366181,3508580366181,304584960575,460137358682,7513754257963,182749117038,0,923324999170,0,170458196924,2573399850000,2573399850000,828647068965,790714661031,910743634443,82456822944,57409840737,1600000000,11739137241,11739137241
-CEO,2022,1,2618460533080,216529253789,627697936833,968743225985,592298478687,213191637786,4458991365467,1429509173437,730239440469,1600000000,0,166779785198,7077451898547,3518584371227,2203712896166,1314871475061,3558867527320,3558867527320,296867618737,524217737108,7077451898547,167132946936,0,592298478687,0,164382321475,2573399850000,2573399850000,916340963423,459725769170,833723674350,86850211179,59369090382,1600000000,17013531010,15666168875
-CEO,2021,4,2554614175429,309220855845,580197936833,847549835680,606707616874,210937930197,4485628897906,1444167991026,734956993003,1600000000,0,174638158337,7040243073335,3505890816960,2183016756398,1322874060562,3534352256375,3534352256375,262852904612,533717180288,7040243073335,163767868800,0,606707616874,0,164382321475,2573399850000,2573399850000,906291129625,327424141055,830917540476,91243599414,62351632792,1600000000,10022073402,8674711267
-CEO,2021,3,2138735573197,59320592704,438197936833,701847246967,702115735782,237254060911,4872982807526,1462514310258,785019443265,1600000000,0,378644484704,7011718380723,3783009359932,2066754942727,1716254417205,3228709020791,3228709020791,41983586127,448973393994,7011718380723,158534395884,109122279822,702115735782,0,164352190670,2573399850000,2573399850000,1224955556167,278365294532,743484565511,294570946053,68174153072,1600000000,10022073402,8674711267
-CEO,2021,2,2178335114852,84194307611,550197936833,682183250424,625803335297,235956284687,4898984185335,1473733554727,796445874099,1600000000,0,393101584276,7077319300187,3791211038307,2077203738476,1714007299831,3286108261880,3286108261880,76967403827,471388817383,7077319300187,168288170421,105250000000,625803335297,0,164352190670,2573399850000,2573399850000,1232724249466,288323233173,721816055163,303147333788,74024046367,1600000000,10022073402,8674711267
-CEO,2021,1,2303814158933,112053632296,536197936833,736989383640,682342148818,236231057346,4899188046143,1489536665223,801583265106,1600000000,0,410735847148,7203002205076,3785346171068,1881048888977,1904297282091,3417656034008,3417656034008,153593599686,526310393652,7203002205076,154562948556,105750000000,682342148818,0,164352190670,2573399850000,2573399850000,1434486581238,302295768915,499372579388,313712721523,80453683096,1600000000,10665103205,9317741070
-CEO,2020,4,2504608922298,228678131745,479697936833,893550160861,665079499806,237603193053,4933661156087,1346032537254,813075312679,1600000000,0,426411474929,7438270078385,3981924727646,2101353227427,1880571500219,3456345350739,3456345350739,172752470445,545840839624,7438270078385,147626447294,159750000000,665079499806,0,164352190670,2573399850000,2573399850000,1411735850237,254002606247,532618638267,324278109258,85977471614,1600000000,9793634227,8446272092
-CEO,2020,3,2767093961340,169718708492,498697936833,1057207933083,794987630459,246481752473,4775879605525,1348045848181,858875009608,1600000000,0,444462011986,7542973566865,3998801245970,2064368848010,1934432397960,3544172320895,3544172320895,200220259614,606200020611,7542973566865,238376412301,302600000000,794987630459,0,164352190670,2573399850000,2573399850000,1476841180408,362021827306,802792339024,337607698432,91923168260,1600000000,30031636812,28684274677
-CEO,2020,2,3151651219576,129959026729,962697936833,964760953898,848815550517,245417751599,4691873714599,1363118791969,864328866428,1600000000,0,465088104117,7843524934175,4306749446296,2441501086511,1865248359785,3536775487879,3536775487879,184244666055,614778781154,7843524934175,207664222433,224700000000,848815550517,0,164352190670,2573399850000,2573399850000,1434430706280,314133285500,1134883675781,351034982205,98793710065,1600000000,10301919448,8954557313
-CEO,2020,1,3330274261317,154096359192,958697936833,1047275193607,914105303081,256099468604,4632533099270,1374908818582,874037589675,1600000000,0,488385663905,7962807360587,4313911676218,2690969897780,1622941778438,3648895684369,3648895684369,259342678183,663448291557,7962807360587,204898666573,165300000000,914105303081,0,152704864629,2573399850000,2573399850000,1174811713971,245681124265,1310920110834,364428704334,108161655330,1600000000,9806817336,8459455201
-CEO,2019,4,3511811585661,200976014220,1023697936833,1013248643463,1021560301438,252328689707,4525549995306,1390592203568,868273853773,1600000000,0,510376749406,8037361580967,4371607259882,2654414238013,1717193021869,3665754321085,3665754321085,258609453114,683804870884,8037361580967,173987494068,179600000000,1021560301438,0,149940147087,2573399850000,2573399850000,1270061713971,273908863216,1069694661051,377788864819,116761554710,1600000000,8806498136,7459136001
-CEO,2019,3,4718887946753,631304713870,822500000000,1415806620050,1626886638536,222389974297,3588309661624,1404567101329,900338569286,1600000000,0,301905181891,8307197608377,4828301770495,3087778408477,1740523362018,3478895837882,3478895837882,151530362740,602701888098,8307197608377,172240471967,191600000000,1626886638536,0,151263737044,2573399850000,2573399850000,1225814695182,1127053990759,743359330509,144014024019,127509095274,1600000000,8013098940,6665736805
-CEO,2019,2,4827617049889,389980981960,789314100000,1416089101160,2026034971968,206197894801,3395265772707,1366180806557,962010361733,1600000000,0,292829103963,8222882822596,5708737170731,4235481117700,1473256053031,2514145651865,2514145651865,203519239393,619734175618,8222882822596,171661314052,73100000000,2026034971968,0,146852326854,1544039910000,1544039910000,942444187252,1805524350616,921216314165,151947151787,113426344957,1600000000,7891731504,6544369369
-CEO,2019,1,5792555625908,503653446208,1167000000000,1572130276512,2390454324260,159317578928,2910829278755,1366480763064,187281874885,1600000000,0,316524711446,8703384904663,6408899013593,5249635578905,1159263434688,2294485891070,2294485891070,100963232608,497401072454,8703384904663,242781449783,64100000000,2390454324260,0,152081676008,1544039910000,1544039910000,858867898624,2620334215118,1370466723879,159883269894,118949822761,1600000000,4917586878,3570224743
-CEO,2018,4,5386470382400,358811289562,1163400000000,1476386862974,2244364133826,143508096038,3036020031678,1202440409442,188530896397,1600000000,0,384182243683,8422490414078,5951210958377,4878293749028,1072917209349,2471279455701,2471279455701,226916958862,580203114596,8422490414078,248454598838,86900000000,2244364133826,0,120119472243,1544039910000,1544039910000,728235006826,2973336184836,969933771218,167819388005,194433701431,1600000000,93369767924,92022405789
-CEO,2018,3,5356842064325,362403764962,1333400000000,1592794685422,1964299894395,103943719546,2457368796020,1206957301246,148587351776,1600000000,0,365921062676,7814210860345,5404922029132,4418762034304,986159994828,2409288831213,2409288831213,159962873606,585166575364,7814210860345,208822409220,94600000000,1964299894395,0,120119472243,1544039910000,1544039910000,717907227013,2938757949021,785647586393,0,170892224030,1600000000,6012742554,4665380419
-CEO,2018,2,5115397758258,382480087170,1548900000000,1396244967228,1712289885426,75482818434,2293486481188,1213664608461,149814517918,1600000000,0,347392291965,7408884239446,5080578704618,4143295159474,937283545144,2328305534828,2328305534828,103428816704,560717335880,7408884239446,205774934758,117100000000,1712289885426,0,120119472244,1544039910000,1544039910000,695739627013,2465888613610,776898276295,183688857855,145924624896,1600000000,6064228755,4716866620
-CEO,2018,1,4189734466702,824232105465,411900000000,1459677679688,1439770992270,54153689279,2220039120018,1216869625248,139802068669,1600000000,0,347909831168,6409773586720,4121101237071,3037548123797,1083553113274,2288672349649,2288672349649,61902368497,554845143824,6409773586720,220613243421,130100000000,1439770992270,0,127884927328,1544039910000,1544039910000,859426527014,1564404952884,602617395134,191624975959,143421691977,1600000000,76122070956,74774708821
-CEO,2017,4,3485257581486,444097062786,359900000000,1386812938234,1256574393696,37873186770,2167006656392,1213333160477,141068362971,1600000000,0,306292360363,5652264237878,3414037479416,2326823398303,1087214081113,2238226758462,2238226758462,209770373384,390609395478,5652264237878,175320001477,163100000000,1256574393696,0,93807079600,1544039910000,1544039910000,867641359389,978715900183,563703626158,0,139905193404,1600000000,90579070857,89231708722
-CEO,2017,3,3444371061873,279312743751,513500000000,1437094450292,1170917359871,43546507959,1730342998331,1183683504085,150176749792,33200000000,0,245323143775,5174714060204,3005331867383,1742071234379,1263260633004,2169382192821,2169382192821,135768779475,396385431939,5174714060204,220278763664,57900000000,1170917359871,0,93188071407,1544039910000,1544039910000,984838925993,850547448042,403314841117,160493694574,74082343471,33200000000,108311654535,106964292400
-CEO,2017,2,2484189755586,118447198382,18500000000,1414460027435,909970357064,22812172705,1697988523505,1171388871086,152027233864,3200000000,0,255308103609,4182178279091,2605136366740,1427687081833,1177449284907,1577041912351,1577041912351,102112960039,352380940905,4182178279091,191518267244,52700000000,909970357064,0,93188071407,1029359940000,1029359940000,969130161490,570214158390,316269182319,167283385424,77277612455,3200000000,108310895935,106963533800
-CEO,2017,1,2284024577842,103802294124,510000000,1499681772782,662469248174,17561262762,1764721597215,1100842695189,153332176215,1600000000,0,263496416219,4048746175057,2613415824448,1447604126223,1165811698225,1435330350609,1435330350609,62780188223,238847296584,4048746175057,147789163371,270700000000,662469248174,0,104342925802,1029359940000,1029359940000,953653489782,503542076760,379946646659,174073076274,80759546081,1600000000,27573680100,27573680100
-CEO,2016,4,2083410387216,121150408600,106010000000,1229611739897,609903478271,16734760448,1762124039314,967462674825,289612741934,1600000000,0,279293053964,3845534426530,2280184392931,1219424747231,1060759645700,1565350033599,1565350033599,200055180254,270231442165,3845534426530,109074059150,271800000000,609903478271,0,65703471180,1029359940000,1029359940000,850960373038,401652584444,395643645445,0,89956692379,1600000000,26961989100,31437000251
-CEO,2016,3,2051848352908,99163324496,101510000000,1180526603538,601327701804,69320723070,1339865696698,841117366075,155767922530,0,0,125047966921,3391714049606,1908017877987,975757656242,932260221745,1483696171619,1483696171619,160671300885,227984312234,3391714049606,295992055286,207450000000,601327701804,50000000000,65660896795,1029359940000,1029359940000,779561106246,302396949110,207477490104,58744521834,54281305948,0,27072747800,27072747800
-CEO,2016,2,1789678419697,79650471578,100510000000,952330033563,587377883506,69810031050,1307272373927,848779571433,156726011062,0,0,121425942036,3096950793624,1705693565954,803605135146,902088430808,1391257227670,1391257227670,98325554708,199765547879,3096950793624,239255983281,102150000000,587377883506,0,63796118089,1029359940000,1029359940000,760615041926,229374222985,231922325332,62342428509,54937508473,0,27420446581,27420446581
-CEO,2016,1,1419923317915,41278075222,10000000,701074093085,604668067444,72893082164,1357403393142,905987528920,157755500374,0,0,130134284096,2777326711057,1787296091182,864203122587,923092968595,990030619875,990030619875,50781492764,189748518745,2777326711057,239893264050,27850000000,604668067444,0,63260630152,686239960000,686239960000,775876855790,174831111902,197540834425,65940335183,52467439746,0,27420983574,27420983574
-CEO,2015,4,1290743230392,44639132505,29360000000,672492259381,472468255758,71783582748,1376515040832,46044342599,158674784780,17900000000,0,104589909997,2667258271224,1568842885836,596749030741,972093855095,1098415385388,1098415385388,178320934040,189495690872,2667258271224,255911394100,8850000000,472468255758,73463050,44358764762,686239960000,686239960000,825002996749,201616732011,137172514517,58583059429,45934728292,0,28765378580,27418016445
-CEO,2015,3,885126287221,58794753546,860000000,425276758670,359234535694,40960239311,1156958359427,43083885252,159629314235,126748000000,0,109778915288,2042084646648,1057985582534,289122026551,768863555983,984099064114,984099064114,103323276357,149125811163,2042084646648,117656009533,0,359234535694,0,45204208280,686239960000,686239960000,621226672402,143381091599,18464187028,61492612500,46702389917,108848000000,28740566940,28740566940
-CEO,2015,2,926676551163,74469432835,41310000000,448953471930,340954845524,20988800874,804872700452,37473882024,160583843690,17900000000,0,114326717835,1731549251615,780315215915,138656395494,641658820421,951234035700,951234035700,77308646854,136877326622,1731549251615,62901045596,10366798840,340954845524,0,50602293910,686239960000,686239960000,489459926251,33998217685,37046223833,64402165571,48342715093,0,27696505668,27696505668
-CEO,2015,1,1026424079541,64911652306,860000000,660203056265,291531191963,8918179007,653222356331,357121612384,161508415185,17858197885,67311718643,47430933007,1679646435872,719688456164,206449790035,513238666129,838083158683,838083158683,102303261737,0,1679646435872,82126558966,136611740000,291531191963,86425949,49334128632,686239960000,686239960000,357045549617,83943102788,39050853446,0,47269068533,0,1991479227,1991479227
-CEO,2014,4,753516336401,40768091246,58735000000,394550483262,253866505283,5596256610,639415906952,334845827726,162758485077,17859067344,70221271714,53633255091,1392932243353,847553706507,274283309232,573270397275,466346197594,466346197594,82825873061,0,1392932243353,27963837690,0,253866505283,4109133445,24041115256,343119980000,343119980000,371649161407,11039500,93531558855,0,45381559779,0,1445362135,98000000
-CEO,2014,3,494795357344,14435254657,10000000,210123347917,260773849326,9452905444,446633818259,192012696713,163685835345,16387881422,26395110500,46038142144,941429175603,449327387075,163018369996,286309017079,433757648217,433757648217,50237323684,0,941429175603,34609857691,0,260773849326,5628035029,24041115256,343119980000,343119980000,74112335333,12452200200,66668166150,0,44433645743,0,1347362135,2114152135
-CEO,2014,2,464056972695,25184392890,10000000,143095304732,285018628557,10748646516,442478338351,184842154291,164644776521,17859823881,27435235000,46348986523,906535311046,432591186405,182530576277,250060610128,415954984478,415954984478,32434659945,0,906535311046,40150253846,0,285018628557,8008716122,24041115256,343119980000,343119980000,28319683147,18467229550,98465143812,0,44546080476,0,1347362135,1347362135
diff --git a/vn-stock-analysis-app/DFbalance_sheet_year.csv b/vn-stock-analysis-app/DFbalance_sheet_year.csv
deleted file mode 100644
index 1768dc71c17531c2c72818236808bb626f8b7642..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/DFbalance_sheet_year.csv
+++ /dev/null
@@ -1,13 +0,0 @@
-CP,Năm,TÀI SẢN NGẮN HẠN (đồng),Tiền và tương đương tiền (đồng),Giá trị thuần đầu tư ngắn hạn (đồng),Các khoản phải thu ngắn hạn (đồng),Hàng tồn kho ròng,Tài sản lưu động khác,TÀI SẢN DÀI HẠN (đồng),Tài sản cố định (đồng),Giá trị ròng tài sản đầu tư,Đầu tư dài hạn (đồng),Lợi thế thương mại,Tài sản dài hạn khác,TỔNG CỘNG TÀI SẢN (đồng),NỢ PHẢI TRẢ (đồng),Nợ ngắn hạn (đồng),Nợ dài hạn (đồng),VỐN CHỦ SỞ HỮU (đồng),Vốn và các quỹ (đồng),Lãi chưa phân phối (đồng),LỢI ÍCH CỦA CỔ ĐÔNG THIỂU SỐ,TỔNG CỘNG NGUỒN VỐN (đồng),Trả trước cho người bán ngắn hạn (đồng),Phải thu về cho vay ngắn hạn (đồng),"Hàng tồn kho, ròng (đồng)",Tài sản lưu động khác (đồng),Quỹ đầu tư và phát triển (đồng),Cổ phiếu phổ thông (đồng),Vốn góp của chủ sở hữu (đồng),Vay và nợ thuê tài chính dài hạn (đồng),Người mua trả tiền trước ngắn hạn (đồng),Vay và nợ thuê tài chính ngắn hạn (đồng),Lợi thế thương mại (đồng),Trả trước dài hạn (đồng),Tài sản dài hạn khác (đồng),Phải thu dài hạn khác (đồng),Phải thu dài hạn (đồng)
-CEO,2024,4991254141661,993340552048,1005707645162,1401806712424,1375991004679,214408227348,3966329328143,2158995368700,601914683963,0,0,117915741147,8957583469804,2645282107542,1966055155685,679226951857,6312301362262,6312301362262,454268805674,223501160202,8957583469804,171037320309,0,1375991004679,0,230900226386,5404064320000,5404064320000,334970759139,812074247812,193352954059,37196940594,57978310208,0,9949570694,9949570694
-CEO,2023,5752390556523,1153356865428,1542287327624,1520620567390,1275134325582,260991470499,3672456970061,1363482570004,618843642965,0,0,135365488941,9424847526584,3178791514995,2471858681858,706932833137,6246056011589,6246056011589,583638308473,297879198742,9424847526584,242517932011,10800000000,1275134325582,0,218184054374,5146787600000,5146787600000,279307304141,1100386421147,542465500502,56076382379,55634713877,0,14507856507,14507856507
-CEO,2022,3661094355939,407902279191,382865299847,1248379796818,1467663040362,154283939721,3399393042206,1397521437351,630919704300,0,0,148735825925,7060487398145,3341332518341,2426012282336,915320236005,3719154879804,3719154879804,522641547554,452655285326,7060487398145,189108794047,0,1467663040362,0,170458196924,2573399850000,2573399850000,417562249549,429988780619,747700454064,73726800455,57259046070,0,11742015001,11742015001
-CEO,2021,2564422795753,319051369169,580197936833,847527942680,606707616874,210937930197,4485628897906,1444167991026,734956993003,1600000000,0,174638158337,7050051693659,3515699437284,2192825376722,1322874060562,3534352256375,3534352256375,262852904612,533717180288,7050051693659,163767868800,0,606707616874,0,164382321475,2573399850000,2573399850000,906291129625,327424141055,840748053800,91243599414,62351632792,1600000000,10022073402,8674711267
-CEO,2020,2504608922298,228678131745,479697936833,893550160861,665079499806,237603193053,4933661156087,1346032537254,813075312679,1600000000,0,426411474929,7438270078385,3981924727646,2101353227427,1880571500219,3456345350739,3456345350739,172752470445,545840839624,7438270078385,147626447294,159750000000,665079499806,0,164352190670,2573399850000,2573399850000,1411735850237,254002606247,532618638267,324278109258,85977471614,1600000000,9793634227,8446272092
-CEO,2019,3511811585661,200976014220,1023697936833,1013248643463,1021560301438,252328689707,4525549995306,1390592203568,868273853773,1600000000,0,510376749406,8037361580967,4371607259882,2654414238013,1717193021869,3665754321085,3665754321085,258609453114,683804870884,8037361580967,173987494068,179600000000,1021560301438,0,149940147087,2573399850000,2573399850000,1270061713971,273908863216,1069694661051,377788864819,116761554710,1600000000,8806498136,7459136001
-CEO,2018,5473170382400,358811289562,1163400000000,1563086862974,2244364133826,143508096038,2949320031678,1202440409442,188530896397,1600000000,0,384182243683,8422490414078,5951210958377,4964993749028,986217209349,2471279455701,2471279455701,226924138250,580195935208,8422490414078,248454598838,86900000000,2244364133826,0,120119472243,1544039910000,1544039910000,728235006826,2973336184836,969933771218,167819388005,194433701431,1600000000,6669767924,5322405789
-CEO,2017,3485278922143,444097062786,359900000000,1386812938234,1256574401471,37894519652,2167006656392,1213333160477,141068362971,1600000000,0,306292360363,5652285578535,3414002551720,2307407865607,1106594686113,2238283026815,2238283026815,209826641735,390609395480,5652285578535,175320001477,163100000000,1256574401471,0,93807079600,1544039910000,1544039910000,887021964389,978715900183,544323021158,0,139905193404,1600000000,90579070857,89231708722
-CEO,2016,2074641514944,121150408600,510000000,1326311209468,609916571175,16753325701,1759907684306,1105819382942,154809833998,1600000000,0,279130794075,3834549199250,2267972420308,1220200386810,1047772033498,1566576778942,1566576778942,191523873400,279989494362,3834549199250,109074059150,271800000000,609916571175,0,65703471180,1029359940000,1029359940000,850960373038,401652584444,395643645445,0,90035555998,1600000000,26961989100,26961989100
-CEO,2015,1531872218607,44726779101,10000000,649898228175,759509287430,77727923901,1089140271243,44728603669,158674784780,0,0,120810450328,2621012489850,1521966646150,630514062335,891452583815,1099045843700,1099045843700,146360099897,222087000827,2621012489850,225744622080,34200000000,759509287430,4700000000,44358764762,686239960000,686239960000,740902996749,171449959991,217272514517,69529888254,45936803992,0,27418016445,27418016445
-CEO,2014,957851640101,40768091246,10000000,431684616707,483901808983,1487123165,435080603252,29162439552,162758485077,17859067344,0,124044454488,1392932243353,847553706507,297117303894,550436402613,545378536846,545378536846,82825873061,79032339252,1392932243353,27963837690,58725000000,483901808983,0,40264171881,343119980000,343119980000,371649161407,11039500,93531558855,70221271714,45571487462,0,27145362135,25798000000
-CEO,2013,459247344281,6423990709,8010000000,108773057636,321287789717,14752506219,412934745767,153377037691,166562658873,17860940376,29515484000,44173262692,872182090048,434721957853,161464110265,273257847588,400497610453,400497610453,19593878168,0,872182090048,32096686938,0,321287789717,12804572219,23967659270,343119980000,343119980000,56188333622,16346980078,76210438652,0,42177479773,0,1445362135,1445362135
diff --git a/vn-stock-analysis-app/DFincome_statement_year.csv b/vn-stock-analysis-app/DFincome_statement_year.csv
deleted file mode 100644
index edf403c24dce1117053f5c057d5aef29d588a55c..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/DFincome_statement_year.csv
+++ /dev/null
@@ -1,13 +0,0 @@
-CP,Năm,Tăng trưởng doanh thu (%),Doanh thu (đồng),Lợi nhuận sau thuế của Cổ đông công ty mẹ (đồng),Tăng trưởng lợi nhuận (%),Thu nhập tài chính,Chi phí tiền lãi vay,Doanh thu bán hàng và cung cấp dịch vụ,Các khoản giảm trừ doanh thu,Doanh thu thuần,Giá vốn hàng bán,Lãi gộp,Chi phí tài chính,Chi phí bán hàng,Chi phí quản lý DN,Lãi/Lỗ từ hoạt động kinh doanh,Thu nhập khác,"Lãi lỗ trong công ty liên doanh, liên kết",Thu nhập/Chi phí khác,Lợi nhuận khác,LN trước thuế,Chi phí thuế TNDN hiện hành,Chi phí thuế TNDN hoãn lại,Lợi nhuận thuần,Cổ đông thiểu số,Cổ đông của Công ty mẹ
-CEO,2024,-0.061384539853376274,1307939076396,190153728301,0.2612698727912174,84055087529,-30662631339,1307939076396,-2862753,1307936213643,-957030706453,350905507190,-31988385976,-68973060496,-97631272825,236367875422,11495481158,0,-11340553924,154927234,236522802656,-67943608241,-2618224189,165960970226,-24192758075,190153728301
-CEO,2023,-0.45332740107467423,1393477022200,150763712353,-0.45944838128462695,34822255885,-46213456898,1393477022200,-4462909,1393472559291,-960432094097,433040465194,-48011321902,-122608818719,-101910510304,195332070154,10870523081,0,-8321548733,2548974348,197881044502,-81168353456,4485506350,121198197396,-29565514957,150763712353
-CEO,2022,1.8265534465424265,2549015672158,278907151756,1.9941594165206744,51734978990,-122245189912,2549015672158,-17101473,2548998570685,-1636738217215,912260353470,-129368665552,-272693690778,-97575228385,464357747745,25665430365,0,-16370763435,9294666930,473652414675,-140235335706,-22801768467,310615310502,31708158746,278907151756
-CEO,2021,-0.31878920144378003,901810533700,93150401484,2.3868983448460717,329522664132,-147277724912,901810533700,0,901810533700,-784864130605,116946403095,-147724503536,-31169554878,-164781994727,102793014086,17828771677,0,-1689810644,16138961033,118931975119,-32734787360,-4057116452,82140071307,-11010330177,93150401484
-CEO,2020,-0.7090781392199121,1323834759536,-67164548743,-1.1499509528642053,98000832752,-133735806546,1323834759536,0,1323834759536,-966007451201,357827308335,-134144201026,-76647830428,-241153243763,3882865870,13120780043,0,-32234154429,-19113374386,-15230508516,-66847388682,-21223315239,-103301212437,-36136663694,-67164548743
-CEO,2019,1.0258237669438444,4550482235973,447910116342,1.0064825160830004,71893929061,-147075524450,4550482235973,-427324660,4550054911313,-3110631520602,1439423390711,-159434784094,-210210242008,-294497758058,847174535612,11213584962,0,-24029560975,-12815976013,834358559599,-217528675318,-9023470199,607806414082,159896297740,447910116342
-CEO,2018,0.22557810661570363,2246237955258,223231507253,0.2565799452954637,76983573893,-117857666994,2246237955258,0,2246237955258,-1390960786519,855277168739,-140189874051,-60902502572,-241629255790,489539110219,48938980456,0,-35636378704,13302601752,502841711971,-135310062050,4545878055,372077527976,148846020723,223231507253
-CEO,2017,0.14017941280189455,1832798695679,177650063642,0.13165162843707648,32200345395,-124307356763,1832798695679,0,1832798695679,-1108712650495,724086045184,-124371032813,-36896437667,-197033008898,397985911201,9692637612,0,-927166020,8765471592,406751382793,-89406194119,3815196496,321160385170,143510321528,177650063642
-CEO,2016,1.5140046943481646,1607465171797,156982996514,0.12587282362478616,12324745559,-73693028738,1607465171797,-197030902149,1410434269648,-911085419917,499348849731,-73844014411,-34242182310,-101843525031,301743873538,1734915451,0,-3090388133,-1355472682,300388400856,-70560950549,140520840,229967971147,72984974633,156982996514
-CEO,2015,0.42413454394089567,639404204539,139432263769,0.6386474121259692,6185797118,-14690495297,639404204539,0,639404204539,-301504773733,337899430806,-15201965838,-8717040323,-49574787145,270591434618,654941149,0,-4579205323,-3924264174,266667170444,-64967846455,3926673411,205625997400,66193733631,139432263769
-CEO,2014,1.6412391887215527,448977385781,85089850774,3.114185723050506,411747877,-9692134921,448977385781,-53333333,448924052448,-253450862756,195473189692,-9717906735,-1352526596,-38163592535,146650911703,548822257,-1873032,-4552002027,-4003179770,142645858901,-36138987892,964818152,107471689161,22381838387,85089850774
-CEO,2013,0.0,169987401254,20682063597,0.0,1389444257,-11268231923,169987401254,0,169987401254,-101765865808,68221535446,-13557966861,-916592487,-26576651788,28559768567,8492421378,-701943,-7263925838,1228495540,29787562164,-8986453970,452266519,21253374713,571311116,20682063597
diff --git a/vn-stock-analysis-app/Dockerfile b/vn-stock-analysis-app/Dockerfile
deleted file mode 100644
index e4944083acb7205edca0439f9b1970a68b3e1c9e..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/Dockerfile
+++ /dev/null
@@ -1,40 +0,0 @@
-# Use an official Python runtime as a parent image
-FROM python:3.9-slim
-
-# Set the working directory in the container
-WORKDIR /app
-
-# Install system dependencies required for TA-Lib and other packages
-RUN apt-get update && apt-get install -y \
- build-essential \
- wget \
- unzip \
- && rm -rf /var/lib/apt/lists/*
-
-# Download and install TA-Lib
-RUN wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz && \
- tar -xzf ta-lib-0.4.0-src.tar.gz && \
- cd ta-lib/ && \
- ./configure --prefix=/usr && \
- make && \
- make install && \
- cd .. && \
- rm -rf ta-lib ta-lib-0.4.0-src.tar.gz
-
-# Copy the requirements file into the container
-COPY requirements.txt .
-
-# Install any needed packages specified in requirements.txt
-RUN pip install --no-cache-dir -r requirements.txt
-
-# Copy the rest of the application's code into the container
-COPY . .
-
-# Make port 8000 available to the world outside this container
-EXPOSE 8000
-
-# Define environment variable
-ENV NAME World
-
-# Run app.py when the container launches
-CMD ["gunicorn", "--bind", "0.0.0.0:8000", "app:app"]
diff --git a/vn-stock-analysis-app/README.md b/vn-stock-analysis-app/README.md
deleted file mode 100644
index aee6dc2cd643cebbcd5ae2cee019e06dc6f07410..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/README.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-title: VN Stock Analysis
-emoji: 📈
-colorFrom: blue
-colorTo: green
-sdk: docker
-app_port: 8000
----
diff --git a/vn-stock-analysis-app/__pycache__/app.cpython-312.pyc b/vn-stock-analysis-app/__pycache__/app.cpython-312.pyc
deleted file mode 100644
index 1e7b1f0053841f4e9e39e56c9196cb2fe9ef7a94..0000000000000000000000000000000000000000
Binary files a/vn-stock-analysis-app/__pycache__/app.cpython-312.pyc and /dev/null differ
diff --git a/vn-stock-analysis-app/app.py b/vn-stock-analysis-app/app.py
deleted file mode 100644
index e0907710b943df526e665bd17ff0dad6de56054d..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/app.py
+++ /dev/null
@@ -1,726 +0,0 @@
-from flask import Flask, render_template, request, redirect, url_for, flash, jsonify, send_from_directory
-from vnstock import Vnstock
-import pandas as pd
-import matplotlib.pyplot as plt
-import os
-# API keys should be set as environment variables, not hardcoded.
-# os.environ["GROQ_API_KEY"] = "your_groq_api_key"
-import numpy as np
-import pandas_ta as ta
-import scipy.signal # For signal processing functions
-from datetime import datetime, timedelta
-import matplotlib.dates as mdates
-import mplfinance as mpf
-import numpy_financial as npf
-from flask_cors import CORS
-import logging
-import google.generativeai as genai
-import json
-from modules.utils import (
- detect_candlestick_patterns, calculate_fibonacci_levels, calculate_money_flow,
- find_double_top_bottom, detect_w_double_bottom, detect_m_double_top, detect_cup_and_handle,
- plot_candlestick_with_fibo_patterns, get_financial_valuation,
- calculate_dcf_valuation, calculate_ddm_valuation, calculate_nav, calculate_residual_income, calculate_eva, safe_float, analyze_financial_csv_with_groq,
- fetch_vietstock_news, analyze_news_with_groq
-)
-from modules.valuation import calculate_covered_warrant_profit, black_scholes_price
-from modules.market_news import (
- analyze_market_data
-)
-import requests
-from bs4 import BeautifulSoup
-
-# import talib # For technical analysis indicators
-
-app = Flask(__name__)
-app.secret_key = 'your-very-secret-key-2024' # Đặt secret key cho session/flash
-CORS(app)
-
-# Đường dẫn lưu biểu đồ
-CHART_PATH_CANDLE = "static/images/stock_candle.png"
-CHART_PATH_MONEY = "static/images/stock_money.png"
-CHART_PATH_CANDLE_VNINDEX = "static/images/vnindex_candle.png"
-CHART_PATH_MONEY_VNINDEX = "static/images/vnindex_money.png"
-
-# Đường dẫn thư mục dữ liệu tài chính
-DATA_DIR = os.path.join(os.path.dirname(__file__), 'data')
-
-# Đường dẫn tới thư mục public của VSA
-VSA_PUBLIC_DIR = os.path.join(os.path.dirname(__file__), 'stock-vsa-analyzer', 'public')
-logging.basicConfig(level=logging.INFO)
-logging.info(f"[VSA] Static dir: {VSA_PUBLIC_DIR}")
-
-# HƯỚNG DẪN SỬ DỤNG BIỂU ĐỒ VSA
-VSA_GUIDE = ''
-
-def fetch_covered_warrant_info(warrant_code):
- """
- Fetches covered warrant information from Vietstock.
- """
- url = f"https://finance.vietstock.vn/chung-khoan-phai-sinh/{warrant_code}/cw-tong-quan.htm"
- try:
- headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'}
- response = requests.get(url, headers=headers, timeout=15)
- response.raise_for_status()
- soup = BeautifulSoup(response.content, 'html.parser')
-
- info = {}
- # Find the table with the data
- table = soup.find('table', {'class': 'table table-striped table-bordered table-condensed'})
- if not table:
- return None
-
- rows = table.find_all('tr')
- for row in rows:
- cols = row.find_all('td')
- if len(cols) == 2:
- key = cols[0].text.strip()
- value = cols[1].text.strip()
- info[key] = value
- return info
- except requests.RequestException as e:
- print(f"Error fetching {url}: {e}")
- return None
-
-@app.route('/covered_warrant', methods=['GET', 'POST'])
-def covered_warrant():
- warrant_code = request.args.get('warrant_code', '').upper()
- warrant_info = None
- calculation_results = None
- RISK_FREE_RATE = 0.05 # Lãi suất phi rủi ro, giả định 5%
-
- form_data = {
- 'stock_price': request.form.get('stock_price'),
- 'strike_price': request.form.get('strike_price'),
- 'warrant_price': request.form.get('warrant_price'),
- 'conversion_ratio': request.form.get('conversion_ratio'),
- 'volatility': request.form.get('volatility'),
- 'time_to_expiration': request.form.get('time_to_expiration')
- }
-
- if warrant_code:
- warrant_info = fetch_covered_warrant_info(warrant_code)
- if warrant_info:
- # Tự động điền một số thông tin vào form
- try:
- # Lấy ngày đáo hạn và tính T (thời gian còn lại)
- if 'Ngày đáo hạn' in warrant_info:
- expiration_date = datetime.strptime(warrant_info['Ngày đáo hạn'], '%d/%m/%Y')
- T = (expiration_date - datetime.now()).days / 365.0
- form_data['time_to_expiration'] = round(T, 4) if T > 0 else 0
-
- # Lấy mã CK cơ sở để tính toán độ biến động
- if 'Mã CK cơ sở' in warrant_info:
- underlying_symbol = warrant_info['Mã CK cơ sở']
- stock = Vnstock().stock(symbol=underlying_symbol, source='VCI')
- df = stock.quote.history(start=(datetime.now() - timedelta(days=365)).strftime('%Y-%m-%d'), end=datetime.now().strftime('%Y-%m-%d'))
- if df is not None and not df.empty:
- df['returns'] = np.log(df['close'] / df['close'].shift(1))
- volatility = df['returns'].std() * np.sqrt(252) # Độ biến động hàng năm
- form_data['volatility'] = round(volatility, 4)
-
- except Exception as e:
- app.logger.error(f"Error auto-populating form for {warrant_code}: {e}")
-
-
- if request.method == 'POST':
- try:
- stock_price = safe_float(request.form.get('stock_price'))
- strike_price = safe_float(request.form.get('strike_price'))
- warrant_price = safe_float(request.form.get('warrant_price'))
- conversion_ratio = safe_float(request.form.get('conversion_ratio'))
- volatility = safe_float(request.form.get('volatility'))
- time_to_expiration = safe_float(request.form.get('time_to_expiration'))
-
- if all([stock_price, strike_price, warrant_price, conversion_ratio, volatility, time_to_expiration is not None]):
- # Tính toán cơ bản
- basic_calcs = calculate_covered_warrant_profit(stock_price, strike_price, warrant_price, conversion_ratio)
-
- # Tính toán Black-Scholes
- theoretical_price = black_scholes_price(S=stock_price, X=strike_price, T=time_to_expiration, r=RISK_FREE_RATE, v=volatility, conversion_ratio=conversion_ratio)
-
- calculation_results = {
- 'profit': basic_calcs['profit'],
- 'break_even_price': basic_calcs['break_even_price'],
- 'theoretical_price': theoretical_price,
- 'is_overvalued': warrant_price > theoretical_price,
- 'valuation_diff': warrant_price - theoretical_price
- }
- else:
- flash('Vui lòng nhập đầy đủ và hợp lệ các giá trị để tính toán.', 'warning')
-
- # Cập nhật lại form_data để hiển thị lại trên form
- form_data.update({
- 'stock_price': stock_price, 'strike_price': strike_price, 'warrant_price': warrant_price,
- 'conversion_ratio': conversion_ratio, 'volatility': volatility, 'time_to_expiration': time_to_expiration
- })
-
- except Exception as e:
- flash(f"Đã xảy ra lỗi khi tính toán: {e}", "danger")
- app.logger.error(f"Error in covered_warrant POST: {e}")
-
- return render_template('covered_warrant.html',
- calculation_results=calculation_results,
- form_data=form_data,
- warrant_code=warrant_code,
- warrant_info=warrant_info)
-
-# XÓA các hàm đã tách sang modules.utils.py (detect_candlestick_patterns, calculate_fibonacci_levels, calculate_money_flow, find_double_top_bottom, detect_w_double_bottom, detect_m_double_top, detect_cup_and_handle, plot_candlestick_with_fibo_patterns, get_market_info, get_financial_valuation, calculate_dcf_valuation, calculate_ddm_valuation, calculate_nav, calculate_residual_income, calculate_eva, safe_float, analyze_financial_csv_with_groq)
-
-# --- Hàm kiểm tra và cập nhật file vnindex.csv đủ 3 năm ---
-def ensure_vnindex_csv():
- """
- Đảm bảo file vnindex.csv tồn tại và có đủ dữ liệu 3 năm gần nhất.
- Nếu thiếu hoặc chưa có, sẽ tự động tải dữ liệu mới nhất từ Vnstock và lưu lại.
- """
- csv_path = os.path.join(DATA_DIR, 'vnindex.csv')
- today = datetime.now().date()
- start_date = (today.replace(year=today.year - 3)).strftime('%Y-%m-%d')
- end_date = today.strftime('%Y-%m-%d')
- need_update = False
- if not os.path.exists(csv_path):
- need_update = True
- else:
- try:
- df = pd.read_csv(csv_path)
- if 'time' in df.columns:
- df['time'] = pd.to_datetime(df['time'])
- min_date = df['time'].min().date()
- max_date = df['time'].max().date()
- # Nếu thiếu dữ liệu 3 năm hoặc thiếu ngày mới nhất thì update
- if min_date > today.replace(year=today.year - 3) or max_date < today:
- need_update = True
- # Nếu số dòng < 700 (ít hơn 3 năm giao dịch) thì update
- if len(df) < 700:
- need_update = True
- else:
- need_update = True
- except Exception:
- need_update = True
- if need_update:
- try:
- stock = Vnstock().stock(symbol='VNINDEX', source='VCI')
- df = stock.quote.history(start=start_date, end=end_date, interval='1D')
- if df is not None and not df.empty:
- df.to_csv(csv_path, index=False)
- print(f"[INFO] Đã cập nhật file vnindex.csv với dữ liệu từ {start_date} đến {end_date}")
- else:
- print("[WARN] Không lấy được dữ liệu VNINDEX để cập nhật vnindex.csv!")
- except Exception as e:
- print(f"[ERROR] Lỗi khi cập nhật vnindex.csv: {e}")
-
-@app.route('/')
-def home():
- ensure_vnindex_csv()
- csv_path = os.path.join(DATA_DIR, 'vnindex.csv')
- if not os.path.exists(csv_path):
- return render_template('home.html', error="Không có dữ liệu cho VNINDEX.")
-
- try:
- df = pd.read_csv(csv_path)
- if 'time' in df.columns:
- df['time'] = pd.to_datetime(df['time'])
- else:
- return render_template('home.html', error="File vnindex.csv không hợp lệ.")
- except Exception as e:
- return render_template('home.html', error=f"Lỗi đọc file vnindex.csv: {e}")
-
- if df is None or df.empty:
- return render_template('home.html', error="Không có dữ liệu cho VNINDEX.")
-
- df_analysis = df.tail(250).reset_index(drop=True)
-
- # --- Technical Analysis ---
- fibonacci_levels, _, _ = calculate_fibonacci_levels(df_analysis)
- candlestick_patterns = detect_candlestick_patterns(df_analysis)
- pattern_results = {}
- for pattern_name, pattern_data in candlestick_patterns.items():
- if pattern_data is not None and not pattern_data.where(pattern_data != 0).isnull().all():
- last_occurrence_idx = pattern_data.where(pattern_data != 0).last_valid_index()
- if last_occurrence_idx is not None:
- last_date = df_analysis.loc[last_occurrence_idx, 'time']
- pattern_results[pattern_name.replace('_', ' ').title()] = last_date
-
- # --- News Fetching and Analysis ---
- news_items = fetch_vietstock_news()
- news_analysis = analyze_news_with_groq(news_items)
-
- return render_template(
- 'home.html',
- symbol='VNINDEX',
- vnindex_fibonacci_levels=fibonacci_levels,
- vnindex_pattern_results=pattern_results,
- news_items=news_items,
- news_analysis=news_analysis
- )
-
-@app.route('/stock_analysis', methods=['GET'])
-def stock_analysis():
- symbol = request.args.get('symbol', '').strip().upper()
- # Khởi tạo các biến DataFrame là None để tránh lỗi UnboundLocalError
- bs_year = bs_quarter = is_year = is_quarter = cf_year = ratio_year = ratio_quarter = None
- if not symbol:
- # Trang trống, chỉ hiển thị form nhập mã cổ phiếu
- return render_template('stock_analysis.html', symbol='', error=None, financial_valuation=None, dcf_value=None, ddm_value=None, nav_value=None, residual_income=None, eva=None, multiples_value=None, growth_forecast_value=None, tables={
- 'bs_year': '', 'bs_quarter': '', 'is_year': '', 'is_quarter': '', 'cf_year': '', 'ratio_year': '', 'ratio_quarter': ''
- })
- # Khi đã nhập mã, mới tải dữ liệu
- start = request.args.get('start', '2024-01-01')
- end = request.args.get('end', datetime.now().strftime('%Y-%m-%d'))
- try:
- stock = Vnstock().stock(symbol=symbol, source='VCI')
- # Kiểm tra stock và các thuộc tính trước khi truy cập
- if not stock or not hasattr(stock, 'quote') or not hasattr(stock.quote, 'history'):
- raise Exception('Không lấy được dữ liệu giao dịch cho mã này (stock hoặc quote không khả dụng).')
- df = stock.quote.history(start=start, end=end, interval='1D')
- except Exception as e:
- return render_template('stock_analysis.html', symbol=symbol, error=f"Không lấy được dữ liệu cho mã {symbol}: {e}", financial_valuation={'error': f'Không lấy được dữ liệu cho mã {symbol}: {e}'}, dcf_value=None, ddm_value=None, nav_value=None, residual_income=None, eva=None, multiples_value=None, growth_forecast_value=None, tables={
- 'bs_year': '', 'bs_quarter': '', 'is_year': '', 'is_quarter': '', 'cf_year': '', 'ratio_year': '', 'ratio_quarter': ''
- })
- if df is None or df.empty:
- return render_template('stock_analysis.html', symbol=symbol, error=f"Không có dữ liệu cho mã cổ phiếu {symbol} hoặc khoảng thời gian đã chọn.", financial_valuation={'error': f'Không có dữ liệu cho mã cổ phiếu {symbol} hoặc khoảng thời gian đã chọn.'}, dcf_value=None, ddm_value=None, nav_value=None, residual_income=None, eva=None, multiples_value=None, growth_forecast_value=None, tables={
- 'bs_year': '', 'bs_quarter': '', 'is_year': '', 'is_quarter': '', 'cf_year': '', 'ratio_year': '', 'ratio_quarter': ''
- })
-
- # Lấy dữ liệu tài chính
- tables = {}
- financial_valuation = {}
- try:
- # Kiểm tra stock.finance trước khi lấy dữ liệu tài chính
- if not hasattr(stock, 'finance') or stock.finance is None:
- raise Exception(f"Không lấy được dữ liệu tài chính cho mã {symbol} (finance không khả dụng).")
-
- bs_year = stock.finance.balance_sheet(yearly=True, to_df=True)
- bs_quarter = stock.finance.balance_sheet(yearly=False, to_df=True)
- is_year = stock.finance.income_statement(yearly=True, to_df=True)
- is_quarter = stock.finance.income_statement(yearly=False, to_df=True)
- cf_year = stock.finance.cash_flow(yearly=True, to_df=True)
- ratio_year = stock.finance.ratio(yearly=True, to_df=True)
- ratio_quarter = stock.finance.ratio(yearly=False, to_df=True)
-
- # Chuyển DataFrame thành HTML
- tables = {
- 'bs_year': bs_year.to_html(classes='table table-striped table-hover', border=0) if bs_year is not None else '',
- 'bs_quarter': bs_quarter.to_html(classes='table table-striped table-hover', border=0) if bs_quarter is not None else '',
- 'is_year': is_year.to_html(classes='table table-striped table-hover', border=0) if is_year is not None else '',
- 'is_quarter': is_quarter.to_html(classes='table table-striped table-hover', border=0) if is_quarter is not None else '',
- 'cf_year': cf_year.to_html(classes='table table-striped table-hover', border=0) if cf_year is not None else '',
- 'ratio_year': ratio_year.to_html(classes='table table-striped table-hover', border=0) if ratio_year is not None else '',
- 'ratio_quarter': ratio_quarter.to_html(classes='table table-striped table-hover', border=0) if ratio_quarter is not None else ''
- }
- financial_valuation = get_financial_valuation(stock)
- except Exception as e:
- # Nếu có lỗi khi lấy dữ liệu tài chính, vẫn tiếp tục để hiển thị dữ liệu giao dịch
- financial_error = f"Lỗi khi tải dữ liệu tài chính: {e}"
- print(financial_error) # Log lỗi ra console
- # Đặt các bảng thành rỗng và truyền lỗi vào template
- tables = {key: '' for key in ['bs_year', 'bs_quarter', 'is_year', 'is_quarter', 'cf_year', 'ratio_year', 'ratio_quarter']}
- # Thêm lỗi này vào financial_valuation để hiển thị
- financial_valuation = {'error': financial_error}
-
-
- candlestick_patterns = detect_candlestick_patterns(df)
- # No longer plotting charts on the backend
- # plot_candlestick_with_fibo_patterns(...) is removed
-
- # --- Định giá nâng cao ---
- # Lấy dữ liệu từ các bảng tài chính đã đọc ở trên
- dcf_value = ddm_value = nav_value = residual_income = eva = multiples_value = growth_forecast_value = None
- try:
- # Lấy các chỉ số cần thiết từ các DataFrame đã load
- net_income = None
- equity = None
- dividend = None
- pe = None
- pb = None
- roe = None
- eps = None
- # Lấy dòng dữ liệu mới nhất (năm gần nhất)
- if is_year is not None and not is_year.empty:
- # Ưu tiên các tên cột phổ biến, fallback nếu không có
- for col in ['lợi nhuận sau thuế của cổ đông công ty mẹ (đồng)', 'lợi nhuận sau thuế', 'netincome', 'lnst']:
- if col in is_year.columns:
- net_income = is_year.iloc[0][col]
- break
- if bs_year is not None and not bs_year.empty:
- for col in ['vốn chủ sở hữu', 'equity', 'vcshty', 'vcsht']:
- if col in bs_year.columns:
- equity = bs_year.iloc[0][col]
- break
- if ratio_year is not None and not ratio_year.empty:
- for col in ['tỷ suất cổ tức (%)', 'dividend', 'dividend_yield']:
- if col in ratio_year.columns:
- dividend = ratio_year.iloc[0][col]
- break
- for col in ['p/e', 'pe']:
- if col in ratio_year.columns:
- roe = ratio_year.iloc[0][col]
- break
- for col in ['p/b', 'pb']:
- if col in ratio_year.columns:
- roe = ratio_year.iloc[0][col]
- break
- for col in ['eps (vnd)', 'eps']:
- if col in ratio_year.columns:
- eps = is_year.iloc[0][col]
- break
- # DCF (giả định tăng trưởng 10%, WACC 15%)
- if net_income:
- dcf_value = calculate_dcf_valuation(float(net_income), 0.1, 0.15)
- # DDM
- if dividend and eps:
- ddm_value = calculate_ddm_valuation(float(dividend), 0.1, 0.15)
- # NAV
- if equity:
- nav_value = calculate_nav(float(equity))
- # Residual Income
- if net_income and equity:
- residual_income = calculate_residual_income(float(net_income), float(equity), 0.15)
- # EVA
- if net_income and equity:
- eva = calculate_eva(float(net_income), float(equity), 0, 0.15, 0.1)
- except Exception as e:
- print('Valuation error:', e)
-
- return render_template(
- 'stock_analysis.html',
- symbol=symbol,
- error=None, # Lỗi đã được xử lý ở trên
- financial_valuation=financial_valuation,
- dcf_value=dcf_value,
- ddm_value=ddm_value,
- nav_value=nav_value,
- residual_income=residual_income,
- eva=eva,
- multiples_value=multiples_value,
- growth_forecast_value=growth_forecast_value,
- tables=tables
- )
-
-@app.route('/api/stock_data')
-def get_stock_data():
- symbol = request.args.get('symbol', 'VCB').upper()
- start_date = request.args.get('start_date', (datetime.now() - timedelta(days=365*2)).strftime('%Y-%m-%d'))
- end_date = request.args.get('end_date', datetime.now().strftime('%Y-%m-%d'))
-
- df = None
- if symbol == 'VNINDEX':
- csv_path = os.path.join(DATA_DIR, 'vnindex.csv')
- if os.path.exists(csv_path):
- df = pd.read_csv(csv_path)
- if 'time' in df.columns:
- df['date'] = pd.to_datetime(df['time'])
- df = df.sort_values(by='date').reset_index(drop=True)
- else:
- try:
- stock = Vnstock().stock(symbol=symbol, source='VCI')
- df = stock.quote.history(start=start_date, end=end_date, interval='1D')
- if df is not None and not df.empty:
- df['date'] = pd.to_datetime(df['time'])
- df = df.sort_values(by='date').reset_index(drop=True)
- except Exception as e:
- return jsonify({'error': str(e)}), 500
-
- if df is None or df.empty:
- return jsonify({'error': f'No data found for {symbol}'}), 404
-
- df_analysis = df.tail(250).reset_index(drop=True)
-
- # --- Technical Analysis ---
- fibonacci_levels, _, _ = calculate_fibonacci_levels(df_analysis)
- candlestick_patterns = detect_candlestick_patterns(df_analysis)
- peaks, _ = scipy.signal.find_peaks(df_analysis['close'], distance=5, prominence=df_analysis['close'].std()*0.5)
- troughs, _ = scipy.signal.find_peaks(-df_analysis['close'], distance=5, prominence=df_analysis['close'].std()*0.5)
- w_bottoms = detect_w_double_bottom(df_analysis)
- m_tops = detect_m_double_top(df_analysis)
-
- # --- Prepare Data for JSON Response ---
- chart_data = [{'time': row['date'].strftime('%Y-%m-%d'), 'open': row['open'], 'high': row['high'], 'low': row['low'], 'close': row['close'], 'volume': row['volume']} for _, row in df.iterrows()]
-
- signals = []
- for pattern_name, pattern_data in candlestick_patterns.items():
- if pattern_data is not None and not pattern_data.where(pattern_data != 0).isnull().all():
- signal_dates = df_analysis.loc[pattern_data != 0, 'date']
- for date in signal_dates:
- signals.append({'date': date.strftime('%Y-%m-%d'), 'type': 'pattern', 'name': pattern_name.replace('_', ' ').title(), 'position': 'above' if 'bearish' in pattern_name or 'star' in pattern_name else 'below'})
-
- for peak_idx in peaks:
- date = df_analysis.iloc[peak_idx]['date']
- signals.append({'date': date.strftime('%Y-%m-%d'), 'type': 'peak', 'name': 'Đỉnh', 'position': 'above'})
- for trough_idx in troughs:
- date = df_analysis.iloc[trough_idx]['date']
- signals.append({'date': date.strftime('%Y-%m-%d'), 'type': 'trough', 'name': 'Đáy', 'position': 'below'})
-
- for t1, t2 in w_bottoms:
- signals.append({'date': t2, 'type': 'pattern', 'name': '2 Đáy (W)', 'position': 'below'})
- for t1, t2 in m_tops:
- signals.append({'date': t2, 'type': 'pattern', 'name': '2 Đỉnh (M)', 'position': 'above'})
-
- return jsonify({
- 'chart_data': chart_data,
- 'signals': signals,
- 'fibonacci_levels': fibonacci_levels
- })
-
-# --- Đăng ký blueprint VSA ---
-from modules.vsa import vsa_bp
-app.register_blueprint(vsa_bp)
-
-from modules.home import home_bp
-app.register_blueprint(home_bp)
-
-from modules.filter_stock import filter_stock_bp
-app.register_blueprint(filter_stock_bp)
-
-@app.route('/api/update_financial_data/', methods=['POST'])
-def update_financial_data(symbol):
- """
- API endpoint to force-reload financial data for a given stock symbol
- and save it to CSV files.
- """
- if not symbol:
- return jsonify({'error': 'Mã cổ phiếu không được để trống.'}), 400
-
- try:
- stock = Vnstock().stock(symbol=symbol.upper(), source='VCI')
- if not hasattr(stock, 'finance'):
- return jsonify({'error': f'Không thể tải dữ liệu tài chính cho mã {symbol}.'}), 500
-
- # Define which reports to fetch and where to save them
- reports_to_fetch = {
- 'bs_year': ('balance_sheet', {'yearly': True}),
- 'bs_quarter': ('balance_sheet', {'yearly': False}),
- 'is_year': ('income_statement', {'yearly': True}),
- 'is_quarter': ('income_statement', {'yearly': False}),
- 'cf_year': ('cash_flow', {'yearly': True}),
- 'ratio_year': ('ratio', {'yearly': True}),
- 'ratio_quarter': ('ratio', {'yearly': False}),
- }
-
- # File mapping
- file_mapping = {
- 'bs_year': 'DFbalance_sheet_year.csv',
- 'bs_quarter': 'DFbalance_sheet_quarter.csv',
- 'is_year': 'DFincome_statement_year.csv',
- 'is_quarter': 'DFincome_statement_quarter.csv',
- 'cf_year': 'dfcash_flow_year.csv',
- 'ratio_year': 'dfratio_year.csv',
- 'ratio_quarter': 'dfratio_quarter.csv',
- }
-
- tables = {}
- for key, (func_name, kwargs) in reports_to_fetch.items():
- # Fetch data frame
- df = getattr(stock.finance, func_name)(**kwargs, to_df=True)
-
- if df is not None and not df.empty:
- # Save to CSV
- file_path = os.path.join(DATA_DIR, file_mapping[key])
- df.to_csv(file_path, index=False)
-
- # Convert to HTML for the response
- tables[key] = df.to_html(classes='table table-striped table-hover', border=0)
- else:
- tables[key] = '
Không có dữ liệu.
'
-
- return jsonify(tables)
-
- except Exception as e:
- app.logger.error(f"Error updating financial data for {symbol}: {e}")
- return jsonify({'error': str(e)}), 500
-
-@app.route('/valuation', methods=['GET'])
-def valuation_page():
- return render_template('valuation_strategy.html')
-
-@app.route('/api/data')
-def api_valuation_data():
- symbol = request.args.get('symbol', '').upper()
- market_price = safe_float(request.args.get('market_price', 0))
- fcf = safe_float(request.args.get('fcf', 0))
- growth_rate = safe_float(request.args.get('growth_rate', 0)) / 100
- wacc = safe_float(request.args.get('wacc', 0)) / 100
- dividend = safe_float(request.args.get('dividend', 0))
- r = safe_float(request.args.get('r', 0)) / 100
- g = safe_float(request.args.get('g', 0)) / 100
- book_value = safe_float(request.args.get('book_value', 0))
- eps = safe_float(request.args.get('eps', 0))
- sl = safe_float(request.args.get('sl', 0))
- tp = safe_float(request.args.get('tp', 0))
- p = safe_float(request.args.get('p', 0))
- g_win = safe_float(request.args.get('g_win', 0))
- l = safe_float(request.args.get('l', 0))
- kelly_fraction = safe_float(request.args.get('kelly_fraction', 1))
- # Fetch price data
- try:
- stock = Vnstock().stock(symbol=symbol, source='VCI')
- df = stock.quote.history(start='2024-01-01', end=datetime.now().strftime('%Y-%m-%d'), interval='1D')
- if df is None or df.empty:
- return jsonify({'error': 'No data for symbol'})
- # DCF
- intrinsic_dcf = calculate_dcf_valuation(fcf, growth_rate, wacc) if fcf and growth_rate and wacc else None
- # DDM
- intrinsic_ddm = calculate_ddm_valuation(dividend, g, r) if dividend and r and g else None
- # P/B, P/E
- intrinsic_pb = book_value if book_value else None
- intrinsic_pe = eps if eps else None
- # Chọn intrinsic value ưu tiên DCF > DDM > P/B > P/E
- intrinsic_value = None
- if intrinsic_dcf: intrinsic_value = intrinsic_dcf
- elif intrinsic_ddm: intrinsic_value = intrinsic_ddm
- elif intrinsic_pb: intrinsic_value = intrinsic_pb
- elif intrinsic_pe: intrinsic_value = intrinsic_pe
- # Deviation, margin of safety
- deviation = market_price - intrinsic_value if intrinsic_value else None
- margin_of_safety = round(100 * (intrinsic_value - market_price) / market_price, 2) if intrinsic_value and market_price else None
- # Breakout detection: close > max(close[-20]) and volume spike
- closes = df['close'].values
- volumes = df['volume'].values
- dates = df['time'].astype(str).tolist()
- breakout = False
- breakout_markers = [None]*len(closes)
- for i in range(20, len(closes)):
- if closes[i] > max(closes[i-20:i]) and volumes[i] > np.mean(volumes[i-20:i])*1.5:
- breakout = True
- breakout_markers[i] = closes[i]
- # Kelly sizing
- q = 1 - p if p else 0
- kelly = (p/g_win - q/l) if p and g_win and l else 0
- kelly_position = round(kelly * kelly_fraction, 3) if kelly else 0
- # Intrinsic value band for chart
- intrinsic_series = [intrinsic_value]*len(closes) if intrinsic_value else [None]*len(closes)
- return jsonify({
- 'dates': dates,
- 'prices': closes.tolist(),
- 'intrinsic_series': intrinsic_series,
- 'breakout': breakout,
- 'breakout_markers': breakout_markers,
- 'intrinsic_value': intrinsic_value,
- 'deviation': deviation,
- 'margin_of_safety': margin_of_safety,
- 'kelly_position': kelly_position,
- 'sl': sl,
- 'tp': tp
- })
- except Exception as e:
- return jsonify({'error': str(e)})
-
-@app.route('/api/trade', methods=['POST'])
-def api_save_trade():
- import csv
- symbol = request.form.get('symbol', '').upper()
- size = request.form.get('size', '')
- sl = request.form.get('sl', '')
- tp = request.form.get('tp', '')
- config_path = os.path.join(DATA_DIR, 'trade_configs.csv')
- row = [symbol, size, sl, tp, datetime.now().isoformat()]
- header = ['symbol', 'size', 'sl', 'tp', 'created_at']
- write_header = not os.path.exists(config_path)
- with open(config_path, 'a', newline='') as f:
- writer = csv.writer(f)
- if write_header:
- writer.writerow(header)
- writer.writerow(row)
- return jsonify({'status': 'ok'})
-
-# Configure Google AI with an environment variable
-if "GOOGLE_API_KEY" in os.environ:
- genai.configure(api_key=os.environ["GOOGLE_API_KEY"])
-
-import os
-from groq import Groq
-
-# API key is now set at the top of the file.
-
-client = Groq(api_key=os.environ.get("GROQ_API_KEY"))
-
-
-
-@app.route('/analyze_groq', methods=['POST'])
-def analyze_groq():
- symbol = request.form['symbol']
- user_question = request.form.get('question', None)
- try:
- csv_files = [
- ('RATIO_YEAR', 'dfratio_year.csv'),
- ('RATIO_QUARTER', 'dfratio_quarter.csv'),
- ('BALANCE_SHEET_YEAR', 'DFbalance_sheet_year.csv'),
- ('BALANCE_SHEET_QUARTER', 'DFbalance_sheet_quarter.csv'),
- ('INCOME_STATEMENT_YEAR', 'DFincome_statement_year.csv'),
- ('INCOME_STATEMENT_QUARTER', 'DFincome_statement_quarter.csv'),
- ('CASH_FLOW_YEAR', 'dfcash_flow_year.csv'),
- ]
- csv_content = ''
- for label, fname in csv_files:
- fpath = os.path.join(DATA_DIR, fname)
- if os.path.exists(fpath):
- df = pd.read_csv(fpath)
- symbol_col = None
- for col in ['ticker', 'cp', 'mã', 'stock', 'symbol']:
- if col in df.columns:
- symbol_col = col
- break
- if symbol_col:
- df = df[df[symbol_col].str.upper() == symbol.upper()]
- if not df.empty:
- csv_content += f'{label}\n' + df.to_csv(index=False) + '\n'
- if not csv_content:
- return jsonify({'error': 'Không có dữ liệu tài chính cho mã này trong file CSV.'})
- result = analyze_financial_csv_with_groq(csv_content, user_question)
- except Exception as e:
- result = f"Lỗi khi gọi Groq AI: {e}"
- return jsonify({'result': result})
-
-def safe_float(val, default=0.0):
- try:
- return float(val)
- except (TypeError, ValueError):
- return default
-
-@app.route('/market_overview')
-def market_overview():
- """
- Displays a market overview page with data from various sources,
- analyzed by Groq AI.
- """
- # The analyze_market_data function now fetches all necessary data internally
- # and saves it to JSON files before performing the analysis.
- ai_analysis = analyze_market_data()
-
- # Load the data from JSON files to display on the page
- vietnambiz_data_path = os.path.join(DATA_DIR, 'vietnambiz_data.json')
- usd_index_path = os.path.join(DATA_DIR, 'usd_index.json')
- market_news_path = os.path.join(DATA_DIR, 'market_news.json')
- foreign_trading_path = os.path.join(DATA_DIR, 'foreign_trading_data.json')
-
- vietnambiz_data = {}
- if os.path.exists(vietnambiz_data_path):
- with open(vietnambiz_data_path, 'r', encoding='utf-8') as f:
- vietnambiz_data = json.load(f)
-
- usd_index = {}
- if os.path.exists(usd_index_path):
- with open(usd_index_path, 'r', encoding='utf-8') as f:
- usd_index = json.load(f)
-
- market_news = []
- if os.path.exists(market_news_path):
- with open(market_news_path, 'r', encoding='utf-8') as f:
- market_news = json.load(f)
-
- foreign_trading_data = {}
- if os.path.exists(foreign_trading_path):
- with open(foreign_trading_path, 'r', encoding='utf-8') as f:
- foreign_trading_data = json.load(f)
-
- return render_template(
- 'market_overview.html',
- vietnambiz_data=vietnambiz_data,
- usd_index=usd_index,
- market_news=market_news,
- foreign_trading_data=foreign_trading_data,
- ai_analysis=ai_analysis
- )
-
-if __name__ == '__main__':
- app.run(host='0.0.0.0', port=5000, debug=True)
diff --git a/vn-stock-analysis-app/data/DFbalance_sheet_quarter.csv b/vn-stock-analysis-app/data/DFbalance_sheet_quarter.csv
deleted file mode 100644
index 2f452fca0599f9de461e4c43f23027346a30ccf3..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/data/DFbalance_sheet_quarter.csv
+++ /dev/null
@@ -1,50 +0,0 @@
-ticker,yearReport,lengthReport,TOTAL ASSETS (Bn. VND),Cash and cash equivalents (Bn. VND),Balances with the SBV,Placements with and loans to other credit institutions,"Trading Securities, net",Trading Securities,Provision for diminution in value of Trading Securities,Derivatives and other financial liabilities,"Loans and advances to customers, net",Loans and advances to customers,Less: Provision for losses on loans and advances to customers,Investment Securities,Available-for Sales Securities,Held-to-Maturity Securities,Less: Provision for diminution in value of investment securities,Long-term investments (Bn. VND),Investment in joint ventures,Investments in associate companies,Other long-term assets (Bn. VND),Less: Provision for diminuation in value of long term investments,Fixed assets (Bn. VND),Tangible fixed assets,Intagible fixed assets,Other Assets,TOTAL RESOURCES (Bn. VND),LIABILITIES (Bn. VND),Due to Gov and borrowings from SBV,Deposits and borrowings from other credit institutions,Deposits from customers,_Derivatives and other financial liabilities,"Funds received from Gov, international and other institutions",Convertible bonds/CDs and other valuable papers issued,Other liabilities,OWNER'S EQUITY(Bn.VND),Capital,Reserves,Foreign Currency Difference reserve,Difference upon Assets Revaluation,Undistributed earnings (Bn. VND),Minority Interest,Paid-in capital (Bn. VND),Other Reserves,MINORITY INTERESTS
-VCB,2025,1,2109260616000000,13713225000000,28020997000000,410587576000000,8417843000000,8448472000000,-30629000000,0,1433896493000000,1466390536000000,-32494043000000,176979243000000,108816448000000,68407949000000,-245154000000,2268608000000,0,814686000000,1528922000000,-75000000000,8015849000000,5494709000000,2521140000000,27360782000000,2109260616000000,1904318782000000,125298467000000,222764271000000,1509113389000000,306420000000,2000000,14165059000000,32671174000000,204941834000000,89361977000000,37052974000000,-951532000000,0,79376463000000,0,83556751000000,809837000000,101952000000
-VCB,2024,4,2085873522000000,14268064000000,49340493000000,389951898000000,4876237000000,4908527000000,-32290000000,1314434000000,1418015724000000,1449198899000000,-31183175000000,167383349000000,86799901000000,80829540000000,-246092000000,2228098000000,0,774176000000,1528922000000,-75000000000,8092877000000,5530579000000,2562298000000,30402348000000,2085873522000000,1889664354000000,78237337000000,234533958000000,1514664850000000,0,529000000,24125059000000,38102621000000,196209168000000,61696139000000,37052974000000,-968292000000,0,98332086000000,0,55890913000000,809837000000,96261000000
-VCB,2024,3,1932361908000000,13157642000000,13749051000000,316566672000000,4146191000000,4169191000000,-23000000000,0,1366088234000000,1401151675000000,-35063441000000,170417002000000,83014181000000,87654538000000,-251717000000,2119005000000,0,732508000000,1528922000000,-142425000000,8026692000000,5467042000000,2559650000000,38091419000000,1932361908000000,1742064907000000,36293273000000,217260367000000,1430071020000000,116988000000,2000000,26901267000000,31421990000000,190297001000000,61696139000000,27453485000000,-1031752000000,0,102068366000000,0,55890913000000,809837000000,110763000000
-VCB,2024,2,1905638840000000,12950279000000,35735832000000,316589542000000,2432382000000,2457691000000,-25309000000,510955000000,1334761763000000,1369645310000000,-34883547000000,166831595000000,75795936000000,91200503000000,-164844000000,2086502000000,0,700005000000,1528922000000,-142425000000,7716515000000,5170802000000,2545713000000,26023475000000,1905638840000000,1723936055000000,66987719000000,218637742000000,1374683432000000,0,6000000,26901433000000,36725723000000,181702785000000,61696139000000,27453885000000,-950182000000,0,93397205000000,0,55890913000000,809837000000,105738000000
-VCB,2024,1,1773713584000000,12915997000000,37836619000000,273301211000000,2936121000000,2956813000000,-20692000000,0,1235587240000000,1266477925000000,-30890685000000,174371785000000,91847588000000,82689041000000,-164844000000,2256391000000,0,869671000000,1529145000000,-142425000000,7588707000000,5046502000000,2542205000000,26919513000000,1773713584000000,1600099458000000,4140563000000,171488381000000,1347325611000000,91370000000,1000000,29904958000000,47148574000000,173614126000000,61696139000000,27447103000000,-960392000000,0,85330720000000,0,55890913000000,809837000000,100556000000
-VCB,2023,4,1839223339000000,14504849000000,58104503000000,335616377000000,2495408000000,2511395000000,-15987000000,0,1241675333000000,1270359018000000,-28683685000000,145780067000000,67882480000000,78009747000000,-112160000000,2224945000000,0,838225000000,1529145000000,-142425000000,7708181000000,5115612000000,2592569000000,31113676000000,1839223339000000,1670680015000000,1670837000000,213841980000000,1395694611000000,117752000000,365000000,19912623000000,39441847000000,168543324000000,61696139000000,22562445000000,-983237000000,0,85173987000000,0,55890913000000,809837000000,93990000000
-VCB,2023,3,1731305572000000,13913670000000,29312980000000,320952135000000,1735874000000,1754272000000,-18398000000,0,1150958460000000,1189830550000000,-38872090000000,178723851000000,102650493000000,76486963000000,-413605000000,2205920000000,0,794774000000,1529145000000,-117999000000,7441794000000,4812476000000,2629318000000,26060888000000,1731305572000000,1572062054000000,2517462000000,160234123000000,1349007010000000,899053000000,725000000,15277866000000,44125815000000,159243518000000,61696139000000,22562989000000,-934636000000,0,75814366000000,0,55890913000000,809837000000,104660000000
-VCB,2023,2,1704273133000000,16134106000000,56430924000000,286406768000000,1375964000000,1394711000000,-18747000000,217428000000,1139981404000000,1177728457000000,-37747053000000,156871470000000,65672102000000,91277142000000,-77774000000,2248021000000,0,836875000000,1529145000000,-117999000000,7598470000000,4918188000000,2680282000000,37008578000000,1704273133000000,1552272005000000,2270345000000,160661447000000,1326853836000000,0,1088000000,16323830000000,46161459000000,152001128000000,53130392000000,22564054000000,-886284000000,0,77094650000000,0,47325166000000,809837000000,98316000000
-VCB,2023,1,1846431290000000,15537950000000,139256635000000,334747844000000,1595430000000,1618113000000,-22683000000,224625000000,1142187065000000,1174080964000000,-31893899000000,174526186000000,77663390000000,96941064000000,-78268000000,2221085000000,0,809939000000,1529145000000,-117999000000,7732058000000,5015683000000,2716375000000,28402412000000,1846431290000000,1701772932000000,62167768000000,255334468000000,1281487916000000,0,2186000000,27337890000000,75442704000000,144658358000000,53130392000000,22556829000000,-842553000000,0,69719946000000,0,47325166000000,809837000000,93744000000
-VCB,2022,4,1814188209000000,18348519000000,92557809000000,313591813000000,1499687000000,1543575000000,-43888000000,156515000000,1120286831000000,1145066250000000,-24779419000000,196171212000000,100739669000000,95513376000000,-81833000000,2193516000000,0,782370000000,1529145000000,-117999000000,7985401000000,5170083000000,2815318000000,61396906000000,1814188209000000,1676199767000000,67314816000000,232510850000000,1243468472000000,0,3298000000,25337894000000,107564437000000,137988442000000,53130392000000,18133039000000,-863071000000,0,67499703000000,0,47325166000000,809837000000,88379000000
-VCB,2022,3,1649664327000000,16293080000000,11378539000000,302927159000000,1347762000000,1407066000000,-59304000000,0,1093971420000000,1130144001000000,-36172581000000,177219709000000,87411490000000,89896772000000,-88553000000,2217065000000,0,762920000000,1529145000000,-75000000000,7820512000000,5060100000000,2760412000000,36489081000000,1649664327000000,1521274777000000,93953298000000,179758633000000,1197150901000000,120079000000,4385000000,14698727000000,35588754000000,128389550000000,53130392000000,18122983000000,-741021000000,0,57774989000000,0,47325166000000,809837000000,102207000000
-VCB,2022,2,1601680964000000,15097807000000,28813961000000,255536982000000,3150052000000,3187225000000,-37173000000,0,1066990245000000,1100852163000000,-33861918000000,191407933000000,101203452000000,90293045000000,-88564000000,2380804000000,0,796207000000,1659597000000,-75000000000,8103519000000,5249947000000,2853572000000,30199661000000,1601680964000000,1478691267000000,61020549000000,171676891000000,1195391576000000,19457000000,5485000000,14367033000000,36210276000000,122989697000000,52665213000000,18171942000000,-1782000000,0,52056550000000,0,47325166000000,344658000000,97774000000
-VCB,2022,1,1462748158000000,14868054000000,38888399000000,194999348000000,3297566000000,3372631000000,-75065000000,0,997707933000000,1028899744000000,-31191811000000,171953037000000,75001289000000,97125603000000,-173855000000,2366013000000,0,781416000000,1659597000000,-75000000000,8344847000000,5386077000000,2958770000000,30322961000000,1462748158000000,1345670470000000,36310440000000,81277695000000,1179668881000000,5215000000,6585000000,17380178000000,31021476000000,117077688000000,52665213000000,18173014000000,-9856000000,0,46156897000000,0,47325166000000,344658000000,92420000000
-VCB,2021,4,1414765480000000,18011766000000,22506711000000,225394684000000,2766098000000,2822531000000,-56433000000,303202000000,934774287000000,960749955000000,-25975668000000,170604700000000,71122502000000,99657595000000,-175397000000,2346176000000,0,759715000000,1661461000000,-75000000000,8626043000000,5552624000000,3073419000000,29431813000000,1414765480000000,1303594825000000,9468116000000,109757777000000,1135323913000000,0,7707000000,17387747000000,31649565000000,111170655000000,42428821000000,14977015000000,-4809000000,0,53682515000000,0,37088774000000,344658000000,87113000000
-VCB,2021,3,1385235404000000,13356519000000,60969106000000,204916285000000,3583497000000,3621712000000,-38215000000,259485000000,909910950000000,936342968000000,-26432018000000,157248652000000,55437932000000,102404130000000,-593410000000,2391940000000,0,795615000000,1671325000000,-75000000000,8177405000000,5276646000000,2900759000000,24421565000000,1385235404000000,1275708552000000,8709185000000,106138767000000,1108418876000000,0,8784000000,21378159000000,31054781000000,109526852000000,42428821000000,14919178000000,-4418000000,0,52084482000000,0,37088774000000,344658000000,98789000000
-VCB,2021,2,1304179106000000,13132285000000,23485760000000,185877601000000,3182256000000,3221327000000,-39071000000,0,897798104000000,921948437000000,-24150333000000,147996760000000,49339958000000,99230545000000,-573743000000,2281134000000,0,768311000000,1587823000000,-75000000000,8317891000000,5363219000000,2954672000000,22107315000000,1304179106000000,1199239588000000,9077476000000,84188617000000,1051273660000000,30621000000,9884000000,21398107000000,33261223000000,104939518000000,42518184000000,14916935000000,1708000000,0,47408227000000,0,37088774000000,434021000000,94464000000
-VCB,2021,1,1278965858000000,12277634000000,24008360000000,203604117000000,3906378000000,3906378000000,0,-40138000000,850460935000000,871937942000000,-21477007000000,149886637000000,46062651000000,104464547000000,-640561000000,2261397000000,0,748574000000,1587823000000,-75000000000,8333301000000,5292741000000,3040560000000,24267237000000,1278965858000000,1177958179000000,18538368000000,80758597000000,1025547607000000,63982000000,10984000000,21408307000000,31630334000000,101007679000000,42428821000000,14925755000000,10387000000,0,43552776000000,0,37088774000000,344658000000,89940000000
-VCB,2020,4,1327537012000000,15095394000000,33139373000000,267774393000000,1954061000000,1991861000000,-37800000000,0,820420266000000,839788261000000,-19367995000000,156931097000000,42148831000000,115382544000000,-600278000000,2235538000000,0,722715000000,1587823000000,-75000000000,8540358000000,5412135000000,3128223000000,21446532000000,1327537012000000,1228677618000000,41176995000000,103583833000000,1032113567000000,52031000000,14679000000,21240197000000,30496316000000,98859394000000,42428820000000,12204398000000,22719000000,0,44118433000000,0,37088774000000,344657000000,85024000000
-VCB,2020,3,1188572083000000,11526350000000,24743965000000,174497813000000,2250624000000,2304262000000,-53638000000,0,766794848000000,783757352000000,-16962504000000,175191060000000,37720737000000,138032750000000,-562427000000,2347260000000,0,744134000000,1678126000000,-75000000000,7030365000000,4713049000000,2317316000000,24189798000000,1188572083000000,1094996063000000,6050819000000,52329301000000,981492077000000,33796000000,16402000000,21261806000000,33811862000000,93576020000000,42428820000000,12181294000000,26817000000,0,38840704000000,0,37088774000000,344657000000,98385000000
-VCB,2020,2,1185871662000000,11863544000000,71566703000000,150761888000000,3556653000000,3641851000000,-85198000000,0,754374040000000,770744422000000,-16370382000000,163458200000000,28375703000000,135577712000000,-495215000000,2329091000000,0,725965000000,1678126000000,-75000000000,6723876000000,4409846000000,2314030000000,21237667000000,1185871662000000,1096293202000000,10326096000000,48404237000000,981240858000000,59126000000,17930000000,21294140000000,34950815000000,89578460000000,42428820000000,12183712000000,27265000000,0,34845164000000,0,37088774000000,344657000000,93499000000
-VCB,2020,1,1144270262000000,13051765000000,16569663000000,176540624000000,4119276000000,4251400000000,-132124000000,0,739956924000000,754505321000000,-14548397000000,164724158000000,33877042000000,131308990000000,-461874000000,2487109000000,0,974286000000,1587823000000,-75000000000,6551316000000,4285267000000,2266049000000,20269427000000,1144270262000000,1059198276000000,32453089000000,43642452000000,934048243000000,365859000000,19090000000,21371902000000,27297641000000,85071986000000,42428820000000,12186084000000,18249000000,115528000000,30234825000000,0,37088774000000,344657000000,88480000000
-VCB,2019,4,1223981046000000,13778357000000,34684091000000,248729494000000,1801146000000,1889628000000,-88482000000,98312000000,724290102000000,734706891000000,-10416789000000,167529868000000,35699090000000,132271302000000,-440524000000,2464493000000,0,951670000000,1587823000000,-75000000000,6695785000000,4434514000000,2261271000000,23909398000000,1223981046000000,1138227698000000,92365806000000,73621719000000,928413676000000,0,20431000000,21383932000000,22422134000000,85753348000000,42428820000000,9443008000000,16840000000,113011000000,33669545000000,0,37088774000000,344657000000,82124000000
-VCB,2019,3,1157490007000000,12321593000000,32427277000000,216739273000000,3454865000000,3531164000000,-76299000000,89200000000,693973370000000,708095934000000,-14122564000000,169626712000000,43498998000000,126563376000000,-435662000000,2500312000000,0,979487000000,1587823000000,-66998000000,6322844000000,4146505000000,2176339000000,20034561000000,1157490007000000,1076099113000000,79127286000000,41331112000000,902184481000000,0,22116000000,21320813000000,32113305000000,81390894000000,42428820000000,9441199000000,40434000000,115899000000,29285510000000,0,37088774000000,344657000000,79032000000
-VCB,2019,2,1122654558000000,12011456000000,50092949000000,174170889000000,4986634000000,5053763000000,-67129000000,108943000000,682822870000000,695437925000000,-12615055000000,166995578000000,38707837000000,128735924000000,-448183000000,2480250000000,0,959425000000,1587823000000,-66998000000,6439761000000,4259646000000,2180115000000,22545228000000,1122654558000000,1046257226000000,79605943000000,48792342000000,871229465000000,0,23911000000,21339119000000,25266446000000,76397332000000,42428820000000,9443149000000,69370000000,116817000000,24262720000000,0,37088774000000,344657000000,76456000000
-VCB,2019,1,1073331964000000,10339124000000,39616873000000,169677886000000,4064542000000,4133808000000,-69266000000,95343000000,661260823000000,673021770000000,-11760947000000,155710612000000,33580660000000,122424846000000,-294894000000,2505232000000,0,936812000000,1635418000000,-66998000000,6379677000000,4294994000000,2084683000000,23681852000000,1073331964000000,1000340086000000,79113565000000,39264447000000,838277163000000,0,25339000000,21349085000000,22310487000000,72991878000000,42428831000000,9445732000000,79973000000,118856000000,20845932000000,0,37088774000000,344657000000,72554000000
-VCB,2018,4,1072983278000000,12792045000000,10845701000000,248255997000000,2653746000000,2725051000000,-71305000000,275983000000,622358428000000,632632508000000,-10274080000000,149296310000000,35321139000000,114251030000000,-275859000000,2477138000000,0,908719000000,1635418000000,-66999000000,6527924000000,4459750000000,2068174000000,17500006000000,1072983278000000,1009094189000000,90685315000000,76523514000000,802222944000000,0,25803000000,21461132000000,18175481000000,63889089000000,36322343000000,7264843000000,84402000000,119031000000,20029479000000,0,35977686000000,344657000000,68991000000
-VCB,2018,3,995111405000000,9857302000000,30488651000000,152373565000000,3744047000000,3819597000000,-75550000000,14493000000,616408960000000,627950675000000,-11541715000000,159115162000000,40997646000000,118446566000000,-329050000000,3213660000000,0,889726000000,2349073000000,-25139000000,6140145000000,4204238000000,1935907000000,13755420000000,995111405000000,933584926000000,81234750000000,34175703000000,773406098000000,0,27050000000,21095279000000,23646046000000,61526479000000,36322343000000,7254472000000,108454000000,107274000000,17650348000000,0,35977686000000,344657000000,83588000000
-VCB,2018,2,977681955000000,12662976000000,13341730000000,142502643000000,8289267000000,8359718000000,-70451000000,0,596234984000000,606052672000000,-9817688000000,182871587000000,66150721000000,117011609000000,-290743000000,3289920000000,0,889540000000,2425519000000,-25139000000,5993507000000,4044348000000,1949159000000,12495341000000,977681955000000,919078771000000,71700823000000,39529573000000,764496671000000,375822000000,28274000000,21172268000000,21775340000000,58603184000000,36322343000000,7258817000000,80804000000,105280000000,14737469000000,0,35977686000000,344657000000,98471000000
-VCB,2018,1,1003905794000000,9656186000000,27848779000000,157073981000000,12497227000000,12565202000000,-67975000000,945052000000,568031472000000,577614527000000,-9583055000000,205137354000000,99846994000000,105458038000000,-167678000000,3398372000000,0,887024000000,2536486000000,-25138000000,6077063000000,4128275000000,1948788000000,13240308000000,1003905794000000,947840056000000,131380979000000,40590347000000,730986638000000,0,26758000000,18295001000000,26560333000000,56065738000000,36321931000000,7253682000000,96485000000,83285000000,12217085000000,0,35977686000000,0,93270000000
-VCB,2017,4,1035335383000000,10102861000000,93615618000000,232921600000000,9669032000000,9750243000000,-81211000000,832354000000,535321403000000,543434459000000,-8113056000000,129952271000000,34688298000000,95404020000000,-140047000000,3547232000000,0,866006000000,2705966000000,-24740000000,6162232000000,4197923000000,1964309000000,13210780000000,1035335383000000,981268681000000,171385068000000,66942203000000,708505517000000,0,23153000000,18214504000000,16198236000000,54066702000000,36021931000000,5915999000000,94486000000,83285000000,11861673000000,0,35977686000000,44245000000,89328000000
-VCB,2017,3,898484068000000,9252890000000,26413881000000,181411196000000,8350120000000,8417758000000,-67638000000,729633000000,525869255000000,536059465000000,-10190210000000,124515924000000,34401853000000,90251651000000,-137580000000,3676419000000,0,861349000000,2829418000000,-14348000000,5476421000000,3568549000000,1907872000000,12788329000000,898484068000000,844238267000000,67132292000000,45505277000000,688000458000000,0,11726000000,16257159000000,27331355000000,54245801000000,36022846000000,5932975000000,87527000000,83285000000,11962733000000,0,35977686000000,45160000000,156435000000
-VCB,2017,2,849752472000000,10197518000000,36549788000000,143121876000000,6503770000000,6525271000000,-21501000000,405104000000,513575109000000,524686234000000,-11111125000000,119404934000000,30385221000000,89215495000000,-195782000000,3662384000000,0,847314000000,2829418000000,-14348000000,5538781000000,3637629000000,1901152000000,10793208000000,849752472000000,797642613000000,70661272000000,46511762000000,650128698000000,0,2450000000,13037014000000,17301417000000,52109859000000,36022846000000,5934834000000,87932000000,83285000000,9829079000000,0,35977686000000,45160000000,151883000000
-VCB,2017,1,794278974000000,8866965000000,24076718000000,116799011000000,10471789000000,10497064000000,-25275000000,703058000000,490076491000000,499587470000000,-9510979000000,122949670000000,35087405000000,88060558000000,-198293000000,3646690000000,0,831620000000,2829418000000,-14348000000,5550728000000,3638898000000,1911830000000,11137854000000,794278974000000,743965779000000,50366699000000,57538693000000,609313907000000,0,0,10055615000000,16690865000000,50313195000000,36022846000000,5936667000000,86327000000,83285000000,8036830000000,0,35977686000000,45160000000,147240000000
-VCB,2016,4,788169080000000,9692054000000,17387127000000,151759427000000,4241719000000,4279552000000,-37833000000,230658000000,452683027000000,460808467000000,-8125440000000,130797691000000,51923760000000,79019284000000,-145353000000,3624788000000,0,812911000000,2829418000000,-17541000000,5639389000000,3717053000000,1922336000000,12113200000000,788169080000000,738874229000000,54151413000000,72238405000000,590398105000000,0,0,10286376000000,11799930000000,49294851000000,36022846000000,4938287000000,78166000000,89222000000,8022752000000,0,35977686000000,45160000000,143578000000
-VCB,2016,3,737584857000000,8778862000000,21083502000000,106954719000000,6036729000000,6082974000000,-46245000000,156703000000,437976900000000,447882697000000,-9905797000000,135275015000000,69080510000000,68604787000000,-2410282000000,3594152000000,0,800523000000,2829418000000,-35789000000,5054402000000,3326603000000,1727799000000,12673873000000,737584857000000,690048006000000,41910369000000,57100860000000,573152682000000,0,0,2454363000000,15429732000000,47536851000000,36022846000000,4936094000000,73950000000,89222000000,6263141000000,0,35977686000000,45160000000,151598000000
-VCB,2016,2,679000959000000,8230533000000,19732309000000,99792087000000,8796343000000,8814903000000,-18560000000,108759000000,418764081000000,427215383000000,-8451302000000,105702249000000,40947231000000,67193054000000,-2438036000000,3578774000000,0,785145000000,2829418000000,-35789000000,4870123000000,3207270000000,1662853000000,9425701000000,679000959000000,630424915000000,31670701000000,49476949000000,535648094000000,0,0,2473166000000,11156005000000,48576044000000,32420681000000,4936561000000,78970000000,89222000000,10902265000000,0,26650203000000,45160000000,148345000000
-VCB,2016,1,662324193000000,7642463000000,13420795000000,106095611000000,8233876000000,8247423000000,-13547000000,36020000000,401741175000000,411634016000000,-9892841000000,105917551000000,38713701000000,67904005000000,-700155000000,3568276000000,0,774647000000,2829418000000,-35789000000,4913668000000,3248348000000,1665320000000,10754758000000,662324193000000,615176422000000,21560994000000,65175497000000,513996943000000,0,0,2473254000000,11969734000000,47147771000000,32420681000000,4940756000000,238159000000,89222000000,9314394000000,0,26650203000000,45160000000,144559000000
-VCB,2015,4,673910104000000,8519334000000,19715035000000,130733676000000,9467305000000,9468255000000,-950000000,628000000,378541826000000,387151704000000,-8609878000000,108055236000000,42941175000000,65818278000000,-704217000000,3556747000000,0,763118000000,2829418000000,-35789000000,5039472000000,3385621000000,1653851000000,10280845000000,673910104000000,627771917000000,41479553000000,72135381000000,499764252000000,0,0,2479070000000,11913661000000,45971309000000,32420681000000,4153802000000,79633000000,89222000000,9227971000000,166878000000,26650203000000,45160000000,0
-VCB,2015,3,615575404000000,6947028000000,10442220000000,143811243000000,5082489000000,5087753000000,-5264000000,0,348703951000000,356398009000000,-7694058000000,83593500000000,41388344000000,42510632000000,-305476000000,3599349000000,0,783232000000,2841958000000,-25841000000,4296640000000,2694255000000,1602385000000,9098984000000,615575404000000,571412052000000,8878262000000,55842211000000,487713370000000,291528000000,0,2485532000000,16201149000000,44005436000000,32420681000000,4149996000000,-220865000000,83405000000,7572219000000,157916000000,26650203000000,45160000000,0
-VCB,2015,2,576530046000000,6891011000000,12005944000000,108330132000000,9833377000000,9837575000000,-4198000000,0,332614607000000,340736448000000,-8121841000000,91072071000000,49893460000000,41475805000000,-297194000000,3523767000000,0,691513000000,2858095000000,-25841000000,4334443000000,2724312000000,1610131000000,7924694000000,576530046000000,530700150000000,7792564000000,48571367000000,459626276000000,128933000000,0,2501675000000,12079335000000,45675201000000,32420681000000,4151940000000,-61839000000,83405000000,9081014000000,0,26650203000000,45160000000,154695000000
-VCB,2015,1,539756977000000,6772543000000,17144249000000,95725437000000,11597940000000,11602692000000,-4752000000,0,322490246000000,330781893000000,-8291647000000,68872044000000,51797407000000,17367588000000,-292951000000,3534318000000,0,699062000000,2858095000000,-22839000000,4345342000000,2720989000000,1624353000000,9274858000000,539756977000000,495122503000000,13893896000000,31767599000000,436319798000000,277916000000,0,2508709000000,10354585000000,44483454000000,32420681000000,4151991000000,67026000000,83405000000,7760351000000,151020000000,26650203000000,0,0
-VCB,2014,4,574260449000000,8323365000000,13271762000000,142789201000000,10122143000000,10126592000000,-4449000000,0,316295427000000,323332037000000,-7036610000000,67085423000000,49197775000000,18180227000000,-292579000000,3606811000000,0,760555000000,2869095000000,-22839000000,4445613000000,2811969000000,1633644000000,8320704000000,574260449000000,529931763000000,54093072000000,43237798000000,418929093000000,75278000000,0,2208641000000,11387881000000,44180839000000,32420681000000,3474364000000,127068000000,82306000000,8076420000000,147847000000,26650203000000,45160000000,0
-VCB,2014,3,530226286000000,6077870000000,19483434000000,110227124000000,7247792000000,7249330000000,-1538000000,104937000000,294054204000000,302180749000000,-8126545000000,78443568000000,60303931000000,18413058000000,-273421000000,3053438000000,0,716212000000,2373516000000,-36290000000,3883620000000,2381841000000,1501779000000,7650299000000,530226286000000,486839257000000,45281442000000,38398696000000,387326343000000,0,0,2009024000000,13823752000000,43248451000000,32420728000000,3467782000000,521045000000,82306000000,6756590000000,138578000000,26650203000000,45160000000,0
-VCB,2014,2,504432098000000,6400674000000,10564613000000,95675072000000,3686491000000,3688029000000,-1538000000,136872000000,283795303000000,292544511000000,-8749208000000,87719628000000,69346241000000,18454760000000,-81373000000,3054536000000,0,717309000000,2373517000000,-36290000000,3899399000000,2380845000000,1518554000000,9499510000000,504432098000000,459803891000000,30008203000000,40716640000000,378559234000000,0,0,2010683000000,8509131000000,44492642000000,32420728000000,3467784000000,22981000000,82306000000,8498843000000,0,23174171000000,45160000000,135565000000
-VCB,2014,1,446117972000000,6222082000000,16693296000000,51874242000000,162412000000,163300000000,-888000000,0,271486251000000,279149107000000,-7662856000000,85800534000000,69194546000000,16633583000000,-27595000000,3056686000000,0,719167000000,2373809000000,-36290000000,3954129000000,2446998000000,1507131000000,6868340000000,446117972000000,402005932000000,13125149000000,25397750000000,342997716000000,57757000000,0,2010919000000,18416641000000,43958700000000,32420728000000,3468322000000,532402000000,82306000000,7454942000000,153340000000,23174171000000,45160000000,0
-VCB,2013,4,467459005000000,6059670000000,24847774000000,89779154000000,195270000000,196158000000,-888000000,136725000000,267853577000000,274314124000000,-6460547000000,64894223000000,47127209000000,17796291000000,-29277000000,3058350000000,707078000000,14986000000,2373524000000,-37238000000,4085673000000,2556034000000,1529639000000,6548589000000,467459005000000,424231549000000,32622411000000,43951083000000,330305918000000,0,0,2013597000000,15338540000000,43077880000000,32420728000000,2821913000000,121990000000,82238000000,7631011000000,149576000000,23174171000000,45160000000,0
-VCB,2013,3,439657246000000,5894863000000,23079579000000,79181704000000,49248000000,50437000000,-1189000000,0,243529996000000,250687130000000,-7157134000000,73948362000000,60294420000000,13908760000000,-254818000000,3059243000000,0,727737000000,2368744000000,-37238000000,3338189000000,1925251000000,1412938000000,7576062000000,439657246000000,397996452000000,24410626000000,40132999000000,316188876000000,391774000000,0,2016411000000,14855766000000,41514360000000,32420728000000,2811938000000,-136282000000,71001000000,6346975000000,146434000000,23174171000000,45160000000,0
-VCB,2013,2,436470622000000,5231973000000,26279109000000,100030235000000,116353000000,117542000000,-1189000000,0,231636362000000,237612613000000,-5976251000000,60880619000000,52816513000000,8318924000000,-254818000000,3066704000000,0,735198000000,2368744000000,-37238000000,3462996000000,2163942000000,1299054000000,5766271000000,436470622000000,395701250000000,27209948000000,42490878000000,304811711000000,227694000000,0,2020344000000,18940675000000,40602641000000,32420728000000,2811938000000,-7768000000,71001000000,5306742000000,0,23174171000000,45160000000,166731000000
-VCB,2013,1,420480386000000,5029253000000,17381212000000,70351250000000,141737000000,142100000000,-363000000,0,233165635000000,239174418000000,-6008783000000,79487279000000,74148142000000,5650161000000,-311024000000,3067181000000,0,735675000000,2368744000000,-37238000000,3519041000000,2188043000000,1330998000000,8337798000000,420480386000000,377841680000000,12654503000000,37774788000000,297758690000000,349834000000,0,2020675000000,27283190000000,42482022000000,32420728000000,2793880000000,-59009000000,71003000000,7255420000000,156684000000,23174171000000,45160000000,0
diff --git a/vn-stock-analysis-app/data/DFbalance_sheet_year.csv b/vn-stock-analysis-app/data/DFbalance_sheet_year.csv
deleted file mode 100644
index 2f452fca0599f9de461e4c43f23027346a30ccf3..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/data/DFbalance_sheet_year.csv
+++ /dev/null
@@ -1,50 +0,0 @@
-ticker,yearReport,lengthReport,TOTAL ASSETS (Bn. VND),Cash and cash equivalents (Bn. VND),Balances with the SBV,Placements with and loans to other credit institutions,"Trading Securities, net",Trading Securities,Provision for diminution in value of Trading Securities,Derivatives and other financial liabilities,"Loans and advances to customers, net",Loans and advances to customers,Less: Provision for losses on loans and advances to customers,Investment Securities,Available-for Sales Securities,Held-to-Maturity Securities,Less: Provision for diminution in value of investment securities,Long-term investments (Bn. VND),Investment in joint ventures,Investments in associate companies,Other long-term assets (Bn. VND),Less: Provision for diminuation in value of long term investments,Fixed assets (Bn. VND),Tangible fixed assets,Intagible fixed assets,Other Assets,TOTAL RESOURCES (Bn. VND),LIABILITIES (Bn. VND),Due to Gov and borrowings from SBV,Deposits and borrowings from other credit institutions,Deposits from customers,_Derivatives and other financial liabilities,"Funds received from Gov, international and other institutions",Convertible bonds/CDs and other valuable papers issued,Other liabilities,OWNER'S EQUITY(Bn.VND),Capital,Reserves,Foreign Currency Difference reserve,Difference upon Assets Revaluation,Undistributed earnings (Bn. VND),Minority Interest,Paid-in capital (Bn. VND),Other Reserves,MINORITY INTERESTS
-VCB,2025,1,2109260616000000,13713225000000,28020997000000,410587576000000,8417843000000,8448472000000,-30629000000,0,1433896493000000,1466390536000000,-32494043000000,176979243000000,108816448000000,68407949000000,-245154000000,2268608000000,0,814686000000,1528922000000,-75000000000,8015849000000,5494709000000,2521140000000,27360782000000,2109260616000000,1904318782000000,125298467000000,222764271000000,1509113389000000,306420000000,2000000,14165059000000,32671174000000,204941834000000,89361977000000,37052974000000,-951532000000,0,79376463000000,0,83556751000000,809837000000,101952000000
-VCB,2024,4,2085873522000000,14268064000000,49340493000000,389951898000000,4876237000000,4908527000000,-32290000000,1314434000000,1418015724000000,1449198899000000,-31183175000000,167383349000000,86799901000000,80829540000000,-246092000000,2228098000000,0,774176000000,1528922000000,-75000000000,8092877000000,5530579000000,2562298000000,30402348000000,2085873522000000,1889664354000000,78237337000000,234533958000000,1514664850000000,0,529000000,24125059000000,38102621000000,196209168000000,61696139000000,37052974000000,-968292000000,0,98332086000000,0,55890913000000,809837000000,96261000000
-VCB,2024,3,1932361908000000,13157642000000,13749051000000,316566672000000,4146191000000,4169191000000,-23000000000,0,1366088234000000,1401151675000000,-35063441000000,170417002000000,83014181000000,87654538000000,-251717000000,2119005000000,0,732508000000,1528922000000,-142425000000,8026692000000,5467042000000,2559650000000,38091419000000,1932361908000000,1742064907000000,36293273000000,217260367000000,1430071020000000,116988000000,2000000,26901267000000,31421990000000,190297001000000,61696139000000,27453485000000,-1031752000000,0,102068366000000,0,55890913000000,809837000000,110763000000
-VCB,2024,2,1905638840000000,12950279000000,35735832000000,316589542000000,2432382000000,2457691000000,-25309000000,510955000000,1334761763000000,1369645310000000,-34883547000000,166831595000000,75795936000000,91200503000000,-164844000000,2086502000000,0,700005000000,1528922000000,-142425000000,7716515000000,5170802000000,2545713000000,26023475000000,1905638840000000,1723936055000000,66987719000000,218637742000000,1374683432000000,0,6000000,26901433000000,36725723000000,181702785000000,61696139000000,27453885000000,-950182000000,0,93397205000000,0,55890913000000,809837000000,105738000000
-VCB,2024,1,1773713584000000,12915997000000,37836619000000,273301211000000,2936121000000,2956813000000,-20692000000,0,1235587240000000,1266477925000000,-30890685000000,174371785000000,91847588000000,82689041000000,-164844000000,2256391000000,0,869671000000,1529145000000,-142425000000,7588707000000,5046502000000,2542205000000,26919513000000,1773713584000000,1600099458000000,4140563000000,171488381000000,1347325611000000,91370000000,1000000,29904958000000,47148574000000,173614126000000,61696139000000,27447103000000,-960392000000,0,85330720000000,0,55890913000000,809837000000,100556000000
-VCB,2023,4,1839223339000000,14504849000000,58104503000000,335616377000000,2495408000000,2511395000000,-15987000000,0,1241675333000000,1270359018000000,-28683685000000,145780067000000,67882480000000,78009747000000,-112160000000,2224945000000,0,838225000000,1529145000000,-142425000000,7708181000000,5115612000000,2592569000000,31113676000000,1839223339000000,1670680015000000,1670837000000,213841980000000,1395694611000000,117752000000,365000000,19912623000000,39441847000000,168543324000000,61696139000000,22562445000000,-983237000000,0,85173987000000,0,55890913000000,809837000000,93990000000
-VCB,2023,3,1731305572000000,13913670000000,29312980000000,320952135000000,1735874000000,1754272000000,-18398000000,0,1150958460000000,1189830550000000,-38872090000000,178723851000000,102650493000000,76486963000000,-413605000000,2205920000000,0,794774000000,1529145000000,-117999000000,7441794000000,4812476000000,2629318000000,26060888000000,1731305572000000,1572062054000000,2517462000000,160234123000000,1349007010000000,899053000000,725000000,15277866000000,44125815000000,159243518000000,61696139000000,22562989000000,-934636000000,0,75814366000000,0,55890913000000,809837000000,104660000000
-VCB,2023,2,1704273133000000,16134106000000,56430924000000,286406768000000,1375964000000,1394711000000,-18747000000,217428000000,1139981404000000,1177728457000000,-37747053000000,156871470000000,65672102000000,91277142000000,-77774000000,2248021000000,0,836875000000,1529145000000,-117999000000,7598470000000,4918188000000,2680282000000,37008578000000,1704273133000000,1552272005000000,2270345000000,160661447000000,1326853836000000,0,1088000000,16323830000000,46161459000000,152001128000000,53130392000000,22564054000000,-886284000000,0,77094650000000,0,47325166000000,809837000000,98316000000
-VCB,2023,1,1846431290000000,15537950000000,139256635000000,334747844000000,1595430000000,1618113000000,-22683000000,224625000000,1142187065000000,1174080964000000,-31893899000000,174526186000000,77663390000000,96941064000000,-78268000000,2221085000000,0,809939000000,1529145000000,-117999000000,7732058000000,5015683000000,2716375000000,28402412000000,1846431290000000,1701772932000000,62167768000000,255334468000000,1281487916000000,0,2186000000,27337890000000,75442704000000,144658358000000,53130392000000,22556829000000,-842553000000,0,69719946000000,0,47325166000000,809837000000,93744000000
-VCB,2022,4,1814188209000000,18348519000000,92557809000000,313591813000000,1499687000000,1543575000000,-43888000000,156515000000,1120286831000000,1145066250000000,-24779419000000,196171212000000,100739669000000,95513376000000,-81833000000,2193516000000,0,782370000000,1529145000000,-117999000000,7985401000000,5170083000000,2815318000000,61396906000000,1814188209000000,1676199767000000,67314816000000,232510850000000,1243468472000000,0,3298000000,25337894000000,107564437000000,137988442000000,53130392000000,18133039000000,-863071000000,0,67499703000000,0,47325166000000,809837000000,88379000000
-VCB,2022,3,1649664327000000,16293080000000,11378539000000,302927159000000,1347762000000,1407066000000,-59304000000,0,1093971420000000,1130144001000000,-36172581000000,177219709000000,87411490000000,89896772000000,-88553000000,2217065000000,0,762920000000,1529145000000,-75000000000,7820512000000,5060100000000,2760412000000,36489081000000,1649664327000000,1521274777000000,93953298000000,179758633000000,1197150901000000,120079000000,4385000000,14698727000000,35588754000000,128389550000000,53130392000000,18122983000000,-741021000000,0,57774989000000,0,47325166000000,809837000000,102207000000
-VCB,2022,2,1601680964000000,15097807000000,28813961000000,255536982000000,3150052000000,3187225000000,-37173000000,0,1066990245000000,1100852163000000,-33861918000000,191407933000000,101203452000000,90293045000000,-88564000000,2380804000000,0,796207000000,1659597000000,-75000000000,8103519000000,5249947000000,2853572000000,30199661000000,1601680964000000,1478691267000000,61020549000000,171676891000000,1195391576000000,19457000000,5485000000,14367033000000,36210276000000,122989697000000,52665213000000,18171942000000,-1782000000,0,52056550000000,0,47325166000000,344658000000,97774000000
-VCB,2022,1,1462748158000000,14868054000000,38888399000000,194999348000000,3297566000000,3372631000000,-75065000000,0,997707933000000,1028899744000000,-31191811000000,171953037000000,75001289000000,97125603000000,-173855000000,2366013000000,0,781416000000,1659597000000,-75000000000,8344847000000,5386077000000,2958770000000,30322961000000,1462748158000000,1345670470000000,36310440000000,81277695000000,1179668881000000,5215000000,6585000000,17380178000000,31021476000000,117077688000000,52665213000000,18173014000000,-9856000000,0,46156897000000,0,47325166000000,344658000000,92420000000
-VCB,2021,4,1414765480000000,18011766000000,22506711000000,225394684000000,2766098000000,2822531000000,-56433000000,303202000000,934774287000000,960749955000000,-25975668000000,170604700000000,71122502000000,99657595000000,-175397000000,2346176000000,0,759715000000,1661461000000,-75000000000,8626043000000,5552624000000,3073419000000,29431813000000,1414765480000000,1303594825000000,9468116000000,109757777000000,1135323913000000,0,7707000000,17387747000000,31649565000000,111170655000000,42428821000000,14977015000000,-4809000000,0,53682515000000,0,37088774000000,344658000000,87113000000
-VCB,2021,3,1385235404000000,13356519000000,60969106000000,204916285000000,3583497000000,3621712000000,-38215000000,259485000000,909910950000000,936342968000000,-26432018000000,157248652000000,55437932000000,102404130000000,-593410000000,2391940000000,0,795615000000,1671325000000,-75000000000,8177405000000,5276646000000,2900759000000,24421565000000,1385235404000000,1275708552000000,8709185000000,106138767000000,1108418876000000,0,8784000000,21378159000000,31054781000000,109526852000000,42428821000000,14919178000000,-4418000000,0,52084482000000,0,37088774000000,344658000000,98789000000
-VCB,2021,2,1304179106000000,13132285000000,23485760000000,185877601000000,3182256000000,3221327000000,-39071000000,0,897798104000000,921948437000000,-24150333000000,147996760000000,49339958000000,99230545000000,-573743000000,2281134000000,0,768311000000,1587823000000,-75000000000,8317891000000,5363219000000,2954672000000,22107315000000,1304179106000000,1199239588000000,9077476000000,84188617000000,1051273660000000,30621000000,9884000000,21398107000000,33261223000000,104939518000000,42518184000000,14916935000000,1708000000,0,47408227000000,0,37088774000000,434021000000,94464000000
-VCB,2021,1,1278965858000000,12277634000000,24008360000000,203604117000000,3906378000000,3906378000000,0,-40138000000,850460935000000,871937942000000,-21477007000000,149886637000000,46062651000000,104464547000000,-640561000000,2261397000000,0,748574000000,1587823000000,-75000000000,8333301000000,5292741000000,3040560000000,24267237000000,1278965858000000,1177958179000000,18538368000000,80758597000000,1025547607000000,63982000000,10984000000,21408307000000,31630334000000,101007679000000,42428821000000,14925755000000,10387000000,0,43552776000000,0,37088774000000,344658000000,89940000000
-VCB,2020,4,1327537012000000,15095394000000,33139373000000,267774393000000,1954061000000,1991861000000,-37800000000,0,820420266000000,839788261000000,-19367995000000,156931097000000,42148831000000,115382544000000,-600278000000,2235538000000,0,722715000000,1587823000000,-75000000000,8540358000000,5412135000000,3128223000000,21446532000000,1327537012000000,1228677618000000,41176995000000,103583833000000,1032113567000000,52031000000,14679000000,21240197000000,30496316000000,98859394000000,42428820000000,12204398000000,22719000000,0,44118433000000,0,37088774000000,344657000000,85024000000
-VCB,2020,3,1188572083000000,11526350000000,24743965000000,174497813000000,2250624000000,2304262000000,-53638000000,0,766794848000000,783757352000000,-16962504000000,175191060000000,37720737000000,138032750000000,-562427000000,2347260000000,0,744134000000,1678126000000,-75000000000,7030365000000,4713049000000,2317316000000,24189798000000,1188572083000000,1094996063000000,6050819000000,52329301000000,981492077000000,33796000000,16402000000,21261806000000,33811862000000,93576020000000,42428820000000,12181294000000,26817000000,0,38840704000000,0,37088774000000,344657000000,98385000000
-VCB,2020,2,1185871662000000,11863544000000,71566703000000,150761888000000,3556653000000,3641851000000,-85198000000,0,754374040000000,770744422000000,-16370382000000,163458200000000,28375703000000,135577712000000,-495215000000,2329091000000,0,725965000000,1678126000000,-75000000000,6723876000000,4409846000000,2314030000000,21237667000000,1185871662000000,1096293202000000,10326096000000,48404237000000,981240858000000,59126000000,17930000000,21294140000000,34950815000000,89578460000000,42428820000000,12183712000000,27265000000,0,34845164000000,0,37088774000000,344657000000,93499000000
-VCB,2020,1,1144270262000000,13051765000000,16569663000000,176540624000000,4119276000000,4251400000000,-132124000000,0,739956924000000,754505321000000,-14548397000000,164724158000000,33877042000000,131308990000000,-461874000000,2487109000000,0,974286000000,1587823000000,-75000000000,6551316000000,4285267000000,2266049000000,20269427000000,1144270262000000,1059198276000000,32453089000000,43642452000000,934048243000000,365859000000,19090000000,21371902000000,27297641000000,85071986000000,42428820000000,12186084000000,18249000000,115528000000,30234825000000,0,37088774000000,344657000000,88480000000
-VCB,2019,4,1223981046000000,13778357000000,34684091000000,248729494000000,1801146000000,1889628000000,-88482000000,98312000000,724290102000000,734706891000000,-10416789000000,167529868000000,35699090000000,132271302000000,-440524000000,2464493000000,0,951670000000,1587823000000,-75000000000,6695785000000,4434514000000,2261271000000,23909398000000,1223981046000000,1138227698000000,92365806000000,73621719000000,928413676000000,0,20431000000,21383932000000,22422134000000,85753348000000,42428820000000,9443008000000,16840000000,113011000000,33669545000000,0,37088774000000,344657000000,82124000000
-VCB,2019,3,1157490007000000,12321593000000,32427277000000,216739273000000,3454865000000,3531164000000,-76299000000,89200000000,693973370000000,708095934000000,-14122564000000,169626712000000,43498998000000,126563376000000,-435662000000,2500312000000,0,979487000000,1587823000000,-66998000000,6322844000000,4146505000000,2176339000000,20034561000000,1157490007000000,1076099113000000,79127286000000,41331112000000,902184481000000,0,22116000000,21320813000000,32113305000000,81390894000000,42428820000000,9441199000000,40434000000,115899000000,29285510000000,0,37088774000000,344657000000,79032000000
-VCB,2019,2,1122654558000000,12011456000000,50092949000000,174170889000000,4986634000000,5053763000000,-67129000000,108943000000,682822870000000,695437925000000,-12615055000000,166995578000000,38707837000000,128735924000000,-448183000000,2480250000000,0,959425000000,1587823000000,-66998000000,6439761000000,4259646000000,2180115000000,22545228000000,1122654558000000,1046257226000000,79605943000000,48792342000000,871229465000000,0,23911000000,21339119000000,25266446000000,76397332000000,42428820000000,9443149000000,69370000000,116817000000,24262720000000,0,37088774000000,344657000000,76456000000
-VCB,2019,1,1073331964000000,10339124000000,39616873000000,169677886000000,4064542000000,4133808000000,-69266000000,95343000000,661260823000000,673021770000000,-11760947000000,155710612000000,33580660000000,122424846000000,-294894000000,2505232000000,0,936812000000,1635418000000,-66998000000,6379677000000,4294994000000,2084683000000,23681852000000,1073331964000000,1000340086000000,79113565000000,39264447000000,838277163000000,0,25339000000,21349085000000,22310487000000,72991878000000,42428831000000,9445732000000,79973000000,118856000000,20845932000000,0,37088774000000,344657000000,72554000000
-VCB,2018,4,1072983278000000,12792045000000,10845701000000,248255997000000,2653746000000,2725051000000,-71305000000,275983000000,622358428000000,632632508000000,-10274080000000,149296310000000,35321139000000,114251030000000,-275859000000,2477138000000,0,908719000000,1635418000000,-66999000000,6527924000000,4459750000000,2068174000000,17500006000000,1072983278000000,1009094189000000,90685315000000,76523514000000,802222944000000,0,25803000000,21461132000000,18175481000000,63889089000000,36322343000000,7264843000000,84402000000,119031000000,20029479000000,0,35977686000000,344657000000,68991000000
-VCB,2018,3,995111405000000,9857302000000,30488651000000,152373565000000,3744047000000,3819597000000,-75550000000,14493000000,616408960000000,627950675000000,-11541715000000,159115162000000,40997646000000,118446566000000,-329050000000,3213660000000,0,889726000000,2349073000000,-25139000000,6140145000000,4204238000000,1935907000000,13755420000000,995111405000000,933584926000000,81234750000000,34175703000000,773406098000000,0,27050000000,21095279000000,23646046000000,61526479000000,36322343000000,7254472000000,108454000000,107274000000,17650348000000,0,35977686000000,344657000000,83588000000
-VCB,2018,2,977681955000000,12662976000000,13341730000000,142502643000000,8289267000000,8359718000000,-70451000000,0,596234984000000,606052672000000,-9817688000000,182871587000000,66150721000000,117011609000000,-290743000000,3289920000000,0,889540000000,2425519000000,-25139000000,5993507000000,4044348000000,1949159000000,12495341000000,977681955000000,919078771000000,71700823000000,39529573000000,764496671000000,375822000000,28274000000,21172268000000,21775340000000,58603184000000,36322343000000,7258817000000,80804000000,105280000000,14737469000000,0,35977686000000,344657000000,98471000000
-VCB,2018,1,1003905794000000,9656186000000,27848779000000,157073981000000,12497227000000,12565202000000,-67975000000,945052000000,568031472000000,577614527000000,-9583055000000,205137354000000,99846994000000,105458038000000,-167678000000,3398372000000,0,887024000000,2536486000000,-25138000000,6077063000000,4128275000000,1948788000000,13240308000000,1003905794000000,947840056000000,131380979000000,40590347000000,730986638000000,0,26758000000,18295001000000,26560333000000,56065738000000,36321931000000,7253682000000,96485000000,83285000000,12217085000000,0,35977686000000,0,93270000000
-VCB,2017,4,1035335383000000,10102861000000,93615618000000,232921600000000,9669032000000,9750243000000,-81211000000,832354000000,535321403000000,543434459000000,-8113056000000,129952271000000,34688298000000,95404020000000,-140047000000,3547232000000,0,866006000000,2705966000000,-24740000000,6162232000000,4197923000000,1964309000000,13210780000000,1035335383000000,981268681000000,171385068000000,66942203000000,708505517000000,0,23153000000,18214504000000,16198236000000,54066702000000,36021931000000,5915999000000,94486000000,83285000000,11861673000000,0,35977686000000,44245000000,89328000000
-VCB,2017,3,898484068000000,9252890000000,26413881000000,181411196000000,8350120000000,8417758000000,-67638000000,729633000000,525869255000000,536059465000000,-10190210000000,124515924000000,34401853000000,90251651000000,-137580000000,3676419000000,0,861349000000,2829418000000,-14348000000,5476421000000,3568549000000,1907872000000,12788329000000,898484068000000,844238267000000,67132292000000,45505277000000,688000458000000,0,11726000000,16257159000000,27331355000000,54245801000000,36022846000000,5932975000000,87527000000,83285000000,11962733000000,0,35977686000000,45160000000,156435000000
-VCB,2017,2,849752472000000,10197518000000,36549788000000,143121876000000,6503770000000,6525271000000,-21501000000,405104000000,513575109000000,524686234000000,-11111125000000,119404934000000,30385221000000,89215495000000,-195782000000,3662384000000,0,847314000000,2829418000000,-14348000000,5538781000000,3637629000000,1901152000000,10793208000000,849752472000000,797642613000000,70661272000000,46511762000000,650128698000000,0,2450000000,13037014000000,17301417000000,52109859000000,36022846000000,5934834000000,87932000000,83285000000,9829079000000,0,35977686000000,45160000000,151883000000
-VCB,2017,1,794278974000000,8866965000000,24076718000000,116799011000000,10471789000000,10497064000000,-25275000000,703058000000,490076491000000,499587470000000,-9510979000000,122949670000000,35087405000000,88060558000000,-198293000000,3646690000000,0,831620000000,2829418000000,-14348000000,5550728000000,3638898000000,1911830000000,11137854000000,794278974000000,743965779000000,50366699000000,57538693000000,609313907000000,0,0,10055615000000,16690865000000,50313195000000,36022846000000,5936667000000,86327000000,83285000000,8036830000000,0,35977686000000,45160000000,147240000000
-VCB,2016,4,788169080000000,9692054000000,17387127000000,151759427000000,4241719000000,4279552000000,-37833000000,230658000000,452683027000000,460808467000000,-8125440000000,130797691000000,51923760000000,79019284000000,-145353000000,3624788000000,0,812911000000,2829418000000,-17541000000,5639389000000,3717053000000,1922336000000,12113200000000,788169080000000,738874229000000,54151413000000,72238405000000,590398105000000,0,0,10286376000000,11799930000000,49294851000000,36022846000000,4938287000000,78166000000,89222000000,8022752000000,0,35977686000000,45160000000,143578000000
-VCB,2016,3,737584857000000,8778862000000,21083502000000,106954719000000,6036729000000,6082974000000,-46245000000,156703000000,437976900000000,447882697000000,-9905797000000,135275015000000,69080510000000,68604787000000,-2410282000000,3594152000000,0,800523000000,2829418000000,-35789000000,5054402000000,3326603000000,1727799000000,12673873000000,737584857000000,690048006000000,41910369000000,57100860000000,573152682000000,0,0,2454363000000,15429732000000,47536851000000,36022846000000,4936094000000,73950000000,89222000000,6263141000000,0,35977686000000,45160000000,151598000000
-VCB,2016,2,679000959000000,8230533000000,19732309000000,99792087000000,8796343000000,8814903000000,-18560000000,108759000000,418764081000000,427215383000000,-8451302000000,105702249000000,40947231000000,67193054000000,-2438036000000,3578774000000,0,785145000000,2829418000000,-35789000000,4870123000000,3207270000000,1662853000000,9425701000000,679000959000000,630424915000000,31670701000000,49476949000000,535648094000000,0,0,2473166000000,11156005000000,48576044000000,32420681000000,4936561000000,78970000000,89222000000,10902265000000,0,26650203000000,45160000000,148345000000
-VCB,2016,1,662324193000000,7642463000000,13420795000000,106095611000000,8233876000000,8247423000000,-13547000000,36020000000,401741175000000,411634016000000,-9892841000000,105917551000000,38713701000000,67904005000000,-700155000000,3568276000000,0,774647000000,2829418000000,-35789000000,4913668000000,3248348000000,1665320000000,10754758000000,662324193000000,615176422000000,21560994000000,65175497000000,513996943000000,0,0,2473254000000,11969734000000,47147771000000,32420681000000,4940756000000,238159000000,89222000000,9314394000000,0,26650203000000,45160000000,144559000000
-VCB,2015,4,673910104000000,8519334000000,19715035000000,130733676000000,9467305000000,9468255000000,-950000000,628000000,378541826000000,387151704000000,-8609878000000,108055236000000,42941175000000,65818278000000,-704217000000,3556747000000,0,763118000000,2829418000000,-35789000000,5039472000000,3385621000000,1653851000000,10280845000000,673910104000000,627771917000000,41479553000000,72135381000000,499764252000000,0,0,2479070000000,11913661000000,45971309000000,32420681000000,4153802000000,79633000000,89222000000,9227971000000,166878000000,26650203000000,45160000000,0
-VCB,2015,3,615575404000000,6947028000000,10442220000000,143811243000000,5082489000000,5087753000000,-5264000000,0,348703951000000,356398009000000,-7694058000000,83593500000000,41388344000000,42510632000000,-305476000000,3599349000000,0,783232000000,2841958000000,-25841000000,4296640000000,2694255000000,1602385000000,9098984000000,615575404000000,571412052000000,8878262000000,55842211000000,487713370000000,291528000000,0,2485532000000,16201149000000,44005436000000,32420681000000,4149996000000,-220865000000,83405000000,7572219000000,157916000000,26650203000000,45160000000,0
-VCB,2015,2,576530046000000,6891011000000,12005944000000,108330132000000,9833377000000,9837575000000,-4198000000,0,332614607000000,340736448000000,-8121841000000,91072071000000,49893460000000,41475805000000,-297194000000,3523767000000,0,691513000000,2858095000000,-25841000000,4334443000000,2724312000000,1610131000000,7924694000000,576530046000000,530700150000000,7792564000000,48571367000000,459626276000000,128933000000,0,2501675000000,12079335000000,45675201000000,32420681000000,4151940000000,-61839000000,83405000000,9081014000000,0,26650203000000,45160000000,154695000000
-VCB,2015,1,539756977000000,6772543000000,17144249000000,95725437000000,11597940000000,11602692000000,-4752000000,0,322490246000000,330781893000000,-8291647000000,68872044000000,51797407000000,17367588000000,-292951000000,3534318000000,0,699062000000,2858095000000,-22839000000,4345342000000,2720989000000,1624353000000,9274858000000,539756977000000,495122503000000,13893896000000,31767599000000,436319798000000,277916000000,0,2508709000000,10354585000000,44483454000000,32420681000000,4151991000000,67026000000,83405000000,7760351000000,151020000000,26650203000000,0,0
-VCB,2014,4,574260449000000,8323365000000,13271762000000,142789201000000,10122143000000,10126592000000,-4449000000,0,316295427000000,323332037000000,-7036610000000,67085423000000,49197775000000,18180227000000,-292579000000,3606811000000,0,760555000000,2869095000000,-22839000000,4445613000000,2811969000000,1633644000000,8320704000000,574260449000000,529931763000000,54093072000000,43237798000000,418929093000000,75278000000,0,2208641000000,11387881000000,44180839000000,32420681000000,3474364000000,127068000000,82306000000,8076420000000,147847000000,26650203000000,45160000000,0
-VCB,2014,3,530226286000000,6077870000000,19483434000000,110227124000000,7247792000000,7249330000000,-1538000000,104937000000,294054204000000,302180749000000,-8126545000000,78443568000000,60303931000000,18413058000000,-273421000000,3053438000000,0,716212000000,2373516000000,-36290000000,3883620000000,2381841000000,1501779000000,7650299000000,530226286000000,486839257000000,45281442000000,38398696000000,387326343000000,0,0,2009024000000,13823752000000,43248451000000,32420728000000,3467782000000,521045000000,82306000000,6756590000000,138578000000,26650203000000,45160000000,0
-VCB,2014,2,504432098000000,6400674000000,10564613000000,95675072000000,3686491000000,3688029000000,-1538000000,136872000000,283795303000000,292544511000000,-8749208000000,87719628000000,69346241000000,18454760000000,-81373000000,3054536000000,0,717309000000,2373517000000,-36290000000,3899399000000,2380845000000,1518554000000,9499510000000,504432098000000,459803891000000,30008203000000,40716640000000,378559234000000,0,0,2010683000000,8509131000000,44492642000000,32420728000000,3467784000000,22981000000,82306000000,8498843000000,0,23174171000000,45160000000,135565000000
-VCB,2014,1,446117972000000,6222082000000,16693296000000,51874242000000,162412000000,163300000000,-888000000,0,271486251000000,279149107000000,-7662856000000,85800534000000,69194546000000,16633583000000,-27595000000,3056686000000,0,719167000000,2373809000000,-36290000000,3954129000000,2446998000000,1507131000000,6868340000000,446117972000000,402005932000000,13125149000000,25397750000000,342997716000000,57757000000,0,2010919000000,18416641000000,43958700000000,32420728000000,3468322000000,532402000000,82306000000,7454942000000,153340000000,23174171000000,45160000000,0
-VCB,2013,4,467459005000000,6059670000000,24847774000000,89779154000000,195270000000,196158000000,-888000000,136725000000,267853577000000,274314124000000,-6460547000000,64894223000000,47127209000000,17796291000000,-29277000000,3058350000000,707078000000,14986000000,2373524000000,-37238000000,4085673000000,2556034000000,1529639000000,6548589000000,467459005000000,424231549000000,32622411000000,43951083000000,330305918000000,0,0,2013597000000,15338540000000,43077880000000,32420728000000,2821913000000,121990000000,82238000000,7631011000000,149576000000,23174171000000,45160000000,0
-VCB,2013,3,439657246000000,5894863000000,23079579000000,79181704000000,49248000000,50437000000,-1189000000,0,243529996000000,250687130000000,-7157134000000,73948362000000,60294420000000,13908760000000,-254818000000,3059243000000,0,727737000000,2368744000000,-37238000000,3338189000000,1925251000000,1412938000000,7576062000000,439657246000000,397996452000000,24410626000000,40132999000000,316188876000000,391774000000,0,2016411000000,14855766000000,41514360000000,32420728000000,2811938000000,-136282000000,71001000000,6346975000000,146434000000,23174171000000,45160000000,0
-VCB,2013,2,436470622000000,5231973000000,26279109000000,100030235000000,116353000000,117542000000,-1189000000,0,231636362000000,237612613000000,-5976251000000,60880619000000,52816513000000,8318924000000,-254818000000,3066704000000,0,735198000000,2368744000000,-37238000000,3462996000000,2163942000000,1299054000000,5766271000000,436470622000000,395701250000000,27209948000000,42490878000000,304811711000000,227694000000,0,2020344000000,18940675000000,40602641000000,32420728000000,2811938000000,-7768000000,71001000000,5306742000000,0,23174171000000,45160000000,166731000000
-VCB,2013,1,420480386000000,5029253000000,17381212000000,70351250000000,141737000000,142100000000,-363000000,0,233165635000000,239174418000000,-6008783000000,79487279000000,74148142000000,5650161000000,-311024000000,3067181000000,0,735675000000,2368744000000,-37238000000,3519041000000,2188043000000,1330998000000,8337798000000,420480386000000,377841680000000,12654503000000,37774788000000,297758690000000,349834000000,0,2020675000000,27283190000000,42482022000000,32420728000000,2793880000000,-59009000000,71003000000,7255420000000,156684000000,23174171000000,45160000000,0
diff --git a/vn-stock-analysis-app/data/DFincome_statement_quarter.csv b/vn-stock-analysis-app/data/DFincome_statement_quarter.csv
deleted file mode 100644
index 0f4cf65251be15b4bff35cc5822f2c877c3b6285..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/data/DFincome_statement_quarter.csv
+++ /dev/null
@@ -1,50 +0,0 @@
-ticker,yearReport,lengthReport,Revenue (Bn. VND),Revenue YoY (%),Attribute to parent company (Bn. VND),Attribute to parent company YoY (%),Interest and Similar Income,Interest and Similar Expenses,Net Interest Income,Fees and Comission Income,Fees and Comission Expenses,Net Fee and Commission Income,Net gain (loss) from foreign currency and gold dealings,Net gain (loss) from trading of trading securities,Net gain (loss) from disposal of investment securities,Net Other income/(expenses),Other expenses,Net Other income/expenses,Dividends received,Total operating revenue,General & Admin Expenses,Operating Profit before Provision,Provision for credit losses,Profit before tax,Tax For the Year,Business income tax - current,Business income tax - deferred,Minority Interest,Net Profit For the Year,Attributable to parent company,EPS_basis
-VCB,2025,1,24574904000000,0.023116230621082895,8696229000000,0.01354697601257623,24574904000000,-10887751000000,13687153000000,2727520000000,-1921556000000,805964000000,2023940000000,36488000000,0,1017049000000,-354171000000,662878000000,48303000000,17264726000000,-5652437000000,11612289000000,-752356000000,10859933000000,-2158207000000,-2158599000000,392000000,-5497000000,8701726000000,8696229000000,1041
-VCB,2024,4,23581262000000,-0.06042479993557999,8565378000000,-0.08440895835030282,23581262000000,-9738930000000,13842332000000,3368816000000,-2445033000000,923783000000,1586183000000,4472000000,2735000000,1833975000000,-549322000000,1284653000000,66378000000,17710536000000,-7040188000000,10670348000000,32329000000,10702677000000,-2132756000000,-2274403000000,141647000000,-4543000000,8569921000000,8565378000000,1050
-VCB,2024,3,23191212000000,-0.12526943046964503,8566598000000,0.17852434454146482,23191212000000,-9613576000000,13577636000000,3263776000000,-1991516000000,1272260000000,1347041000000,36148000000,-1145000000,903341000000,-348724000000,554617000000,49396000000,16835953000000,-5811433000000,11024520000000,-325576000000,10698944000000,-2126450000000,-2126192000000,-258000000,-5896000000,8572494000000,8566598000000,1533
-VCB,2024,2,22862707000000,-0.20676775976693806,8119414000000,0.09384448477351541,22862707000000,-8954996000000,13907711000000,3329645000000,-1830691000000,1498954000000,1160896000000,-1324000000,1854000000,841663000000,-817277000000,24386000000,159132000000,16751609000000,-5121793000000,11629816000000,-1513541000000,10116275000000,-1991566000000,-1992320000000,754000000,-5295000000,8124709000000,8119414000000,1453
-VCB,2024,1,24019660000000,-0.132547028931519,8579996000000,-0.045228057622405324,24019660000000,-9941604000000,14078056000000,3180768000000,-1739204000000,1441564000000,1197631000000,22827000000,0,889827000000,-381780000000,508047000000,32273000000,17280398000000,-5053949000000,12226449000000,-1508210000000,10718239000000,-2132246000000,-2133581000000,1335000000,-5997000000,8585993000000,8579996000000,1535
-VCB,2023,4,25097791000000,-0.01708680635418842,9355026000000,-0.057739223029333285,25097791000000,-12296567000000,12801224000000,3898648000000,-2088396000000,1810252000000,892534000000,-6214000000,0,1106147000000,-695656000000,410491000000,50548000000,15958835000000,-5752034000000,10206801000000,1486696000000,11693497000000,-2333464000000,-2229602000000,-103862000000,-5007000000,9360033000000,9355026000000,1674
-VCB,2023,3,26512406000000,0.17470438329230142,7268919000000,0.19852841033690746,26512406000000,-13916288000000,12596118000000,2613930000000,-1722918000000,891012000000,1581192000000,41527000000,61000000,872730000000,-351966000000,520764000000,146603000000,15777277000000,-5232506000000,10544771000000,-1493607000000,9051164000000,-1776608000000,-1775588000000,-1020000000,-5637000000,7274556000000,7268919000000,1301
-VCB,2023,2,28822211000000,0.3943281225486537,7422823000000,0.25027463578124404,28822211000000,-14801630000000,14020581000000,3236417000000,-1614304000000,1622113000000,1480628000000,59001000000,-61000000,626392000000,-368253000000,258139000000,29775000000,17470176000000,-5656105000000,11814071000000,-2536389000000,9277682000000,-1849724000000,-1848850000000,-874000000,-5135000000,7427958000000,7422823000000,1568
-VCB,2023,1,27689870000000,0.4318782902910284,8986435000000,0.1286394536976287,27689870000000,-13486924000000,14202946000000,2883744000000,-1427398000000,1456346000000,1705674000000,29903000000,0,1444875000000,-362100000000,1082775000000,39530000000,18517174000000,-5274254000000,13242920000000,-2021576000000,11221344000000,-2229443000000,-2225361000000,-4082000000,-5466000000,8991901000000,8986435000000,1899
-VCB,2022,4,25534087000000,0.4233621009363978,9928277000000,0.5181343798912136,25534087000000,-10724618000000,14809469000000,4124029000000,-1792687000000,2331342000000,1187847000000,4042000000,-1965000000,721538000000,-421945000000,299593000000,32313000000,18662641000000,-4564916000000,14097725000000,-1678630000000,12419095000000,-2485576000000,-3407375000000,921799000000,-5242000000,9933519000000,9928277000000,2098
-VCB,2022,3,22569428000000,0.279450673743941,6064870000000,0.3201346065522743,22569428000000,-8905477000000,13663951000000,2598204000000,-1495935000000,1102269000000,1587018000000,-154388000000,-1155000000,616998000000,-227533000000,389465000000,127264000000,16714424000000,-6370005000000,10344419000000,-2778197000000,7566222000000,-1496778000000,-1501418000000,4640000000,-4574000000,6069444000000,6064870000000,1282
-VCB,2022,2,20671039000000,0.15858440992568282,5936954000000,0.4991910568027868,20671039000000,-7873833000000,12797206000000,1989373000000,-1294744000000,694629000000,1471713000000,18628000000,84879000000,1013546000000,-132605000000,880941000000,24345000000,15972341000000,-5815802000000,10156539000000,-2733452000000,7423087000000,-1481156000000,-1478285000000,-2871000000,-4977000000,5941931000000,5936954000000,1255
-VCB,2022,1,19338145000000,0.12423820323223327,7962184000000,0.1535087325344241,19338145000000,-7362293000000,11975852000000,3713402000000,-1002574000000,2710828000000,1521867000000,16525000000,-164000000,576253000000,-92295000000,483958000000,24495000000,16733361000000,-4509166000000,12224195000000,-2273939000000,9950256000000,-1982830000000,-1986469000000,3639000000,-5242000000,7967426000000,7962184000000,1682
-VCB,2021,4,17939277000000,0.045206660367207434,6539788000000,0.1539066741549521,17939277000000,-7272542000000,10666735000000,3543821000000,-1130264000000,2413557000000,1172943000000,19525000000,-85235000000,805593000000,-235941000000,569652000000,31107000000,14788284000000,-3148128000000,11640156000000,-3465595000000,8174561000000,-1629212000000,-720581000000,-908631000000,-5561000000,6545349000000,6539788000000,896
-VCB,2021,3,17639936000000,0.036200050306402644,4594130000000,0.15115050403379887,17639936000000,-7212090000000,10427846000000,1942947000000,-815681000000,1127266000000,1173269000000,27991000000,0,652774000000,-201077000000,451697000000,44716000000,13252785000000,-5002394000000,8250391000000,-2512537000000,5737854000000,-1138566000000,-1138368000000,-198000000,-5158000000,4599288000000,4594130000000,1239
-VCB,2021,2,17841634000000,0.05981143143116386,3960105000000,-0.14103821866461447,17841634000000,-6745376000000,11096258000000,1481928000000,-1053459000000,428469000000,986338000000,9376000000,0,505430000000,-145887000000,359543000000,23317000000,12903301000000,-4736182000000,8167119000000,-3225157000000,4941962000000,-977288000000,-976927000000,-361000000,-4569000000,3964674000000,3960105000000,1068
-VCB,2021,1,17201110000000,-0.04987424074246432,6902578000000,0.6521585527709396,17201110000000,-7119377000000,10081733000000,4317820000000,-880039000000,3437781000000,1042270000000,80773000000,0,1136573000000,-124204000000,1012369000000,30670000000,15685596000000,-4779221000000,10906375000000,-2274909000000,8631466000000,-1723944000000,-1724252000000,308000000,-4944000000,6907522000000,6902578000000,1861
-VCB,2020,4,17163378000000,-0.01670408967727029,5667519000000,0.2888595831135969,17163378000000,-6772963000000,10390415000000,4270327000000,-1201789000000,3068538000000,943429000000,16318000000,0,233108000000,-297621000000,-64513000000,39176000000,14393363000000,-3430347000000,10963016000000,-3883562000000,7079454000000,-1405651000000,-1406498000000,847000000,-6284000000,5673803000000,5667519000000,1528
-VCB,2020,3,17023678000000,-0.02534343925042088,3990903000000,-0.20946263149366665,17023678000000,-8300504000000,8723174000000,2202803000000,-945756000000,1257047000000,1034372000000,6576000000,0,700020000000,-160358000000,539662000000,25619000000,11586450000000,-4578828000000,7007622000000,-2024552000000,4983070000000,-987259000000,-986487000000,-772000000,-4908000000,3995811000000,3990903000000,1076
-VCB,2020,2,16834725000000,0.007500631082132602,4610339000000,0.057190487819699216,16834725000000,-8757406000000,8077319000000,2008596000000,-852806000000,1155790000000,821053000000,33363000000,0,466742000000,-180865000000,285877000000,360154000000,10733556000000,-3118019000000,7615537000000,-1856218000000,5759319000000,-1143705000000,-742388000000,-401317000000,-5275000000,4615614000000,4610339000000,1241
-VCB,2020,1,18104035000000,0.12492740864425259,4177915000000,-0.11246722137531716,18104035000000,-9069714000000,9034321000000,2107705000000,-980495000000,1127210000000,1107545000000,-54447000000,0,1144844000000,-105617000000,1039227000000,31629000000,12285485000000,-4910290000000,7375195000000,-2152448000000,5222747000000,-1040092000000,-1042687000000,2595000000,-4740000000,4182655000000,4177915000000,1129
-VCB,2019,4,17454947000000,0.13731191944301716,4397313000000,-0.1665708585149566,17454947000000,-8815229000000,8639718000000,2517811000000,-1631957000000,885854000000,842604000000,29539000000,7220000000,396225000000,-143763000000,252462000000,10067000000,10667464000000,-3186384000000,7481080000000,-1971078000000,5510002000000,-1109628000000,-1106324000000,-3304000000,-3061000000,4400374000000,4397313000000,1186
-VCB,2019,3,17466335000000,0.21694867781473207,5048342000000,0.7202675911683465,17466335000000,-8607049000000,8859286000000,2332534000000,-1054049000000,1278485000000,907733000000,31891000000,59000000,974695000000,-91295000000,883400000000,33671000000,11994525000000,-4182440000000,7812085000000,-1502813000000,6309272000000,-1257677000000,-1257587000000,-90000000,-3253000000,5051595000000,5048342000000,1361
-VCB,2019,2,16709394000000,0.24357613071850867,4360935000000,0.49001986153303156,16709394000000,-8129805000000,8579589000000,2163927000000,-1088543000000,1075384000000,699622000000,18742000000,-1000000,858635000000,-90967000000,767668000000,162313000000,11303317000000,-4067395000000,7235922000000,-1810652000000,5425270000000,-1060460000000,-1060621000000,161000000,-3875000000,4364810000000,4360935000000,1175
-VCB,2019,1,16093514000000,0.26438237133456316,4707336000000,0.34343774508069186,16093514000000,-7594757000000,8498757000000,1990520000000,-921114000000,1069406000000,928315000000,65830000000,-1000000,1198211000000,-31944000000,1166267000000,39111000000,11767685000000,-4383645000000,7384040000000,-1505886000000,5878154000000,-1167253000000,-1166423000000,-830000000,-3565000000,4710901000000,4707336000000,1281
-VCB,2018,4,15347546000000,0.24301278669389476,5276169000000,0.9390700920514271,15347546000000,-7366906000000,7980640000000,1957269000000,-1183495000000,773774000000,657217000000,-67544000000,0,376205000000,-175522000000,200683000000,1145497000000,10690267000000,-1692860000000,8997407000000,-2380860000000,6616547000000,-1336422000000,-1337493000000,1071000000,-3956000000,5280125000000,5276169000000,1467
-VCB,2018,3,14352565000000,0.23763918581172205,2934626000000,0.36870020339564863,14352565000000,-6921040000000,7431525000000,1785902000000,-890988000000,894914000000,569850000000,-170034000000,120000000,706510000000,-55568000000,650942000000,37180000000,9414497000000,-3985542000000,5428955000000,-1762456000000,3666499000000,-728145000000,-728139000000,-6000000,-3728000000,2938354000000,2934626000000,816
-VCB,2018,2,13436567000000,0.1742143927476532,2926763000000,0.45155639582144064,13436567000000,-6636603000000,6799964000000,1698620000000,-847349000000,851271000000,424425000000,209536000000,0,803058000000,-23037000000,780021000000,194042000000,9259259000000,-3864021000000,5395238000000,-1737816000000,3657422000000,-725782000000,-726099000000,317000000,-4877000000,2931640000000,2926763000000,813
-VCB,2018,1,12728360000000,0.18161979636201733,3503948000000,0.5883666733605106,12728360000000,-6531261000000,6197099000000,1579203000000,-697835000000,881368000000,614937000000,277442000000,0,1630125000000,-27405000000,1602720000000,350748000000,9924314000000,-4067409000000,5856905000000,-1497550000000,4359355000000,-851482000000,-851480000000,-2000000,-3925000000,3507873000000,3503948000000,974
-VCB,2017,4,12347054000000,0.20517464414219067,2720979000000,0.5391528202180964,12347054000000,-6570271000000,5776783000000,1515561000000,-939659000000,575902000000,332081000000,87216000000,-13201000000,714250000000,-108314000000,605936000000,164438000000,7529155000000,-2434484000000,5094671000000,-1691913000000,3402758000000,-674955000000,-676773000000,1818000000,-6824000000,2727803000000,2720979000000,756
-VCB,2017,3,11596728000000,0.22753160647824175,2144097000000,0.30988256798679426,11596728000000,-6348645000000,5248083000000,1344987000000,-694294000000,650693000000,645436000000,135003000000,-217000000,661553000000,-75866000000,585687000000,23201000000,7287886000000,-3104067000000,4183819000000,-1504276000000,2679543000000,-530923000000,-531093000000,170000000,-4523000000,2148620000000,2144097000000,596
-VCB,2017,2,11443027000000,0.24015314440884403,2016293000000,0.27262462145550437,11443027000000,-5806157000000,5636870000000,1309198000000,-644652000000,664546000000,423210000000,150055000000,43996000000,382271000000,-37415000000,344856000000,34987000000,7298520000000,-3179058000000,4119462000000,-1601565000000,2517897000000,-497067000000,-498684000000,1617000000,-4537000000,2020830000000,2016293000000,561
-VCB,2017,1,10771959000000,0.2232205434608325,2206007000000,0.20108009752347433,10771959000000,-5496150000000,5275809000000,1211327000000,-561338000000,649989000000,641691000000,104126000000,-50320000000,597758000000,-34703000000,563055000000,103141000000,7287491000000,-3149927000000,4137564000000,-1400661000000,2736903000000,-527258000000,-527258000000,0,-3638000000,2209645000000,2206007000000,613
-VCB,2016,4,10245033000000,0.20409164183272382,1767842000000,0.04654833141133262,10245033000000,-5361543000000,4883490000000,1237854000000,-707950000000,529904000000,283942000000,110683000000,-44618000000,975481000000,-192621000000,782860000000,19875000000,6566136000000,-2478081000000,4088055000000,-1896832000000,2191223000000,-416860000000,-415800000000,-1060000000,-6521000000,1774363000000,1767842000000,491
-VCB,2016,3,9447193000000,0.1837414361558898,1636862000000,0.39650290287215845,9447193000000,-4958701000000,4488492000000,1077573000000,-556360000000,521213000000,527947000000,203118000000,-44316000000,395051000000,-57071000000,337980000000,25886000000,6060320000000,-2503744000000,3556576000000,-1510057000000,2046519000000,-405008000000,-405297000000,289000000,-4649000000,1641511000000,1636862000000,455
-VCB,2016,2,9227108000000,0.23267426265847602,1584358000000,0.1992972373950852,9227108000000,-4602441000000,4624667000000,1042851000000,-521684000000,521167000000,474279000000,141513000000,-111000000,587259000000,-55202000000,532057000000,15439000000,6309011000000,-2630525000000,3678486000000,-1698322000000,1980164000000,-391982000000,-391821000000,-161000000,-3824000000,1588182000000,1584358000000,595
-VCB,2016,1,8806228000000,0.19228923218480193,1836686000000,0.6231895072949964,8806228000000,-4273463000000,4532765000000,954874000000,-415905000000,538969000000,563949000000,40454000000,-371000000,357105000000,-71433000000,285672000000,10524000000,5971962000000,-2367354000000,3604608000000,-1305197000000,2299411000000,-458429000000,-459361000000,932000000,-4296000000,1840982000000,1836686000000,689
-VCB,2015,4,8508516000000,0.16465542635192032,1689212000000,0.27932032614408686,8508516000000,-4071252000000,4437264000000,1027857000000,-549023000000,478834000000,44073000000,39723000000,116000000,1036913000000,-144788000000,892125000000,-8341000000,5883794000000,-2354208000000,3529586000000,-1350701000000,2178885000000,-481866000000,-481576000000,-290000000,-7807000000,1697019000000,1689212000000,634
-VCB,2015,3,7980791000000,0.13148558406232252,1172115000000,0.12836925245170003,7980791000000,-4030125000000,3950666000000,852950000000,-411606000000,441344000000,648746000000,23900000000,57645000000,475310000000,-72891000000,402419000000,49044000000,5573764000000,-2704983000000,2868781000000,-1370994000000,1497787000000,-322025000000,-322025000000,0,-3647000000,1175762000000,1172115000000,440
-VCB,2015,2,7485439000000,0.08041933111171155,1321072000000,0.24989427095209127,7485439000000,-3916608000000,3568831000000,992196000000,-377303000000,614893000000,408545000000,37584000000,50770000000,424368000000,-8008000000,416360000000,7202000000,5104185000000,-1580040000000,3524145000000,-1829132000000,1695013000000,-370339000000,-370339000000,0,-3602000000,1324674000000,1321072000000,496
-VCB,2015,1,7385983000000,0.1021344989186045,1131529000000,-0.029534334221010063,7385983000000,-3889712000000,3496271000000,684301000000,-346724000000,337577000000,471210000000,96268000000,43823000000,203959000000,-9584000000,194375000000,530000000,4640054000000,-1667018000000,2973036000000,-1517264000000,1455772000000,-321160000000,-321160000000,0,-3083000000,1134612000000,1131529000000,425
-VCB,2014,4,7305608000000,0.07956205199317413,1320398000000,-0.011457645492782073,7305608000000,-4047919000000,3257689000000,885626000000,-445676000000,439950000000,268856000000,56721000000,-19071000000,870941000000,-88015000000,782926000000,138365000000,4925436000000,-2170804000000,2754632000000,-1058881000000,1695751000000,-366078000000,-365452000000,-626000000,-9275000000,1329673000000,1320398000000,539
-VCB,2014,3,7053374000000,0.011872408406947105,1038769000000,-0.001079919837829313,7053374000000,-4107903000000,2945471000000,779883000000,-337836000000,442047000000,277827000000,70182000000,48448000000,277490000000,-39743000000,237747000000,11105000000,4032827000000,-1594616000000,2438211000000,-1104961000000,1333250000000,-291470000000,-291470000000,0,-3011000000,1041780000000,1038769000000,433
-VCB,2014,2,6928272000000,-0.03643624470776988,1056947000000,0.22375169909713394,6928272000000,-4121869000000,2806403000000,756842000000,-321314000000,435528000000,355921000000,6111000000,4849000000,544043000000,-17892000000,526151000000,60597000000,4195560000000,-1640098000000,2555462000000,-1209801000000,1345661000000,-285691000000,-285678000000,-13000000,-3023000000,1059970000000,1056947000000,456
-VCB,2014,1,6701526000000,-0.09202297553003622,1165965000000,0.04810459067410609,6701526000000,-3935907000000,2765619000000,735997000000,-311766000000,424231000000,442475000000,66110000000,179895000000,254909000000,-14133000000,240776000000,-346000000,4118760000000,-1419875000000,2698885000000,-1198236000000,1500649000000,-330797000000,-330797000000,0,-3887000000,1169852000000,1165965000000,503
-VCB,2013,4,6767196000000,0.0,1335702000000,0.0,6767196000000,-4031753000000,2735443000000,790864000000,-358898000000,431966000000,150566000000,7086000000,61136000000,522640000000,-15095000000,507545000000,384293000000,4278035000000,-2025996000000,2252039000000,-499367000000,1752672000000,-408938000000,-408558000000,-380000000,-8032000000,1343734000000,1335702000000,576
-VCB,2013,3,6970616000000,0.0,1039892000000,0.0,6970616000000,-4057026000000,2913590000000,678351000000,-269899000000,408452000000,420667000000,1646000000,6257000000,296321000000,-17017000000,279304000000,4086000000,4034002000000,-1574764000000,2459238000000,-1070764000000,1388474000000,-345375000000,-345375000000,0,-3207000000,1043099000000,1039892000000,449
-VCB,2013,2,7190258000000,0.0,863694000000,0.0,7190258000000,-4637657000000,2552601000000,668821000000,-280824000000,387997000000,378028000000,6961000000,37783000000,162565000000,-34657000000,127908000000,93552000000,3584830000000,-1280166000000,2304664000000,-1166802000000,1137862000000,-270643000000,-270643000000,0,-3525000000,867219000000,863694000000,374
-VCB,2013,1,7380722000000,0.0,1112451000000,0.0,7380722000000,-4789856000000,2590866000000,616016000000,-233497000000,382519000000,476394000000,6479000000,50953000000,45104000000,-26525000000,18579000000,79873000000,3605663000000,-1332765000000,2272898000000,-807607000000,1465291000000,-348070000000,-348070000000,0,-4770000000,1117221000000,1112451000000,482
diff --git a/vn-stock-analysis-app/data/DFincome_statement_year.csv b/vn-stock-analysis-app/data/DFincome_statement_year.csv
deleted file mode 100644
index 0f4cf65251be15b4bff35cc5822f2c877c3b6285..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/data/DFincome_statement_year.csv
+++ /dev/null
@@ -1,50 +0,0 @@
-ticker,yearReport,lengthReport,Revenue (Bn. VND),Revenue YoY (%),Attribute to parent company (Bn. VND),Attribute to parent company YoY (%),Interest and Similar Income,Interest and Similar Expenses,Net Interest Income,Fees and Comission Income,Fees and Comission Expenses,Net Fee and Commission Income,Net gain (loss) from foreign currency and gold dealings,Net gain (loss) from trading of trading securities,Net gain (loss) from disposal of investment securities,Net Other income/(expenses),Other expenses,Net Other income/expenses,Dividends received,Total operating revenue,General & Admin Expenses,Operating Profit before Provision,Provision for credit losses,Profit before tax,Tax For the Year,Business income tax - current,Business income tax - deferred,Minority Interest,Net Profit For the Year,Attributable to parent company,EPS_basis
-VCB,2025,1,24574904000000,0.023116230621082895,8696229000000,0.01354697601257623,24574904000000,-10887751000000,13687153000000,2727520000000,-1921556000000,805964000000,2023940000000,36488000000,0,1017049000000,-354171000000,662878000000,48303000000,17264726000000,-5652437000000,11612289000000,-752356000000,10859933000000,-2158207000000,-2158599000000,392000000,-5497000000,8701726000000,8696229000000,1041
-VCB,2024,4,23581262000000,-0.06042479993557999,8565378000000,-0.08440895835030282,23581262000000,-9738930000000,13842332000000,3368816000000,-2445033000000,923783000000,1586183000000,4472000000,2735000000,1833975000000,-549322000000,1284653000000,66378000000,17710536000000,-7040188000000,10670348000000,32329000000,10702677000000,-2132756000000,-2274403000000,141647000000,-4543000000,8569921000000,8565378000000,1050
-VCB,2024,3,23191212000000,-0.12526943046964503,8566598000000,0.17852434454146482,23191212000000,-9613576000000,13577636000000,3263776000000,-1991516000000,1272260000000,1347041000000,36148000000,-1145000000,903341000000,-348724000000,554617000000,49396000000,16835953000000,-5811433000000,11024520000000,-325576000000,10698944000000,-2126450000000,-2126192000000,-258000000,-5896000000,8572494000000,8566598000000,1533
-VCB,2024,2,22862707000000,-0.20676775976693806,8119414000000,0.09384448477351541,22862707000000,-8954996000000,13907711000000,3329645000000,-1830691000000,1498954000000,1160896000000,-1324000000,1854000000,841663000000,-817277000000,24386000000,159132000000,16751609000000,-5121793000000,11629816000000,-1513541000000,10116275000000,-1991566000000,-1992320000000,754000000,-5295000000,8124709000000,8119414000000,1453
-VCB,2024,1,24019660000000,-0.132547028931519,8579996000000,-0.045228057622405324,24019660000000,-9941604000000,14078056000000,3180768000000,-1739204000000,1441564000000,1197631000000,22827000000,0,889827000000,-381780000000,508047000000,32273000000,17280398000000,-5053949000000,12226449000000,-1508210000000,10718239000000,-2132246000000,-2133581000000,1335000000,-5997000000,8585993000000,8579996000000,1535
-VCB,2023,4,25097791000000,-0.01708680635418842,9355026000000,-0.057739223029333285,25097791000000,-12296567000000,12801224000000,3898648000000,-2088396000000,1810252000000,892534000000,-6214000000,0,1106147000000,-695656000000,410491000000,50548000000,15958835000000,-5752034000000,10206801000000,1486696000000,11693497000000,-2333464000000,-2229602000000,-103862000000,-5007000000,9360033000000,9355026000000,1674
-VCB,2023,3,26512406000000,0.17470438329230142,7268919000000,0.19852841033690746,26512406000000,-13916288000000,12596118000000,2613930000000,-1722918000000,891012000000,1581192000000,41527000000,61000000,872730000000,-351966000000,520764000000,146603000000,15777277000000,-5232506000000,10544771000000,-1493607000000,9051164000000,-1776608000000,-1775588000000,-1020000000,-5637000000,7274556000000,7268919000000,1301
-VCB,2023,2,28822211000000,0.3943281225486537,7422823000000,0.25027463578124404,28822211000000,-14801630000000,14020581000000,3236417000000,-1614304000000,1622113000000,1480628000000,59001000000,-61000000,626392000000,-368253000000,258139000000,29775000000,17470176000000,-5656105000000,11814071000000,-2536389000000,9277682000000,-1849724000000,-1848850000000,-874000000,-5135000000,7427958000000,7422823000000,1568
-VCB,2023,1,27689870000000,0.4318782902910284,8986435000000,0.1286394536976287,27689870000000,-13486924000000,14202946000000,2883744000000,-1427398000000,1456346000000,1705674000000,29903000000,0,1444875000000,-362100000000,1082775000000,39530000000,18517174000000,-5274254000000,13242920000000,-2021576000000,11221344000000,-2229443000000,-2225361000000,-4082000000,-5466000000,8991901000000,8986435000000,1899
-VCB,2022,4,25534087000000,0.4233621009363978,9928277000000,0.5181343798912136,25534087000000,-10724618000000,14809469000000,4124029000000,-1792687000000,2331342000000,1187847000000,4042000000,-1965000000,721538000000,-421945000000,299593000000,32313000000,18662641000000,-4564916000000,14097725000000,-1678630000000,12419095000000,-2485576000000,-3407375000000,921799000000,-5242000000,9933519000000,9928277000000,2098
-VCB,2022,3,22569428000000,0.279450673743941,6064870000000,0.3201346065522743,22569428000000,-8905477000000,13663951000000,2598204000000,-1495935000000,1102269000000,1587018000000,-154388000000,-1155000000,616998000000,-227533000000,389465000000,127264000000,16714424000000,-6370005000000,10344419000000,-2778197000000,7566222000000,-1496778000000,-1501418000000,4640000000,-4574000000,6069444000000,6064870000000,1282
-VCB,2022,2,20671039000000,0.15858440992568282,5936954000000,0.4991910568027868,20671039000000,-7873833000000,12797206000000,1989373000000,-1294744000000,694629000000,1471713000000,18628000000,84879000000,1013546000000,-132605000000,880941000000,24345000000,15972341000000,-5815802000000,10156539000000,-2733452000000,7423087000000,-1481156000000,-1478285000000,-2871000000,-4977000000,5941931000000,5936954000000,1255
-VCB,2022,1,19338145000000,0.12423820323223327,7962184000000,0.1535087325344241,19338145000000,-7362293000000,11975852000000,3713402000000,-1002574000000,2710828000000,1521867000000,16525000000,-164000000,576253000000,-92295000000,483958000000,24495000000,16733361000000,-4509166000000,12224195000000,-2273939000000,9950256000000,-1982830000000,-1986469000000,3639000000,-5242000000,7967426000000,7962184000000,1682
-VCB,2021,4,17939277000000,0.045206660367207434,6539788000000,0.1539066741549521,17939277000000,-7272542000000,10666735000000,3543821000000,-1130264000000,2413557000000,1172943000000,19525000000,-85235000000,805593000000,-235941000000,569652000000,31107000000,14788284000000,-3148128000000,11640156000000,-3465595000000,8174561000000,-1629212000000,-720581000000,-908631000000,-5561000000,6545349000000,6539788000000,896
-VCB,2021,3,17639936000000,0.036200050306402644,4594130000000,0.15115050403379887,17639936000000,-7212090000000,10427846000000,1942947000000,-815681000000,1127266000000,1173269000000,27991000000,0,652774000000,-201077000000,451697000000,44716000000,13252785000000,-5002394000000,8250391000000,-2512537000000,5737854000000,-1138566000000,-1138368000000,-198000000,-5158000000,4599288000000,4594130000000,1239
-VCB,2021,2,17841634000000,0.05981143143116386,3960105000000,-0.14103821866461447,17841634000000,-6745376000000,11096258000000,1481928000000,-1053459000000,428469000000,986338000000,9376000000,0,505430000000,-145887000000,359543000000,23317000000,12903301000000,-4736182000000,8167119000000,-3225157000000,4941962000000,-977288000000,-976927000000,-361000000,-4569000000,3964674000000,3960105000000,1068
-VCB,2021,1,17201110000000,-0.04987424074246432,6902578000000,0.6521585527709396,17201110000000,-7119377000000,10081733000000,4317820000000,-880039000000,3437781000000,1042270000000,80773000000,0,1136573000000,-124204000000,1012369000000,30670000000,15685596000000,-4779221000000,10906375000000,-2274909000000,8631466000000,-1723944000000,-1724252000000,308000000,-4944000000,6907522000000,6902578000000,1861
-VCB,2020,4,17163378000000,-0.01670408967727029,5667519000000,0.2888595831135969,17163378000000,-6772963000000,10390415000000,4270327000000,-1201789000000,3068538000000,943429000000,16318000000,0,233108000000,-297621000000,-64513000000,39176000000,14393363000000,-3430347000000,10963016000000,-3883562000000,7079454000000,-1405651000000,-1406498000000,847000000,-6284000000,5673803000000,5667519000000,1528
-VCB,2020,3,17023678000000,-0.02534343925042088,3990903000000,-0.20946263149366665,17023678000000,-8300504000000,8723174000000,2202803000000,-945756000000,1257047000000,1034372000000,6576000000,0,700020000000,-160358000000,539662000000,25619000000,11586450000000,-4578828000000,7007622000000,-2024552000000,4983070000000,-987259000000,-986487000000,-772000000,-4908000000,3995811000000,3990903000000,1076
-VCB,2020,2,16834725000000,0.007500631082132602,4610339000000,0.057190487819699216,16834725000000,-8757406000000,8077319000000,2008596000000,-852806000000,1155790000000,821053000000,33363000000,0,466742000000,-180865000000,285877000000,360154000000,10733556000000,-3118019000000,7615537000000,-1856218000000,5759319000000,-1143705000000,-742388000000,-401317000000,-5275000000,4615614000000,4610339000000,1241
-VCB,2020,1,18104035000000,0.12492740864425259,4177915000000,-0.11246722137531716,18104035000000,-9069714000000,9034321000000,2107705000000,-980495000000,1127210000000,1107545000000,-54447000000,0,1144844000000,-105617000000,1039227000000,31629000000,12285485000000,-4910290000000,7375195000000,-2152448000000,5222747000000,-1040092000000,-1042687000000,2595000000,-4740000000,4182655000000,4177915000000,1129
-VCB,2019,4,17454947000000,0.13731191944301716,4397313000000,-0.1665708585149566,17454947000000,-8815229000000,8639718000000,2517811000000,-1631957000000,885854000000,842604000000,29539000000,7220000000,396225000000,-143763000000,252462000000,10067000000,10667464000000,-3186384000000,7481080000000,-1971078000000,5510002000000,-1109628000000,-1106324000000,-3304000000,-3061000000,4400374000000,4397313000000,1186
-VCB,2019,3,17466335000000,0.21694867781473207,5048342000000,0.7202675911683465,17466335000000,-8607049000000,8859286000000,2332534000000,-1054049000000,1278485000000,907733000000,31891000000,59000000,974695000000,-91295000000,883400000000,33671000000,11994525000000,-4182440000000,7812085000000,-1502813000000,6309272000000,-1257677000000,-1257587000000,-90000000,-3253000000,5051595000000,5048342000000,1361
-VCB,2019,2,16709394000000,0.24357613071850867,4360935000000,0.49001986153303156,16709394000000,-8129805000000,8579589000000,2163927000000,-1088543000000,1075384000000,699622000000,18742000000,-1000000,858635000000,-90967000000,767668000000,162313000000,11303317000000,-4067395000000,7235922000000,-1810652000000,5425270000000,-1060460000000,-1060621000000,161000000,-3875000000,4364810000000,4360935000000,1175
-VCB,2019,1,16093514000000,0.26438237133456316,4707336000000,0.34343774508069186,16093514000000,-7594757000000,8498757000000,1990520000000,-921114000000,1069406000000,928315000000,65830000000,-1000000,1198211000000,-31944000000,1166267000000,39111000000,11767685000000,-4383645000000,7384040000000,-1505886000000,5878154000000,-1167253000000,-1166423000000,-830000000,-3565000000,4710901000000,4707336000000,1281
-VCB,2018,4,15347546000000,0.24301278669389476,5276169000000,0.9390700920514271,15347546000000,-7366906000000,7980640000000,1957269000000,-1183495000000,773774000000,657217000000,-67544000000,0,376205000000,-175522000000,200683000000,1145497000000,10690267000000,-1692860000000,8997407000000,-2380860000000,6616547000000,-1336422000000,-1337493000000,1071000000,-3956000000,5280125000000,5276169000000,1467
-VCB,2018,3,14352565000000,0.23763918581172205,2934626000000,0.36870020339564863,14352565000000,-6921040000000,7431525000000,1785902000000,-890988000000,894914000000,569850000000,-170034000000,120000000,706510000000,-55568000000,650942000000,37180000000,9414497000000,-3985542000000,5428955000000,-1762456000000,3666499000000,-728145000000,-728139000000,-6000000,-3728000000,2938354000000,2934626000000,816
-VCB,2018,2,13436567000000,0.1742143927476532,2926763000000,0.45155639582144064,13436567000000,-6636603000000,6799964000000,1698620000000,-847349000000,851271000000,424425000000,209536000000,0,803058000000,-23037000000,780021000000,194042000000,9259259000000,-3864021000000,5395238000000,-1737816000000,3657422000000,-725782000000,-726099000000,317000000,-4877000000,2931640000000,2926763000000,813
-VCB,2018,1,12728360000000,0.18161979636201733,3503948000000,0.5883666733605106,12728360000000,-6531261000000,6197099000000,1579203000000,-697835000000,881368000000,614937000000,277442000000,0,1630125000000,-27405000000,1602720000000,350748000000,9924314000000,-4067409000000,5856905000000,-1497550000000,4359355000000,-851482000000,-851480000000,-2000000,-3925000000,3507873000000,3503948000000,974
-VCB,2017,4,12347054000000,0.20517464414219067,2720979000000,0.5391528202180964,12347054000000,-6570271000000,5776783000000,1515561000000,-939659000000,575902000000,332081000000,87216000000,-13201000000,714250000000,-108314000000,605936000000,164438000000,7529155000000,-2434484000000,5094671000000,-1691913000000,3402758000000,-674955000000,-676773000000,1818000000,-6824000000,2727803000000,2720979000000,756
-VCB,2017,3,11596728000000,0.22753160647824175,2144097000000,0.30988256798679426,11596728000000,-6348645000000,5248083000000,1344987000000,-694294000000,650693000000,645436000000,135003000000,-217000000,661553000000,-75866000000,585687000000,23201000000,7287886000000,-3104067000000,4183819000000,-1504276000000,2679543000000,-530923000000,-531093000000,170000000,-4523000000,2148620000000,2144097000000,596
-VCB,2017,2,11443027000000,0.24015314440884403,2016293000000,0.27262462145550437,11443027000000,-5806157000000,5636870000000,1309198000000,-644652000000,664546000000,423210000000,150055000000,43996000000,382271000000,-37415000000,344856000000,34987000000,7298520000000,-3179058000000,4119462000000,-1601565000000,2517897000000,-497067000000,-498684000000,1617000000,-4537000000,2020830000000,2016293000000,561
-VCB,2017,1,10771959000000,0.2232205434608325,2206007000000,0.20108009752347433,10771959000000,-5496150000000,5275809000000,1211327000000,-561338000000,649989000000,641691000000,104126000000,-50320000000,597758000000,-34703000000,563055000000,103141000000,7287491000000,-3149927000000,4137564000000,-1400661000000,2736903000000,-527258000000,-527258000000,0,-3638000000,2209645000000,2206007000000,613
-VCB,2016,4,10245033000000,0.20409164183272382,1767842000000,0.04654833141133262,10245033000000,-5361543000000,4883490000000,1237854000000,-707950000000,529904000000,283942000000,110683000000,-44618000000,975481000000,-192621000000,782860000000,19875000000,6566136000000,-2478081000000,4088055000000,-1896832000000,2191223000000,-416860000000,-415800000000,-1060000000,-6521000000,1774363000000,1767842000000,491
-VCB,2016,3,9447193000000,0.1837414361558898,1636862000000,0.39650290287215845,9447193000000,-4958701000000,4488492000000,1077573000000,-556360000000,521213000000,527947000000,203118000000,-44316000000,395051000000,-57071000000,337980000000,25886000000,6060320000000,-2503744000000,3556576000000,-1510057000000,2046519000000,-405008000000,-405297000000,289000000,-4649000000,1641511000000,1636862000000,455
-VCB,2016,2,9227108000000,0.23267426265847602,1584358000000,0.1992972373950852,9227108000000,-4602441000000,4624667000000,1042851000000,-521684000000,521167000000,474279000000,141513000000,-111000000,587259000000,-55202000000,532057000000,15439000000,6309011000000,-2630525000000,3678486000000,-1698322000000,1980164000000,-391982000000,-391821000000,-161000000,-3824000000,1588182000000,1584358000000,595
-VCB,2016,1,8806228000000,0.19228923218480193,1836686000000,0.6231895072949964,8806228000000,-4273463000000,4532765000000,954874000000,-415905000000,538969000000,563949000000,40454000000,-371000000,357105000000,-71433000000,285672000000,10524000000,5971962000000,-2367354000000,3604608000000,-1305197000000,2299411000000,-458429000000,-459361000000,932000000,-4296000000,1840982000000,1836686000000,689
-VCB,2015,4,8508516000000,0.16465542635192032,1689212000000,0.27932032614408686,8508516000000,-4071252000000,4437264000000,1027857000000,-549023000000,478834000000,44073000000,39723000000,116000000,1036913000000,-144788000000,892125000000,-8341000000,5883794000000,-2354208000000,3529586000000,-1350701000000,2178885000000,-481866000000,-481576000000,-290000000,-7807000000,1697019000000,1689212000000,634
-VCB,2015,3,7980791000000,0.13148558406232252,1172115000000,0.12836925245170003,7980791000000,-4030125000000,3950666000000,852950000000,-411606000000,441344000000,648746000000,23900000000,57645000000,475310000000,-72891000000,402419000000,49044000000,5573764000000,-2704983000000,2868781000000,-1370994000000,1497787000000,-322025000000,-322025000000,0,-3647000000,1175762000000,1172115000000,440
-VCB,2015,2,7485439000000,0.08041933111171155,1321072000000,0.24989427095209127,7485439000000,-3916608000000,3568831000000,992196000000,-377303000000,614893000000,408545000000,37584000000,50770000000,424368000000,-8008000000,416360000000,7202000000,5104185000000,-1580040000000,3524145000000,-1829132000000,1695013000000,-370339000000,-370339000000,0,-3602000000,1324674000000,1321072000000,496
-VCB,2015,1,7385983000000,0.1021344989186045,1131529000000,-0.029534334221010063,7385983000000,-3889712000000,3496271000000,684301000000,-346724000000,337577000000,471210000000,96268000000,43823000000,203959000000,-9584000000,194375000000,530000000,4640054000000,-1667018000000,2973036000000,-1517264000000,1455772000000,-321160000000,-321160000000,0,-3083000000,1134612000000,1131529000000,425
-VCB,2014,4,7305608000000,0.07956205199317413,1320398000000,-0.011457645492782073,7305608000000,-4047919000000,3257689000000,885626000000,-445676000000,439950000000,268856000000,56721000000,-19071000000,870941000000,-88015000000,782926000000,138365000000,4925436000000,-2170804000000,2754632000000,-1058881000000,1695751000000,-366078000000,-365452000000,-626000000,-9275000000,1329673000000,1320398000000,539
-VCB,2014,3,7053374000000,0.011872408406947105,1038769000000,-0.001079919837829313,7053374000000,-4107903000000,2945471000000,779883000000,-337836000000,442047000000,277827000000,70182000000,48448000000,277490000000,-39743000000,237747000000,11105000000,4032827000000,-1594616000000,2438211000000,-1104961000000,1333250000000,-291470000000,-291470000000,0,-3011000000,1041780000000,1038769000000,433
-VCB,2014,2,6928272000000,-0.03643624470776988,1056947000000,0.22375169909713394,6928272000000,-4121869000000,2806403000000,756842000000,-321314000000,435528000000,355921000000,6111000000,4849000000,544043000000,-17892000000,526151000000,60597000000,4195560000000,-1640098000000,2555462000000,-1209801000000,1345661000000,-285691000000,-285678000000,-13000000,-3023000000,1059970000000,1056947000000,456
-VCB,2014,1,6701526000000,-0.09202297553003622,1165965000000,0.04810459067410609,6701526000000,-3935907000000,2765619000000,735997000000,-311766000000,424231000000,442475000000,66110000000,179895000000,254909000000,-14133000000,240776000000,-346000000,4118760000000,-1419875000000,2698885000000,-1198236000000,1500649000000,-330797000000,-330797000000,0,-3887000000,1169852000000,1165965000000,503
-VCB,2013,4,6767196000000,0.0,1335702000000,0.0,6767196000000,-4031753000000,2735443000000,790864000000,-358898000000,431966000000,150566000000,7086000000,61136000000,522640000000,-15095000000,507545000000,384293000000,4278035000000,-2025996000000,2252039000000,-499367000000,1752672000000,-408938000000,-408558000000,-380000000,-8032000000,1343734000000,1335702000000,576
-VCB,2013,3,6970616000000,0.0,1039892000000,0.0,6970616000000,-4057026000000,2913590000000,678351000000,-269899000000,408452000000,420667000000,1646000000,6257000000,296321000000,-17017000000,279304000000,4086000000,4034002000000,-1574764000000,2459238000000,-1070764000000,1388474000000,-345375000000,-345375000000,0,-3207000000,1043099000000,1039892000000,449
-VCB,2013,2,7190258000000,0.0,863694000000,0.0,7190258000000,-4637657000000,2552601000000,668821000000,-280824000000,387997000000,378028000000,6961000000,37783000000,162565000000,-34657000000,127908000000,93552000000,3584830000000,-1280166000000,2304664000000,-1166802000000,1137862000000,-270643000000,-270643000000,0,-3525000000,867219000000,863694000000,374
-VCB,2013,1,7380722000000,0.0,1112451000000,0.0,7380722000000,-4789856000000,2590866000000,616016000000,-233497000000,382519000000,476394000000,6479000000,50953000000,45104000000,-26525000000,18579000000,79873000000,3605663000000,-1332765000000,2272898000000,-807607000000,1465291000000,-348070000000,-348070000000,0,-4770000000,1117221000000,1112451000000,482
diff --git a/vn-stock-analysis-app/data/dfcash_flow_year.csv b/vn-stock-analysis-app/data/dfcash_flow_year.csv
deleted file mode 100644
index 6c960bdc2aeda06eb0f07f5d43c71260eb248db7..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/data/dfcash_flow_year.csv
+++ /dev/null
@@ -1,50 +0,0 @@
-ticker,yearReport,lengthReport,Profits from other activities,Operating profit before changes in working capital,Net Cash Flows from Operating Activities before BIT,Payment from reserves,Purchase of fixed assets,Gain on Dividend,Net Cash Flows from Investing Activities,Increase in charter captial,Cash flows from financial activities,Net increase/decrease in cash and cash equivalents,Cash and cash equivalents,Foreign exchange differences Adjustment,Cash and Cash Equivalents at the end of period,Net cash inflows/outflows from operating activities,Proceeds from disposal of fixed assets,Investment in other entities,Proceeds from divestment in other entities,Dividends paid
-VCB,2025,1,-98301000000,3115299000000,-12003988000000,-1176607000000,-186147000000,9703000000,-174898000000,0,0,-13355493000000,430614185000000,0,417258692000000,-13180595000000,1678000000,0,0,0
-VCB,2024,4,-343813000000,10425121000000,117759748000000,-646942000000,-531176000000,24710000000,-501783000000,0,-19963000000,116591060000000,314023125000000,0,430614185000000,117112806000000,5492000000,0,0,-19963000000
-VCB,2024,3,-200194000000,9114456000000,-14569759000000,-646859000000,-457907000000,10299000000,-444866000000,0,0,-15661484000000,329684609000000,0,314023125000000,-15216618000000,3030000000,0,0,0
-VCB,2024,2,-644026000000,10302421000000,20739737000000,-338608000000,-358137000000,125022000000,-230230000000,0,0,20170899000000,309513710000000,0,329684609000000,20401129000000,2282000000,0,747000000,0
-VCB,2024,1,-202525000000,341880000000,-61930169000000,-1244317000000,-132901000000,678000000,-130534000000,0,0,-63305020000000,372818730000000,0,309513710000000,-63174486000000,1700000000,0,0,0
-VCB,2023,4,-345755000000,7123781000000,9212451000000,-401036000000,-621249000000,-6064000000,-630093000000,0,-15627000000,8165695000000,363661434000000,0,371827129000000,8811415000000,3458000000,0,0,-15627000000
-VCB,2023,3,-26705000000,14093284000000,39263273000000,-1159787000000,-107205000000,115942000000,11042000000,0,0,38114528000000,325546906000000,0,363661434000000,38103486000000,2487000000,0,0,0
-VCB,2023,2,-132508000000,14515179000000,-133890474000000,-143877000000,-205830000000,13746000000,-190988000000,0,0,-134225339000000,459772245000000,0,325546906000000,-134034351000000,1419000000,0,0,0
-VCB,2023,1,684356000000,9438386000000,48679302000000,-1092983000000,-73876000000,22464000000,-49368000000,0,0,47536951000000,412235294000000,0,459772245000000,47586319000000,2071000000,0,0,0
-VCB,2022,4,-139817000000,9159766000000,122957794000000,-479184000000,-640541000000,2676000000,-633936000000,0,-18798000000,121825876000000,290363772000000,0,412189648000000,122478610000000,5462000000,0,1000000,-18798000000
-VCB,2022,3,-86019000000,12553919000000,11317452000000,-701131000000,-3123000000,89800000000,290773000000,0,0,10907094000000,279456678000000,0,290363772000000,10616321000000,4575000000,0,200034000000,0
-VCB,2022,2,-63413000000,12303964000000,67950852000000,-288959000000,-45514000000,12382000000,-31080000000,0,0,67630813000000,211825865000000,0,279456678000000,67661893000000,2768000000,0,0,0
-VCB,2022,1,-62483000000,9697992000000,-16312101000000,-1069379000000,-22389000000,2196000000,-17426000000,0,-3329224000000,-20728130000000,232553995000000,0,211825865000000,-17381480000000,2948000000,0,1864000000,-3329224000000
-VCB,2021,4,-127960000000,8035541000000,-10925973000000,-623700000000,-1107915000000,66374000000,-1024288000000,0,-1138679000000,-13712640000000,248038773000000,0,234326133000000,-11549673000000,3736000000,0,13791000000,-1138679000000
-VCB,2021,3,-177216000000,7964389000000,35653804000000,-611986000000,-156512000000,17412000000,-221326000000,0,0,34820492000000,213218281000000,0,248038773000000,35041818000000,1653000000,-83502000000,0,0
-VCB,2021,2,-120801000000,10419771000000,-19869154000000,-1553663000000,-293503000000,1780000000,-290395000000,0,0,-21713212000000,234931493000000,0,213218281000000,-21422817000000,1663000000,0,0,0
-VCB,2021,1,-100199000000,5969277000000,-55840207000000,-1009299000000,-63503000000,8278000000,-54084000000,0,-747619000000,-57651209000000,292582702000000,0,234931493000000,-56849506000000,1356000000,0,0,-747619000000
-VCB,2020,4,-819357000000,8917705000000,108637780000000,-413896000000,-1980809000000,16990000000,-1870550000000,0,-2238496000000,104114838000000,189839513000000,0,293954351000000,108223884000000,6063000000,0,89696000000,-2238496000000
-VCB,2020,3,66727000000,5180211000000,-19683718000000,-413341000000,-586045000000,2066000000,-582785000000,0,0,-20679844000000,210519357000000,0,189839513000000,-20097059000000,1380000000,0,1000000,0
-VCB,2020,2,43816000000,8115621000000,24563932000000,-203580000000,-390239000000,2595000000,129537000000,0,-747619000000,23742270000000,186777087000000,0,210519357000000,24360352000000,1922000000,0,515577000000,-747619000000
-VCB,2020,1,80163000000,7294900000000,-84621477000000,-838703000000,-44809000000,10732000000,-33268000000,0,0,-85493448000000,272270535000000,0,186777087000000,-85460180000000,867000000,0,0,0
-VCB,2019,4,-67772000000,3062937000000,33300303000000,-309272000000,-647290000000,80873000000,-562218000000,0,0,32428813000000,239623378000000,0,272052191000000,32991031000000,4850000000,0,701000000,0
-VCB,2019,3,-39765000000,7362940000000,30603237000000,-301010000000,-64512000000,15384000000,-47010000000,0,0,30255217000000,209368161000000,0,239623378000000,30302227000000,2494000000,0,0,0
-VCB,2019,2,-26672000000,7474285000000,14624363000000,-238014000000,-252223000000,91523000000,-67528000000,-11000000,-11000000,14318810000000,195049351000000,0,209368161000000,14386349000000,1943000000,0,95773000000,0
-VCB,2019,1,20090000000,7205949000000,-54483095000000,-575035000000,-24395000000,9857000000,-13163000000,6106488000000,6106488000000,-48964805000000,244014156000000,0,195049351000000,-55058130000000,1418000000,0,0,0
-VCB,2018,4,-60891000000,5687547000000,66849004000000,-363544000000,-595597000000,-41661000000,1203791000000,0,-2914981000000,64774270000000,175811866000000,0,240586136000000,66485460000000,3001000000,0,1839545000000,-2914981000000
-VCB,2018,3,-2899000000,5675012000000,1535917000000,-313662000000,-336125000000,24569000000,-219639000000,0,0,1002616000000,174809250000000,0,175811866000000,1222255000000,1936000000,0,90056000000,0
-VCB,2018,2,5303000000,4859857000000,-88485328000000,-191484000000,-105050000000,16603000000,192916000000,0,0,-88483896000000,263293146000000,0,174809250000000,-88676812000000,942000000,280526000000,0,0
-VCB,2018,1,15763000000,5327859000000,-42152701000000,-496483000000,-97602000000,87132000000,408083000000,0,0,-42241101000000,305534247000000,0,263293146000000,-42649184000000,670000000,417912000000,0,0
-VCB,2017,4,-22565000000,4371206000000,68603472000000,-245158000000,-817207000000,61241000000,-488588000000,0,-2878215000000,64991511000000,193270920000000,0,258262431000000,68358314000000,2599000000,265688000000,0,-2878215000000
-VCB,2017,3,-56500000000,3907799000000,26101114000000,-464672000000,-95118000000,23499000000,-70245000000,0,0,25566197000000,167704723000000,0,193270920000000,25636442000000,2778000000,0,0,0
-VCB,2017,2,2638000000,5683756000000,41014917000000,51122000000,-152467000000,88640000000,-146311000000,0,0,40919728000000,149109038000000,-22324043000000,167704723000000,41066039000000,1811000000,0,-84212000000,0
-VCB,2017,1,-14285000000,4343584000000,-30305665000000,-483677000000,-75184000000,0,9382000000,0,0,-30779960000000,179888998000000,0,149109038000000,-30789342000000,354000000,0,84212000000,0
-VCB,2016,4,-82792000000,5260506000000,25122814000000,-207250000000,-777674000000,0,-767529000000,0,0,24148035000000,152818631000000,0,176966666000000,24915564000000,2874000000,-12540000000,20906000000,0
-VCB,2016,3,-21040000000,1808086000000,24686275000000,-302178000000,-335467000000,-5674000000,-309677000000,0,-2665020000000,21409400000000,131409231000000,0,152818631000000,24384097000000,3003000000,12540000000,16183000000,-2665020000000
-VCB,2016,2,-70798000000,4611994000000,6395796000000,-302580000000,-109735000000,-6866000000,-117823000000,0,0,5975393000000,125433838000000,0,131409231000000,6093216000000,785000000,0,-853000000,0
-VCB,2016,1,-13020000000,3174781000000,-38562918000000,-387766000000,-49370000000,19663000000,-28331000000,0,0,-38979015000000,164412853000000,0,125433838000000,-38950684000000,544000000,0,853000000,0
-VCB,2015,4,75928000000,3537618000000,9060004000000,9136000000,-898653000000,6603000000,-907918000000,0,0,8161222000000,152364312000000,0,160525534000000,9069140000000,2789000000,0,-17501000000,0
-VCB,2015,3,-39268000000,2654593000000,22957956000000,-130201000000,-103929000000,61623000000,-132823000000,0,-2665020000000,20029912000000,132334400000000,0,152364312000000,22827755000000,1101000000,-108464000000,17501000000,-2665020000000
-VCB,2015,2,26946000000,3081378000000,-921877000000,-237819000000,-141476000000,14210000000,-126464000000,0,0,-1286160000000,133620560000000,0,132334400000000,-1159696000000,988000000,0,12100000000,0
-VCB,2015,1,4238000000,2214047000000,-41223847000000,-138842000000,-49979000000,7819000000,-29747000000,0,0,-41392436000000,175012996000000,0,133620560000000,-41362689000000,375000000,0,0,0
-VCB,2014,4,7659000000,2230740000000,7643566000000,-91477000000,-748965000000,76026000000,-1160745000000,0,-47000000,6391297000000,163499042000000,0,169890339000000,7552089000000,3625000000,-499602000000,9565000000,0
-VCB,2014,3,-3162000000,2963501000000,14311132000000,-84887000000,-138769000000,12294000000,-127002000000,0,-2780901000000,11318342000000,152180700000000,0,163499042000000,14226245000000,-464000000,0,0,-2780901000000
-VCB,2014,2,348660000000,3139649000000,42790240000000,-318484000000,-91870000000,61995000000,-28695000000,0,0,42443061000000,109737639000000,0,152180700000000,42471756000000,1218000000,0,0,0
-VCB,2014,1,13058000000,1678174000000,-27369127000000,-27397000000,-7568000000,1465000000,-5799000000,0,0,-27402323000000,137139962000000,0,109737639000000,-27396524000000,1320000000,0,0,0
-VCB,2013,4,291192000000,3890160000000,16391711000000,-65447000000,-892196000000,41065000000,-563108000000,0,0,15763156000000,118049438000000,0,133812594000000,16326264000000,-981000000,-68905000000,357909000000,0
-VCB,2013,3,-67967000000,2738964000000,-22659634000000,-122497000000,-140464000000,67255000000,-72832000000,0,0,-22854963000000,140904401000000,0,118049438000000,-22782131000000,418000000,-53950000000,5000000000,0
-VCB,2013,2,45369000000,2825071000000,23602132000000,-149032000000,-85708000000,93025000000,7842000000,0,-1000000,23460941000000,117443460000000,0,140904401000000,23453100000000,774000000,0,0,-1000000
-VCB,2013,1,-15194000000,2448398000000,-482789000000,-27864000000,-11176000000,82051000000,27166000000,0,-2780900000000,-3264387000000,120707847000000,0,117443460000000,-510653000000,266000000,5000000000,0,-2780900000000
diff --git a/vn-stock-analysis-app/data/dfratio_quarter.csv b/vn-stock-analysis-app/data/dfratio_quarter.csv
deleted file mode 100644
index c847d7cf8b8359d2602ad18e614a1f67509cfdb0..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/data/dfratio_quarter.csv
+++ /dev/null
@@ -1,51 +0,0 @@
-Meta,Meta,Meta,Chỉ tiêu cơ cấu nguồn vốn,Chỉ tiêu cơ cấu nguồn vốn,Chỉ tiêu cơ cấu nguồn vốn,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu thanh khoản,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá
-ticker,yearReport,lengthReport,Debt/Equity,Fixed Asset-To-Equity,Owners' Equity/Charter Capital,Net Profit Margin (%),ROE (%),ROIC (%),ROA (%),Dividend yield (%),Financial Leverage,Market Capital (Bn. VND),Outstanding Share (Mil. Shares),P/E,P/B,P/S,P/Cash Flow,EPS (VND),BVPS (VND)
-VCB,2025,1,9.2919963915,0.039112800171389114,2.4527262213338523,0.6353570388231943,0.1756325908,0.0,0.0169037963,0.0,10.291996391522485,492984830546000,8355675094,14.521926642,2.4066838241,7.1902643705,4.5179586021,1040.757198211853,24515.0606857716
-VCB,2024,4,9.6308667595,0.041246171534655304,2.3482144266343346,0.6187814307589212,0.1873163957,0.0,0.0172367854,0.0,10.630866759498211,501340505640000,8355675094,14.8187989673,2.5563871002,7.3104622423,8.4796431335,1025.097063210438,23470.6238327557
-VCB,2024,3,9.1544527651,0.042179813438047824,2.2774581210876366,0.6309344277604731,0.1939126694,0.0,0.0185861353,0.0,10.154452765127918,512519668725400,5589091262,14.8037078329,2.6948304678,7.6693737703,-10.421607957,1532.7353944359336,34028.114604796
-VCB,2024,2,9.4876699606,0.04246778606062642,2.174603284065894,0.5838066379147511,0.1951290992,0.0,0.0183856002,0.0,10.487669960589763,510842941346800,5589091262,15.3298773187,2.8130575347,7.7673339167,123.3460139497,1452.7252498458129,32491.3368716433
-VCB,2024,1,9.2164128281,0.043710193259274305,2.077798909685561,0.6094588627861688,0.1997346761,0.0,0.0185155376,0.0,10.216412828066767,489604394551200,5589091262,15.0062199577,2.8217066513,7.3639464381,-3.2576457183,1535.1325640958912,31045.0414684962
-VCB,2023,4,10.1483151118,0.04573412234352278,2.0171119880071298,0.7307915243104878,0.2197388427,0.0,0.0180833998,0.0,10.912466274843375,528728033385200,5589091262,16.0059572827,3.2059924698,7.8071619166,-13.7183976902,1673.8009027700862,29507.2433547964
-VCB,2023,3,9.8720630751,0.046732162749632294,1.9058127106252463,0.5770761277403086,0.2263474527,0.0,0.018943357,0.0,10.872063075119955,495752394939400,5589091262,14.7517020841,3.1152190054,7.0392109337,6.6872416102,1300.554716188136,28473.1185339518
-VCB,2023,2,10.2122400368,0.049989563235346514,1.819136410762886,0.5294233527127015,0.2301971451,0.0,0.0184772354,0.0,11.212240036797622,480661848532000,5589091262,14.8341412011,3.1642722225,6.7353154725,10.3042616193,1328.0912141241038,27178.4454536967
-VCB,2023,1,11.7640830127,0.05345047536071162,1.7312587717044614,0.6327162688642202,0.2315732438,0.0,0.017891605,0.0,12.764083012749253,492181723384000,4732516571,15.9196918568,3.4045795148,7.044594474,1.9818615503,1898.870265994891,30547.0909253368
-VCB,2022,4,12.3716735724,0.0578700714658406,1.6514337913771446,0.6704006065308621,0.244309439,0.0,0.0185219931,0.0,13.14739251132352,418354464876400,4732516571,13.9922493977,3.0861725944,6.1447874623,2.2808366834,2097.8853113454848,28643.8937859559
-VCB,2022,3,11.8488987383,0.060912371762343584,1.5365550785021944,0.4438591736753154,0.2202979774,0.0,0.0172399119,0.0,12.84889873825401,406049921791800,4732516571,15.3718009025,3.165159651,6.3159583103,8.2284518965,1281.53169862403,27107.6373585507
-VCB,2022,2,12.0228873074,0.06588778733229987,1.4719301027910456,0.4639257975529971,0.2165486775,0.0,0.017014105,0.0,13.022887307381527,314712351971500,4732516571,12.6164990464,2.5608871949,5.1738175319,4.2659812444,1254.5025275517414,25967.5631677783
-VCB,2022,1,11.4938251087,0.07127615126803666,1.4011756881747417,0.6648532396692945,0.2075165548,0.0,0.0165029312,0.0,12.493825108674848,339794689797800,4732516571,14.794485635,2.9045938485,5.882990202,-22.1911777229,1682.4418637624672,24719.4629421616
-VCB,2021,4,11.9646846218,0.07759280540354827,1.330480825897944,0.6131011973204546,0.2157232139,0.0,0.0159938645,0.0,12.726069482994411,382860590593900,4732516571,17.467213517,3.5115069923,6.7495857074,-6.9890350979,1381.8838036563106,23038.5416224674
-VCB,2021,3,11.6474501796,0.07466118902057005,1.310807933145324,0.44056366003103614,0.2039355727,0.0,0.0159551824,0.0091324201,12.647450179614403,414568451619600,4732516571,19.6251624626,3.788502147,7.3720657931,6.3786258507,970.7583546884954,23122.5947882687
-VCB,2021,2,11.4279121046,0.07926366690573136,1.2559071148584322,0.3568865287739344,0.206044184,0.0,0.0160973388,0.0082474227,12.427912104570558,359761112456000,3708877448,17.5312736717,3.4313598852,6.5928095507,36.5072844675,1067.7368167383027,28268.6757570103
-VCB,2021,1,11.662065505981445,0.08250165811650816,1.208851204285469,0.6846618532746305,0.2210981547832489,0.0,0.017001859843730927,0.0074696545,12.662065603942844,397220774680800,3708877448,18.7621939992,3.9360847619,7.5806988684,7.1382665378,1861.0962742169313,27209.7798902521
-VCB,2020,4,13.0945893829,0.08638893740335896,1.1831407143988695,0.5454564615561553,0.2108986857,0.0,0.0144775838,0.008,13.428536816642838,370887744800000,3708877448,20.1008882241,3.9451964933,7.5594891182,14.4858586358,1528.0955166248998,25347.2799568221
-VCB,2020,3,11.7016738156,0.07512998522484714,1.1199097493294656,0.4575058344588793,0.1940954746,0.0,0.0144866746,0.0080726539,12.701673815577966,367549755096800,3708877448,21.3984451019,3.9319539385,8.1185280505,-7.6245871526,1076.040676984914,25203.7540497348
-VCB,2020,2,12.2383573238,0.075061303800043,1.0720672954878778,0.5707758972995867,0.2133901976,0.0,0.0154799718,0.0091220068,13.238357323847719,325268552189600,3708877448,17.8386624601,3.6348962837,7.1204294691,148.2921944078,1243.0550927170996,24127.235869779
-VCB,2020,1,12.4506118383,0.07700908733927994,1.0181342027179594,0.46244925324216396,0.2189137295,0.0,0.0154758807,0.0097323601,13.450611838308324,304869726225600,3708877448,16.9517994674,3.5873987857,6.591665129,-39.1834537482,1126.463480817606,22913.538447011
-VCB,2019,4,14.1171337625,0.07808190765916219,1.0262886844604253,0.508964875936923,0.2587808264,0.0,0.0161192423,0.0,14.273274158345398,266668288511200,3708877448,14.4060155839,3.300369589,5.831315696,10.6344740649,1185.6183067928644,21785.4388916439
-VCB,2019,3,13.2213698623,0.07768490661866916,0.9740792106486376,0.5698362147920273,0.2632481774,0.0,0.0175244171,0.0085653105,14.22136986233374,346409153643200,3708877448,17.7275203328,4.2602536103,7.5708258078,6.1263545707,1361.150933342999,21923.5774543716
-VCB,2019,2,13.6949445564,0.08429300908047417,0.9143166906389049,0.5082918307625225,0.2515104159,0.0,0.0162089465,0.0095011876,14.694944556440793,312287481121600,3708877448,17.7979433773,4.0917701354,7.2329341855,11.3749293174,1175.8099481964873,20577.8910384747
-VCB,2019,1,13.7048136506,0.08740256004921534,0.8735605104178074,0.5538852328640529,0.2466029362,0.0,0.0153867213,0.0101265823,14.704813650636583,293001318392000,3708877448,18.0702118135,4.0181573597,7.1234900157,-3.7660270148,1269.20774978381,19660.7531584311
-VCB,2018,4,16.2730345216,0.10217588170649922,0.7646191155263702,0.6611210379117465,0.2545915437,0.0,0.0138486139,0.0,16.79446826984808,252203666464000,3708877448,16.7503309215,4.0605712903,6.4209197568,-4.0616079961,1422.5784146211563,16746.4120534618
-VCB,2018,3,15.1737096153,0.09979678830638106,0.736343602495753,0.3948888014236647,0.209957537,0.0,0.0120500618,0.0144927536,16.173709615334886,204730035129600,3708877448,16.456916004,3.0280784828,5.6669183733,-3.2213476669,791.2437229713502,18229.38220207
-VCB,2018,2,0.0,0.10227271951640034,0.7013578596669163,0.43040860216318794,0.0,0.0,0.0,0.0143369176,16.683085939494344,200755486485000,3597768575,17.7725985697,3.4314412667,5.9044665042,-5.3776806739,813.4939585434563,16261.3886303123
-VCB,2018,1,16.9058696061,0.1083917418513246,0.6709899244437998,0.5654174638810837,0.1918870737,0.0,0.0109680561,0.0141342756,17.90586960613985,203633701345000,3597768575,19.6078466127,3.6381047689,6.3556334519,2.2035510533,973.9225653223123,15557.5508663898
-VCB,2017,4,18.6981257016,0.11397462341978988,0.6470656337370506,0.4710197700000156,0.1806301998,0.0,0.0099726515,0.0125,19.149223916043557,230257188800000,3597768575,25.3278426412,4.3884730449,7.830246934,1.5187898876,756.2962828980739,14583.660272092
-VCB,2017,3,15.5632003111,0.10095566659620346,0.649209075146454,0.408548607177135,0.157974221,0.0,0.0097688493,0.0131147541,16.563200311117168,219463883075000,3597768575,26.9802601817,4.0574312629,7.7167239249,3.6079001158,595.9518949881316,15034.1425515804
-VCB,2017,2,15.306942454,0.10629046223287612,0.6236463052209722,0.35769726816477937,0.1531106038,0.0,0.0096246314,0.0196078431,16.306942454018156,146788957860000,3597768575,19.24595247,2.8251477479,5.3941804637,2.4638793206,560.4287652103916,14441.7225721521
-VCB,2017,1,14.7866932124,0.11032350459953895,0.6021439851835387,0.4181362517104012,0.1472732014,0.0,0.0095965158,0.0212765957,15.786693212386929,135276098420000,3597768575,18.8012230517,2.6965717958,5.1586895124,5.4982382467,613.1597833526577,13943.6302268022
-VCB,2016,4,15.4261135095,0.11440117751852014,0.5899565318833112,0.36200381284695987,0.146974081,0.0,0.0093437979,0.0,15.988872346931325,127361007555000,3597768575,18.6425841848,2.6556786699,5.1190872741,6.5772880976,491.37179425166335,13329.9259435418
-VCB,2016,3,14.5625054698,0.10632597434777495,0.5689169392684382,0.3646797187117633,0.1429525782,0.0,0.0098036395,0.0263157895,15.516064726289926,136715205850000,3597768575,20.2633684908,2.8851846966,5.6450154174,229.4768686488,454.965895075672,13170.7339376968
-VCB,2016,2,0.0,0.10025771139370675,0.581353911605314,0.3425885582680872,0.0,0.0,0.0,0.0272479564,13.97810326011727,132038106702500,3597768575,21.0179235055,2.0196343628,5.5636709286,-137.4576481482,440.37240499828425,18171.6060474286
-VCB,2016,1,13.0879656054,0.10421845817483079,0.5642604633329463,0.4052021227661262,0.1318086183,0.0,0.0095222662,0.0181818182,14.047836810779453,146576118370000,2665020334,24.3527188027,3.1184276619,6.5065804129,-17.8457885416,689.1827340181187,17637.0934210145
-VCB,2015,4,0.0,0.10962211234837799,0.5501806674245967,0.3806877391113082,0.0,0.0,0.0,0.0217391304,14.659362951792389,122590935364000,2665020334,23.0697393341,2.7238167263,5.7821011759,-18.1935002253,633.845820404911,16888.067231608
-VCB,2015,3,0.0,0.09763884625526718,0.526653268646111,0.2966879508417062,0.0,0.0,0.0,0.025,13.988621860262901,106600813360000,2665020334,21.5567956573,2.422446445,5.2659438626,-8.7791189669,439.8146554629628,16512.2329462181
-VCB,2015,2,0.0,0.09489707554872062,0.5466368723790878,0.3701693916018999,0.0,0.0,0.0,0.0210526316,12.622386620695988,126588465865000,2665020334,22.8766873735,2.7714922207,6.7685310695,-5.3064520643,495.7080376258022,17138.7816445526
-VCB,2015,1,0.0,0.09768445588780043,0.532374146906962,0.3236388140393007,0.0,0.0,0.0,0.0230946882,12.133881892354852,115395380462200,2665020334,25.374766995,2.59411913,6.4851173503,5.04187354,424.58550336899606,16691.6004354638
-VCB,2014,4,12.3063761109,0.10062310043500984,0.5287524766457847,0.4053173891062038,0.1071260836,0.0,0.0087808761,0.0260416666,12.997952551331133,102336780825600,2665020334,22.2843170541,2.3606708151,5.9139956865,2.4362852159,495.45513148793856,16266.5627725237
-VCB,2014,3,11.2568021684,0.08979789819524403,0.5175937373517028,0.3526665175111213,0.1052167115,22.5501720569,0.009439071,0.0275482093,12.260006398841892,96740238124200,2665020334,21.0424580669,2.2368486243,5.81889799,6.8001246284,389.7790147217691,16228.1879985085
-VCB,2014,2,10.3343804802,0.08764143518382209,0.5324841080997638,0.37661982259853627,0.1062970598,16.5864901906,0.0099016835,0.0374531835,11.337427388555618,71156042917800,2665020334,15.47373072,1.599276638,4.2797134043,1.6753732423,396.59997581091625,16695.0478509932
-VCB,2014,1,9.1450823613,0.08995099946085758,0.5260939362226474,0.421592779048741,0.1041716757,16.2137600739,0.0098457642,0.0383141762,10.148570635619343,69557030717400,2665020334,15.7895656262,1.5823268367,4.3430725951,-2.5388998744,437.5069807628717,16494.695908763
-VCB,2013,4,10.0612864157,0.09484387346823939,0.5155523583119351,0.4882945833636453,0.1038460787,0.0,0.0098656232,0.04,10.851485843778756,69522512280000,2317417076,15.9526579765,1.6402209612,4.4831963131,3.5046286193,576.3753162229655,18290.2186399528
-VCB,2013,3,9.5869586331,0.08041046519806641,0.49684028558997484,0.35691089000168175,0.0975441284,14.7568857483,0.0095154711,0.0433212996,10.59048594269549,64192453005200,2317417076,15.7685953541,1.5462710494,4.2272272026,-2.8176667788,448.7288933742197,17914.0649432239
-VCB,2013,2,9.7457022561,0.08528991993402596,0.4859289111080412,0.33835840383984805,0.099276907,15.3428992617,0.0098005874,0.0416666666,10.749808663924103,66741611788800,2317417076,16.1338902815,1.6437751374,4.530401784,2.8457480026,372.6968308573903,17520.6446092486
-VCB,2013,1,8.8941548027,0.08283600531067001,0.5084211810785375,0.4293741938023811,0.100583351,14.810159704,0.0101727381,0.0431654676,9.897843045229815,64424194712800,2317417076,15.4129994705,1.5165049044,4.4467822883,-126.1604169171,480.03918307193834,18331.6255153028
diff --git a/vn-stock-analysis-app/data/dfratio_year.csv b/vn-stock-analysis-app/data/dfratio_year.csv
deleted file mode 100644
index c847d7cf8b8359d2602ad18e614a1f67509cfdb0..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/data/dfratio_year.csv
+++ /dev/null
@@ -1,51 +0,0 @@
-Meta,Meta,Meta,Chỉ tiêu cơ cấu nguồn vốn,Chỉ tiêu cơ cấu nguồn vốn,Chỉ tiêu cơ cấu nguồn vốn,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu thanh khoản,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá
-ticker,yearReport,lengthReport,Debt/Equity,Fixed Asset-To-Equity,Owners' Equity/Charter Capital,Net Profit Margin (%),ROE (%),ROIC (%),ROA (%),Dividend yield (%),Financial Leverage,Market Capital (Bn. VND),Outstanding Share (Mil. Shares),P/E,P/B,P/S,P/Cash Flow,EPS (VND),BVPS (VND)
-VCB,2025,1,9.2919963915,0.039112800171389114,2.4527262213338523,0.6353570388231943,0.1756325908,0.0,0.0169037963,0.0,10.291996391522485,492984830546000,8355675094,14.521926642,2.4066838241,7.1902643705,4.5179586021,1040.757198211853,24515.0606857716
-VCB,2024,4,9.6308667595,0.041246171534655304,2.3482144266343346,0.6187814307589212,0.1873163957,0.0,0.0172367854,0.0,10.630866759498211,501340505640000,8355675094,14.8187989673,2.5563871002,7.3104622423,8.4796431335,1025.097063210438,23470.6238327557
-VCB,2024,3,9.1544527651,0.042179813438047824,2.2774581210876366,0.6309344277604731,0.1939126694,0.0,0.0185861353,0.0,10.154452765127918,512519668725400,5589091262,14.8037078329,2.6948304678,7.6693737703,-10.421607957,1532.7353944359336,34028.114604796
-VCB,2024,2,9.4876699606,0.04246778606062642,2.174603284065894,0.5838066379147511,0.1951290992,0.0,0.0183856002,0.0,10.487669960589763,510842941346800,5589091262,15.3298773187,2.8130575347,7.7673339167,123.3460139497,1452.7252498458129,32491.3368716433
-VCB,2024,1,9.2164128281,0.043710193259274305,2.077798909685561,0.6094588627861688,0.1997346761,0.0,0.0185155376,0.0,10.216412828066767,489604394551200,5589091262,15.0062199577,2.8217066513,7.3639464381,-3.2576457183,1535.1325640958912,31045.0414684962
-VCB,2023,4,10.1483151118,0.04573412234352278,2.0171119880071298,0.7307915243104878,0.2197388427,0.0,0.0180833998,0.0,10.912466274843375,528728033385200,5589091262,16.0059572827,3.2059924698,7.8071619166,-13.7183976902,1673.8009027700862,29507.2433547964
-VCB,2023,3,9.8720630751,0.046732162749632294,1.9058127106252463,0.5770761277403086,0.2263474527,0.0,0.018943357,0.0,10.872063075119955,495752394939400,5589091262,14.7517020841,3.1152190054,7.0392109337,6.6872416102,1300.554716188136,28473.1185339518
-VCB,2023,2,10.2122400368,0.049989563235346514,1.819136410762886,0.5294233527127015,0.2301971451,0.0,0.0184772354,0.0,11.212240036797622,480661848532000,5589091262,14.8341412011,3.1642722225,6.7353154725,10.3042616193,1328.0912141241038,27178.4454536967
-VCB,2023,1,11.7640830127,0.05345047536071162,1.7312587717044614,0.6327162688642202,0.2315732438,0.0,0.017891605,0.0,12.764083012749253,492181723384000,4732516571,15.9196918568,3.4045795148,7.044594474,1.9818615503,1898.870265994891,30547.0909253368
-VCB,2022,4,12.3716735724,0.0578700714658406,1.6514337913771446,0.6704006065308621,0.244309439,0.0,0.0185219931,0.0,13.14739251132352,418354464876400,4732516571,13.9922493977,3.0861725944,6.1447874623,2.2808366834,2097.8853113454848,28643.8937859559
-VCB,2022,3,11.8488987383,0.060912371762343584,1.5365550785021944,0.4438591736753154,0.2202979774,0.0,0.0172399119,0.0,12.84889873825401,406049921791800,4732516571,15.3718009025,3.165159651,6.3159583103,8.2284518965,1281.53169862403,27107.6373585507
-VCB,2022,2,12.0228873074,0.06588778733229987,1.4719301027910456,0.4639257975529971,0.2165486775,0.0,0.017014105,0.0,13.022887307381527,314712351971500,4732516571,12.6164990464,2.5608871949,5.1738175319,4.2659812444,1254.5025275517414,25967.5631677783
-VCB,2022,1,11.4938251087,0.07127615126803666,1.4011756881747417,0.6648532396692945,0.2075165548,0.0,0.0165029312,0.0,12.493825108674848,339794689797800,4732516571,14.794485635,2.9045938485,5.882990202,-22.1911777229,1682.4418637624672,24719.4629421616
-VCB,2021,4,11.9646846218,0.07759280540354827,1.330480825897944,0.6131011973204546,0.2157232139,0.0,0.0159938645,0.0,12.726069482994411,382860590593900,4732516571,17.467213517,3.5115069923,6.7495857074,-6.9890350979,1381.8838036563106,23038.5416224674
-VCB,2021,3,11.6474501796,0.07466118902057005,1.310807933145324,0.44056366003103614,0.2039355727,0.0,0.0159551824,0.0091324201,12.647450179614403,414568451619600,4732516571,19.6251624626,3.788502147,7.3720657931,6.3786258507,970.7583546884954,23122.5947882687
-VCB,2021,2,11.4279121046,0.07926366690573136,1.2559071148584322,0.3568865287739344,0.206044184,0.0,0.0160973388,0.0082474227,12.427912104570558,359761112456000,3708877448,17.5312736717,3.4313598852,6.5928095507,36.5072844675,1067.7368167383027,28268.6757570103
-VCB,2021,1,11.662065505981445,0.08250165811650816,1.208851204285469,0.6846618532746305,0.2210981547832489,0.0,0.017001859843730927,0.0074696545,12.662065603942844,397220774680800,3708877448,18.7621939992,3.9360847619,7.5806988684,7.1382665378,1861.0962742169313,27209.7798902521
-VCB,2020,4,13.0945893829,0.08638893740335896,1.1831407143988695,0.5454564615561553,0.2108986857,0.0,0.0144775838,0.008,13.428536816642838,370887744800000,3708877448,20.1008882241,3.9451964933,7.5594891182,14.4858586358,1528.0955166248998,25347.2799568221
-VCB,2020,3,11.7016738156,0.07512998522484714,1.1199097493294656,0.4575058344588793,0.1940954746,0.0,0.0144866746,0.0080726539,12.701673815577966,367549755096800,3708877448,21.3984451019,3.9319539385,8.1185280505,-7.6245871526,1076.040676984914,25203.7540497348
-VCB,2020,2,12.2383573238,0.075061303800043,1.0720672954878778,0.5707758972995867,0.2133901976,0.0,0.0154799718,0.0091220068,13.238357323847719,325268552189600,3708877448,17.8386624601,3.6348962837,7.1204294691,148.2921944078,1243.0550927170996,24127.235869779
-VCB,2020,1,12.4506118383,0.07700908733927994,1.0181342027179594,0.46244925324216396,0.2189137295,0.0,0.0154758807,0.0097323601,13.450611838308324,304869726225600,3708877448,16.9517994674,3.5873987857,6.591665129,-39.1834537482,1126.463480817606,22913.538447011
-VCB,2019,4,14.1171337625,0.07808190765916219,1.0262886844604253,0.508964875936923,0.2587808264,0.0,0.0161192423,0.0,14.273274158345398,266668288511200,3708877448,14.4060155839,3.300369589,5.831315696,10.6344740649,1185.6183067928644,21785.4388916439
-VCB,2019,3,13.2213698623,0.07768490661866916,0.9740792106486376,0.5698362147920273,0.2632481774,0.0,0.0175244171,0.0085653105,14.22136986233374,346409153643200,3708877448,17.7275203328,4.2602536103,7.5708258078,6.1263545707,1361.150933342999,21923.5774543716
-VCB,2019,2,13.6949445564,0.08429300908047417,0.9143166906389049,0.5082918307625225,0.2515104159,0.0,0.0162089465,0.0095011876,14.694944556440793,312287481121600,3708877448,17.7979433773,4.0917701354,7.2329341855,11.3749293174,1175.8099481964873,20577.8910384747
-VCB,2019,1,13.7048136506,0.08740256004921534,0.8735605104178074,0.5538852328640529,0.2466029362,0.0,0.0153867213,0.0101265823,14.704813650636583,293001318392000,3708877448,18.0702118135,4.0181573597,7.1234900157,-3.7660270148,1269.20774978381,19660.7531584311
-VCB,2018,4,16.2730345216,0.10217588170649922,0.7646191155263702,0.6611210379117465,0.2545915437,0.0,0.0138486139,0.0,16.79446826984808,252203666464000,3708877448,16.7503309215,4.0605712903,6.4209197568,-4.0616079961,1422.5784146211563,16746.4120534618
-VCB,2018,3,15.1737096153,0.09979678830638106,0.736343602495753,0.3948888014236647,0.209957537,0.0,0.0120500618,0.0144927536,16.173709615334886,204730035129600,3708877448,16.456916004,3.0280784828,5.6669183733,-3.2213476669,791.2437229713502,18229.38220207
-VCB,2018,2,0.0,0.10227271951640034,0.7013578596669163,0.43040860216318794,0.0,0.0,0.0,0.0143369176,16.683085939494344,200755486485000,3597768575,17.7725985697,3.4314412667,5.9044665042,-5.3776806739,813.4939585434563,16261.3886303123
-VCB,2018,1,16.9058696061,0.1083917418513246,0.6709899244437998,0.5654174638810837,0.1918870737,0.0,0.0109680561,0.0141342756,17.90586960613985,203633701345000,3597768575,19.6078466127,3.6381047689,6.3556334519,2.2035510533,973.9225653223123,15557.5508663898
-VCB,2017,4,18.6981257016,0.11397462341978988,0.6470656337370506,0.4710197700000156,0.1806301998,0.0,0.0099726515,0.0125,19.149223916043557,230257188800000,3597768575,25.3278426412,4.3884730449,7.830246934,1.5187898876,756.2962828980739,14583.660272092
-VCB,2017,3,15.5632003111,0.10095566659620346,0.649209075146454,0.408548607177135,0.157974221,0.0,0.0097688493,0.0131147541,16.563200311117168,219463883075000,3597768575,26.9802601817,4.0574312629,7.7167239249,3.6079001158,595.9518949881316,15034.1425515804
-VCB,2017,2,15.306942454,0.10629046223287612,0.6236463052209722,0.35769726816477937,0.1531106038,0.0,0.0096246314,0.0196078431,16.306942454018156,146788957860000,3597768575,19.24595247,2.8251477479,5.3941804637,2.4638793206,560.4287652103916,14441.7225721521
-VCB,2017,1,14.7866932124,0.11032350459953895,0.6021439851835387,0.4181362517104012,0.1472732014,0.0,0.0095965158,0.0212765957,15.786693212386929,135276098420000,3597768575,18.8012230517,2.6965717958,5.1586895124,5.4982382467,613.1597833526577,13943.6302268022
-VCB,2016,4,15.4261135095,0.11440117751852014,0.5899565318833112,0.36200381284695987,0.146974081,0.0,0.0093437979,0.0,15.988872346931325,127361007555000,3597768575,18.6425841848,2.6556786699,5.1190872741,6.5772880976,491.37179425166335,13329.9259435418
-VCB,2016,3,14.5625054698,0.10632597434777495,0.5689169392684382,0.3646797187117633,0.1429525782,0.0,0.0098036395,0.0263157895,15.516064726289926,136715205850000,3597768575,20.2633684908,2.8851846966,5.6450154174,229.4768686488,454.965895075672,13170.7339376968
-VCB,2016,2,0.0,0.10025771139370675,0.581353911605314,0.3425885582680872,0.0,0.0,0.0,0.0272479564,13.97810326011727,132038106702500,3597768575,21.0179235055,2.0196343628,5.5636709286,-137.4576481482,440.37240499828425,18171.6060474286
-VCB,2016,1,13.0879656054,0.10421845817483079,0.5642604633329463,0.4052021227661262,0.1318086183,0.0,0.0095222662,0.0181818182,14.047836810779453,146576118370000,2665020334,24.3527188027,3.1184276619,6.5065804129,-17.8457885416,689.1827340181187,17637.0934210145
-VCB,2015,4,0.0,0.10962211234837799,0.5501806674245967,0.3806877391113082,0.0,0.0,0.0,0.0217391304,14.659362951792389,122590935364000,2665020334,23.0697393341,2.7238167263,5.7821011759,-18.1935002253,633.845820404911,16888.067231608
-VCB,2015,3,0.0,0.09763884625526718,0.526653268646111,0.2966879508417062,0.0,0.0,0.0,0.025,13.988621860262901,106600813360000,2665020334,21.5567956573,2.422446445,5.2659438626,-8.7791189669,439.8146554629628,16512.2329462181
-VCB,2015,2,0.0,0.09489707554872062,0.5466368723790878,0.3701693916018999,0.0,0.0,0.0,0.0210526316,12.622386620695988,126588465865000,2665020334,22.8766873735,2.7714922207,6.7685310695,-5.3064520643,495.7080376258022,17138.7816445526
-VCB,2015,1,0.0,0.09768445588780043,0.532374146906962,0.3236388140393007,0.0,0.0,0.0,0.0230946882,12.133881892354852,115395380462200,2665020334,25.374766995,2.59411913,6.4851173503,5.04187354,424.58550336899606,16691.6004354638
-VCB,2014,4,12.3063761109,0.10062310043500984,0.5287524766457847,0.4053173891062038,0.1071260836,0.0,0.0087808761,0.0260416666,12.997952551331133,102336780825600,2665020334,22.2843170541,2.3606708151,5.9139956865,2.4362852159,495.45513148793856,16266.5627725237
-VCB,2014,3,11.2568021684,0.08979789819524403,0.5175937373517028,0.3526665175111213,0.1052167115,22.5501720569,0.009439071,0.0275482093,12.260006398841892,96740238124200,2665020334,21.0424580669,2.2368486243,5.81889799,6.8001246284,389.7790147217691,16228.1879985085
-VCB,2014,2,10.3343804802,0.08764143518382209,0.5324841080997638,0.37661982259853627,0.1062970598,16.5864901906,0.0099016835,0.0374531835,11.337427388555618,71156042917800,2665020334,15.47373072,1.599276638,4.2797134043,1.6753732423,396.59997581091625,16695.0478509932
-VCB,2014,1,9.1450823613,0.08995099946085758,0.5260939362226474,0.421592779048741,0.1041716757,16.2137600739,0.0098457642,0.0383141762,10.148570635619343,69557030717400,2665020334,15.7895656262,1.5823268367,4.3430725951,-2.5388998744,437.5069807628717,16494.695908763
-VCB,2013,4,10.0612864157,0.09484387346823939,0.5155523583119351,0.4882945833636453,0.1038460787,0.0,0.0098656232,0.04,10.851485843778756,69522512280000,2317417076,15.9526579765,1.6402209612,4.4831963131,3.5046286193,576.3753162229655,18290.2186399528
-VCB,2013,3,9.5869586331,0.08041046519806641,0.49684028558997484,0.35691089000168175,0.0975441284,14.7568857483,0.0095154711,0.0433212996,10.59048594269549,64192453005200,2317417076,15.7685953541,1.5462710494,4.2272272026,-2.8176667788,448.7288933742197,17914.0649432239
-VCB,2013,2,9.7457022561,0.08528991993402596,0.4859289111080412,0.33835840383984805,0.099276907,15.3428992617,0.0098005874,0.0416666666,10.749808663924103,66741611788800,2317417076,16.1338902815,1.6437751374,4.530401784,2.8457480026,372.6968308573903,17520.6446092486
-VCB,2013,1,8.8941548027,0.08283600531067001,0.5084211810785375,0.4293741938023811,0.100583351,14.810159704,0.0101727381,0.0431654676,9.897843045229815,64424194712800,2317417076,15.4129994705,1.5165049044,4.4467822883,-126.1604169171,480.03918307193834,18331.6255153028
diff --git a/vn-stock-analysis-app/data/market_news.json b/vn-stock-analysis-app/data/market_news.json
deleted file mode 100644
index 69e8d80bed2962b427a13ac79051e2477ce423f5..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/data/market_news.json
+++ /dev/null
@@ -1,52 +0,0 @@
-[
- {
- "title": "Trái phiếu doanh nghiệp phục hồi, phát hành mới tăng mạnh trong tháng 6",
- "link": "https://cafef.vn/trai-phieu-doanh-nghiep-phuc-hoi-phat-hanh-moi-tang-manh-trong-thang-6-188250708145049562.chn",
- "source": "CafeF"
- },
- {
- "title": "Vietnam Airlines chốt ngày chào bán 900 triệu cổ phiếu giá 10.000 đồng",
- "link": "https://cafef.vn/vietnam-airlines-chot-ngay-chao-ban-900-trieu-co-phieu-gia-10000-dong-188250708133433888.chn",
- "source": "CafeF"
- },
- {
- "title": "Cổ phiếu Hòa Phát lên đỉnh 3 năm, tài sản của tỷ phú Trần Đình Long tăng vọt",
- "link": "https://cafef.vn/co-phieu-hoa-phat-len-dinh-3-nam-tai-san-cua-ty-phu-tran-dinh-long-tang-vot-188250708114313913.chn",
- "source": "CafeF"
- },
- {
- "title": "Chủ tịch HĐQT Chứng khoán Mirae Asset: \"Thị trường chứng khoán là tấm gương phản chiếu sự chuyển mình của nền kinh tế\"",
- "link": "https://cafef.vn/chu-tich-hdqt-chung-khoan-mirae-asset-thi-truong-chung-khoan-la-tam-guong-phan-chieu-su-chuyen-minh-cua-nen-kinh-te-188250708105340723.chn",
- "source": "CafeF"
- },
- {
- "title": "Bảo hiểm PJICO làm ăn ra sao dưới thời 2 CEO vừa bị khởi tố?",
- "link": "https://cafef.vn/bao-hiem-pjico-lam-an-ra-sao-duoi-thoi-2-ceo-vua-bi-khoi-to-188250708100717327.chn",
- "source": "CafeF"
- },
- {
- "title": "FPTS tiếp tục đăng ký bán hơn 500.000 cổ phiếu MSH",
- "link": "https://cafef.vn/fpts-tiep-tuc-dang-ky-ban-hon-500000-co-phieu-msh-188250708101526665.chn",
- "source": "CafeF"
- },
- {
- "title": "Doanh nghiệp nghìn tỷ bị nhắc nhở vì “tranh thủ” bán cổ phiếu quỹ khi giá tăng mạnh",
- "link": "https://cafef.vn/doanh-nghiep-nghin-ty-bi-nhac-nho-vi-tranh-thu-ban-co-phieu-quy-khi-gia-tang-manh-18825070809555446.chn",
- "source": "CafeF"
- },
- {
- "title": "Lịch sự kiện và tin vắn chứng khoán ngày 8/7/2025",
- "link": "https://cafef.vn/lich-su-kien-va-tin-van-chung-khoan-ngay-8-7-2025-188250707223125845.chn",
- "source": "CafeF"
- },
- {
- "title": "TPBank chính thức lên tiếng về vụ án ông Đỗ Anh Tú",
- "link": "https://cafef.vn/tpbank-chinh-thuc-len-tieng-ve-vu-an-ong-do-anh-tu-188250707235042896.chn",
- "source": "CafeF"
- },
- {
- "title": "Điều gì khiến VN-Index bùng nổ vượt 1.400 điểm cùng thanh khoản tỷ USD?",
- "link": "https://cafef.vn/dieu-gi-khien-vn-index-bung-no-vuot-1400-diem-cung-thanh-khoan-ty-usd-188250707225108168.chn",
- "source": "CafeF"
- }
-]
\ No newline at end of file
diff --git a/vn-stock-analysis-app/data/usd_index.json b/vn-stock-analysis-app/data/usd_index.json
deleted file mode 100644
index 08e65acc30bf913361558a991e2b605c73129c80..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/data/usd_index.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "usd_index": "97.22",
- "last_updated": "2025-07-08 08:19:57.088722"
-}
\ No newline at end of file
diff --git a/vn-stock-analysis-app/data/vnindex.csv b/vn-stock-analysis-app/data/vnindex.csv
deleted file mode 100644
index b86b1713233290dc79923b2b05a2030e133aea03..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/data/vnindex.csv
+++ /dev/null
@@ -1,749 +0,0 @@
-time,open,high,low,close,volume
-2022-07-11,1161.3,1165.6,1144.55,1155.29,488732000
-2022-07-12,1154.31,1174.82,1153.55,1174.82,475429100
-2022-07-13,1173.46,1182.21,1170.92,1173.92,522379700
-2022-07-14,1170.7,1182.17,1170.04,1182.17,490512400
-2022-07-15,1183.15,1189.66,1178.12,1179.25,543854200
-2022-07-18,1184.74,1184.93,1174.7,1176.49,480514500
-2022-07-19,1176.1,1180.46,1168.99,1178.33,479006800
-2022-07-20,1188.12,1198.63,1185.82,1194.14,601098600
-2022-07-21,1195.03,1201.91,1194.89,1198.47,500949000
-2022-07-22,1199.16,1202.69,1194.76,1194.76,448428100
-2022-07-25,1191.43,1198.16,1184.32,1188.5,410066000
-2022-07-26,1189.2,1194.15,1184.44,1185.07,388328300
-2022-07-27,1180.83,1191.04,1178.58,1191.04,387799200
-2022-07-28,1201.77,1214.03,1198.68,1208.12,620546700
-2022-07-29,1214.32,1217.84,1206.33,1206.33,537058300
-2022-08-01,1209.05,1231.35,1206.46,1231.35,681871300
-2022-08-02,1230.31,1241.91,1224.11,1241.62,734388200
-2022-08-03,1233.84,1250.2,1232.41,1249.76,702358600
-2022-08-04,1252.49,1257.38,1247.38,1254.15,655935800
-2022-08-05,1250.25,1253.75,1245.05,1252.74,604391400
-2022-08-08,1252.36,1258.84,1252.04,1256.75,634015600
-2022-08-09,1260.36,1263.14,1252.84,1258.85,655262300
-2022-08-10,1255.69,1260.36,1253.89,1256.5,584384800
-2022-08-11,1261.91,1268.03,1245.85,1252.07,765336500
-2022-08-12,1250.76,1262.33,1248.65,1262.33,508817800
-2022-08-15,1268.56,1274.24,1267.14,1274.2,585580500
-2022-08-16,1274.18,1275.93,1271.11,1274.69,569526100
-2022-08-17,1276.76,1280.61,1271.97,1275.28,644581600
-2022-08-18,1273.45,1283.15,1268.64,1273.66,558424300
-2022-08-19,1272.04,1280.0,1263.45,1269.18,568209800
-2022-08-22,1268.52,1270.57,1255.83,1260.43,566785900
-2022-08-23,1253.45,1270.81,1253.45,1270.81,520796300
-2022-08-24,1275.57,1280.36,1272.33,1277.16,519810800
-2022-08-25,1279.45,1289.18,1279.45,1288.88,562124700
-2022-08-26,1291.29,1295.12,1280.05,1282.57,614354500
-2022-08-29,1263.43,1271.56,1249.17,1270.8,793997300
-2022-08-30,1271.01,1287.65,1271.01,1279.39,473770000
-2022-08-31,1276.65,1285.29,1274.99,1280.51,462420100
-2022-09-05,1280.34,1285.7,1275.35,1277.35,466166300
-2022-09-06,1279.58,1286.92,1277.4,1277.4,537987600
-2022-09-07,1274.68,1275.07,1243.17,1243.17,796593600
-2022-09-08,1251.22,1251.36,1234.6,1234.6,557779800
-2022-09-09,1241.26,1248.78,1228.54,1248.78,542039800
-2022-09-12,1255.16,1257.8,1248.97,1249.62,390724400
-2022-09-13,1251.1,1252.35,1243.87,1248.4,410707400
-2022-09-14,1229.76,1242.17,1228.51,1240.77,574337900
-2022-09-15,1246.92,1250.93,1243.45,1245.66,385727500
-2022-09-16,1243.15,1246.17,1230.37,1234.03,594453000
-2022-09-19,1231.8,1233.46,1202.07,1205.43,641804000
-2022-09-20,1212.08,1218.93,1199.71,1218.93,412723400
-2022-09-21,1213.2,1217.28,1204.68,1210.55,325527500
-2022-09-22,1200.34,1214.7,1196.64,1214.7,435982100
-2022-09-23,1214.81,1216.59,1201.45,1203.28,443208000
-2022-09-26,1186.41,1190.27,1159.12,1174.35,701894100
-2022-09-27,1177.66,1180.75,1166.44,1166.54,406199700
-2022-09-28,1158.6,1162.6,1142.79,1143.62,496730000
-2022-09-29,1149.78,1159.49,1126.07,1126.07,415993300
-2022-09-30,1116.11,1135.47,1099.44,1132.11,612447000
-2022-10-03,1124.46,1126.46,1079.86,1086.44,501911900
-2022-10-04,1095.73,1100.42,1069.74,1078.14,513862500
-2022-10-05,1092.08,1110.21,1092.08,1104.26,396842100
-2022-10-06,1105.31,1106.97,1072.57,1074.52,499954800
-2022-10-07,1060.58,1062.23,1022.38,1035.91,788668100
-2022-10-10,1022.22,1051.02,1012.94,1042.48,541876100
-2022-10-11,1036.48,1036.48,998.64,1006.2,580908400
-2022-10-12,1006.74,1039.44,1002.89,1034.81,532825500
-2022-10-13,1034.48,1050.99,1025.04,1050.99,402643700
-2022-10-14,1050.99,1068.12,1050.99,1061.85,641479597
-2022-10-17,1061.85,1061.85,1033.59,1051.58,497417202
-2022-10-18,1051.58,1071.74,1051.58,1063.66,514837794
-2022-10-19,1063.66,1065.99,1052.29,1060.07,400659500
-2022-10-20,1060.07,1065.28,1048.21,1058.45,398325488
-2022-10-21,1058.45,1059.09,1013.69,1019.82,742095685
-2022-10-24,1019.82,1023.51,977.41,986.15,654944880
-2022-10-25,986.15,1011.39,962.45,997.7,751178249
-2022-10-26,997.7,1004.55,984.71,993.36,448275048
-2022-10-27,993.36,1028.01,990.48,1028.01,647723295
-2022-10-28,1028.01,1044.57,1026.53,1027.36,654695656
-2022-10-31,1027.36,1030.32,1005.0,1027.94,662040843
-2022-11-01,1027.94,1043.53,1027.39,1033.75,613979713
-2022-11-02,1033.75,1034.73,1018.64,1023.19,578232400
-2022-11-03,1023.19,1023.95,1010.65,1019.81,442888391
-2022-11-04,1019.81,1019.81,974.61,997.15,753114300
-2022-11-07,997.15,997.15,969.61,975.19,646845431
-2022-11-08,975.19,981.86,956.97,981.65,660722948
-2022-11-09,981.65,994.79,977.93,985.59,583059080
-2022-11-10,985.59,985.59,935.78,947.24,698764030
-2022-11-11,947.24,966.7,947.24,954.53,736493658
-2022-11-14,954.53,954.53,923.53,941.04,666060408
-2022-11-15,941.04,941.04,900.17,911.9,692336869
-2022-11-16,911.9,945.42,873.78,942.9,1046754131
-2022-11-17,942.9,972.88,942.9,969.26,724460987
-2022-11-18,969.26,971.77,939.73,969.33,960582090
-2022-11-21,969.33,973.19,956.77,960.65,597720759
-2022-11-22,960.65,981.39,948.52,952.12,1050028405
-2022-11-23,952.12,958.61,942.02,946.0,542121766
-2022-11-24,946.0,950.03,934.31,947.71,543143603
-2022-11-25,947.71,971.46,947.71,971.46,622497264
-2022-11-28,971.46,1006.22,971.46,1005.69,973787852
-2022-11-29,1005.69,1032.16,998.56,1032.16,1184149764
-2022-11-30,1037.4,1048.42,1021.54,1048.42,1143350102
-2022-12-01,1057.72,1066.28,1035.62,1036.28,1344535800
-2022-12-02,1032.75,1080.01,1030.81,1080.01,1092310560
-2022-12-05,1084.4,1099.45,1082.59,1093.67,1257541076
-2022-12-06,1090.64,1090.64,1048.69,1048.69,1481855770
-2022-12-07,1048.69,1059.79,1034.92,1041.02,920936041
-2022-12-08,1051.58,1078.09,1045.98,1050.53,916987609
-2022-12-09,1056.69,1061.21,1041.39,1051.81,788203123
-2022-12-12,1059.43,1065.16,1032.07,1032.07,909565473
-2022-12-13,1035.28,1047.45,1026.3,1047.45,798742525
-2022-12-14,1048.15,1062.18,1046.43,1050.43,792044133
-2022-12-15,1049.16,1062.61,1049.06,1055.32,731119454
-2022-12-16,1055.32,1064.79,1047.16,1052.48,881530875
-2022-12-19,1052.13,1065.59,1038.4,1038.4,988837463
-2022-12-20,1036.01,1038.74,1010.08,1023.13,1075424369
-2022-12-21,1033.34,1033.84,1005.43,1018.88,857326761
-2022-12-22,1019.88,1033.18,1016.54,1022.61,714220518
-2022-12-23,1023.92,1027.34,1013.2,1020.34,544113372
-2022-12-26,1020.34,1021.89,985.21,985.21,623487317
-2022-12-27,985.21,1007.88,983.67,1004.57,593357171
-2022-12-28,1008.81,1020.52,998.97,1015.66,590452765
-2022-12-29,1015.39,1021.96,1009.29,1009.29,462660433
-2022-12-30,1017.25,1017.99,1007.09,1007.09,407135481
-2023-01-03,1011.54,1043.9,1011.38,1043.9,551325561
-2023-01-04,1047.91,1052.6,1041.56,1046.35,647730520
-2023-01-05,1048.17,1058.14,1046.64,1055.82,535052900
-2023-01-06,1055.46,1065.58,1047.26,1051.44,698499467
-2023-01-09,1058.28,1062.12,1050.95,1054.21,475203965
-2023-01-10,1054.21,1057.44,1045.75,1053.35,546263068
-2023-01-11,1058.25,1065.69,1054.53,1055.76,545184418
-2023-01-12,1058.51,1060.97,1050.27,1056.39,506466858
-2023-01-13,1060.96,1066.39,1055.23,1060.17,670231695
-2023-01-16,1060.17,1067.74,1057.87,1066.68,520790888
-2023-01-17,1067.6,1088.29,1067.6,1088.29,673933466
-2023-01-18,1092.5,1100.39,1089.56,1098.28,604197540
-2023-01-19,1098.28,1111.72,1094.46,1108.08,617714336
-2023-01-27,1114.58,1124.3,1111.41,1117.1,604933400
-2023-01-30,1117.31,1118.46,1102.57,1102.57,798675700
-2023-01-31,1100.87,1111.18,1088.25,1111.18,748424020
-2023-02-01,1114.26,1116.96,1075.97,1075.97,1029897286
-2023-02-02,1079.64,1083.36,1070.81,1077.59,634742880
-2023-02-03,1077.59,1081.89,1070.46,1077.15,563829415
-2023-02-06,1077.14,1089.29,1067.24,1089.29,527006509
-2023-02-07,1089.43,1092.12,1065.18,1065.84,673206842
-2023-02-08,1067.58,1079.51,1063.5,1072.22,569317582
-2023-02-09,1070.07,1075.2,1064.03,1064.03,473849440
-2023-02-10,1066.11,1066.28,1054.08,1055.3,463941839
-2023-02-13,1050.7,1054.05,1031.7,1043.7,681323770
-2023-02-14,1043.7,1046.64,1032.76,1038.64,395732862
-2023-02-15,1037.11,1051.89,1034.39,1048.2,585762700
-2023-02-16,1048.2,1058.29,1047.45,1058.29,475804145
-2023-02-17,1058.29,1062.25,1053.26,1059.31,465080299
-2023-02-20,1059.74,1088.01,1059.56,1086.69,682286993
-2023-02-21,1089.61,1095.1,1081.8,1082.23,720349483
-2023-02-22,1079.72,1079.72,1054.28,1054.28,814013600
-2023-02-23,1053.89,1054.48,1030.58,1053.66,720747240
-2023-02-24,1051.59,1052.49,1034.66,1039.56,430407670
-2023-02-27,1037.54,1037.54,1017.55,1021.25,588607325
-2023-02-28,1021.25,1034.36,1018.72,1024.68,432959234
-2023-03-01,1023.29,1040.55,1013.37,1040.55,523621012
-2023-03-02,1039.0,1043.8,1033.07,1037.61,373163740
-2023-03-03,1038.1,1041.82,1022.78,1024.77,447721928
-2023-03-06,1032.68,1042.43,1026.73,1027.18,421901651
-2023-03-07,1034.62,1043.92,1033.32,1037.84,473165337
-2023-03-08,1028.62,1049.18,1027.8,1049.18,510279935
-2023-03-09,1050.65,1060.56,1049.45,1055.95,609044089
-2023-03-10,1051.68,1053.86,1046.31,1053.0,508592417
-2023-03-13,1053.0,1055.58,1045.46,1052.8,625071605
-2023-03-14,1049.44,1051.56,1034.72,1040.13,621186235
-2023-03-15,1043.82,1062.55,1043.82,1062.19,622855977
-2023-03-16,1055.95,1058.73,1043.65,1047.4,532926812
-2023-03-17,1053.47,1055.42,1043.54,1045.14,564932380
-2023-03-20,1045.14,1045.14,1022.71,1023.1,567363237
-2023-03-21,1027.56,1036.15,1017.05,1032.43,474892969
-2023-03-22,1032.6,1042.84,1032.6,1040.54,458776626
-2023-03-23,1035.44,1045.1,1030.93,1045.1,431450931
-2023-03-24,1047.1,1052.29,1044.02,1046.79,579737940
-2023-03-27,1047.78,1053.78,1041.99,1052.25,556948410
-2023-03-28,1055.82,1059.83,1051.75,1054.29,648102598
-2023-03-29,1055.75,1056.33,1048.26,1056.33,460964114
-2023-03-30,1056.33,1066.23,1056.33,1059.44,633975741
-2023-03-31,1059.79,1067.55,1059.79,1064.64,639933832
-2023-04-03,1071.6,1079.28,1071.6,1079.28,821311240
-2023-04-04,1081.43,1082.21,1075.1,1078.45,803886355
-2023-04-05,1079.06,1080.86,1074.1,1080.86,793746144
-2023-04-06,1083.07,1084.52,1070.91,1070.91,998757389
-2023-04-07,1071.22,1072.94,1063.7,1069.71,646004332
-2023-04-10,1073.86,1075.54,1063.45,1065.35,857459575
-2023-04-11,1063.78,1070.56,1056.9,1069.46,697781314
-2023-04-12,1071.61,1072.7,1066.43,1069.45,726163549
-2023-04-13,1070.48,1070.96,1062.26,1064.3,673041706
-2023-04-14,1067.21,1068.79,1052.89,1052.89,786525944
-2023-04-17,1052.78,1054.72,1049.11,1053.81,453785270
-2023-04-18,1055.65,1057.15,1050.89,1055.02,539759416
-2023-04-19,1058.03,1058.14,1047.47,1048.98,569676924
-2023-04-20,1049.87,1051.86,1045.85,1049.25,373744769
-2023-04-21,1049.25,1050.4,1041.26,1042.91,553030161
-2023-04-24,1042.91,1047.18,1038.36,1041.36,556987634
-2023-04-25,1045.87,1045.87,1032.49,1034.85,539588993
-2023-04-26,1034.18,1040.8,1029.19,1040.8,576776771
-2023-04-27,1041.39,1044.25,1037.62,1039.63,511730481
-2023-04-28,1043.17,1049.12,1042.04,1049.12,613143100
-2023-05-04,1046.05,1048.16,1038.18,1040.61,625808460
-2023-05-05,1040.61,1043.22,1036.69,1040.31,547775602
-2023-05-08,1043.48,1053.44,1043.44,1053.44,655533160
-2023-05-09,1055.42,1058.71,1052.68,1053.77,564403499
-2023-05-10,1055.62,1058.67,1053.34,1058.26,717423000
-2023-05-11,1061.07,1063.69,1056.72,1057.12,708309615
-2023-05-12,1057.12,1066.9,1053.97,1066.9,725827200
-2023-05-15,1067.61,1076.32,1065.71,1065.71,834497150
-2023-05-16,1068.51,1069.27,1063.65,1065.91,681376611
-2023-05-17,1066.13,1069.95,1060.44,1060.44,836832759
-2023-05-18,1060.44,1073.41,1060.44,1068.31,649534572
-2023-05-19,1070.13,1070.15,1058.56,1067.07,755489197
-2023-05-22,1068.25,1070.64,1065.88,1070.64,711106360
-2023-05-23,1073.12,1073.96,1062.15,1065.85,721987481
-2023-05-24,1069.49,1069.61,1060.6,1061.79,794095122
-2023-05-25,1062.03,1065.5,1057.91,1064.63,669530149
-2023-05-26,1066.72,1067.28,1063.76,1063.76,640714612
-2023-05-29,1066.34,1077.18,1066.34,1074.98,844875747
-2023-05-30,1074.98,1079.31,1071.01,1078.05,922938040
-2023-05-31,1078.16,1079.11,1071.38,1075.17,924361374
-2023-06-01,1076.5,1078.39,1071.61,1078.39,856813100
-2023-06-02,1084.19,1092.24,1083.36,1090.84,1037413832
-2023-06-05,1099.66,1103.81,1096.76,1097.82,948361281
-2023-06-06,1098.8,1108.31,1098.28,1108.31,842755231
-2023-06-07,1110.79,1112.28,1104.26,1109.54,1000674077
-2023-06-08,1111.73,1115.14,1101.32,1101.32,1324883081
-2023-06-09,1103.01,1107.53,1097.23,1107.53,902209434
-2023-06-12,1110.26,1116.02,1100.08,1116.02,797975274
-2023-06-13,1117.33,1122.46,1116.1,1122.46,943543202
-2023-06-14,1122.46,1129.49,1117.42,1117.42,928596018
-2023-06-15,1116.99,1120.13,1112.11,1116.97,716875115
-2023-06-16,1117.08,1128.92,1112.51,1115.22,1166381071
-2023-06-19,1115.59,1117.23,1104.73,1105.4,811306110
-2023-06-20,1105.4,1111.72,1102.58,1111.72,695589566
-2023-06-21,1112.73,1118.46,1110.65,1118.46,875892009
-2023-06-22,1126.21,1127.54,1122.27,1125.3,919320913
-2023-06-23,1126.4,1130.61,1122.62,1129.38,906633429
-2023-06-26,1129.38,1134.0,1119.95,1132.03,1040389313
-2023-06-27,1134.36,1136.49,1128.82,1134.33,721995093
-2023-06-28,1135.78,1140.56,1131.86,1138.35,892135684
-2023-06-29,1139.42,1140.43,1125.39,1125.39,906889844
-2023-06-30,1125.32,1126.33,1120.01,1120.18,617525563
-2023-07-03,1124.96,1128.35,1121.17,1125.5,558383886
-2023-07-04,1127.15,1132.12,1123.49,1132.0,701311418
-2023-07-05,1136.64,1138.67,1133.45,1134.62,807034287
-2023-07-06,1134.49,1135.81,1122.35,1126.22,921107414
-2023-07-07,1124.98,1138.07,1122.94,1138.07,798404469
-2023-07-10,1142.76,1149.02,1140.03,1149.02,879429309
-2023-07-11,1149.38,1157.01,1149.38,1151.77,936910449
-2023-07-12,1153.72,1157.43,1149.28,1154.2,788162797
-2023-07-13,1159.75,1165.42,1158.15,1165.42,806743855
-2023-07-14,1165.42,1169.84,1156.28,1168.4,1042750588
-2023-07-17,1171.75,1174.89,1168.77,1173.13,914617699
-2023-07-18,1173.15,1175.7,1170.04,1174.09,837137143
-2023-07-19,1174.09,1178.55,1172.98,1172.98,896644826
-2023-07-20,1172.98,1174.39,1166.62,1172.81,796609448
-2023-07-21,1173.21,1185.9,1172.07,1185.9,988085166
-2023-07-24,1190.77,1193.22,1183.39,1190.72,1043024974
-2023-07-25,1194.45,1199.27,1193.34,1195.9,1000328186
-2023-07-26,1196.33,1200.84,1195.44,1200.84,912295513
-2023-07-27,1201.69,1203.69,1191.08,1197.33,1162285963
-2023-07-28,1197.58,1207.67,1195.86,1207.67,1111482062
-2023-07-31,1207.67,1224.81,1207.67,1222.9,1204882556
-2023-08-01,1230.32,1234.5,1217.56,1217.56,1280939063
-2023-08-02,1217.03,1223.04,1213.18,1220.43,940810059
-2023-08-03,1219.73,1222.35,1209.06,1210.95,1032558151
-2023-08-04,1211.9,1228.12,1211.9,1225.98,1126518936
-2023-08-07,1233.1,1241.42,1230.38,1241.42,1295575765
-2023-08-08,1243.38,1246.22,1239.01,1242.23,1192874638
-2023-08-09,1240.71,1241.96,1231.28,1233.99,1092478002
-2023-08-10,1236.51,1238.19,1220.61,1220.61,1010944643
-2023-08-11,1228.78,1232.21,1213.37,1232.21,1012420560
-2023-08-14,1237.43,1239.61,1229.04,1236.84,1106278804
-2023-08-15,1236.84,1239.42,1230.58,1234.05,912029078
-2023-08-16,1234.77,1243.48,1234.77,1243.26,930667089
-2023-08-17,1242.58,1243.98,1233.48,1233.48,1111719043
-2023-08-18,1227.18,1228.98,1177.74,1177.99,1702046002
-2023-08-21,1178.39,1188.16,1164.63,1179.76,1078398206
-2023-08-22,1180.17,1184.43,1149.13,1180.49,1055664316
-2023-08-23,1193.32,1193.79,1168.89,1172.56,747179434
-2023-08-24,1172.56,1189.99,1171.33,1189.39,851534592
-2023-08-25,1189.37,1192.59,1181.6,1183.37,893336876
-2023-08-28,1189.87,1202.02,1189.43,1201.72,882846337
-2023-08-29,1204.76,1208.78,1197.57,1204.43,990936199
-2023-08-30,1206.1,1213.52,1203.51,1213.16,911988548
-2023-08-31,1214.32,1224.84,1214.32,1224.05,945474870
-2023-09-05,1231.65,1236.21,1228.7,1234.98,1087343528
-2023-09-06,1237.42,1245.5,1229.89,1245.5,1131934538
-2023-09-07,1247.07,1255.11,1240.82,1243.14,1127715259
-2023-09-08,1241.93,1248.1,1240.15,1241.48,1097934295
-2023-09-11,1245.58,1251.37,1223.33,1223.63,1393859204
-2023-09-12,1223.55,1245.44,1220.85,1245.44,967867696
-2023-09-13,1249.06,1250.61,1232.84,1238.39,1263786726
-2023-09-14,1238.21,1244.21,1223.03,1223.81,1227453311
-2023-09-15,1225.9,1233.87,1220.27,1227.36,917361628
-2023-09-18,1227.36,1227.36,1203.88,1211.81,844996338
-2023-09-19,1212.76,1219.57,1199.85,1211.5,1004729384
-2023-09-20,1212.76,1226.11,1209.46,1226.11,878031341
-2023-09-21,1227.28,1227.88,1211.65,1212.74,963674886
-2023-09-22,1205.41,1205.41,1174.57,1193.05,1393430630
-2023-09-25,1193.05,1195.62,1153.2,1153.2,1086893263
-2023-09-26,1153.2,1163.52,1137.96,1137.96,1046590396
-2023-09-27,1139.65,1153.85,1126.36,1153.85,860424151
-2023-09-28,1153.78,1155.39,1136.99,1152.43,691112432
-2023-09-29,1152.43,1163.88,1152.43,1154.15,574812383
-2023-10-02,1155.36,1161.48,1149.63,1155.25,518241915
-2023-10-03,1145.94,1146.59,1117.28,1118.1,991875600
-2023-10-04,1113.25,1133.79,1106.4,1128.67,682485641
-2023-10-05,1131.29,1133.12,1113.89,1113.89,609007336
-2023-10-06,1115.13,1129.13,1107.4,1128.54,621618542
-2023-10-09,1130.38,1137.36,1127.03,1137.36,602615874
-2023-10-10,1140.83,1150.34,1140.83,1143.69,671763276
-2023-10-11,1146.08,1150.81,1138.22,1150.81,543054354
-2023-10-12,1151.81,1156.73,1148.11,1151.61,647175500
-2023-10-13,1144.5,1155.1,1138.99,1154.73,621416606
-2023-10-16,1154.87,1157.46,1140.64,1141.42,676192185
-2023-10-17,1145.34,1147.89,1121.65,1121.65,610499889
-2023-10-18,1123.58,1125.27,1088.87,1103.4,1038176335
-2023-10-19,1104.03,1104.03,1087.85,1087.85,649225855
-2023-10-20,1087.73,1108.16,1073.73,1108.03,658192868
-2023-10-23,1106.38,1106.8,1086.54,1093.53,563101470
-2023-10-24,1094.77,1107.3,1088.17,1105.9,509040896
-2023-10-25,1106.1,1111.39,1100.64,1101.66,539258100
-2023-10-26,1081.21,1083.22,1049.71,1055.45,1177081206
-2023-10-27,1059.57,1061.87,1037.46,1060.62,692233832
-2023-10-30,1054.03,1060.39,1042.4,1042.4,533359252
-2023-10-31,1043.83,1046.17,1025.03,1028.19,755535020
-2023-11-01,1029.43,1039.66,1020.01,1039.66,679885915
-2023-11-02,1039.86,1075.47,1039.86,1075.47,772121338
-2023-11-03,1077.64,1082.23,1071.11,1076.78,756483331
-2023-11-06,1076.78,1089.66,1076.78,1089.66,692791604
-2023-11-07,1089.66,1089.89,1079.42,1080.29,634514315
-2023-11-08,1079.65,1113.43,1075.8,1113.43,952577357
-2023-11-09,1117.06,1124.78,1112.13,1113.89,1052082350
-2023-11-10,1104.62,1116.02,1101.23,1101.68,1032796666
-2023-11-13,1103.66,1107.91,1093.19,1100.07,789437382
-2023-11-14,1106.44,1115.6,1101.67,1109.73,822197114
-2023-11-15,1120.35,1132.75,1118.74,1122.5,937960012
-2023-11-16,1119.81,1125.53,1114.97,1125.53,687396150
-2023-11-17,1127.92,1129.84,1096.16,1101.19,1255204381
-2023-11-20,1089.99,1111.26,1085.32,1103.66,841468794
-2023-11-21,1104.52,1112.77,1103.79,1110.46,712613814
-2023-11-22,1110.46,1115.47,1103.26,1113.82,946276924
-2023-11-23,1116.32,1118.54,1088.49,1088.49,1028270888
-2023-11-24,1090.72,1095.61,1073.31,1095.61,958343250
-2023-11-27,1095.61,1096.84,1085.69,1088.06,595015273
-2023-11-28,1088.54,1095.43,1076.45,1095.43,681884567
-2023-11-29,1095.43,1105.28,1095.43,1102.8,614957140
-2023-11-30,1101.75,1107.45,1094.13,1094.13,723483378
-2023-12-01,1094.13,1102.2,1090.08,1102.16,603587510
-2023-12-04,1102.16,1123.96,1102.16,1120.49,1120648335
-2023-12-05,1120.49,1124.11,1113.55,1115.97,824655978
-2023-12-06,1115.97,1126.43,1115.97,1126.43,853960306
-2023-12-07,1127.52,1129.83,1109.51,1121.49,1334588551
-2023-12-08,1121.78,1127.46,1119.43,1124.44,819095049
-2023-12-11,1124.44,1129.15,1120.32,1125.5,700589754
-2023-12-12,1127.85,1129.77,1123.35,1127.63,645624476
-2023-12-13,1130.19,1131.21,1112.08,1114.2,844042125
-2023-12-14,1118.14,1120.36,1107.86,1110.13,681022113
-2023-12-15,1109.36,1112.79,1102.3,1102.3,749829297
-2023-12-18,1102.3,1103.74,1091.45,1091.88,713157593
-2023-12-19,1091.9,1096.3,1082.29,1096.3,649906769
-2023-12-20,1097.62,1102.27,1093.38,1100.76,598209855
-2023-12-21,1100.76,1102.43,1094.47,1102.43,520999516
-2023-12-22,1102.23,1104.65,1099.32,1103.06,558031547
-2023-12-25,1104.46,1118.31,1104.27,1117.66,658538434
-2023-12-26,1118.3,1123.11,1117.93,1122.25,644741653
-2023-12-27,1123.49,1126.47,1121.99,1121.99,776800261
-2023-12-28,1122.77,1130.58,1120.5,1128.93,716927949
-2023-12-29,1131.68,1135.05,1129.93,1129.93,710847562
-2024-01-02,1138.01,1139.71,1128.69,1131.72,842255467
-2024-01-03,1131.97,1144.17,1128.32,1144.17,719932658
-2024-01-04,1145.49,1160.08,1144.32,1150.72,1181354559
-2024-01-05,1151.43,1155.84,1149.08,1154.68,803268328
-2024-01-08,1157.54,1162.56,1155.48,1160.19,905408420
-2024-01-09,1161.45,1162.83,1155.46,1158.59,870509266
-2024-01-10,1158.82,1166.1,1155.94,1161.54,992761212
-2024-01-11,1161.54,1169.1,1157.43,1162.22,860493292
-2024-01-12,1159.25,1161.91,1146.75,1154.7,1086669255
-2024-01-15,1158.33,1163.75,1154.12,1154.12,617145386
-2024-01-16,1149.93,1163.12,1147.71,1163.12,611399775
-2024-01-17,1161.95,1168.46,1160.45,1162.53,769803132
-2024-01-18,1164.35,1169.73,1162.62,1169.06,596224450
-2024-01-19,1171.5,1181.5,1171.47,1181.5,662887992
-2024-01-22,1185.6,1186.96,1175.54,1182.86,889755900
-2024-01-23,1184.13,1184.74,1173.78,1177.5,683712214
-2024-01-24,1177.5,1180.3,1172.0,1172.97,733190188
-2024-01-25,1173.7,1173.83,1168.5,1170.37,540538159
-2024-01-26,1173.26,1176.76,1173.26,1175.67,575224219
-2024-01-29,1175.67,1180.46,1174.88,1175.69,666529537
-2024-01-30,1175.97,1179.92,1174.13,1179.65,620146298
-2024-01-31,1181.81,1182.53,1163.13,1164.31,1120899587
-2024-02-01,1162.6,1174.5,1162.45,1173.02,670246274
-2024-02-02,1174.25,1178.27,1169.7,1172.55,914673342
-2024-02-05,1174.41,1188.45,1173.54,1186.06,874803630
-2024-02-06,1188.22,1190.92,1185.68,1188.48,619772100
-2024-02-07,1190.68,1199.52,1190.5,1198.53,685659517
-2024-02-15,1203.08,1207.56,1198.81,1202.5,868724308
-2024-02-16,1205.3,1210.25,1204.29,1209.7,822636730
-2024-02-19,1213.38,1225.48,1212.58,1224.97,1046431380
-2024-02-20,1228.08,1230.47,1222.66,1230.06,939947595
-2024-02-21,1231.5,1234.22,1222.92,1230.04,988846280
-2024-02-22,1230.65,1232.09,1226.15,1227.31,840410190
-2024-02-23,1228.21,1240.81,1211.55,1212.0,1394045720
-2024-02-26,1213.65,1225.21,1210.52,1224.17,889748773
-2024-02-27,1228.98,1237.6,1226.49,1237.46,986854411
-2024-02-28,1242.06,1254.55,1236.32,1254.55,970755990
-2024-02-29,1257.56,1264.39,1247.7,1252.73,1091193600
-2024-03-01,1256.72,1258.76,1247.87,1258.28,961928011
-2024-03-04,1258.28,1268.25,1256.54,1261.41,1183086384
-2024-03-05,1261.41,1269.98,1257.81,1269.98,1011196107
-2024-03-06,1270.05,1277.51,1256.3,1262.73,1062933517
-2024-03-07,1263.51,1269.88,1260.24,1268.46,1017267325
-2024-03-08,1270.14,1274.3,1247.35,1247.35,1346110974
-2024-03-11,1248.54,1254.01,1233.49,1235.49,975985066
-2024-03-12,1234.87,1248.33,1233.14,1245.0,836219861
-2024-03-13,1245.0,1270.51,1245.0,1270.51,982228387
-2024-03-14,1272.16,1276.41,1258.67,1264.26,1057178320
-2024-03-15,1263.46,1271.63,1252.36,1263.78,1067614441
-2024-03-18,1264.17,1269.9,1221.67,1243.56,1708947942
-2024-03-19,1246.54,1249.75,1238.92,1242.46,914651785
-2024-03-20,1243.78,1261.55,1235.46,1260.08,915569336
-2024-03-21,1268.02,1276.42,1264.2,1276.42,1251812900
-2024-03-22,1276.42,1291.27,1276.38,1281.8,1377676890
-2024-03-25,1281.63,1286.84,1264.51,1267.86,1242486633
-2024-03-26,1267.86,1282.5,1264.42,1282.21,941695455
-2024-03-27,1284.59,1286.72,1276.95,1283.09,919282582
-2024-03-28,1288.41,1293.9,1285.52,1290.18,1012175340
-2024-03-29,1293.04,1293.04,1282.44,1284.09,922547400
-2024-04-01,1282.37,1286.8,1274.09,1281.52,971211980
-2024-04-02,1275.83,1287.04,1268.48,1287.04,1087683661
-2024-04-03,1285.26,1288.99,1271.47,1271.47,1077322954
-2024-04-04,1272.91,1277.62,1265.12,1268.25,980907137
-2024-04-05,1268.25,1268.25,1253.56,1255.11,1075439698
-2024-04-08,1255.51,1258.4,1246.87,1250.35,876038830
-2024-04-09,1252.4,1262.82,1247.7,1262.82,717434222
-2024-04-10,1266.52,1268.72,1258.56,1258.56,702274717
-2024-04-11,1255.46,1262.03,1248.11,1258.2,686819590
-2024-04-12,1259.02,1278.39,1259.02,1276.6,944444595
-2024-04-15,1276.16,1281.81,1216.61,1216.61,1455862779
-2024-04-16,1216.65,1222.45,1191.73,1215.68,1355239132
-2024-04-17,1215.98,1221.47,1193.01,1193.01,859252249
-2024-04-19,1188.47,1190.96,1165.99,1174.85,1070536473
-2024-04-22,1183.77,1193.88,1181.13,1190.22,708578793
-2024-04-23,1189.98,1192.8,1169.61,1177.4,778311310
-2024-04-24,1177.4,1207.61,1177.4,1205.61,820079823
-2024-04-25,1206.52,1208.41,1200.21,1204.97,569651810
-2024-04-26,1199.6,1216.6,1198.73,1209.52,620884392
-2024-05-02,1212.13,1216.36,1206.28,1216.36,570363680
-2024-05-03,1219.75,1225.75,1218.33,1221.03,643428817
-2024-05-06,1227.25,1241.58,1224.22,1241.58,864633630
-2024-05-07,1246.25,1250.63,1240.09,1248.63,707897194
-2024-05-08,1243.61,1251.62,1234.76,1250.46,981802972
-2024-05-09,1254.12,1256.8,1243.29,1248.64,771552716
-2024-05-10,1252.04,1252.5,1237.46,1244.7,669111203
-2024-05-13,1244.7,1249.2,1233.56,1240.18,741579440
-2024-05-14,1247.49,1252.52,1240.88,1243.28,640493532
-2024-05-15,1243.28,1257.92,1243.28,1254.39,880174065
-2024-05-16,1264.69,1271.66,1261.19,1268.78,885055936
-2024-05-17,1270.49,1274.27,1266.32,1273.11,937042992
-2024-05-20,1281.52,1285.19,1277.36,1277.58,1161563296
-2024-05-21,1278.44,1281.29,1267.29,1277.14,972159800
-2024-05-22,1280.47,1283.06,1263.87,1266.91,1139091754
-2024-05-23,1266.02,1281.03,1262.29,1281.03,968130000
-2024-05-24,1280.77,1285.07,1250.28,1261.93,1367781161
-2024-05-27,1263.46,1267.68,1257.27,1267.68,726703810
-2024-05-28,1272.85,1281.73,1269.37,1281.73,868584327
-2024-05-29,1281.73,1285.63,1271.6,1272.64,1072465256
-2024-05-30,1267.62,1269.07,1251.8,1266.32,1050581949
-2024-05-31,1268.86,1271.07,1261.43,1261.72,771151605
-2024-06-03,1272.37,1284.48,1271.65,1280.0,1046924676
-2024-06-04,1286.14,1289.31,1281.98,1283.52,935848681
-2024-06-05,1284.36,1293.93,1284.35,1284.35,925054928
-2024-06-06,1288.79,1292.02,1278.4,1283.56,893066672
-2024-06-07,1284.99,1293.03,1283.13,1287.58,698283332
-2024-06-10,1292.89,1297.39,1287.44,1290.67,858651954
-2024-06-11,1295.04,1296.41,1279.47,1284.41,993342917
-2024-06-12,1285.2,1301.35,1281.71,1300.19,895254667
-2024-06-13,1305.69,1306.01,1297.6,1301.51,891331399
-2024-06-14,1303.37,1305.02,1279.91,1279.91,1110637093
-2024-06-17,1281.85,1283.1,1272.54,1274.77,900555134
-2024-06-18,1280.29,1286.52,1278.38,1279.5,805289430
-2024-06-19,1279.5,1284.14,1270.66,1279.79,1004875853
-2024-06-20,1280.98,1286.54,1273.54,1282.3,932545131
-2024-06-21,1284.99,1288.06,1279.44,1282.02,834751762
-2024-06-24,1281.19,1284.84,1252.66,1254.12,1247101984
-2024-06-25,1256.11,1260.07,1250.25,1256.56,835303407
-2024-06-26,1258.42,1262.67,1247.55,1261.24,878371266
-2024-06-27,1261.24,1262.49,1255.12,1259.09,596988499
-2024-06-28,1260.77,1262.61,1240.15,1245.32,840428178
-2024-07-01,1245.22,1254.56,1240.07,1254.56,487191100
-2024-07-02,1258.96,1270.47,1257.93,1269.79,528470005
-2024-07-03,1269.96,1278.14,1268.23,1276.85,589504712
-2024-07-04,1279.12,1283.13,1274.58,1279.89,523462424
-2024-07-05,1279.89,1284.98,1276.93,1283.04,616503474
-2024-07-08,1285.79,1287.14,1277.68,1283.56,766898184
-2024-07-09,1286.7,1294.15,1283.62,1293.71,821808017
-2024-07-10,1295.78,1297.96,1285.94,1285.94,751002251
-2024-07-11,1291.17,1293.32,1283.8,1283.8,697233094
-2024-07-12,1284.57,1288.67,1277.16,1280.75,606308137
-2024-07-15,1281.0,1286.37,1276.27,1279.82,573511101
-2024-07-16,1280.64,1291.47,1279.37,1281.18,684257163
-2024-07-17,1287.48,1290.76,1256.42,1268.66,1225383052
-2024-07-18,1271.15,1274.67,1256.21,1274.44,739044489
-2024-07-19,1274.44,1279.94,1260.68,1264.78,791804100
-2024-07-22,1264.78,1267.43,1245.02,1254.64,923629363
-2024-07-23,1256.36,1258.74,1231.81,1231.81,728380946
-2024-07-24,1226.06,1242.4,1218.65,1238.47,740263375
-2024-07-25,1232.92,1235.67,1226.2,1233.19,484409425
-2024-07-26,1235.08,1242.11,1234.05,1242.11,458792190
-2024-07-29,1245.91,1249.68,1243.08,1246.6,496865207
-2024-07-30,1246.6,1248.73,1236.97,1245.06,653073299
-2024-07-31,1246.7,1255.77,1246.3,1251.51,748846724
-2024-08-01,1251.51,1257.85,1222.51,1226.96,897261200
-2024-08-02,1222.35,1236.6,1209.77,1236.6,696662777
-2024-08-05,1236.6,1236.6,1184.53,1188.07,1038092780
-2024-08-06,1198.53,1213.35,1186.74,1210.28,688836957
-2024-08-07,1210.28,1217.79,1205.11,1215.88,623845094
-2024-08-08,1211.83,1219.97,1202.58,1208.32,758833010
-2024-08-09,1208.32,1225.02,1208.32,1223.64,586759414
-2024-08-12,1223.64,1231.46,1221.16,1230.28,551151486
-2024-08-13,1229.81,1231.55,1223.01,1230.42,539116428
-2024-08-14,1230.42,1236.51,1228.93,1230.36,507177627
-2024-08-15,1230.2,1231.69,1222.28,1223.56,497056231
-2024-08-16,1225.73,1253.24,1225.73,1252.23,965064150
-2024-08-19,1252.23,1263.84,1252.23,1261.62,698632210
-2024-08-20,1261.62,1275.95,1261.62,1272.55,810158292
-2024-08-21,1272.05,1284.05,1268.91,1284.05,836416946
-2024-08-22,1284.05,1288.42,1280.42,1282.78,687364524
-2024-08-23,1282.78,1287.43,1276.43,1285.32,724871854
-2024-08-26,1287.89,1290.45,1278.72,1280.02,775470385
-2024-08-27,1280.02,1282.92,1274.7,1280.56,660799355
-2024-08-28,1283.6,1285.72,1276.9,1281.44,717617522
-2024-08-29,1281.05,1288.2,1280.24,1281.47,634088620
-2024-08-30,1283.16,1286.84,1282.58,1283.87,571596260
-2024-09-04,1273.86,1277.27,1268.43,1275.8,648409343
-2024-09-05,1276.46,1282.21,1266.05,1268.21,665625986
-2024-09-06,1268.22,1274.44,1262.94,1273.96,637094418
-2024-09-09,1273.96,1273.96,1262.97,1267.73,497552945
-2024-09-10,1270.31,1271.83,1252.22,1255.23,690102153
-2024-09-11,1253.07,1256.86,1244.79,1253.27,583746472
-2024-09-12,1253.27,1260.93,1253.27,1256.35,433675900
-2024-09-13,1253.69,1254.24,1248.78,1251.71,482055936
-2024-09-16,1251.0,1255.42,1239.26,1239.26,608012444
-2024-09-17,1239.99,1258.95,1238.69,1258.95,632194532
-2024-09-18,1258.95,1271.77,1257.93,1264.9,799783535
-2024-09-19,1268.28,1271.27,1264.82,1271.27,607580549
-2024-09-20,1271.27,1283.3,1271.27,1272.04,898259995
-2024-09-23,1275.15,1276.99,1267.87,1268.48,564217395
-2024-09-24,1268.48,1276.99,1266.68,1276.99,817535117
-2024-09-25,1283.04,1288.44,1280.47,1287.48,992827530
-2024-09-26,1290.03,1298.71,1289.15,1291.49,956803250
-2024-09-27,1295.03,1300.31,1287.21,1290.92,950804402
-2024-09-30,1290.94,1292.03,1283.92,1287.94,748397879
-2024-10-01,1287.94,1302.22,1287.94,1292.2,982286319
-2024-10-02,1289.5,1293.69,1285.14,1287.84,771123993
-2024-10-03,1288.64,1299.36,1276.51,1278.1,1043697915
-2024-10-04,1278.9,1279.33,1270.6,1270.6,610071050
-2024-10-07,1275.82,1278.61,1264.65,1269.93,542585281
-2024-10-08,1271.82,1275.82,1266.94,1271.98,678704686
-2024-10-09,1273.96,1283.01,1273.04,1281.85,676888068
-2024-10-10,1286.73,1294.33,1284.97,1286.36,720089936
-2024-10-11,1288.11,1289.37,1283.56,1288.39,531739469
-2024-10-14,1289.21,1297.67,1286.13,1286.34,795706807
-2024-10-15,1287.81,1294.05,1279.81,1281.08,712090690
-2024-10-16,1279.86,1283.33,1276.4,1279.48,536674680
-2024-10-17,1279.48,1286.52,1271.82,1286.52,685239360
-2024-10-18,1291.16,1294.1,1285.46,1285.46,689070733
-2024-10-21,1284.17,1287.71,1279.77,1279.77,622809008
-2024-10-22,1280.21,1280.21,1265.44,1269.89,793916700
-2024-10-23,1270.58,1273.21,1263.26,1270.9,589858241
-2024-10-24,1271.17,1274.11,1257.41,1257.41,673137040
-2024-10-25,1257.41,1261.72,1251.75,1252.72,569100886
-2024-10-28,1252.72,1255.18,1250.94,1254.77,482689840
-2024-10-29,1258.03,1262.38,1257.43,1261.78,875048711
-2024-10-30,1261.78,1264.84,1255.07,1258.63,536846200
-2024-10-31,1258.63,1267.88,1255.55,1264.48,614271168
-2024-11-01,1264.48,1264.67,1254.33,1254.89,580509631
-2024-11-04,1255.06,1256.96,1242.36,1244.71,709673109
-2024-11-05,1244.71,1248.97,1243.55,1245.76,416464646
-2024-11-06,1251.22,1262.44,1250.57,1261.28,566907624
-2024-11-07,1261.28,1267.09,1259.75,1259.75,499262878
-2024-11-08,1262.97,1264.09,1250.77,1252.56,555502136
-2024-11-11,1253.81,1253.87,1241.29,1250.32,796476224
-2024-11-12,1250.32,1257.02,1242.91,1244.82,600650740
-2024-11-13,1243.19,1247.04,1234.62,1246.04,660546839
-2024-11-14,1246.04,1247.07,1231.69,1231.89,692587426
-2024-11-15,1229.36,1229.59,1217.03,1218.57,750565598
-2024-11-18,1218.57,1225.38,1204.6,1217.12,646151167
-2024-11-19,1217.21,1221.4,1205.15,1205.15,511886835
-2024-11-20,1204.44,1222.73,1197.99,1216.54,767532392
-2024-11-21,1216.54,1228.55,1214.06,1228.33,482145184
-2024-11-22,1229.63,1233.42,1226.33,1228.1,534437655
-2024-11-25,1229.0,1236.57,1229.0,1234.7,497810131
-2024-11-26,1234.7,1246.83,1234.7,1242.13,575094638
-2024-11-27,1242.13,1245.34,1239.23,1241.97,428809652
-2024-11-28,1246.37,1250.46,1240.91,1242.11,477493690
-2024-11-29,1242.51,1250.92,1241.0,1250.46,502807656
-2024-12-02,1250.46,1258.05,1247.74,1251.21,497420196
-2024-12-03,1251.08,1253.83,1244.91,1249.83,673402920
-2024-12-04,1247.51,1247.78,1239.82,1240.41,575023618
-2024-12-05,1241.81,1269.18,1238.49,1267.53,908386288
-2024-12-06,1270.96,1276.1,1268.58,1270.14,694787773
-2024-12-09,1271.21,1277.69,1268.69,1273.84,760998426
-2024-12-10,1274.37,1277.32,1270.32,1272.07,631447613
-2024-12-11,1273.23,1276.67,1264.15,1268.86,627532824
-2024-12-12,1269.35,1275.64,1265.99,1267.35,554123189
-2024-12-13,1265.62,1266.55,1260.48,1262.57,478786146
-2024-12-16,1263.61,1267.1,1258.65,1263.79,538924657
-2024-12-17,1263.79,1265.45,1260.6,1261.72,502251132
-2024-12-18,1261.72,1266.53,1261.49,1266.0,531459813
-2024-12-19,1256.9,1259.76,1249.39,1254.67,779407811
-2024-12-20,1254.67,1259.0,1253.9,1257.5,568921102
-2024-12-23,1257.5,1265.2,1257.5,1262.76,494701647
-2024-12-24,1263.17,1263.17,1253.78,1260.36,643161962
-2024-12-25,1260.81,1283.09,1260.81,1274.04,810461231
-2024-12-26,1275.68,1277.17,1271.99,1272.87,595218520
-2024-12-27,1273.67,1277.89,1272.23,1275.14,670323778
-2024-12-30,1275.14,1275.14,1268.77,1272.02,527662697
-2024-12-31,1272.25,1272.46,1266.78,1266.78,480536340
-2025-01-02,1266.78,1271.13,1263.25,1269.71,428135718
-2025-01-03,1268.74,1269.01,1254.59,1254.59,560468400
-2025-01-06,1254.59,1260.37,1244.87,1246.35,565150232
-2025-01-07,1249.19,1254.09,1243.06,1246.95,560054884
-2025-01-08,1246.95,1251.02,1239.67,1251.02,445750575
-2025-01-09,1251.02,1253.26,1242.9,1245.77,336332868
-2025-01-10,1245.77,1247.8,1230.48,1230.48,499266400
-2025-01-13,1230.48,1235.65,1220.87,1235.65,519699252
-2025-01-14,1235.65,1235.65,1226.7,1229.07,374576392
-2025-01-15,1233.7,1237.46,1231.13,1236.18,466696448
-2025-01-16,1241.49,1245.4,1235.56,1242.36,499935827
-2025-01-17,1242.36,1249.11,1239.63,1249.11,432980446
-2025-01-20,1250.03,1253.02,1247.5,1249.55,430051115
-2025-01-21,1249.55,1254.17,1243.08,1246.09,478029221
-2025-01-22,1246.09,1249.14,1242.53,1242.53,495154837
-2025-01-23,1245.59,1263.59,1244.77,1259.63,540728780
-2025-01-24,1259.26,1265.38,1258.46,1265.05,516926043
-2025-02-03,1265.05,1265.05,1249.78,1253.03,534150700
-2025-02-04,1256.91,1264.68,1255.44,1264.68,652235892
-2025-02-05,1264.68,1271.8,1264.68,1269.61,583845302
-2025-02-06,1271.33,1275.47,1268.28,1271.48,557739544
-2025-02-07,1272.12,1279.35,1269.11,1275.2,600356895
-2025-02-10,1275.2,1275.2,1263.26,1263.26,794054460
-2025-02-11,1263.26,1268.45,1263.11,1268.45,622260600
-2025-02-12,1268.45,1272.86,1266.59,1266.91,504507839
-2025-02-13,1266.91,1270.67,1263.85,1270.35,511055562
-2025-02-14,1272.15,1280.6,1272.15,1276.08,647411257
-2025-02-17,1276.87,1278.49,1272.72,1272.72,851131491
-2025-02-18,1272.72,1283.34,1272.19,1278.14,705014613
-2025-02-19,1279.62,1288.56,1278.92,1288.56,810302000
-2025-02-20,1288.56,1295.82,1288.56,1292.98,764414400
-2025-02-21,1292.98,1296.75,1290.98,1296.75,730210454
-2025-02-24,1298.29,1304.56,1294.69,1304.56,887369287
-2025-02-25,1306.86,1309.97,1298.54,1303.16,881425026
-2025-02-26,1304.5,1306.49,1301.2,1302.96,754920199
-2025-02-27,1307.31,1307.87,1296.43,1307.8,889914300
-2025-02-28,1307.8,1308.77,1300.66,1305.36,807551799
-2025-03-03,1305.3,1309.77,1304.3,1309.37,927346160
-2025-03-04,1309.37,1313.21,1298.28,1311.91,1046891192
-2025-03-05,1312.96,1319.52,1304.71,1304.71,972631786
-2025-03-06,1308.39,1318.22,1307.91,1318.22,1058717452
-2025-03-07,1320.08,1327.07,1318.71,1326.05,952041245
-2025-03-10,1332.03,1335.87,1326.51,1330.28,1010350519
-2025-03-11,1319.09,1332.54,1315.92,1332.54,929624688
-2025-03-12,1337.63,1342.91,1331.75,1334.41,934568537
-2025-03-13,1336.41,1340.91,1324.87,1326.27,1066649034
-2025-03-14,1325.84,1333.32,1324.3,1326.15,1019963200
-2025-03-17,1330.62,1336.26,1329.05,1336.26,951867643
-2025-03-18,1340.59,1341.65,1330.97,1330.97,898223931
-2025-03-19,1330.46,1330.7,1320.85,1324.63,945849600
-2025-03-20,1327.2,1332.41,1316.11,1323.93,910926478
-2025-03-21,1323.94,1325.22,1320.67,1321.88,799888919
-2025-03-24,1322.9,1330.32,1316.73,1330.32,917944680
-2025-03-25,1330.99,1337.6,1329.81,1331.92,1006767919
-2025-03-26,1333.61,1338.55,1323.69,1326.09,817278760
-2025-03-27,1326.21,1328.82,1323.01,1323.81,670218049
-2025-03-28,1324.42,1325.34,1315.72,1317.46,732006432
-2025-03-31,1313.34,1314.09,1304.1,1306.86,863075434
-2025-04-01,1313.03,1317.46,1308.06,1317.33,608874387
-2025-04-02,1321.81,1324.46,1317.68,1317.83,847480434
-2025-04-03,1272.87,1277.9,1229.41,1229.84,1754215700
-2025-04-04,1205.64,1210.67,1158.17,1210.67,1977592840
-2025-04-08,1210.67,1210.67,1130.98,1132.79,1142648348
-2025-04-09,1112.27,1141.35,1073.61,1094.3,1593990576
-2025-04-10,1094.3,1168.4,1094.3,1168.34,367335058
-2025-04-11,1185.86,1222.46,1180.59,1222.46,1720215979
-2025-04-14,1235.01,1242.94,1226.06,1241.44,1037578710
-2025-04-15,1241.44,1246.21,1221.75,1227.79,1064439792
-2025-04-16,1227.79,1233.84,1205.93,1210.3,816347824
-2025-04-17,1210.3,1217.25,1197.5,1217.25,756538553
-2025-04-18,1228.37,1234.67,1219.12,1219.12,1064573281
-2025-04-21,1219.38,1222.77,1201.63,1207.07,880575750
-2025-04-22,1207.07,1207.07,1136.98,1197.13,1699625685
-2025-04-23,1207.1,1216.28,1202.27,1211.0,851439079
-2025-04-24,1214.78,1224.66,1210.37,1223.35,770280300
-2025-04-25,1223.65,1230.72,1220.67,1229.23,854847204
-2025-04-28,1234.3,1234.3,1222.56,1226.8,675517832
-2025-04-29,1226.99,1229.1,1222.3,1226.3,669684446
-2025-05-05,1226.3,1240.05,1226.3,1240.05,591362131
-2025-05-06,1240.05,1251.02,1240.05,1241.95,772948740
-2025-05-07,1241.1,1250.79,1240.67,1250.37,759898580
-2025-05-08,1250.37,1271.44,1250.37,1269.8,803212593
-2025-05-09,1269.8,1275.59,1264.87,1267.3,746666475
-2025-05-12,1267.3,1283.86,1267.3,1283.26,895786314
-2025-05-13,1283.26,1293.43,1283.26,1293.43,942954501
-2025-05-14,1293.43,1309.88,1293.43,1309.73,1043559901
-2025-05-15,1309.73,1315.86,1301.61,1313.2,1109645449
-2025-05-16,1313.2,1316.53,1299.77,1301.39,895132735
-2025-05-19,1301.39,1306.2,1291.66,1296.29,890348374
-2025-05-20,1296.29,1316.67,1296.29,1315.15,946119377
-2025-05-21,1315.15,1331.6,1313.13,1323.05,1058996710
-2025-05-22,1323.05,1331.93,1312.82,1313.84,1148623454
-2025-05-23,1313.84,1320.07,1308.62,1314.46,710472639
-2025-05-26,1314.46,1332.51,1288.86,1332.51,1024346255
-2025-05-27,1332.51,1339.81,1329.6,1339.81,1115994131
-2025-05-28,1339.81,1348.05,1337.18,1341.87,959859030
-2025-05-29,1341.87,1348.31,1335.62,1341.86,924547288
-2025-05-30,1341.86,1344.32,1331.37,1332.6,974058469
-2025-06-02,1332.6,1336.3,1322.95,1336.3,960315873
-2025-06-03,1336.3,1350.89,1336.3,1347.25,1152957223
-2025-06-04,1347.25,1351.14,1341.53,1345.74,1038169633
-2025-06-05,1345.74,1347.14,1336.11,1342.09,811579463
-2025-06-06,1342.09,1342.09,1329.67,1329.89,979034743
-2025-06-09,1329.89,1331.56,1310.57,1310.57,790509725
-2025-06-10,1310.57,1323.61,1307.74,1316.23,777944604
-2025-06-11,1316.23,1322.07,1310.39,1315.2,597001120
-2025-06-12,1315.2,1326.03,1315.2,1322.99,859846095
-2025-06-13,1322.99,1322.99,1304.12,1315.49,1207440926
-2025-06-16,1315.49,1338.66,1313.4,1338.11,843115519
-2025-06-17,1338.11,1353.01,1338.11,1347.69,857356146
-2025-06-18,1347.69,1353.99,1341.64,1346.83,840361473
-2025-06-19,1346.83,1353.96,1342.08,1352.04,790438894
-2025-06-20,1352.04,1356.78,1347.36,1349.35,847574230
-2025-06-23,1349.35,1358.18,1338.49,1358.18,835347486
-2025-06-24,1358.18,1371.24,1358.18,1366.77,969476567
-2025-06-25,1366.77,1371.57,1365.47,1366.75,845070326
-2025-06-26,1366.75,1370.61,1360.78,1365.67,760270694
-2025-06-27,1365.67,1373.28,1362.09,1371.44,715805416
-2025-06-30,1371.44,1377.3,1371.44,1376.07,692605911
-2025-07-01,1376.07,1382.16,1369.74,1377.84,815320356
-2025-07-02,1377.84,1384.59,1375.26,1384.59,934750366
-2025-07-03,1384.59,1392.39,1377.06,1381.96,1407953054
-2025-07-04,1381.96,1388.04,1379.4,1386.97,875891313
-2025-07-07,1386.97,1402.32,1386.97,1402.06,1299239698
-2025-07-08,1402.06,1415.46,1402.06,1415.46,1220152771
-2025-07-09,1415.46,1430.89,1415.46,1429.58,365432622
diff --git a/vn-stock-analysis-app/dfcash_flow_year.csv b/vn-stock-analysis-app/dfcash_flow_year.csv
deleted file mode 100644
index e04b3ad3f53bdb6b670f8226f68c4a9ff6a68270..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/dfcash_flow_year.csv
+++ /dev/null
@@ -1,13 +0,0 @@
-CP,Năm,Lãi/Lỗ ròng trước thuế,Khấu hao TSCĐ,Dự phòng RR tín dụng,Lãi/Lỗ chênh lệch tỷ giá chưa thực hiện,Lãi/Lỗ từ hoạt động đầu tư,Thu nhập lãi,Lưu chuyển tiền thuần từ HĐKD trước thay đổi VLĐ,Tăng/Giảm các khoản phải thu,Tăng/Giảm hàng tồn kho,Tăng/Giảm các khoản phải trả,Tăng/Giảm chi phí trả trước,Chi phí lãi vay đã trả,Tiền thu nhập doanh nghiệp đã trả,Tiền thu khác từ các hoạt động kinh doanh,Tiền chi khác từ các hoạt động kinh doanh,Lưu chuyển tiền tệ ròng từ các hoạt động SXKD,Mua sắm TSCĐ,Tiền thu được từ thanh lý tài sản cố định,"Tiền chi cho vay, mua công cụ nợ của đơn vị khác (đồng)","Tiền thu hồi cho vay, bán lại các công cụ nợ của đơn vị khác (đồng)",Đầu tư vào các doanh nghiệp khác,Tiền thu từ việc bán các khoản đầu tư vào doanh nghiệp khác,Tiền thu cổ tức và lợi nhuận được chia,Lưu chuyển từ hoạt động đầu tư,Tăng vốn cổ phần từ góp vốn và/hoặc phát hành cổ phiếu,Tiền thu được các khoản đi vay,Tiền trả các khoản đi vay,Tiền thanh toán vốn gốc đi thuê tài chính,Cổ tức đã trả,Lưu chuyển tiền từ hoạt động tài chính,Lưu chuyển tiền thuần trong kỳ,Tiền và tương đương tiền,Ảnh hưởng của chênh lệch tỷ giá,Tiền và tương đương tiền cuối kỳ
-CEO,2024,236522802656,110597989911,14523472322,-100936500,-85250560895,30662631339,306955398833,99344255221,-100856679097,-302108202329,44897790325,-19100451856,-85691256797,0,-20776444513,-77335590213,-415192169898,2315549032,-937620317538,1485000000000,0,6771241950,87275477139,228549780685,0,519351641617,-819377004343,0,-11310000000,-311335362726,-160121172254,1153356865428,104858874,993340552048
-CEO,2023,197881044502,97665590925,13851431730,-89351758,-59784677482,46213456898,295737494815,-440848171229,192528714780,273183506227,-72529780380,-81897294948,-141492952633,0,-54536853407,-29855336775,-333391939741,38185952371,-2075575685780,926716475088,-94068154689,93000000000,24379472605,-1420753880146,2572954600000,1076830469737,-1420810618337,0,-33000000000,2195974451400,745365234479,407902279191,89351758,1153356865428
-CEO,2022,473652414675,101585265753,-587102199,-415662837,-51485424421,122245189912,644994680883,-495035197740,-860955423488,1396421987401,-32339626692,-143973299564,-39877108183,0,-12608772927,456627239690,-107396547336,27483009620,-405667363014,603000000000,0,204847757643,35488226863,357755083776,0,2668591575508,-3251302058095,0,-143236593694,-725947076281,88435247185,319051369169,415662837,407902279191
-CEO,2021,118931975119,128712475617,16090702529,5944733,-329462347958,147277724912,81556474952,-132324054427,58371882932,-21268791695,29001554732,-109717326064,-80558401906,12798557700,-5034740303,-167174844079,-29854540605,9601451546,-262105589042,304006257250,-5100000000,420000000000,44683262020,481230841169,0,1019018833636,-1214195555369,-2138583346,-26358845621,-223674150700,90381846390,228678131745,-8608966,319051369169
-CEO,2020,-15230508516,133848759943,-1833548584,-166510064,-96179419546,133735806546,154174579779,279979023963,356480801632,-287625770633,39723079889,-116245487496,-111470922716,0,-32360679493,282654624925,-586514911744,924397722,-887300000000,1451150000000,0,128409221606,65605192390,172273899974,0,1612985189154,-2006054075680,-2332999992,-31991473885,-427393360403,27535164496,200976014220,166953029,228678131745
-CEO,2019,834358559599,122229149337,12204074051,1540440,-70290684881,147075524450,1045578162996,-105467908242,1222803832388,-2237918547961,76306844671,-132518407268,-142698078565,800811461,-69984062059,-343121752579,-1593792668526,1363636364,-1529746189587,1576748252754,0,24400000,142175503406,-1403227065589,1039159940000,4099085453148,-3267356215608,-2332999992,-280249977745,1588306199803,-158042618365,358811289562,207343023,200976014220
-CEO,2018,372077527976,79671585536,8922508711,-62333653,-71021928706,117857666994,507445026858,-346322419590,-987789732355,2459025237781,-66420478020,-93977695891,-129149029231,1123981920,-13940333026,1329994558446,-966648596902,0,-2457700000000,1730400000000,-28150000000,145000000000,84739450248,-1492359146654,54000000000,1975768396762,-1706436629261,-2507975004,-243856056678,76967735819,-85396852389,444097062786,111079165,358811289562
-CEO,2017,406751382793,47285044628,12387995734,-85690482,-35190495295,124307356763,555455594141,-238906263380,-646657830296,1175329880262,-52671777463,-114745188810,-118740449661,-1724004964,-7347546627,549992413202,-524762758518,528676288,-540600000000,289900000000,-82600000000,82600000000,-23963951155,-798898033385,593491769597,1521714485066,-1349423273218,-19441666,-194007294309,571756245470,322850625287,121150408600,96028899,444097062786
-CEO,2016,300388400856,36009886514,145000000,-150515920,-12537646922,73693028738,397548153266,-538601436756,143151422295,218901449172,-38513487923,-72061500746,-47969966022,0,0,62454633286,-343964528682,6650000000,-633885000000,430785000000,0,0,11054276810,-529360251872,352819980000,1261330632860,-1007902125643,0,-62925596400,543322890817,76417272231,44726779101,6357268,121150408600
-CEO,2015,0,10020537451,0,0,0,0,0,0,0,0,0,0,0,0,0,-200263726798,-691348795504,100000000,-610452340000,634977340000,0,0,5508061332,-661215734172,445219980000,611070181353,-118075390349,0,-72782696800,865432074204,3952613234,40768091246,6074621,44726779101
-CEO,2014,0,7806918123,0,0,0,0,0,0,0,0,0,0,0,0,0,-35817854708,-214409222451,95431004,-58725000000,9500000000,0,0,180310387,-263358481060,21303314874,439342047535,-106537769367,0,-20587197850,333520395192,34344059424,6423990709,41113,40768091246
-CEO,2013,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32764016419,-18536555182,3069727273,-8000000000,0,0,0,1389444257,-22077383652,0,125037056605,-132979664657,0,-3079313986,-11021922038,-335289271,6759180759,99221,6423990709
diff --git a/vn-stock-analysis-app/dfincome_statement_quarter.csv b/vn-stock-analysis-app/dfincome_statement_quarter.csv
deleted file mode 100644
index d0579182b765160822455db9a9b9b917f931d471..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/dfincome_statement_quarter.csv
+++ /dev/null
@@ -1,45 +0,0 @@
-ticker,yearReport,lengthReport,Revenue (Bn. VND),Revenue YoY (%),Attribute to parent company (Bn. VND),Attribute to parent company YoY (%),Interest and Similar Income,Interest and Similar Expenses,Net Interest Income,Fees and Comission Income,Fees and Comission Expenses,Net Fee and Commission Income,Net gain (loss) from foreign currency and gold dealings,Net gain (loss) from trading of trading securities,Net gain (loss) from disposal of investment securities,Net Other income/(expenses),Other expenses,Net Other income/expenses,Dividends received,Total operating revenue,General & Admin Expenses,Operating Profit before Provision,Provision for credit losses,Profit before tax,Tax For the Year,Business income tax - current,Business income tax - deferred,Minority Interest,Net Profit For the Year,Attributable to parent company,EPS_basis
-HDB,2025,1,14991720000000,0.042617290898369416,4234754000000,0.36175706772072036,14991720000000,-7583620000000,7408100000000,1177239000000,-443949000000,733290000000,188241000000,389280000000,-16744000000,560161000000,-81344000000,478817000000,23569000000,9204553000000,-2524523000000,6680030000000,-1324795000000,5355235000000,-997563000000,-946338000000,-51225000000,-122918000000,4357672000000,4234754000000,1212
-HDB,2024,4,15149456000000,-0.02635072337669324,3114414000000,-0.06862685580737433,15149456000000,-6946053000000,8203403000000,960726000000,-537589000000,423137000000,234621000000,6162000000,141619000000,458422000000,-64873000000,393549000000,49640000000,9452131000000,-3545259000000,5906872000000,-1831864000000,4075008000000,-838020000000,-916084000000,78064000000,-122574000000,3236988000000,3114414000000,0
-HDB,2024,3,14221978000000,0.06206384520578471,3423876000000,0.3803502604376643,14221978000000,-6448533000000,7773445000000,946414000000,-534304000000,412110000000,123899000000,141710000000,-88800000000,163363000000,-12779000000,150584000000,22024000000,8534972000000,-2951077000000,5583895000000,-1093488000000,4490407000000,-944771000000,-957868000000,13097000000,-121760000000,3545636000000,3423876000000,0
-HDB,2024,2,14245165000000,0.12420218674324884,3114891000000,0.4430458737867451,14245165000000,-6525287000000,7719878000000,876036000000,-651467000000,224569000000,310407000000,-279000000,-49917000000,140389000000,-52031000000,88358000000,0,8293016000000,-3029780000000,5263236000000,-1126231000000,4137005000000,-885153000000,-879466000000,-5687000000,-136961000000,3251852000000,3114891000000,1077
-HDB,2024,1,14378929000000,0.30493621172760377,3109772000000,0.48934727324102856,14378929000000,-7218579000000,7160350000000,512447000000,-155685000000,356762000000,174886000000,-78664000000,65351000000,107688000000,-34308000000,73380000000,0,7752065000000,-2454639000000,5297426000000,-1269851000000,4027575000000,-814403000000,-808137000000,-6266000000,-103400000000,3213172000000,3109772000000,1075
-HDB,2023,4,15559459000000,0.5916709545754458,3343895000000,0.9258917319977608,15559459000000,-8086956000000,7472503000000,825654000000,-233870000000,591784000000,283333000000,-92086000000,111106000000,149716000000,-258697000000,-108981000000,0,8257659000000,-2630124000000,5627535000000,-1242405000000,4385130000000,-937515000000,-981425000000,43910000000,-103720000000,3447615000000,3343895000000,0
-HDB,2023,3,13390888000000,0.615856790764042,2480440000000,0.23038613878575487,13390888000000,-8474740000000,4916148000000,444169000000,-126210000000,317959000000,185863000000,29936000000,516324000000,118848000000,-3951000000,114897000000,4101000000,6085228000000,-2301873000000,3783355000000,-636089000000,3147266000000,-632108000000,-632108000000,0,-34718000000,2515158000000,2480440000000,0
-HDB,2023,2,12671355000000,0.5683305613032856,2158553000000,0.03820161057982509,12671355000000,-7716840000000,4954515000000,790742000000,-189878000000,600864000000,145057000000,75910000000,515414000000,129369000000,-7738000000,121631000000,0,6413391000000,-2238587000000,4174804000000,-1433167000000,2741637000000,-562109000000,-562109000000,0,-20975000000,2179528000000,2158553000000,638
-HDB,2023,1,11018875000000,0.5344141427827618,2088010000000,0.08841278586988421,11018875000000,-6178067000000,4840808000000,769603000000,-92408000000,677195000000,-49550000000,27963000000,24161000000,143711000000,-12105000000,131606000000,5224000000,5657407000000,-1958618000000,3698789000000,-956090000000,2742699000000,-548987000000,-548987000000,0,-105702000000,2193712000000,2088010000000,830
-HDB,2022,4,9775550000000,0.44308817370526843,1736284000000,0.1520022717802955,9775550000000,-4843448000000,4932102000000,936071000000,-116054000000,820017000000,-65593000000,351000000,-3876000000,163947000000,21898000000,185845000000,0,5868846000000,-2671102000000,3197744000000,-945792000000,2251952000000,-452501000000,-485901000000,33400000000,-63167000000,1799451000000,1736284000000,0
-HDB,2022,3,8287175000000,0.28112581481251314,2015985000000,0.4087305608061129,8287175000000,-3802325000000,4484850000000,790195000000,-96922000000,693273000000,96502000000,-8813000000,-11513000000,160239000000,-20267000000,139972000000,0,5394271000000,-2000925000000,3393346000000,-680925000000,2712421000000,-542934000000,-542934000000,0,-153502000000,2169487000000,2015985000000,0
-HDB,2022,2,8079518000000,0.22536003544049696,2079127000000,0.3397481375803139,8079518000000,-3528293000000,4551225000000,916555000000,-81312000000,835243000000,80329000000,-12837000000,19346000000,144321000000,-40608000000,103713000000,4533000000,5581552000000,-2033070000000,3548482000000,-772314000000,2776168000000,-556075000000,-556075000000,0,-140966000000,2220093000000,2079127000000,1043
-HDB,2022,1,7181161000000,0.1326916731283798,1918399000000,0.22707798703840634,7181161000000,-3137770000000,4043391000000,665634000000,-57349000000,608285000000,22999000000,38285000000,308663000000,119619000000,-21059000000,98560000000,2252000000,5122435000000,-1925612000000,3196823000000,-669308000000,2527515000000,-507076000000,-507076000000,0,-102040000000,2020439000000,1918399000000,963
-HDB,2021,4,6774049000000,0.09034823449045581,1507188000000,0.42424563140925087,6774049000000,-3021053000000,3752996000000,810794000000,-69663000000,741131000000,91897000000,-9494000000,36982000000,208925000000,-192602000000,16323000000,0,4629835000000,-1656610000000,2973225000000,-988067000000,1985158000000,-396288000000,-400350000000,4062000000,-81682000000,1588870000000,1507188000000,2058
-HDB,2021,3,6468666000000,0.07192332262017503,1431065000000,0.311327670414456,6468666000000,-3162384000000,3306282000000,376740000000,-47826000000,328914000000,20574000000,35667000000,-11835000000,85251000000,-58920000000,26331000000,0,3705933000000,-1411602000000,2294331000000,-403307000000,1891024000000,-377985000000,-377985000000,0,-81974000000,1513039000000,1431065000000,0
-HDB,2021,2,6593587000000,0.21258091965145953,1551879000000,0.28196191813638427,6593587000000,-3124886000000,3468701000000,593670000000,-49698000000,543972000000,42453000000,54977000000,55665000000,121968000000,-33725000000,88243000000,0,4254011000000,-1682984000000,2571027000000,-477774000000,2093253000000,-421778000000,-421778000000,0,-119596000000,1671475000000,1551879000000,0
-HDB,2021,1,6339908000000,0.16281114590832182,1563388000000,0.7593258829050143,6339908000000,-2977110000000,3362798000000,346529000000,-33108000000,313421000000,24324000000,19782000000,396401000000,80131000000,-28391000000,51740000000,0,4168466000000,-1631572000000,2536894000000,-436712000000,2100182000000,-420067000000,-420067000000,0,-116727000000,1680115000000,1563388000000,981
-HDB,2020,4,6212739000000,0.1464105030597142,1058236000000,-0.05602129455022934,6212739000000,-3000578000000,3212161000000,363957000000,-42978000000,320979000000,93324000000,54445000000,24922000000,302934000000,-44082000000,258852000000,0,3964683000000,-1872114000000,2092569000000,-655763000000,1436806000000,-290321000000,-282644000000,-7677000000,-88249000000,1146485000000,1058236000000,0
-HDB,2020,3,6034635000000,0.21349467588482385,1091310000000,0.21434500746648982,6034635000000,-3013052000000,3021583000000,292532000000,36320000000,328852000000,30484000000,-17173000000,28065000000,124512000000,-47795000000,76717000000,0,3468528000000,-1562467000000,1906061000000,-432226000000,1473835000000,-295149000000,-295149000000,0,-87376000000,1178686000000,1091310000000,1130
-HDB,2020,2,5437647000000,0.13644637027274603,1210550000000,0.5396972371811667,5437647000000,-2728107000000,2709540000000,218143000000,-5277000000,212866000000,18928000000,-17485000000,140737000000,143637000000,-13104000000,130533000000,260000000,3195379000000,-1130488000000,2064891000000,-407959000000,1656932000000,-336535000000,-337135000000,600000000,-109847000000,1320397000000,1210550000000,1254
-HDB,2020,1,5452225000000,0.22768827191767713,888629000000,0.1124242947740548,5452225000000,-2568628000000,2883597000000,213642000000,-55532000000,158110000000,24920000000,63695000000,-32218000000,59010000000,-6269000000,52741000000,0,3150845000000,-1607759000000,1543086000000,-292438000000,1250648000000,-249343000000,-249343000000,0,-112676000000,1001305000000,888629000000,922
-HDB,2019,4,5419297000000,0.14278071663754519,1121038000000,0.437860495063855,5419297000000,-2531263000000,2888034000000,231492000000,-70754000000,160738000000,54814000000,39223000000,2847000000,196880000000,1118000000,197998000000,0,3343654000000,-1366195000000,1977459000000,-407220000000,1570239000000,-313898000000,-317162000000,3264000000,-135303000000,1256341000000,1121038000000,0
-HDB,2019,3,4972939000000,0.18699861344067453,898682000000,0.5845997866469183,4972939000000,-2468069000000,2504870000000,193122000000,-44005000000,149117000000,-296000000,14105000000,75491000000,118900000000,8851000000,127751000000,0,2871038000000,-1284028000000,1587010000000,-349486000000,1237524000000,-248484000000,-248484000000,0,-90358000000,989040000000,898682000000,916
-HDB,2019,2,4784781000000,0.1721512053622064,786226000000,0.06530646533735847,4784781000000,-2461040000000,2323741000000,192044000000,-47871000000,144173000000,80905000000,-2674000000,33535000000,137438000000,-36617000000,100821000000,27069000000,2707570000000,-1292905000000,1414665000000,-305733000000,1108932000000,-212703000000,-213437000000,734000000,-110003000000,896229000000,786226000000,802
-HDB,2019,1,4441050000000,0.1287336620119953,798822000000,0.054884715949607796,4441050000000,-2411140000000,2029910000000,174771000000,-32923000000,141848000000,94380000000,29805000000,128076000000,51686000000,-9973000000,41713000000,0,2465732000000,-1137368000000,1328364000000,-226644000000,1101720000000,-222994000000,-222994000000,0,-79904000000,878726000000,798822000000,814
-HDB,2018,4,4742202000000,0.20429443973362404,779657000000,1.2359410713722385,4742202000000,-2581037000000,2161165000000,132926000000,-35649000000,97277000000,169545000000,-1885000000,6348000000,229745000000,-4818000000,224927000000,0,2657377000000,-1184272000000,1473105000000,-352401000000,1120704000000,-228639000000,-205816000000,-22823000000,-112408000000,892065000000,779657000000,0
-HDB,2018,3,4189507000000,0.04788523631091987,567135000000,-0.2719452407207952,4189507000000,-2420801000000,1768706000000,142382000000,-26941000000,115441000000,51052000000,16069000000,8126000000,133582000000,-30561000000,103021000000,53618000000,2116033000000,-1148111000000,967922000000,-146552000000,821370000000,-165739000000,-165739000000,0,-88496000000,655631000000,567135000000,0
-HDB,2018,2,4082051000000,0.1431482671662627,738028000000,1.0987632554052478,4082051000000,-2197669000000,1884382000000,135663000000,-21086000000,114577000000,55020000000,21093000000,172670000000,95610000000,-5539000000,90071000000,26111000000,2363924000000,-1099993000000,1263931000000,-248139000000,1015792000000,-195895000000,-195895000000,0,-81869000000,819897000000,738028000000,752
-HDB,2018,1,3934542000000,0.1508533393549323,757260000000,1.8345024292740626,3934542000000,-2103102000000,1831440000000,130078000000,-19199000000,110879000000,22698000000,83317000000,160114000000,87853000000,-15715000000,72138000000,22431000000,2303017000000,-1009080000000,1293937000000,-247179000000,1046758000000,-212844000000,-212844000000,0,-76654000000,833914000000,757260000000,772
-HDB,2017,4,3937743000000,0.20032902989221635,348693000000,-0.011795213331255048,3937743000000,-2192925000000,1744818000000,98893000000,-25622000000,73271000000,7481000000,-1972000000,-18323000000,147223000000,-26037000000,121186000000,250000000,1926711000000,-1158046000000,768665000000,-264160000000,504505000000,-87665000000,-91592000000,3927000000,-68147000000,416840000000,348693000000,0
-HDB,2017,3,3998059000000,0.3639885055471345,778973000000,10.81658626862049,3998059000000,-2134173000000,1863886000000,53125000000,-18015000000,35110000000,32138000000,5234000000,342925000000,128246000000,-5959000000,122287000000,37000000,2401617000000,-1051472000000,1350145000000,-318952000000,1031193000000,-206660000000,-206660000000,0,-45560000000,824533000000,778973000000,0
-HDB,2017,2,3570885000000,0.29104608470706483,351649000000,0.7212720758115675,3570885000000,-2194452000000,1376433000000,36736000000,1368000000,38104000000,56288000000,5921000000,115165000000,88299000000,-11071000000,77228000000,43099000000,1712238000000,-990126000000,722112000000,-228391000000,493721000000,-90297000000,-90297000000,0,-51775000000,403424000000,351649000000,0
-HDB,2017,1,3418804000000,0.40870480318000685,267158000000,0.3707650707809766,3418804000000,-2062707000000,1356097000000,56903000000,-24638000000,32265000000,34006000000,-1452000000,43105000000,27145000000,-5078000000,22067000000,495000000,1486583000000,-893980000000,592603000000,-205256000000,387347000000,-77751000000,-77751000000,0,-42438000000,309596000000,267158000000,0
-HDB,2016,4,3280553000000,0.3766587410228025,352855000000,0.4051362307759699,3280553000000,-1903018000000,1377535000000,48750000000,-19572000000,29178000000,56907000000,45120000000,117868000000,127761000000,-49070000000,78691000000,0,1705299000000,-992130000000,713169000000,-210353000000,502816000000,-101915000000,-95590000000,-6325000000,-48046000000,400901000000,352855000000,0
-HDB,2016,3,2931153000000,1.1957696374183882,65922000000,9.568798703552355,2931153000000,-1754746000000,1176407000000,55442000000,-13896000000,41546000000,44123000000,33356000000,5341000000,25035000000,-7870000000,17165000000,8810000000,1326748000000,-831101000000,495647000000,-353320000000,142327000000,-26981000000,-26981000000,0,-49424000000,115346000000,65922000000,0
-HDB,2016,2,2765885000000,1.293252408156953,204296000000,1.6598727692687825,2765885000000,-1578184000000,1187701000000,40371000000,-13030000000,27341000000,55872000000,-20596000000,-95964000000,-6102000000,16709000000,10607000000,3021000000,1167982000000,-769132000000,398850000000,-286389000000,112461000000,-22822000000,-22822000000,0,114657000000,89639000000,204296000000,57
-HDB,2016,1,2426913000000,0.33995052817579113,194897000000,0.4850514234833937,2426913000000,-1405988000000,1020925000000,39051000000,-11735000000,27316000000,46400000000,20596000000,7885000000,40102000000,-30405000000,9697000000,454000000,1133273000000,-700006000000,433267000000,-143543000000,289724000000,-59065000000,-59065000000,0,-35762000000,230659000000,194897000000,241
-HDB,2015,4,2382982000000,1.1683073382829166,251118000000,2.209344872405808,2382982000000,-1312971000000,1070011000000,-115450000000,-10394000000,-125844000000,7851000000,-6922000000,75583000000,50474000000,-36168000000,14306000000,577533000000,1612518000000,-757775000000,854743000000,-451279000000,403464000000,-73748000000,-75753000000,2005000000,-78598000000,329716000000,251118000000,0
-HDB,2015,1,1811195972514,0.1927479424530658,131239226412,4.631943345718851,1811195972514,-1129902410436,681293562078,44858616270,-10902289068,33956327202,277315794,0,28324491203,10770727372,-11427631724,-656904352,2291778800,745486570725,-474915823093,270570747632,-104288220189,166282527443,-35043301031,-35043301031,0,0,131239226412,131239226412,0
-HDB,2014,1,1518506893241,0.22046898534772785,23302653872,-0.5861433461878406,1518506893241,-1199785974375,318720918866,52548552389,-11256668725,41291883664,11767715805,0,62471022157,14036084659,-3308900203,10727184456,120000000,445098724948,-408874392182,36224332766,-5074165268,31150167498,-7847513626,-7847513626,0,0,23302653872,23302653872,0
-HDB,2013,4,1099005642755,0.0,78245875711,0.0,1099005642755,-1140954109646,-41948466891,38844926598,-10728092295,28116834303,-19503078335,46258888889,532132058307,70442818536,-4636044081,65806774455,-1405730500,609457280228,-427095896268,182361383960,-88379540173,93981843787,-15735968076,-17388182996,1652214920,0,78245875711,78245875711,0
-HDB,2013,3,1334909158980,0.0,6237416555,0.0,1334909158980,-1108730442639,226178716341,22066839794,-6777394178,15289445616,-24633158579,0,9724225448,12675806043,-1194654047,11481151996,26115734777,264156115599,-236793212534,27362903065,-19610290404,7752612661,-1515196106,-1515196106,0,0,6237416555,6237416555,0
-HDB,2013,2,1206097065531,0.0,76806681267,0.0,1206097065531,-1211362761590,-5265696059,16063776530,-6190483554,9873292976,-5972299997,15670641975,111596139560,-21534151,-7064943519,-7086477670,115781920549,234597521334,-134157885247,100439636087,-36538586453,63901049634,12905631633,12905631633,0,0,76806681267,76806681267,0
-HDB,2013,1,1244199493368,0.0,56306099364,0.0,1244199493368,-1113791055022,130408438346,11671484742,-4891367681,6780117061,-3906474729,0,28788264966,171846495486,-219450705,171627044781,819693600,334517084025,-212386252601,122130831424,-47312985867,74817845557,-18511746193,-18511746193,0,0,56306099364,56306099364,0
diff --git a/vn-stock-analysis-app/dfratio_quarter.csv b/vn-stock-analysis-app/dfratio_quarter.csv
deleted file mode 100644
index f5f7118fc5c94d5b57722d378f8ce5cdfba336f1..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/dfratio_quarter.csv
+++ /dev/null
@@ -1,46 +0,0 @@
-Meta,Meta,Meta,Chỉ tiêu cơ cấu nguồn vốn,Chỉ tiêu cơ cấu nguồn vốn,Chỉ tiêu cơ cấu nguồn vốn,Chỉ tiêu cơ cấu nguồn vốn,Chỉ tiêu hiệu quả hoạt động,Chỉ tiêu hiệu quả hoạt động,Chỉ tiêu hiệu quả hoạt động,Chỉ tiêu hiệu quả hoạt động,Chỉ tiêu hiệu quả hoạt động,Chỉ tiêu hiệu quả hoạt động,Chỉ tiêu hiệu quả hoạt động,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu thanh khoản,Chỉ tiêu thanh khoản,Chỉ tiêu thanh khoản,Chỉ tiêu thanh khoản,Chỉ tiêu thanh khoản,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá
-ticker,yearReport,lengthReport,(ST+LT borrowings)/Equity,Debt/Equity,Fixed Asset-To-Equity,Owners' Equity/Charter Capital,Asset Turnover,Fixed Asset Turnover,Days Sales Outstanding,Days Inventory Outstanding,Days Payable Outstanding,Cash Cycle,Inventory Turnover,EBIT Margin (%),Gross Profit Margin (%),Net Profit Margin (%),ROE (%),ROIC (%),ROA (%),EBITDA (Bn. VND),EBIT (Bn. VND),Dividend yield (%),Current Ratio,Cash Ratio,Quick Ratio,Interest Coverage,Financial Leverage,Market Capital (Bn. VND),Outstanding Share (Mil. Shares),P/E,P/B,P/S,P/Cash Flow,EPS (VND),BVPS (VND),EV/EBITDA
-CEO,2025,1,0.1323031957,0.3898196701,0.3371727081491191,1.178143762406588,0.1503461777,0.6184608488,172.09418144801035,494.1985109351,80.2701526923,746.5628450754103,0.738569607,0.18243489858516526,0.2680501302050179,0.12055044385620176,0.0318453496,0.028945347,0.0216153906,314805194620.0,59536526136,0.0277777778,2.6967711371,0.4715144671,1.9067993948,-8.02937631197873,1.3898196700681205,9727315776000,540406432,50.3111193131,1.5877469773,7.2332699973,91.9782014139,72.79874214006395,11336.8189370736,30.5610775582
-CEO,2024,4,0.136763824,0.4190677783,0.34202983108625357,1.1680655500158814,0.1423028558,0.7426227993,180.29029440766158,505.553656231,81.84039261,767.6843432486615,0.7219807344,0.13768865943429556,0.18224180406806392,0.17245415948925225,0.0315949309,0.0269421539,0.0206886378,294899163780.0,52544755580,0.0819672131,2.5387152172,0.5052455162,1.8388411569,-7.292647325903443,1.4190677782522836,6592958470400,540406432,34.6717286551,1.0828009216,5.0407339453,-85.2512853686,121.78235524036101,11267.0757443168,21.6506474399
-CEO,2024,3,0.1448493007,0.4144375521,0.3479827134922951,1.1712649686593664,0.1511250049,0.7744869561,170.74117407487577,503.297188724,82.340532544,756.3788953428758,0.7252176411,0.21570341976368268,0.36831962493863596,0.18009242637458292,0.0284538073,0.0262350278,0.0187327647,286382192787.0,52954074982,0.0862068966,2.5961990563,0.5424572709,1.9217192431,-6.63110751985999,1.4144375521246424,6268714611200,540406432,36.7201109389,1.0351961023,4.5516570792,-16.032244445,81.81205384320815,11205.6063330312,21.162328241
-CEO,2024,2,0.14332437069999998,0.4354008818,0.34842816009363264,1.162790456870247,0.1496719786,0.8816495689,173.1125756875885,531.8830455379,79.4322376058,784.4278588312885,0.6862410883,0.08626200214595828,0.2564783431239169,0.11237867784270696,0.0274675422,0.0244273132,0.0176942322,268488168074.0,33758041050,0.0662251656,2.5034124166,0.5112867247,1.8446984565,-4.478828096393905,1.435400881803075,8160137123200,540406432,48.6067971632,1.3567661507,5.8882640504,-12.437924824,81.38064204054477,11129.4050134973,29.652516374
-CEO,2024,1,0.1456708537,0.4431432025,0.2162547219518536,1.1616022051876689,0.1517647353,0.9658230845,182.42173618627356,584.4867688518,79.7052424545,846.6137474925736,0.6244794912,0.155605166023324,0.3128621775736245,0.124884632446153,0.0303065122,0.0294633594,0.0183679471,299934460021.0,45044302257,0.0568181818,2.6256753209,0.6111678986,1.9164385909,-5.677012774939833,1.443143202543415,9058346176000,514678760,47.9902444021,1.5143545515,6.8329715081,3626.6687013211,70.24066373751269,11622.1131853003,28.9581297507
-CEO,2023,4,0.1762840593,0.5089277953,0.21869044743321384,1.1537169361959037,0.1690560205,1.0093955355,187.0513528972152,521.1826243222,104.6708596442,812.9048368636152,0.7003303314,0.10766835048721109,0.2922153523509093,0.10284346006349138,0.0327225191,0.0295028561,0.018290646,306186727096.0,48550000878,0.0444444444,2.3271518711,0.4665949853,1.8112913427,6.919302424805115,1.511079974804091,11580272100000,514678760,55.7162442891,1.9468607717,8.3103696752,-281.35632469,90.10349067251192,11557.0668058014,31.689919709
-CEO,2023,3,0.1467301831,0.5018856893,0.2168646702923364,1.1749637843714635,0.3240424226,1.7583442479,105.11619959393721,344.3187787329,58.6344685543,508.0694468811372,1.0600641689,0.15698349241784632,0.3482689911859728,0.1469125109138271,0.0747054466,0.0666914638,0.039208251,563201333321.0,39887565749,0.0454545455,2.4929160445,1.2033962967,1.8195980887,-3.591064838411286,1.5018856893260142,11322932720000,514678760,22.9911113498,1.914292752,4.6415158033,13.7047238306,72.5280634953733,11492.4950620169,16.7714329828
-CEO,2023,2,0.2520817353,0.8335198046,0.3687248613647161,0.6987697542719107,0.3545438641,1.8054740766,101.42921383095376,327.5750070614,59.4347429191,488.4389638114538,1.1142486213,0.2065308268947163,0.32501743247917325,0.12256153412303106,0.0881441845,0.1145132841,0.0402062399,604726821137.0,68401821244,0.0485436893,1.4509755214,0.2526582627,0.8369435888,-3.78614028935846,1.833519804633915,10602382456000,514678760,22.9116449776,1.7952427118,4.2084320259,7.760107118,78.86798114031362,11474.771552706,18.3304585707
-CEO,2023,1,0.40209205420000005,0.7623075461,0.3695924820606593,0.6922431593837877,0.3603133706,1.8652114772,97.41111913040484,287.4050680779,60.5910149774,445.4072021857049,1.2699845637,0.1472893253277329,0.2939682439205366,0.08048861839255035,0.0857648541,0.1083779531,0.0374858591,625009770706.0,52621898441,0.0,1.6186940968,0.0624162406,0.8696432762,-2.1874531939680746,1.7623075460749797,5301203691000,257339985,19.4971372557,1.6101521462,2.028420257,25.7395038643,111.74354387251557,12793.8220300005,10.774254995
-CEO,2022,4,0.4255872649,0.89841177,0.37576435894891974,0.6882122266625798,0.3612900335,1.7940022194,103.82727458402661,231.2970033716,66.867964325,401.9922422806266,1.5780576258,0.20284222392844442,0.35999691555481556,0.12592043711029838,0.0769027028,0.1109633697,0.03953175,643576700060.0,303642532518,0.0,1.5090996788,0.168136939,0.9041303424,-10.672295522915128,1.8984167247828578,5944553653500,257339985,21.3137369052,1.8198543981,2.3321133726,13.018394736,732.4756516947804,12693.3231712048,12.0625040121
-CEO,2022,3,0.6916594881,1.2103925889,0.3969282432775848,0.6568661893748519,0.20998581,1.0862957586,151.5589447710829,309.1229595389,84.7934243863,545.4753286962829,1.1807599168,0.24227816645471797,0.40535507222820677,0.08341790935616482,0.088049495,0.0532092075,0.0422703617,580215028975.0,80900625010,0.0,1.2607098012,0.1035677077,0.7850471658,-2.634317272178878,2.2103925889270584,5069597704500,257339985,16.2743140582,1.6484373864,3.276036326,32.2329862058,108.2404598026226,11950.71172373,11.8717893084
-CEO,2022,2,0.7319307253,1.1415368821,0.40344377911165014,0.6492484468025355,0.1867601417,0.9300547823,155.25244997980022,265.7046730278,97.7879971805,518.7451201881003,1.3737056102,0.20742552800382164,0.3371518819246104,0.06298630257225014,0.0721396445,0.0324907506,0.0348330194,472970446903.0,88226270665,0.0,1.2262589769,0.0923908114,0.8920508861,-2.7601376347315916,2.1415368820927223,4014503766000,257339985,16.094581722,1.3169030079,3.0018336518,-12577.2787319604,104.1057126547979,11845.9749171859,12.5986337543
-CEO,2022,1,0.7492286748,0.988680906,0.40167529767917204,0.6585538802987452,0.1492741869,0.7247145293,173.3133335127878,268.897816433,115.7716371474,557.9827870931879,1.3573929489,0.23641066901601485,0.3231107830931451,0.12004990256900333,0.0431660715,0.0013565227,0.0208250104,319962623377.0,69221826115,0.0,1.188204025,0.0982565624,0.9194310465,-2.2244240134664897,1.9886809059950217,7411391568000,257339985,50.4686562298,2.4422559703,7.0408039852,-90.52043521,136.59365329099558,11792.3757173297,29.5945338526
-CEO,2021,4,0.7507260512,0.9947224222,0.40860895753136034,0.6540174296768918,0.1244879218,0.6464127037,243.50527944033186,295.7214373081,154.0365961701,693.2633129185318,1.2342696672,0.07873604684814595,0.23358656944678838,0.44752529426499926,0.0266498157,-0.0149591537,0.0128586876,49707329107.0,39007411813,0.0,1.1694605612,0.1454978461,0.89278207,-0.8580329454826312,1.9919471978596182,10602407382000,257339985,113.8203079438,3.533387804,11.7568014409,-63.4210693625,861.5566615075384,11660.1976023547,260.7362040529
-CEO,2021,3,0.989062705,1.1716786293,0.45297185371622595,0.5974593990011947,0.1459502633,0.7264950109,148.694673015258,270.6437525202,131.181571042,550.519996577458,1.3486363406,-0.20959261883578492,0.1100716699953651,-0.27646158819267536,-0.0466151256,-0.0128891237,-0.0217234504,52384678159.0,-25944989611,0.0,1.0348278497,0.0287022866,0.69510894,0.784203234681093,2.171678629313335,14822783136000,257339985,-94.9993486067,5.332443486,14.1398418433,-32.361011314,-132.98573081054622,10801.8022414861,327.9752145622
-CEO,2021,2,0.9699207391,1.1537085014,0.4484738290039992,0.6080808938040175,0.1624765537,0.8403792294,138.41436611455208,268.8347566888,135.8328798469,543.0820026502521,1.3577113484,-0.5339270372693932,-0.20501738128583924,-0.5389582416210205,-0.0308902653,0.001064367,-0.014467063,134622903817.0,-75082561575,0.0,1.0486863058,0.0405325227,0.7474143007,2.4202467685662374,2.1537085014168182,2779271838000,257339985,-26.2611109098,0.9874063447,2.3383136638,-12.3543772379,-294.5133689271024,10937.7462056547,38.0396389262
-CEO,2021,1,0.9855718910694122,1.1075854301452637,0.4358357454352041,0.6324232710109564,0.15691059827804565,0.849450409412384,149.45856401271763,296.5768737792969,149.91351318359375,595.9489509756082,1.2307095527648926,-0.11959441431748272,0.1156698923854545,-0.1306135567698394,-0.026809755712747574,-0.001977750798687339,-0.012459425255656242,117608808448.0,-16985007137,0.0,1.2247498035430908,0.05956976115703583,0.8620041608810425,0.5119139159808381,2.107585471855925,2032985881500,257339985,-21.7356804678,0.7031279322,1.7259133714,-6.0019780028,-72.08349278096057,11235.508700119,37.2514777652
-CEO,2020,4,0.9709939250999999,1.1520621708,0.3894380915860174,0.639582570834205,0.1710863619,0.9674945489,158.8287617182847,318.6432603023,172.9197633425,650.3917853630848,1.1454816262,0.0794960803425834,0.2259982885468961,-0.04279362602964543,-0.0188608842,0.0074113051,-0.0086800397,173874994087.0,51025860090,0.0,1.1919028603,0.1088242228,0.8754022877,-2.1813526917478803,2.1520621707534597,2599133848500,257339985,-38.6980021029,0.8930183199,1.9633370629,9.1954407227,-106.73735435245324,11309.9583460184,30.5693679989
-CEO,2020,3,1.0599018219,1.1282750622,0.3803556165239115,0.6558345924526302,0.2632570274,1.5087210502,99.5991072435605,218.6572816213,106.3485889068,424.60497777166046,1.6692789615,0.17654409978442986,0.44046583417387425,0.06049798420225245,0.0200344205,0.0450879282,0.0091888526,403076340013.0,46619681971,0.0,1.3404067611,0.0822133645,0.9553071549,-1.5131759678519678,2.128275062246464,2290325866500,257339985,31.7651403655,0.7795600613,1.1087460622,-2.6953703475,62.07971745626705,11416.6957003747,12.4205769505
-CEO,2020,2,1.1320325823,1.2177050709,0.38541287018092873,0.654465838755783,0.3041849833,1.7674838276,93.19894784347511,224.6737788392,92.8698620069,410.7425886895751,1.6245776516,-0.7020830690602259,-0.155543113033394,-0.48852564481386773,0.0266355353,0.0517497977,0.0118720123,424573872278.0,-91244498588,0.0,1.2908661958,0.0532291497,0.9432048512,2.447922326989417,2.217705070920052,1801379895000,257339985,18.9196009614,0.6164893653,0.7367743749,8.3001116685,-246.71655050419002,11354.6159829185,11.4362054486
-CEO,2020,1,1.0031921588,1.1822513027,0.3768013496444368,0.67521322254895,0.4668290422,2.7430242659,65.68104158783571,200.507948091,75.3105790781,341.4995687569357,1.8203767156,0.11677941244265645,0.4051862073918438,0.027150600210743277,0.1126571151,0.1335831327,0.0460865244,922819883964.0,33625190672,0.0,1.2375739558,0.0572642449,0.8978803368,-0.796254415764317,2.182251302688035,1749911898000,257339985,4.2072001175,0.5861472898,0.460925692,18.3844185139,30.37880130831592,11601.1796332855,5.1418437526
-CEO,2019,4,0.9847408672,1.1925532583,0.3793468088053453,0.6783328443220675,0.5528670504,3.5094467293,51.717904917960944,191.6109977952,57.4107906626,300.73969337576096,1.9049010975,0.19771529662724174,0.25954682530698425,0.08079559410770747,0.1459695783,0.1556429483,0.0544245618,1056944539982.0,273582965633,0.0,1.3230081181,0.0757138849,0.9381547343,-7.260568926324929,2.192553258339495,1749911898000,257339985,3.9068371849,0.5868348633,0.3845913801,-5.0999736532,434.4393845558046,11587.586943401,3.4916525497
-CEO,2019,3,0.9183916017,1.3878833962,0.4037393376468897,0.6437554462493889,0.4777052396,3.010978052,64.75588410425306,282.5027377308,72.4472795304,419.7059013654531,1.2920228771,0.1554798526962692,0.3073185229855709,0.06108453600798585,0.1503154781,0.1570126578,0.0480513822,927706001344.0,100025258013,0.130952381,1.5282469538,0.2044606284,1.0013676175,-2.9320656509257867,2.38788339619692,2161655874000,257339985,3.7307476161,0.7515681876,0.537804728,1.3162134262,152.70721889954257,11176.6305954514,4.421904211
-CEO,2019,2,1.1161265405,2.2706469558,0.5433976371033092,0.4652323701182372,0.4699013099,3.0305606615,66.86465389240877,307.4324778677,69.230077648,443.5272094081088,1.1872525718,0.2782602792746243,0.391263115799788,0.1457198945715416,0.1740247654,0.2008425617,0.0508446855,964459303013.0,412249346485,0.1170212766,1.1398037002,0.0920805385,0.6614554522,-10.383910230546153,3.2706469557546294,2418995859000,257339985,4.1954594752,1.2769115313,0.6209191519,3.1031747589,838.9195905914116,7361.5123442515,4.6786935851
-CEO,2019,1,1.3459235174000002,2.7931742961,0.5955498651712178,0.4245852297831274,0.371929668,2.4113514261,87.42502995867095,372.2481555665,69.0812271508,528.7544126759709,0.9805286999,0.1429296309420873,0.29084577804925404,0.0777034146758203,0.1059093368,0.1292504102,0.0311136494,651726054573.0,148857820514,0.1067961165,1.1034205211,0.0959452973,0.64806428,-4.122627732356878,3.7931742960530053,2650601845500,257339985,6.6481207203,0.9377865382,0.8812176805,1.1298467584,314.4721694026678,10983.309720081,7.4781176233
-CEO,2018,4,0.9818411185,2.4081497318,0.4865659392215185,0.4573001558391888,0.3191863169,1.8596427937,121.68291753387403,459.3380984454,86.1110236936,667.132039672874,0.794621655,0.22774533143577455,0.3072846268603521,0.07993720090156686,0.094799255,0.1325703977,0.0317207901,632416995913.0,194283504178,0.0916666667,1.1023519181,0.0722731402,0.6503142626,-6.146388902647369,3.408149731770779,1852847892000,154403991,8.3001181813,0.9797811001,0.8248671463,1.3931244156,441.64860197169384,12247.6336799675,5.6595024152
-CEO,2018,3,0.9220405672,2.2433682334,0.5009599868681314,0.4458290443169633,0.3117008423,1.7532686603,137.17456079763687,456.678591092,72.8903308784,666.7434827680368,0.7992492031,0.23830216108130509,0.36759634490844734,0.10877024406942273,0.0990703252,0.1393219615,0.0336386993,605490626505.0,123859131233,0.0,1.212294761,0.0820202949,0.7677585133,-4.942978251098964,3.243368233442893,2007251883000,154403991,8.7477547106,1.1003932859,0.9440561279,0.793149189,366.1437540302958,11813.957942635,6.1661887788
-CEO,2018,2,0.0,0.0,0.5212651820417794,0.4308434165394982,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20232893219761539,0.36438740246562834,0.08208636309927908,0.0,0.0,0.0,0.0,120705201153,0.0,0.0,0.0,0.0,-3.918188249383611,3.1820927831936454,1976371084800,154403991,9.5847749434,1.1181173794,0.9472169457,1.1079236198,317.161517593156,11447.8141886112,5.394382792
-CEO,2018,1,1.0143306225,1.8006514728,0.5316923697857511,0.423509457720333,0.3556937047,1.5920878871,172.8576465739996,379.8830448432,58.2466992342,610.9873906513997,0.9608220345,0.2729691672361271,0.4426419219953521,0.11869728738887418,0.0924184274,0.1362624706,0.0356977456,563498996777.0,113897573813,0.0,1.3793145972,0.2713558673,0.9053234261,-3.7485641690998497,2.800651472764561,2053573080300,154403991,9.8578337024,1.1844162287,1.0781922365,2.0009340402,320.7621757069738,11229.160558583,4.7762017544
-CEO,2017,4,1.0357791764,1.5252774161,0.5420957264002791,0.41417470739171364,0.3863878182,1.5805762332,154.70776734204844,307.2343427811,56.0177378047,517.9598479278484,1.1880182297,0.31846887334902124,0.4410070830490963,0.1299963317868363,0.0933806094,0.1335711949,0.0374519147,537441643247.0,189683145603,0.0,1.5104737113,0.1924763582,0.965891013,-5.645873035136555,2.5253313662293806,2207977071300,154403991,12.4287997766,1.1950038328,1.2047024458,4.0145591435,501.4577267954168,11966.4888152729,6.1714944056
-CEO,2017,3,1.0938564449000001,1.3853399725,0.5456316125402381,0.40143530209148215,0.3968619296,1.5477615017,184.73292706620015,280.1786425352,46.9574933178,511.8690629192002,1.3027402685,0.20482008620362382,0.3184499975748069,0.0701075263249325,0.0948619558,0.1170978085,0.0371014499,455000100518.0,98325931598,0.0,1.9771700456,0.1706802442,1.3050291269,-3.139874976986483,2.385339972517685,1729324699200,154403991,8.0956512583,0.9753682225,1.0103654039,148.265930701,217.9724708994083,11482.84282938,6.2377254847
-CEO,2017,2,1.4295939047,1.6519132094,0.7427759921356394,0.2918251558395589,0.3987416594,1.5114162414,189.1036168984264,271.1086268339,62.3457458267,522.5579895590264,1.3463238122,0.2651682044020961,0.38105811805749085,0.07418143674818459,0.1147940614,0.1486730938,0.0449836478,460349144577.0,109175214663,0.0,1.7400099694,0.0955892927,1.1026361578,-4.266812083393291,2.651913209368261,1652122703700,154403991,7.3869325254,0.8993633026,1.0714493856,3.3343380984,197.80593839054328,11897.3055377111,6.1237755785
-CEO,2017,1,1.5935381184000001,1.8207765365,0.7669612049392814,0.26560201093405933,0.4137758122,1.583553637,173.0855804045476,241.8441072618,60.7771873114,475.7068749777476,1.5092366902,0.2691663199890265,0.439055242928158,0.10413433964030433,0.1182686588,0.1425153682,0.0483143964,414377404215.0,92972306755,0.0,1.5777963992,0.0717231267,1.1201648989,-2.746041338311925,2.8207765364531916,1652122703700,154403991,6.6364137082,0.9205438657,1.1104253244,2.0187785453,232.95301472485903,11623.5634157766,6.9548206941
-CEO,2016,4,1.3389477104999998,1.4477250338,0.6180487776274821,0.2896616214958374,0.4369671727,2.4517608758,142.76526969028876,274.3104145143,49.0724098178,466.1480940223888,1.3306093414,0.24474614997957173,0.333179788773774,0.12614853065750578,0.1177833615,0.0,0.0486349613,399273028904.0,116106211677,0.0,1.7002465639,0.0993073022,1.2003970492,-6.135975746466859,2.4566610304332235,1204351129800,102935994,7.6718571855,0.9360819466,0.8538867466,19.2836154251,581.3725468955009,12498.9057236869,5.8351167523
-CEO,2016,3,1.1906748405999998,1.2859896214,0.5669067442272753,0.2745519082976052,0.4237251003,1.9139113293,149.38993378980018,276.1571673149,73.90836013,499.4554612347002,1.321711124,0.34569798885693326,0.4458981647233489,0.15333243087363754,0.1407512343,0.0,0.0585426939,398276181750.0,107314264376,0.0746268657,2.1028257783,0.1016520074,1.4865583086,0.0,2.285989621382512,1379342319600,102935994,6.3547231841,1.0984544816,1.0911617369,12.179773818,462.4101497480075,12198.9579212204,5.6925763963
-CEO,2016,2,0.0,0.0,0.6100809789534669,0.2574464597915815,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21874378928217553,0.3107122790613058,0.08477155393633908,0.0,0.0,0.0,0.0,78222364978,0.0952380952,0.0,0.0,0.0,-3.7435937094030063,2.2260087725190836,1080827937000,102935994,5.6760586391,0.9071216823,1.0808525004,-39.185552269,294.4951133419861,11575.0733391762,6.1750417695
-CEO,2016,1,1.7669095389,1.8052937508,0.915110614492296,0.1832011170205687,0.3331153679,2.973814823,175.23149302167772,380.1720543367,70.8283914043,626.2319387626777,0.9600916107,0.2451378795167501,0.36090096183372006,0.08789321741139873,0.1342476354,0.0,0.0585994797,277884301741.0,60635711954,0.101010101,1.6430434938,0.0477925549,0.9433606859,-4.811951807802942,2.8052937508212237,1019066340600,102935994,5.4359757911,0.848922598,1.3274579224,2.2247510023,211.20595351709528,11661.8405773106,6.7504795634
-CEO,2015,4,0.0,0.0,0.04191887988052487,0.2032572745892114,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.43451519766874264,0.5064387379351674,0.21506248235973052,0.0,0.0,0.0,0.0,151526299219,0.0884955752,0.0,0.0,0.0,-17.67318769541026,2.42827832412583,1163176732200,102935994,5.5614901016,0.8842503398,1.8191571528,-3.8721498256,728.585354535946,12779.1864943714,7.126907372
-CEO,2015,3,0.0,0.0,0.043780028681146145,0.18210350688683144,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.30382158555779104,0.5508845801846701,0.2147528105481469,0.0,0.0,0.0,0.0,14067151861,0.0642857143,0.0,0.0,0.0,-59.2656110788986,2.07508036651424,960735944000,68623996,7.0176907178,1.1506188259,1.6003977302,2531.4807621901,144.89400028526464,12167.3656682861,6.4772870611
-CEO,2015,2,1.0680505934,0.820318856,0.03939501806873793,0.17602196779552765,0.4508547543,2.8112219213,178.7107229482525,291.7066854743,31.7083145847,502.12572300725253,1.2512568898,0.30726684801268067,0.39663263883194605,0.22636372087045986,0.2029985546,0.0,0.0950210004,250893177396.0,38501588904,0.0620689655,6.6832586255,0.5372549356,4.2242675035,-17.525281529309154,1.8203188559593295,995047942000,68623996,5.8728343395,1.221882169,1.5365093165,-3.7524242652,413.3269921938093,11866.9380471228,5.7677322049
-CEO,2015,1,0.0,0.0,0.4261171563752651,0.15508386078628317,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.41857889724226655,0.4688872780018717,0.21357354276534332,0.0,0.0,0.0,0.0,72798937206,0.0656934307,0.0,0.0,0.0,-18.714948399864003,2.004152473975815,940148745200,68623996,8.1024488399,1.1217845574,1.6082560344,-4.603392883,541.2764820486408,12212.6837190157,0.0
-CEO,2014,4,1.7944391655,1.8174345816,0.7180198518901961,0.08629545652669064,0.3963809207,1.8390128126,158.35978978066947,414.1459914404,72.8229640993,645.3287453203694,0.8813317225,0.3989383679226584,0.47583077844743893,0.20536065914489868,0.1963210673,0.0,0.0751307336,160144911945.0,101644445946,0.0647482014,2.7472190652,0.3628273683,1.8216559823,-47.64616519292502,2.986905973586781,953873544400,68623996,6.2123146029,1.0227096836,2.1247993713,-14.7581402301,762.4635596708766,13591.3448582621,8.785375065
-CEO,2014,3,0.49542143559999996,1.0358950186,0.44267276324068416,0.08026507875039504,0.1948989817,1.1082975901,105.95725336232539,1152.3514521849,80.4107088869,1338.7194144341254,0.3167436456,0.30551336226770087,0.38765616158023697,0.1993222324296298,0.0516409163,26.7877281608,0.0237130111,41055794087.0,28593879924,0.0707964601,3.035212273,0.0886995413,1.4355529872,-11.713239890638665,2.170403633164348,775451154800,68623996,37.4938966396,0.9981638376,4.5618154585,23.6677684714,271.8457942612377,11320.7868019956,21.9651433294
-CEO,2014,2,0.3728877303,1.0399951979,0.4443801882142763,0.07697076863770563,0.1948989817,1.1082975901,105.95725336232539,1152.3514521849,80.4107088869,1338.7194144341254,0.3167436456,0.2591287124247032,0.37173164093896616,0.1270078306770219,0.0516409163,18.846233529,0.0237130111,41055794087.0,16137766703,0.0503144654,2.5423519837,0.1381072333,0.9808676868,-4.150510294575946,2.1794072552914603,545560768200,34311998,26.3784494057,1.3115860815,3.2094188403,16.6512176414,230.52200379004452,12122.7269970697,15.7629688247
diff --git a/vn-stock-analysis-app/dfratio_year.csv b/vn-stock-analysis-app/dfratio_year.csv
deleted file mode 100644
index 837018c144f7b3fcfb3cdb22c8930a23efcec65f..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/dfratio_year.csv
+++ /dev/null
@@ -1,14 +0,0 @@
-Meta,Meta,Meta,Chỉ tiêu cơ cấu nguồn vốn,Chỉ tiêu cơ cấu nguồn vốn,Chỉ tiêu cơ cấu nguồn vốn,Chỉ tiêu cơ cấu nguồn vốn,Chỉ tiêu hiệu quả hoạt động,Chỉ tiêu hiệu quả hoạt động,Chỉ tiêu hiệu quả hoạt động,Chỉ tiêu hiệu quả hoạt động,Chỉ tiêu hiệu quả hoạt động,Chỉ tiêu hiệu quả hoạt động,Chỉ tiêu hiệu quả hoạt động,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu thanh khoản,Chỉ tiêu thanh khoản,Chỉ tiêu thanh khoản,Chỉ tiêu thanh khoản,Chỉ tiêu thanh khoản,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá
-CP,Năm,Kỳ,(Vay NH+DH)/VCSH,Nợ/VCSH,TSCĐ / Vốn CSH,Vốn CSH/Vốn điều lệ,Vòng quay tài sản,Vòng quay TSCĐ,Số ngày thu tiền bình quân,Số ngày tồn kho bình quân,Số ngày thanh toán bình quân,Chu kỳ tiền,Vòng quay hàng tồn kho,Biên EBIT (%),Biên lợi nhuận gộp (%),Biên lợi nhuận ròng (%),ROE (%),ROIC (%),ROA (%),EBITDA (Tỷ đồng),EBIT (Tỷ đồng),Tỷ suất cổ tức (%),Chỉ số thanh toán hiện thời,Chỉ số thanh toán tiền mặt,Chỉ số thanh toán nhanh,Khả năng chi trả lãi vay,Đòn bẩy tài chính,Vốn hóa (Tỷ đồng),Số CP lưu hành (Triệu CP),P/E,P/B,P/S,P/Cash Flow,EPS (VND),BVPS (VND),EV/EBITDA
-CEO,2024,5,0.136763824,0.4190677783,0.34202983108625357,1.1680655500158814,0.1423028558,0.7426227993,180.29029440766158,505.553656231,81.84039261,767.6843432486615,0.7219807344,0.14090990978502324,0.2682894651357817,0.14538455799106903,0.0315949309,0.0269421539,0.0206886378,294899163780,184301173869,0.0,2.5387152172,0.5052455162,1.2182502905,-6.0106118040360785,1.4190677782522836,9727315776000,540406432,53.9475990587,1.5975751303,7.4371484439,-125.7805849701,351.87169700637463,11267.0757443168,31.4083594488
-CEO,2023,5,0.1762840593,0.5089277953,0.21829496364973028,1.1558071188147887,0.1690560205,1.0093955355,187.0513528972152,521.1826243222,104.6708596442,812.9048368636152,0.7003303314,0.14964136522149796,0.31076353983915644,0.10819281036270187,0.0327225191,0.0295028561,0.018290646,306186727096,208521136171,0.0,2.3271518711,0.4665949853,1.0817679232,-4.51213023581502,1.5089277952514413,6793759632000,514678760,47.0478440644,1.1421583194,4.8754168761,-227.5559536709,292.92779121679706,11557.0668058014,21.1053419347
-CEO,2022,5,0.4255872649,0.89841177,0.3757631726874062,0.6882143993067795,0.3612900335,1.7940022194,103.82727458402661,231.2970033716,66.867964325,401.9922422806266,1.5780576258,0.2126291636802876,0.35788970773131723,0.10941832410719965,0.0890062737,0.1109633697,0.03953175,643576700060,541991434307,0.0,1.5090996788,0.168136939,0.6827179269,-4.433642212811486,1.8984117699656242,5841617659500,257339985,22.2446007716,1.7883417679,2.2917304571,12.7929679873,1083.8080671995065,12693.3231712048,10.25360005
-CEO,2021,5,0.7507260512,0.9947224222,0.40860895753136034,0.6540174296768918,0.1244879218,0.6464127037,243.50527944033186,295.7214373081,154.0365961701,693.2633129185318,1.2342696672,-0.08760725624467165,0.1296795709573114,0.10329265184097727,0.0266498157,-0.0149591537,0.0128586876,49707329107,-79005146510,0.0,1.1694605612,0.1454978461,0.5319982723,0.5364364947734385,1.9947224221758442,4580651733000,257339985,52.1740416173,1.5265607503,5.0793947973,-27.4003649188,361.97406898892916,11660.1976023547,120.8803541691
-CEO,2020,5,0.9709939250999999,1.1520621708,0.3894380915860174,0.639582570834205,0.1710863619,0.9674945489,158.8287617182847,318.6432603023,172.9197633425,650.3917853630848,1.1454816262,0.03023506812740668,0.27029605149544295,-0.05073484304532158,-0.0188608842,0.0074113051,-0.0086800397,173874994087,40026234144,0.0,1.1919028603,0.1088242228,0.5340502862,-0.2992933244862325,2.1520621707534597,18245404936500,257339985,-271.652311792,6.2688117702,13.7822374017,64.5501729941,-260.9953860959462,11309.9583460184,114.8013341313
-CEO,2019,5,0.9847408672,1.1925532583,0.3793468088053453,0.6783328443220675,0.5528670504,3.5094467293,51.717904917960944,191.6109977952,57.4107906626,300.73969337576096,1.9049010975,0.2054294747786398,0.31635297128658796,0.09844059578893027,0.1459695783,0.1556429483,0.0544245618,1056944539982,934715390645,0.0,1.3230081181,0.0757138849,0.4574360099,-6.355342903861391,2.192553258339495,2573399850000,257339985,5.9161385765,0.862992446,0.565575559,-7.4999612547,1740.5383634494267,11587.586943401,4.4583041329
-CEO,2018,5,0.9818411185,2.4081497318,0.4865659392215185,0.4573001558391888,0.3191863169,1.8596427937,121.68291753387403,459.3380984454,86.1110236936,667.132039672874,0.794621655,0.246076070918102,0.38075982410365955,0.09938016884206728,0.094799255,0.1325703977,0.0317207901,632416995913,552745410377,0.1,1.1023519181,0.0722731402,0.3870946571,-4.689940200539857,3.408149731770779,1544039910000,154403991,7.3205376272,0.81648425,0.6873892886,1.160937013,1445.7625467271762,12247.6336799675,4.5593293936
-CEO,2017,5,1.0357791764,1.5252774161,0.5420820986180338,0.4141851196203009,0.3863878182,1.5805762332,154.70776734204844,307.2343427811,56.0177378047,517.9598479278484,1.1880182297,0.2674361345709114,0.3950712355323598,0.0969283009971729,0.0933806094,0.1335711949,0.0374519147,537441643247,490156598619,0.1,1.5104737113,0.1924763582,0.7935027129,-3.943102092931758,2.525277416135353,1544039910000,154403991,8.9602766755,0.835667016,0.8424492628,2.8073840165,1150.5535737220678,11966.4888152729,4.7098840675
-CEO,2016,5,1.3389477104999998,1.4477250338,0.705882659443493,0.28988862570421814,0.4369671727,2.4517608758,142.76526969028876,274.3104145143,49.0724098178,466.1480940223888,1.3306093414,0.2575541095443314,0.35403907893958203,0.11130117857472224,0.1177833615,0.1291289713,0.0486349613,399273028904,363263142390,0.1,1.7002465639,0.0993073022,1.1862691028,-4.9294098588552435,2.447725033840788,1029359940000,102935994,6.9062091687,0.8000700398,0.7298177321,16.4817225855,1525.054457763336,12498.9057236869,5.3968422455
-CEO,2015,5,1.5459578122,1.3848072443,0.040697668732742415,0.20337393832129666,0.3185914341,17.3066768763,206.84542064610415,752.6332743784,104.2802032367,1063.7588982612042,0.4849639425,0.4372939704698885,0.5284598199500736,0.21806591633148298,0.1695818493,0.1359151764,0.069473933,289628140789,279607603338,0.09,2.4295607507,0.0709757034,1.1017191349,-19.03323187442834,2.384807244278558,686239960000,68623996,5.2616538533,0.7825224246,1.0732490577,-3.4266812616,2031.8295624900654,12779.1864943714,5.5232502194
-CEO,2014,5,1.5344019339,1.5540650195,0.05347192377729136,0.100920067666034,0.3963809207,4.9186516717,158.35978978066947,579.7853681178,72.8229640993,810.9681219977695,0.6295433105,0.3474019039758733,0.4354259671008431,0.18954175057006145,0.1799175315,0.1543274869,0.0751307336,163763988684,155957070561,0.08,3.2238164104,0.1372942293,1.5902039422,-16.09109570101908,2.554065019515658,343119980000,34311998,4.0324430808,0.7357623623,0.7643163206,-9.5795793131,2479.886212805212,13591.3448582621,4.6868216583
-CEO,2013,5,0.4708819753,1.0854545608,0.38296617429880875,0.07411044479444685,0.1927861893,1.1707104743,79.97681885972506,1177.800819772,80.0973984973,1337.875037129025,0.3098995975,0.2395959398787598,0.40133289257161736,0.12166821449370988,0.053110558,0.0764281622,0.0234559514,41220665359,40728291171,0.06,2.8442688813,0.0894836053,0.7631506973,-3.6144349396880977,2.1777460521212126,343119980000,34311998,16.590219752,0.8567341503,2.0185024153,10.4724639254,602.764770416459,11672.232274349,12.2767859009
diff --git a/vn-stock-analysis-app/filter_stocks.csv b/vn-stock-analysis-app/filter_stocks.csv
deleted file mode 100644
index 041eb8c6d3c5bdab3f09a2211806453af1ceeb49..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/filter_stocks.csv
+++ /dev/null
@@ -1,1613 +0,0 @@
-index,ticker,exchange,industry,market_cap,roe,stock_rating,business_operation,business_model,financial_health,alpha,beta,pe,pb,ev_ebitda,dividend_yield,revenue_growth_1y,revenue_growth_5y,eps_growth_1y,eps_growth_5y,gross_margin
-0,A32,UPCOM,Hàng cá nhân & Gia dụng,NaN,NaN,NaN,1.7,3.5,2.6,0.1,0.1,NaN,NaN,NaN,NaN,NaN,NaN,-0.91,-3.51,NaN
-1,AAA,HSX,Hóa chất,2760.0,5.1,2.4,1.5,3.0,4.0,-0.2,1.2,9.9,0.5,5.4,3.4,1.27,6.66,27.36,-7.33,12.02
-2,AAM,HSX,Thực phẩm và đồ uống,74.0,-1.5,NaN,1.0,NaN,4.2,0.0,0.4,-24.6,0.4,3.5,0.0,12.23,-6.62,NaN,NaN,13.66
-3,AAS,UPCOM,Dịch vụ tài chính,2030.0,2.6,2.8,3.8,2.8,2.6,0.1,1.2,30.9,0.8,19.2,0.0,-37.58,24.91,-15.27,6.06,91.87
-4,AAT,HSX,Hàng cá nhân & Gia dụng,210.0,-0.5,2.2,1.3,2.9,2.8,-0.2,0.7,-53.9,0.3,21.4,0.0,-2.73,14.49,NaN,NaN,14.93
-5,AAV,HNX,Bất động sản,600.0,-1.7,2.4,1.0,3.5,4.0,0.2,1.0,-48.7,0.8,-365.2,0.0,-47.36,-41.2,NaN,NaN,6.84
-6,ABB,UPCOM,Ngân hàng,7936.0,5.1,2.1,1.6,3.0,1.4,0.0,0.8,11.0,0.6,NaN,0.0,4.27,4.43,29.12,-17.27,NaN
-7,ABC,UPCOM,Viễn thông,207.0,4.0,2.9,1.1,3.5,4.8,-0.1,1.0,10.5,0.4,-41.6,0.0,6.33,-12.95,-73.31,-23.75,0.2
-8,ABI,UPCOM,Bảo hiểm,1991.0,13.4,2.6,1.3,3.0,4.0,0.0,0.6,9.2,1.2,-3.2,0.0,NaN,NaN,-16.9,-13.3,NaN
-9,ABR,HSX,Hàng & Dịch vụ Công nghiệp,259.0,6.0,2.9,3.0,3.5,4.2,0.1,0.4,13.9,0.9,11.8,17.5,-53.62,-1.64,-36.29,18.64,93.64
-10,ABS,HSX,Bán lẻ,289.0,-0.3,2.7,1.1,3.0,3.4,-0.2,1.0,-110.9,0.3,85.5,0.0,-61.36,-12.91,-70.61,-40.63,2.43
-11,ABT,HSX,Thực phẩm và đồ uống,546.0,21.9,3.4,3.6,3.0,4.8,0.1,0.5,4.9,1.0,5.7,8.1,9.54,10.07,58.9,15.26,21.5
-12,ACB,HSX,Ngân hàng,114570.0,20.5,3.3,4.3,4.2,2.9,0.0,1.0,6.9,1.3,NaN,3.9,2.35,15.8,4.64,11.06,NaN
-13,ACC,HSX,Xây dựng và Vật liệu,1470.0,3.9,2.1,2.0,3.5,2.6,0.0,0.3,28.9,1.1,22.9,0.0,7.43,8.13,-24.76,-18.81,17.26
-14,ACE,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,2.3,NaN,4.0,0.1,0.2,NaN,NaN,NaN,NaN,NaN,NaN,2.67,-0.06,NaN
-15,ACG,UPCOM,Tài nguyên Cơ bản,5519.0,9.9,2.4,2.0,3.0,4.8,-0.1,0.6,13.0,1.3,11.1,3.6,5.81,NaN,2.14,NaN,29.39
-16,ACL,HSX,Thực phẩm và đồ uống,504.0,1.4,2.2,1.3,3.0,2.6,-0.1,0.6,45.5,0.6,19.6,0.0,56.6,4.29,9.26,-40.28,12.44
-17,ACM,UPCOM,Tài nguyên Cơ bản,31.0,-4.4,NaN,1.2,NaN,2.8,0.0,0.1,-2.0,0.1,-62.1,0.0,NaN,NaN,NaN,NaN,NaN
-18,ACS,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.1,NaN,1.8,0.1,0.0,NaN,NaN,NaN,NaN,NaN,NaN,203.82,NaN,NaN
-19,ACV,UPCOM,Hàng & Dịch vụ Công nghiệp,215481.0,18.2,2.7,3.2,3.0,4.8,0.0,0.8,20.4,3.4,14.5,0.0,12.99,4.28,44.29,4.91,68.48
-20,ADC,HNX,Truyền thông,76.0,16.5,NaN,2.3,NaN,3.8,0.0,0.4,5.6,0.9,3.6,7.7,-4.49,1.7,-1.9,4.76,36.86
-21,ADG,HSX,Truyền thông,199.0,5.0,2.3,1.5,2.9,4.8,-0.2,0.5,12.3,0.6,14.8,0.0,12.7,5.06,-11.38,-15.93,12.51
-22,ADP,UPCOM,Xây dựng và Vật liệu,696.0,28.1,3.0,3.4,3.0,5.0,0.0,0.3,8.2,2.4,6.5,12.6,58.43,8.44,44.76,15.53,19.33
-23,ADS,HSX,Hàng cá nhân & Gia dụng,623.0,5.8,2.5,2.4,2.8,2.6,-0.1,0.9,11.7,0.7,9.3,5.7,-0.78,-0.91,-14.32,26.03,8.98
-24,AFX,UPCOM,Bán lẻ,280.0,6.1,2.2,2.7,3.0,2.2,0.0,0.5,9.8,0.6,26.8,0.0,-3.79,21.62,5.64,196.36,2.38
-25,AG1,UPCOM,Hàng cá nhân & Gia dụng,NaN,NaN,NaN,1.9,NaN,4.2,0.3,0.9,NaN,NaN,NaN,NaN,NaN,NaN,-20.06,3.68,NaN
-26,AGF,UPCOM,Thực phẩm và đồ uống,65.0,3.7,1.9,1.1,NaN,2.0,-0.1,0.0,-9.4,-0.3,10.1,0.0,12.16,-9.19,NaN,NaN,3.94
-27,AGG,HSX,Bất động sản,2544.0,3.5,2.1,2.8,3.0,2.4,-0.1,0.8,23.7,0.8,168.8,0.0,-50.83,37.83,69.65,-14.24,39.34
-28,AGM,HSX,Thực phẩm và đồ uống,0.0,219.3,2.6,1.0,3.0,2.8,-0.3,0.6,-0.1,-0.1,0.0,0.0,-69.43,-35.27,NaN,NaN,0.82
-29,AGP,UPCOM,Y tế,1160.0,14.2,2.5,2.5,3.5,2.8,0.1,0.2,22.3,2.9,13.6,1.4,9.4,11.15,12.1,3.04,27.53
-30,AGR,HSX,Dịch vụ tài chính,3242.0,5.3,2.4,3.5,3.0,4.0,-0.1,1.4,24.5,1.3,15.6,0.0,14.26,15.14,-8.82,14.28,63.72
-31,AGX,UPCOM,Bán lẻ,NaN,NaN,3.4,3.9,3.5,3.4,0.4,0.1,NaN,NaN,NaN,NaN,NaN,NaN,147.39,37.67,NaN
-32,AIC,UPCOM,Bảo hiểm,1150.0,1.1,2.3,1.1,NaN,3.4,0.0,0.5,95.7,1.0,-3.8,0.0,NaN,NaN,-53.16,NaN,NaN
-33,ALT,HNX,Truyền thông,73.0,2.0,2.7,1.6,NaN,4.0,0.0,0.7,17.1,0.3,3.9,0.0,36.57,15.53,-54.92,-17.74,14.43
-34,ALV,UPCOM,Xây dựng và Vật liệu,47.0,9.1,NaN,3.2,NaN,4.2,0.2,1.0,4.7,0.4,NaN,0.0,166.76,104.4,32.54,NaN,0.0
-35,AMC,HNX,Tài nguyên Cơ bản,50.0,11.3,NaN,2.0,NaN,4.2,0.0,0.4,8.3,0.9,8.1,0.0,8.8,2.8,-3.88,-7.4,40.52
-36,AMD,HSX,Bất động sản,180.0,-7.3,2.3,1.1,1.4,4.0,0.0,0.0,-1.4,0.1,-6.2,0.0,-68.34,-25.29,NaN,NaN,25.14
-37,AME,HNX,Hàng & Dịch vụ Công nghiệp,319.0,2.9,2.2,2.4,3.5,2.0,-0.1,0.8,13.6,0.4,17.8,0.0,52.18,27.28,7.09,-14.33,3.28
-38,AMP,UPCOM,Y tế,175.0,1.7,NaN,1.2,3.5,2.2,0.1,1.1,54.3,0.9,45.4,0.0,4.76,-5.81,0.91,-12.08,6.77
-39,AMS,UPCOM,Hàng & Dịch vụ Công nghiệp,411.0,5.8,2.5,2.2,3.5,2.2,-0.2,1.0,8.7,0.5,6.2,0.0,14.26,9.74,4.85,2.88,9.23
-40,AMV,HNX,Y tế,262.0,0.0,2.5,1.1,3.5,3.6,-0.2,0.3,-2894.3,0.2,14.7,0.0,57.62,-8.66,-65.56,-56.81,10.93
-41,ANT,UPCOM,Thực phẩm và đồ uống,556.0,34.5,NaN,4.0,NaN,2.6,0.4,1.0,6.0,1.8,7.3,0.0,85.72,30.68,436.85,37.19,27.08
-42,ANV,HSX,Thực phẩm và đồ uống,4034.0,5.6,2.2,1.5,3.0,3.2,-0.1,1.3,24.8,1.4,18.2,0.0,10.64,1.85,22.05,-49.63,20.22
-43,APC,HSX,Y tế,151.0,-4.1,2.5,1.2,3.6,2.6,0.0,0.8,-6.4,0.3,6.4,0.0,11.19,-1.77,NaN,NaN,11.76
-44,APF,UPCOM,Thực phẩm và đồ uống,1492.0,10.2,2.2,2.3,3.0,1.6,-0.1,0.6,13.0,1.3,14.6,5.0,1.17,7.35,-10.42,5.22,15.61
-45,APG,HSX,Dịch vụ tài chính,2695.0,-7.0,2.5,1.0,3.0,3.8,0.1,1.0,-18.4,1.1,-35.6,0.0,-56.16,-2.33,NaN,NaN,86.11
-46,APH,HSX,Hàng & Dịch vụ Công nghiệp,1534.0,3.7,2.3,1.4,3.0,4.0,-0.2,0.9,16.9,0.6,6.0,0.0,-2.27,8.33,243.55,-26.3,12.06
-47,API,HNX,Bất động sản,597.0,-2.0,2.5,1.4,3.5,2.4,0.1,1.8,-34.3,0.7,34.9,0.0,8.49,-14.23,NaN,NaN,32.06
-48,APL,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.3,NaN,2.4,0.1,0.2,NaN,NaN,NaN,NaN,NaN,NaN,-22.81,-2.52,NaN
-49,APP,UPCOM,Hóa chất,26.0,-4.6,NaN,1.0,NaN,4.0,-0.3,0.7,-11.1,0.5,NaN,0.0,4.84,-3.93,NaN,NaN,9.05
-50,APS,HNX,Dịch vụ tài chính,481.0,-1.4,2.6,1.6,3.0,3.4,-0.1,1.5,-42.9,0.6,-21.7,0.0,-45.24,55.91,NaN,NaN,NaN
-51,APT,UPCOM,Thực phẩm và đồ uống,NaN,NaN,NaN,1.2,NaN,2.0,-0.1,-0.1,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-52,ARM,HNX,Hàng & Dịch vụ Công nghiệp,88.0,12.0,NaN,1.5,NaN,4.2,0.1,0.1,18.6,2.2,9.0,0.0,61.48,2.58,22.11,-8.62,16.33
-53,ART,HNX,Dịch vụ tài chính,126.0,-13.7,2.4,1.0,3.0,3.8,0.0,0.0,-6.7,1.0,-3.0,0.0,-77.16,-67.75,NaN,NaN,NaN
-54,ASA,UPCOM,Hàng cá nhân & Gia dụng,126.0,0.4,NaN,1.1,NaN,5.0,0.0,0.0,268.4,1.1,NaN,0.0,2.53,-9.93,20.9,NaN,6.55
-55,ASG,HSX,Hàng & Dịch vụ Công nghiệp,1598.0,3.1,2.4,1.7,3.0,4.0,0.0,0.1,39.6,1.2,12.5,0.0,-0.22,16.71,899.04,-29.81,18.35
-56,ASM,HSX,Thực phẩm và đồ uống,2613.0,2.6,2.1,1.4,3.0,2.6,-0.2,1.2,18.9,0.5,14.1,0.0,0.33,-3.32,-7.27,-27.63,11.28
-57,ASP,HSX,"Điện, nước & xăng dầu khí đốt",183.0,5.4,2.3,1.3,3.5,2.0,0.0,0.8,10.3,0.6,11.8,0.0,-11.17,5.27,NaN,-29.08,11.58
-58,AST,HSX,Bán lẻ,2678.0,30.0,2.9,2.9,3.0,5.0,0.0,0.6,15.9,4.6,8.8,5.6,20.95,3.11,28.59,-4.88,63.02
-59,ATA,UPCOM,Thực phẩm và đồ uống,6.0,-1.0,NaN,1.1,NaN,2.8,0.0,0.7,67.2,-0.2,-7177.1,0.0,NaN,NaN,NaN,NaN,-32.13
-60,ATB,UPCOM,Xây dựng và Vật liệu,8.0,-12.0,NaN,1.0,NaN,3.2,0.1,0.2,-2.1,0.3,-21.0,0.0,NaN,NaN,NaN,NaN,NaN
-61,ATG,UPCOM,Tài nguyên Cơ bản,44.0,1025.9,NaN,2.2,NaN,3.0,-0.1,0.0,-48.0,-80.2,-42.0,0.0,-77.34,47.87,NaN,NaN,NaN
-62,ATP,HSX,Thực phẩm và đồ uống,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-63,ATS,HNX,Du lịch và Giải trí,55.0,0.7,NaN,1.7,NaN,4.2,0.1,0.7,186.1,1.3,83.6,0.0,5.57,4.94,-13.92,37.44,5.97
-64,AVC,UPCOM,"Điện, nước & xăng dầu khí đốt",4098.0,30.2,2.8,4.5,3.0,4.2,0.0,0.4,12.7,3.6,8.4,0.9,7.98,19.99,-14.22,58.28,57.78
-65,AVF,UPCOM,Thực phẩm và đồ uống,17.0,5.3,NaN,1.0,NaN,2.8,0.0,0.0,-0.3,0.0,-230.4,0.0,-24.57,-9.67,NaN,NaN,80.98
-66,BAB,HNX,Ngân hàng,10634.0,8.9,2.6,2.2,3.0,3.9,0.0,0.9,10.3,0.9,NaN,0.0,20.18,10.8,18.36,1.19,NaN
-67,BAF,HSX,Thực phẩm và đồ uống,10808.0,13.0,3.1,1.6,3.4,3.6,0.3,0.9,32.8,3.5,16.0,0.0,8.5,NaN,1102.06,NaN,25.85
-68,BAL,UPCOM,Hàng & Dịch vụ Công nghiệp,20.0,5.4,NaN,1.8,NaN,4.2,0.2,-0.1,NaN,NaN,22.1,0.0,5.63,-4.66,-10.64,NaN,12.85
-69,BAX,HNX,Xây dựng và Vật liệu,295.0,12.5,2.9,2.3,3.5,5.0,0.0,0.4,11.1,1.4,7.9,6.3,-2.06,-16.86,-7.6,-20.75,58.32
-70,BBC,HSX,Thực phẩm và đồ uống,971.0,8.0,2.8,2.2,3.0,5.0,0.0,0.2,8.3,0.6,4.8,0.0,19.53,3.41,20.8,0.02,30.57
-71,BBH,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.1,NaN,3.4,0.3,-0.5,NaN,NaN,NaN,NaN,NaN,NaN,4.67,NaN,NaN
-72,BBM,UPCOM,Thực phẩm và đồ uống,NaN,NaN,NaN,1.5,NaN,4.2,0.2,0.0,NaN,NaN,NaN,NaN,NaN,NaN,-19.46,-27.59,NaN
-73,BBS,HNX,Hàng & Dịch vụ Công nghiệp,73.0,5.2,NaN,1.3,NaN,2.8,0.2,0.1,12.9,0.7,7.0,0.0,-0.03,-4.76,9.4,1.99,6.98
-74,BBT,UPCOM,Hàng cá nhân & Gia dụng,172.0,-19.8,2.3,2.5,NaN,3.0,0.5,0.0,NaN,NaN,NaN,0.0,50.48,16.14,199.33,3.69,55.13
-75,BCA,UPCOM,Tài nguyên Cơ bản,587.0,-9.9,NaN,1.0,NaN,1.4,0.0,1.8,-11.3,1.2,25.2,0.0,44.15,NaN,NaN,NaN,3.41
-76,BCB,UPCOM,Tài nguyên Cơ bản,NaN,NaN,NaN,2.8,NaN,2.2,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,-3.72,8.93,NaN
-77,BCC,HNX,Xây dựng và Vật liệu,875.0,-0.9,2.2,1.4,2.7,2.4,-0.1,1.1,-52.3,0.5,4.9,0.0,13.2,-1.83,NaN,NaN,3.21
-78,BCE,HSX,Xây dựng và Vật liệu,345.0,20.7,3.0,3.3,3.5,4.4,0.3,0.2,4.6,0.9,4.4,0.0,138.8,-14.23,9473.17,14.94,44.81
-79,BCF,HNX,Thực phẩm và đồ uống,1322.0,26.3,2.6,2.9,3.0,4.8,0.2,0.0,12.5,3.1,11.8,4.4,28.19,7.51,62.62,NaN,27.44
-80,BCG,HSX,Dịch vụ tài chính,2702.0,4.8,2.4,3.5,2.8,3.0,-0.3,1.1,6.7,0.3,22.2,0.0,8.97,22.64,584.96,12.35,18.86
-81,BCM,HSX,Bất động sản,63032.0,12.6,2.3,2.6,4.2,2.2,-0.1,1.1,26.0,3.2,40.6,0.0,-33.53,-8.6,-9.74,-2.54,38.22
-82,BCP,UPCOM,Y tế,NaN,NaN,NaN,1.6,NaN,1.6,0.0,0.1,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-83,BCV,UPCOM,Du lịch và Giải trí,NaN,NaN,NaN,1.1,NaN,3.4,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,-12.6,NaN,NaN
-84,BDB,HNX,Truyền thông,9.0,4.1,NaN,1.5,NaN,3.0,0.0,0.0,17.7,0.7,25.3,6.8,7.13,6.53,-27.74,-8.97,16.81
-85,BDG,UPCOM,Hàng cá nhân & Gia dụng,817.0,26.0,2.9,3.1,3.5,4.8,0.0,0.9,5.3,1.3,4.6,0.0,16.45,3.72,33.14,-4.69,14.14
-86,BDT,UPCOM,Xây dựng và Vật liệu,275.0,-2.4,2.1,1.3,3.0,2.2,-0.2,0.8,-20.8,0.5,26.6,0.0,-58.78,-20.56,NaN,NaN,27.54
-87,BDW,UPCOM,"Điện, nước & xăng dầu khí đốt",360.0,12.9,NaN,2.6,NaN,3.8,0.2,-0.2,10.9,1.4,9.9,0.0,4.46,6.56,-20.25,11.73,30.06
-88,BED,HNX,Truyền thông,86.0,17.5,NaN,2.2,NaN,5.0,0.0,0.0,11.2,2.0,10.6,7.7,-3.56,-2.17,-7.58,0.74,42.82
-89,BEL,UPCOM,Hàng cá nhân & Gia dụng,NaN,NaN,NaN,1.4,NaN,4.2,-0.4,0.1,NaN,NaN,NaN,NaN,NaN,NaN,-61.07,-30.5,NaN
-90,BFC,HSX,Hóa chất,2570.0,31.1,3.2,3.2,3.2,4.0,0.0,1.1,6.7,1.9,4.6,1.2,8.96,8.82,140.83,36.99,14.64
-91,BGT,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-92,BGW,UPCOM,"Điện, nước & xăng dầu khí đốt",281.0,6.2,2.9,2.6,NaN,4.2,-0.1,0.2,23.5,1.4,16.2,3.7,5.37,3.82,-1.95,15.63,36.87
-93,BHA,UPCOM,"Điện, nước & xăng dầu khí đốt",1637.0,16.6,2.9,3.9,3.0,3.8,0.1,0.5,10.6,1.7,6.5,0.0,18.31,11.9,51.92,NaN,10.49
-94,BHC,UPCOM,Xây dựng và Vật liệu,7.0,0.4,NaN,1.5,NaN,2.8,0.1,0.1,-230.3,-0.9,7.0,0.0,-25.11,-28.58,-33.27,15.97,11.5
-95,BHG,UPCOM,Thực phẩm và đồ uống,NaN,NaN,NaN,1.8,NaN,3.6,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,-24.89,-12.57,NaN
-96,BHK,UPCOM,Thực phẩm và đồ uống,NaN,NaN,NaN,1.5,NaN,2.8,0.0,-0.2,NaN,NaN,NaN,NaN,NaN,NaN,15.17,-14.46,NaN
-97,BHN,HSX,Thực phẩm và đồ uống,8646.0,9.4,2.4,1.6,3.0,5.0,0.0,0.5,20.6,2.0,12.8,0.0,5.98,-2.52,10.29,-7.25,24.29
-98,BHP,UPCOM,Thực phẩm và đồ uống,60.0,13.5,NaN,1.6,NaN,3.4,0.2,-0.3,NaN,NaN,NaN,0.0,3.52,0.47,-36.89,-16.87,22.34
-99,BIC,HSX,Bảo hiểm,4134.0,18.2,2.8,2.1,3.8,3.4,0.0,0.7,7.6,1.3,-5.1,0.0,NaN,NaN,9.75,18.52,NaN
-100,BID,HSX,Ngân hàng,254173.0,18.3,2.4,3.4,3.0,3.1,-0.1,1.1,10.1,1.6,NaN,0.0,11.02,10.99,16.9,16.7,NaN
-101,BIG,UPCOM,Bất động sản,NaN,NaN,NaN,1.2,NaN,3.0,-0.2,1.1,NaN,NaN,NaN,NaN,NaN,NaN,326.9,NaN,NaN
-102,BII,HNX,Bất động sản,40.0,0.4,2.7,1.7,3.0,3.2,0.0,0.1,23.6,0.1,-18.1,0.0,NaN,NaN,NaN,NaN,100.0
-103,BIO,UPCOM,Y tế,NaN,NaN,3.2,2.3,NaN,3.4,0.0,1.7,NaN,NaN,NaN,NaN,NaN,NaN,31.86,10.09,NaN
-104,BKC,HNX,Tài nguyên Cơ bản,507.0,24.9,3.0,3.7,NaN,4.2,1.0,0.5,9.7,2.1,7.0,0.0,28.99,19.26,911.27,32.35,16.25
-105,BKG,HSX,Hàng cá nhân & Gia dụng,206.0,1.8,3.3,1.4,3.0,4.8,-0.2,0.9,15.6,0.3,9.8,0.0,55.13,-7.34,38.13,-19.77,14.31
-106,BLF,HNX,Thực phẩm và đồ uống,38.0,-1.4,NaN,1.3,NaN,2.4,-0.1,0.7,-22.8,0.3,NaN,0.0,-43.1,-11.57,-96.27,-50.14,19.03
-107,BLI,UPCOM,Bảo hiểm,541.0,7.0,2.6,1.6,3.0,3.6,-0.1,0.7,8.6,0.6,-1.7,0.0,NaN,NaN,-27.39,9.22,NaN
-108,BLN,UPCOM,Du lịch và Giải trí,NaN,NaN,NaN,1.5,NaN,2.8,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,15.34,-13.92,NaN
-109,BLT,UPCOM,Thực phẩm và đồ uống,NaN,NaN,NaN,1.6,NaN,3.0,-0.1,0.6,NaN,NaN,NaN,NaN,NaN,NaN,-60.69,NaN,NaN
-110,BLU,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-111,BMC,HSX,Tài nguyên Cơ bản,257.0,9.2,2.8,2.5,3.5,4.2,0.1,1.0,11.8,1.1,7.6,0.0,8.55,0.45,5.56,9.7,30.26
-112,BMD,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.5,NaN,3.2,0.0,0.2,NaN,NaN,NaN,NaN,NaN,NaN,-13.81,-2.27,NaN
-113,BMF,UPCOM,"Điện, nước & xăng dầu khí đốt",136.0,9.0,NaN,1.9,NaN,2.0,0.0,0.6,8.6,0.7,18.1,0.0,-2.76,24.92,196.31,-24.73,2.15
-114,BMG,UPCOM,Hàng cá nhân & Gia dụng,NaN,NaN,NaN,1.8,NaN,3.0,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,2.95,-3.9,NaN
-115,BMI,HSX,Bảo hiểm,2799.0,8.2,2.5,1.4,3.0,3.6,0.0,0.8,12.3,1.0,-13.5,0.0,NaN,NaN,-27.76,-1.13,NaN
-116,BMJ,UPCOM,Tài nguyên Cơ bản,1120.0,4.4,2.4,3.4,NaN,3.2,0.2,0.9,21.3,0.9,16.1,0.0,17.82,47.21,-7.83,-1.95,21.61
-117,BMN,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.6,NaN,3.8,0.1,0.3,NaN,NaN,NaN,NaN,NaN,NaN,-2.35,-4.26,NaN
-118,BMP,HSX,Xây dựng và Vật liệu,11641.0,37.1,3.7,4.2,3.9,5.0,0.2,0.8,10.7,3.9,6.9,9.6,-10.5,1.25,-4.83,18.57,42.67
-119,BMS,UPCOM,Dịch vụ tài chính,872.0,6.6,3.3,3.3,2.9,3.8,0.2,0.9,16.0,1.0,8.0,0.0,-9.38,3.08,-2.97,4.14,10.82
-120,BMV,UPCOM,Thực phẩm và đồ uống,133.0,1.2,2.0,1.3,3.5,2.8,-0.3,0.3,45.8,0.5,22.2,0.0,-2.7,1.21,-43.07,4.36,6.2
-121,BNA,HNX,Thực phẩm và đồ uống,237.0,8.6,2.4,2.0,2.9,2.4,-0.1,1.1,5.5,0.5,9.0,0.0,20.48,NaN,21.46,NaN,7.69
-122,BNW,UPCOM,"Điện, nước & xăng dầu khí đốt",304.0,12.5,NaN,3.4,3.5,3.8,0.0,0.0,6.0,0.7,5.0,13.0,12.75,14.11,44.55,13.87,26.53
-123,BOT,UPCOM,Xây dựng và Vật liệu,243.0,94.7,2.9,3.5,3.0,2.8,0.3,1.2,1.0,0.6,3.4,0.0,824.95,76.74,NaN,NaN,57.89
-124,BPC,HNX,Hàng & Dịch vụ Công nghiệp,49.0,1.3,2.0,1.1,NaN,3.4,0.4,0.4,40.4,0.5,21.3,0.0,18.13,-0.95,-2.7,-26.85,11.43
-125,BQB,UPCOM,Thực phẩm và đồ uống,22.0,-5.0,NaN,1.3,NaN,3.4,0.3,0.9,-16.6,0.8,4.6,0.0,9.8,8.17,NaN,NaN,19.64
-126,BRC,HSX,Hóa chất,169.0,10.5,NaN,2.2,NaN,4.6,0.0,0.5,7.8,0.8,4.6,0.0,26.13,9.2,12.0,2.13,16.02
-127,BRM,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-128,BRR,UPCOM,Hóa chất,2138.0,9.1,2.4,2.7,3.2,4.2,0.1,0.4,16.4,1.5,32.1,0.0,-2.04,-0.38,-5.31,11.45,27.05
-129,BRS,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,2.8,NaN,4.0,0.0,0.2,NaN,NaN,NaN,NaN,NaN,NaN,4.37,2.77,NaN
-130,BSA,UPCOM,"Điện, nước & xăng dầu khí đốt",1484.0,8.7,2.8,2.3,3.0,4.2,0.0,0.2,18.8,1.6,7.6,0.0,-13.95,-1.46,-27.51,-10.83,35.21
-131,BSC,HNX,Bán lẻ,46.0,5.7,NaN,3.1,NaN,4.2,0.0,0.0,20.9,1.2,17.6,0.0,44.69,-14.48,-18.91,22.94,50.97
-132,BSD,UPCOM,Thực phẩm và đồ uống,NaN,NaN,NaN,1.3,NaN,2.2,0.3,0.1,NaN,NaN,NaN,NaN,NaN,NaN,53.94,-18.13,NaN
-133,BSG,UPCOM,Du lịch và Giải trí,858.0,10.2,2.8,2.2,3.5,4.8,0.1,0.1,23.4,2.3,7.1,0.0,21.8,1.68,28.13,NaN,10.13
-134,BSH,UPCOM,Thực phẩm và đồ uống,342.0,10.9,3.0,1.6,3.5,5.0,0.0,0.2,10.2,1.1,3.4,11.2,4.82,-3.89,-17.0,-9.11,1.21
-135,BSI,HSX,Dịch vụ tài chính,10160.0,7.2,2.2,3.8,3.0,2.6,0.0,1.4,28.5,2.0,25.2,0.0,12.05,18.32,1.18,14.69,58.66
-136,BSL,UPCOM,Thực phẩm và đồ uống,441.0,6.9,3.0,1.5,3.5,5.0,0.0,0.3,12.7,0.9,3.7,7.0,15.56,-0.54,21.21,-10.05,NaN
-137,BSP,UPCOM,Thực phẩm và đồ uống,126.0,2.9,2.5,1.1,3.5,3.6,0.0,0.0,22.9,0.7,5.5,9.9,16.12,-7.88,29.65,-35.96,NaN
-138,BSQ,UPCOM,Thực phẩm và đồ uống,855.0,9.7,2.7,2.0,3.0,3.6,0.1,0.5,10.4,1.0,3.9,7.6,7.0,12.22,-0.68,-7.87,4.46
-139,BSR,UPCOM,Dầu khí,53329.0,-0.2,2.5,1.2,3.2,4.2,-0.1,1.0,-467.9,1.0,65.7,0.0,-16.55,3.65,-92.7,-26.36,1.2
-140,BST,HNX,Truyền thông,11.0,11.4,NaN,1.8,NaN,3.8,0.0,0.2,7.1,0.8,8.6,7.2,-16.41,8.01,-27.22,3.52,26.72
-141,BT1,UPCOM,Hóa chất,NaN,NaN,NaN,1.2,NaN,2.0,0.0,0.2,NaN,NaN,NaN,NaN,NaN,NaN,425.74,-7.48,NaN
-142,BT6,UPCOM,Xây dựng và Vật liệu,112.0,-46.5,1.8,1.2,NaN,2.0,0.0,0.0,-0.4,0.2,NaN,0.0,119.14,-39.67,NaN,NaN,-11.24
-143,BTB,UPCOM,Thực phẩm và đồ uống,38.0,1.3,NaN,1.3,NaN,2.8,0.1,-0.2,42.9,0.5,6.5,0.0,-18.0,-2.93,-96.93,-59.6,21.42
-144,BTD,UPCOM,Xây dựng và Vật liệu,103.0,19.5,NaN,1.5,NaN,4.0,0.1,0.3,2.1,0.4,3.6,0.0,17.27,-0.22,14.49,-21.17,12.25
-145,BTG,UPCOM,Hàng & Dịch vụ Công nghiệp,10.0,-1.6,NaN,1.1,NaN,4.2,0.1,-0.2,-19.7,0.3,NaN,0.0,-19.75,1.81,NaN,NaN,2.94
-146,BTH,UPCOM,Hàng & Dịch vụ Công nghiệp,1023.0,117.7,3.4,4.3,3.5,4.8,0.4,1.0,1.4,1.1,1.4,2.8,172247.81,202.29,675937.18,174.87,46.2
-147,BTN,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.0,NaN,1.2,0.1,0.1,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-148,BTP,HSX,"Điện, nước & xăng dầu khí đốt",720.0,4.3,2.5,1.3,3.5,4.8,0.0,0.6,15.6,0.7,16.9,0.0,-54.17,-28.37,-40.38,-25.16,26.65
-149,BTS,HNX,Xây dựng và Vật liệu,630.0,-15.5,1.9,1.0,3.0,1.4,0.0,0.3,-3.6,0.6,22.2,0.0,1.41,-4.31,NaN,NaN,3.68
-150,BTT,HSX,Bán lẻ,515.0,12.2,2.8,2.5,3.0,4.2,0.1,0.1,10.6,1.3,6.4,0.0,18.97,-2.81,-5.29,-2.68,44.33
-151,BTU,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,2.6,NaN,4.2,0.0,0.1,NaN,NaN,NaN,NaN,NaN,NaN,37.78,5.35,NaN
-152,BTV,UPCOM,Du lịch và Giải trí,287.0,11.3,3.4,2.5,3.2,4.0,0.1,0.0,10.9,1.2,9.7,0.0,25.8,3.73,-12.65,15.9,19.45
-153,BTW,HNX,"Điện, nước & xăng dầu khí đốt",353.0,15.3,3.1,2.8,3.5,5.0,0.1,0.2,8.4,1.3,3.3,4.8,5.98,3.73,7.82,7.77,42.36
-154,BVB,UPCOM,Ngân hàng,7802.0,5.3,2.1,2.9,3.1,1.7,0.0,1.1,24.4,1.3,NaN,0.0,41.17,17.05,450.23,17.6,NaN
-155,BVG,UPCOM,Tài nguyên Cơ bản,21.0,-23.9,NaN,2.1,NaN,4.2,0.0,0.1,-5.2,1.6,21.1,0.0,-97.0,-79.81,10.71,NaN,16.61
-156,BVH,HSX,Bảo hiểm,37339.0,9.8,3.2,1.5,4.7,4.0,0.0,1.0,16.9,1.6,-5.5,0.0,NaN,NaN,16.9,12.17,NaN
-157,BVL,UPCOM,Bất động sản,1101.0,16.5,3.1,2.3,NaN,4.8,0.2,0.3,7.0,1.0,6.5,0.0,-22.37,20.69,-78.12,NaN,44.38
-158,BVN,UPCOM,Hàng cá nhân & Gia dụng,NaN,NaN,NaN,1.6,NaN,3.4,0.3,0.3,NaN,NaN,NaN,NaN,NaN,NaN,-12.28,NaN,NaN
-159,BVS,HNX,Dịch vụ tài chính,2217.0,7.6,2.3,3.3,3.4,2.6,-0.1,1.8,11.9,0.9,15.1,0.0,13.79,12.85,2.16,8.09,65.67
-160,BWA,UPCOM,"Điện, nước & xăng dầu khí đốt",NaN,NaN,NaN,1.2,NaN,2.8,0.1,0.0,NaN,NaN,NaN,NaN,NaN,NaN,23.42,NaN,NaN
-161,BWE,HSX,"Điện, nước & xăng dầu khí đốt",11414.0,12.2,2.6,2.8,3.0,3.0,0.1,0.5,18.8,2.2,10.3,2.8,12.28,9.23,-5.27,3.31,46.67
-162,BWS,UPCOM,"Điện, nước & xăng dầu khí đốt",3315.0,22.7,2.7,3.5,3.0,4.2,0.1,0.1,13.1,3.0,9.4,5.9,9.1,2.92,9.57,0.36,56.23
-163,BXH,HNX,Hàng & Dịch vụ Công nghiệp,45.0,1.3,NaN,1.1,NaN,4.2,0.0,-0.2,62.9,0.8,-179.0,0.0,-21.65,-5.66,-52.64,-30.36,9.72
-164,BXT,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-165,C12,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.1,NaN,1.8,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-166,C21,UPCOM,Bất động sản,288.0,1.1,3.0,1.9,3.5,4.8,0.1,0.7,35.1,0.3,3.8,0.0,17.93,-12.77,33.96,-20.24,65.32
-167,C22,UPCOM,Thực phẩm và đồ uống,NaN,NaN,NaN,1.5,NaN,2.6,0.3,-0.1,NaN,NaN,NaN,NaN,NaN,NaN,18.69,-1.6,NaN
-168,C32,HSX,Xây dựng và Vật liệu,271.0,2.5,2.4,1.3,3.0,2.8,0.0,0.6,20.3,0.5,20.9,0.0,26.86,-4.81,NaN,-36.02,14.66
-169,C47,HSX,Xây dựng và Vật liệu,243.0,3.0,2.3,1.2,3.5,2.2,0.0,0.7,19.0,0.6,17.8,0.0,-4.29,1.08,-73.5,-18.4,7.74
-170,C4G,UPCOM,Xây dựng và Vật liệu,2645.0,4.0,2.0,2.3,2.5,3.0,-0.1,1.2,17.2,0.7,17.3,0.0,24.22,6.86,37.48,-9.48,10.52
-171,C69,HNX,Xây dựng và Vật liệu,371.0,3.0,2.6,2.6,NaN,3.6,0.0,0.6,18.6,0.5,20.7,0.0,-7.96,24.31,76.32,27.25,4.02
-172,C92,UPCOM,Xây dựng và Vật liệu,22.0,1.6,NaN,1.8,NaN,3.6,0.1,0.5,31.6,0.5,17.6,0.0,20.56,34.06,353.78,NaN,17.0
-173,CAD,UPCOM,Thực phẩm và đồ uống,10.0,3.3,NaN,1.0,NaN,2.8,-0.1,-0.2,-0.2,0.0,-185.5,0.0,-27.98,-13.29,NaN,NaN,4.62
-174,CAF,UPCOM,Thực phẩm và đồ uống,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-175,CAG,HNX,Hàng & Dịch vụ Công nghiệp,109.0,-0.5,2.7,1.1,3.1,4.2,0.0,0.9,-138.3,0.8,-12.6,0.0,-35.05,-11.24,NaN,NaN,0.61
-176,CAN,HNX,Thực phẩm và đồ uống,219.0,5.2,2.3,1.4,3.5,3.8,0.1,-0.3,29.1,1.5,14.1,0.0,-8.06,3.47,-82.38,-31.99,24.04
-177,CAP,HNX,Tài nguyên Cơ bản,568.0,9.7,2.5,2.1,2.6,5.0,-0.1,0.7,25.0,2.9,11.2,0.0,-14.0,3.06,-79.03,-22.67,11.09
-178,CAR,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.8,NaN,5.0,0.0,0.2,NaN,NaN,NaN,NaN,NaN,NaN,8.75,NaN,NaN
-179,CAT,UPCOM,Thực phẩm và đồ uống,NaN,NaN,NaN,2.1,NaN,2.0,0.0,0.4,NaN,NaN,NaN,NaN,NaN,NaN,32.95,9.28,NaN
-180,CBI,UPCOM,Tài nguyên Cơ bản,516.0,-51.7,2.7,1.0,3.0,2.2,0.2,1.0,-3.0,2.3,-37.9,0.0,-16.37,-1.58,NaN,NaN,NaN
-181,CBS,UPCOM,Thực phẩm và đồ uống,NaN,NaN,NaN,1.0,NaN,3.4,0.1,0.5,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-182,CBV,UPCOM,Y tế,0.0,3.8,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.0,0.0,-11.04,8.92,-60.96,NaN,19.71
-183,CC1,UPCOM,Xây dựng và Vật liệu,7703.0,5.6,3.1,2.2,3.0,2.6,0.2,0.8,33.6,1.8,41.4,0.0,81.07,9.06,4.25,1.6,6.66
-184,CC4,UPCOM,Xây dựng và Vật liệu,819.0,2.1,2.4,2.8,NaN,3.8,0.1,0.1,52.1,1.1,22.5,0.0,-33.67,26.38,-42.73,48.33,11.61
-185,CCA,UPCOM,Thực phẩm và đồ uống,223.0,8.2,NaN,1.8,NaN,2.6,0.2,0.4,10.4,0.8,18.3,0.0,4.96,15.73,152.07,-7.47,15.13
-186,CCD,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-187,CCI,HSX,"Điện, nước & xăng dầu khí đốt",383.0,14.4,2.8,1.7,3.5,4.2,0.1,0.4,10.5,1.5,68.6,6.8,-0.32,1.96,30.5,2.09,10.09
-188,CCL,HSX,Bất động sản,403.0,6.0,3.0,2.3,3.6,4.0,-0.1,1.3,9.5,0.6,7.7,0.0,-4.77,-10.63,-26.57,-4.22,40.93
-189,CCM,UPCOM,Xây dựng và Vật liệu,244.0,17.7,2.7,1.7,NaN,4.4,0.0,-0.1,9.7,1.6,5.2,5.1,-8.71,-2.24,-20.11,-3.11,8.93
-190,CCP,UPCOM,Hàng & Dịch vụ Công nghiệp,109.0,0.8,NaN,2.7,NaN,5.0,0.3,-0.2,123.7,1.0,49.4,0.0,-42.47,-35.34,NaN,123.32,4.39
-191,CCR,HNX,Hàng & Dịch vụ Công nghiệp,328.0,6.3,3.0,1.8,3.7,5.0,0.1,0.5,18.6,1.2,6.9,0.0,23.71,2.12,17.45,-5.84,29.7
-192,CCT,UPCOM,Hàng & Dịch vụ Công nghiệp,476.0,2.0,2.9,1.5,3.5,4.8,0.4,0.2,89.7,1.8,22.6,0.0,6.09,6.53,-43.45,-1.56,15.23
-193,CCV,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,2.1,NaN,2.6,-0.2,0.0,NaN,NaN,NaN,NaN,NaN,NaN,48.97,1.28,NaN
-194,CDC,HSX,Xây dựng và Vật liệu,726.0,7.8,2.1,1.8,3.5,2.4,0.1,0.3,29.1,2.2,43.0,0.0,-10.35,19.79,180.8,-18.78,5.43
-195,CDG,UPCOM,Xây dựng và Vật liệu,16.0,7.1,NaN,1.9,NaN,4.8,0.6,0.2,2.6,0.2,NaN,12.8,-6.95,-9.05,-37.92,-10.67,44.47
-196,CDH,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,2.1,NaN,2.8,-0.1,0.5,NaN,NaN,NaN,NaN,NaN,NaN,4.81,13.31,NaN
-197,CDN,HNX,Hàng & Dịch vụ Công nghiệp,3089.0,16.7,2.7,3.3,3.0,4.8,0.0,0.7,10.0,1.6,6.6,0.0,17.59,12.01,9.45,10.35,38.47
-198,CDO,UPCOM,Xây dựng và Vật liệu,57.0,-0.7,NaN,1.1,NaN,3.6,0.1,0.1,-42.6,0.3,-82.9,0.0,2.23,0.06,NaN,NaN,9.11
-199,CDP,UPCOM,Y tế,196.0,10.0,NaN,1.8,3.5,2.0,0.0,0.4,9.0,0.9,14.2,0.0,4.72,1.41,104.93,-5.74,6.55
-200,CDR,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.5,NaN,2.4,0.3,-0.1,NaN,NaN,NaN,NaN,NaN,NaN,4.31,-10.45,NaN
-201,CEN,UPCOM,Bán lẻ,46.0,0.0,NaN,1.2,NaN,4.8,0.0,0.1,-32948.8,0.2,46.0,0.0,5.81,7.27,-84.52,-60.53,5.16
-202,CEO,HNX,Bất động sản,6971.0,3.2,2.3,1.8,3.1,5.0,-0.1,1.8,36.1,1.1,21.8,0.0,-6.14,-22.07,26.13,-27.37,26.81
-203,CET,HNX,Hàng cá nhân & Gia dụng,27.0,-0.1,NaN,1.2,NaN,3.6,-0.1,0.2,-384.8,0.4,-7.8,0.0,-9.09,9.89,-41.65,NaN,0.15
-204,CFM,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.1,NaN,3.4,0.3,0.4,NaN,NaN,NaN,NaN,NaN,NaN,-61.62,NaN,NaN
-205,CFV,UPCOM,Thực phẩm và đồ uống,367.0,22.4,2.9,2.5,3.5,3.0,0.4,0.4,9.7,2.0,15.2,0.0,-35.6,9.29,1230.46,NaN,3.29
-206,CGV,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.6,NaN,2.4,0.0,1.0,NaN,NaN,NaN,NaN,NaN,NaN,101.66,NaN,NaN
-207,CH5,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.6,NaN,2.6,-0.2,0.1,NaN,NaN,NaN,NaN,NaN,NaN,-7.98,-7.37,NaN
-208,CHC,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.1,NaN,2.8,0.0,0.1,NaN,NaN,NaN,NaN,NaN,NaN,225.56,-39.0,NaN
-209,CHP,HSX,"Điện, nước & xăng dầu khí đốt",4995.0,20.5,2.9,3.2,3.0,4.6,0.0,0.5,12.4,2.5,11.0,3.1,-7.62,2.67,-6.88,7.75,60.98
-210,CHS,UPCOM,"Điện, nước & xăng dầu khí đốt",341.0,10.5,2.9,2.2,3.5,4.2,0.2,0.0,9.7,1.0,2.1,0.0,-0.91,9.28,-10.93,2.26,38.42
-211,CI5,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.1,NaN,2.8,0.1,-0.2,NaN,NaN,NaN,NaN,NaN,NaN,45.3,-9.08,NaN
-212,CIA,HNX,Hàng & Dịch vụ Công nghiệp,183.0,2.7,NaN,1.6,3.5,4.2,-0.1,0.7,20.2,0.5,21.4,0.0,30.59,-15.9,-18.73,-28.34,32.24
-213,CID,UPCOM,Xây dựng và Vật liệu,22.0,-5.2,NaN,2.0,NaN,4.2,0.0,0.0,-33.9,1.9,NaN,0.0,-8.01,1.85,-26.42,-1.36,47.3
-214,CIG,HSX,Xây dựng và Vật liệu,399.0,38.6,3.1,3.2,NaN,3.0,0.3,0.7,6.8,1.4,25.3,0.0,42.8,105.31,NaN,196.69,8.38
-215,CII,HSX,Xây dựng và Vật liệu,8333.0,0.2,2.6,2.5,3.0,2.2,-0.1,1.2,525.2,1.0,16.0,0.0,-2.01,10.8,44.31,-10.55,61.05
-216,CIP,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.1,NaN,1.8,0.1,0.6,NaN,NaN,NaN,NaN,NaN,NaN,-52.2,-25.29,NaN
-217,CJC,HNX,Hàng & Dịch vụ Công nghiệp,206.0,8.3,NaN,1.3,NaN,3.6,0.0,0.0,27.2,2.2,29.5,0.0,53.49,5.6,95.65,NaN,9.08
-218,CK8,UPCOM,Tài nguyên Cơ bản,NaN,NaN,NaN,1.1,NaN,2.0,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,-39.82,NaN,NaN
-219,CKA,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.9,NaN,3.4,0.0,0.9,NaN,NaN,NaN,NaN,NaN,NaN,-42.27,8.7,NaN
-220,CKD,UPCOM,Hàng & Dịch vụ Công nghiệp,737.0,20.4,2.6,2.5,3.0,4.2,0.0,0.6,6.9,1.4,14.7,0.0,22.67,2.64,-4.02,10.93,10.18
-221,CKG,HSX,Bất động sản,2089.0,8.3,2.2,2.5,3.6,2.8,-0.2,0.9,17.8,1.4,21.4,0.0,-0.48,4.28,-14.51,-8.73,34.96
-222,CKV,HNX,Công nghệ Thông tin,51.0,3.6,NaN,1.5,NaN,4.4,0.0,0.4,17.9,0.7,8.5,4.5,12.08,18.29,12.19,-12.25,10.99
-223,CLC,HSX,Hàng cá nhân & Gia dụng,1297.0,16.5,2.7,2.7,3.0,3.8,0.0,0.4,8.8,1.4,6.5,3.0,24.27,13.87,7.03,1.34,10.18
-224,CLG,UPCOM,Bất động sản,11.0,-75.6,NaN,1.3,NaN,2.8,0.0,0.0,-0.2,0.9,-2.2,0.0,-39.61,NaN,NaN,NaN,NaN
-225,CLH,HNX,Xây dựng và Vật liệu,244.0,20.3,3.3,2.1,3.1,4.8,0.0,0.6,6.0,1.2,2.4,11.7,0.3,-0.84,-17.91,0.2,8.23
-226,CLL,HSX,Hàng & Dịch vụ Công nghiệp,1136.0,15.5,2.8,3.1,3.0,5.0,-0.1,0.3,11.7,1.8,7.0,0.0,5.32,-1.63,0.54,2.11,47.81
-227,CLM,HNX,Tài nguyên Cơ bản,861.0,15.9,3.3,3.3,NaN,2.8,0.0,0.0,7.4,1.1,16.3,2.7,-2.18,26.49,-17.0,31.72,1.96
-228,CLW,HSX,"Điện, nước & xăng dầu khí đốt",556.0,17.2,2.9,2.8,3.5,4.2,0.0,0.0,12.5,2.1,6.0,3.8,-0.07,4.08,11.08,16.12,14.84
-229,CLX,UPCOM,Thực phẩm và đồ uống,1375.0,11.3,2.8,3.0,3.0,5.0,0.0,1.0,6.9,0.8,10.1,0.0,-0.11,2.75,9.34,8.97,31.57
-230,CMC,HNX,Ô tô và phụ tùng,32.0,-1.0,NaN,3.0,NaN,1.8,0.1,0.3,-52.8,0.5,22.9,0.0,55.0,8.98,-79.05,34.29,11.5
-231,CMD,UPCOM,Xây dựng và Vật liệu,254.0,11.9,NaN,1.6,3.5,4.8,0.1,0.4,8.7,1.0,8.7,12.9,-19.62,-8.94,-9.39,-5.5,11.8
-232,CMF,UPCOM,Thực phẩm và đồ uống,2615.0,22.1,3.2,2.7,3.5,5.0,0.2,0.8,10.3,2.1,8.8,1.7,9.0,11.31,8.0,8.47,26.16
-233,CMG,HSX,Công nghệ Thông tin,7237.0,12.6,2.3,2.8,3.0,4.2,-0.2,1.4,20.7,2.5,9.8,0.0,5.72,9.54,-3.79,1.56,19.86
-234,CMI,UPCOM,Tài nguyên Cơ bản,14.0,22.5,NaN,1.3,NaN,2.8,-0.1,-0.2,-0.6,-0.1,-21.4,0.0,148.47,16.76,NaN,NaN,NaN
-235,CMK,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.2,NaN,1.6,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,1201.95,-1.43,NaN
-236,CMM,UPCOM,,2271.0,8.4,2.1,1.5,NaN,2.4,0.5,0.4,25.4,2.0,21.7,0.0,38.38,NaN,21.92,NaN,23.55
-237,CMN,UPCOM,Thực phẩm và đồ uống,NaN,NaN,NaN,1.9,3.5,4.2,0.0,0.1,NaN,NaN,NaN,NaN,NaN,NaN,10.19,-1.44,NaN
-238,CMP,UPCOM,Hàng & Dịch vụ Công nghiệp,262.0,8.4,3.0,2.3,3.5,4.0,0.0,0.0,8.8,0.7,4.5,0.0,68.5,16.92,NaN,0.36,30.4
-239,CMS,HNX,Hàng & Dịch vụ Công nghiệp,201.0,2.7,2.4,1.7,NaN,3.2,-0.3,1.0,28.4,0.8,125.3,0.0,105.98,-8.89,145.36,-6.26,10.19
-240,CMT,UPCOM,Công nghệ Thông tin,99.0,17.1,NaN,1.7,NaN,4.6,0.0,1.2,10.5,1.7,3.6,0.0,15.56,5.73,0.66,5.07,11.15
-241,CMV,HSX,Bán lẻ,165.0,6.6,2.4,1.3,3.5,2.6,0.0,0.5,10.2,0.7,12.4,0.0,8.18,-0.51,-31.21,-7.29,4.42
-242,CMW,UPCOM,"Điện, nước & xăng dầu khí đốt",217.0,7.9,2.7,2.5,3.5,3.2,0.2,0.1,15.4,1.2,14.1,0.0,10.12,4.19,28.98,7.82,42.79
-243,CMX,HSX,Thực phẩm và đồ uống,691.0,4.6,2.1,2.6,3.0,2.6,-0.2,1.0,12.6,0.6,18.2,0.0,46.11,25.67,14.64,3.94,23.69
-244,CNA,UPCOM,Thực phẩm và đồ uống,NaN,NaN,NaN,1.0,NaN,2.4,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-245,CNC,UPCOM,Y tế,NaN,NaN,2.8,2.6,3.4,4.2,0.2,0.5,NaN,NaN,NaN,NaN,NaN,NaN,-8.76,3.39,NaN
-246,CNG,HSX,"Điện, nước & xăng dầu khí đốt",995.0,14.7,2.6,2.1,3.0,4.8,-0.1,1.0,10.9,1.6,4.6,0.0,13.02,10.55,-17.48,-3.66,6.0
-247,CNN,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,2.5,NaN,2.2,0.1,0.4,NaN,NaN,NaN,NaN,NaN,NaN,21.23,12.72,NaN
-248,CNT,UPCOM,Xây dựng và Vật liệu,693.0,10.4,3.1,4.2,3.0,5.0,-0.2,0.8,10.0,1.0,8.2,0.0,-35.93,-10.18,-37.18,142.5,20.18
-249,COM,HSX,Bán lẻ,438.0,5.8,2.7,1.3,3.0,4.2,0.1,0.3,17.0,1.0,7.8,5.4,-5.43,-0.47,-22.0,-12.04,5.31
-250,CPA,UPCOM,Thực phẩm và đồ uống,175.0,-34.4,NaN,1.2,NaN,2.8,0.0,-0.3,-10.6,4.4,-96.4,0.0,34.07,-30.59,NaN,NaN,37.72
-251,CPC,HNX,Hóa chất,79.0,11.3,NaN,1.8,NaN,5.0,0.0,0.6,8.2,0.9,5.4,10.0,0.35,-6.63,-2.02,-1.75,38.79
-252,CPH,UPCOM,Bán lẻ,NaN,NaN,NaN,2.4,NaN,2.4,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,6.07,3.54,NaN
-253,CPI,UPCOM,Hàng & Dịch vụ Công nghiệp,183.0,-11.4,NaN,2.0,NaN,3.0,0.2,0.0,67.5,-8.2,57.7,0.0,20.11,-8.89,NaN,NaN,12.2
-254,CQN,UPCOM,Thực phẩm và đồ uống,2528.0,12.6,2.4,3.0,NaN,4.2,0.1,0.2,20.1,2.5,22.9,0.0,2.18,-34.73,29.45,12.3,32.41
-255,CQT,UPCOM,Xây dựng và Vật liệu,202.0,3.1,NaN,1.1,NaN,3.2,0.0,-0.1,24.4,0.8,3.7,0.0,-4.11,-2.24,-85.73,-31.96,6.88
-256,CRC,HSX,Xây dựng và Vật liệu,573.0,11.5,NaN,3.6,3.5,4.2,0.2,0.7,8.5,0.7,12.5,0.0,31.15,2.8,121.01,42.68,15.63
-257,CRE,HSX,Bất động sản,3394.0,0.6,2.2,1.6,3.0,3.4,0.0,0.7,96.2,0.6,25.8,0.0,64.71,-7.83,1948.58,-46.0,29.69
-258,CRV,HSX,Bất động sản,0.0,6.2,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.0,0.0,37.34,NaN,2.21,NaN,39.56
-259,CSC,HNX,Bất động sản,801.0,2.3,2.4,2.5,2.8,3.4,-0.2,1.3,56.5,1.3,28.1,0.0,9.12,6.38,-87.55,7.3,36.08
-260,CSI,UPCOM,Dịch vụ tài chính,594.0,-9.3,2.1,1.0,2.6,4.0,0.2,1.0,-38.0,3.7,-41.4,0.0,-8.59,-10.37,NaN,NaN,NaN
-261,CSM,HSX,Ô tô và phụ tùng,1321.0,5.3,2.2,1.5,3.3,2.8,0.0,1.2,18.4,1.0,8.4,0.0,-9.99,2.01,19.37,6.56,11.81
-262,CST,UPCOM,Tài nguyên Cơ bản,724.0,5.1,2.6,1.7,3.1,4.2,-0.3,1.0,12.4,0.7,3.1,4.1,19.51,8.81,-53.64,NaN,3.82
-263,CSV,HSX,Hóa chất,3751.0,16.6,2.7,2.4,3.5,5.0,0.0,1.4,15.2,2.4,10.7,2.2,16.82,3.45,14.1,-17.23,25.6
-264,CT3,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.1,NaN,2.2,0.1,0.0,NaN,NaN,NaN,NaN,NaN,NaN,NaN,-26.34,NaN
-265,CT6,UPCOM,Xây dựng và Vật liệu,50.0,3.5,NaN,1.4,NaN,3.0,0.2,-0.1,21.9,0.8,14.3,0.0,-19.82,11.93,-74.95,NaN,6.33
-266,CTA,UPCOM,Xây dựng và Vật liệu,13.0,-15.7,NaN,1.0,NaN,3.4,0.0,0.0,-3.3,0.6,-3.5,0.0,NaN,NaN,NaN,NaN,NaN
-267,CTB,HNX,Hàng & Dịch vụ Công nghiệp,354.0,18.3,3.2,2.6,3.5,4.2,0.2,0.4,6.4,1.1,4.5,11.1,-30.92,3.29,-6.85,10.33,29.62
-268,CTC,HNX,Du lịch và Giải trí,0.0,-3.5,NaN,1.0,NaN,3.2,0.0,0.0,-5.6,0.2,0.0,0.0,-86.97,-56.77,NaN,NaN,NaN
-269,CTD,HSX,Xây dựng và Vật liệu,7874.0,3.7,2.6,1.1,4.1,4.4,0.1,1.2,24.3,0.9,23.1,1.5,38.59,-0.71,97.6,-17.33,3.12
-270,CTF,HSX,Ô tô và phụ tùng,2181.0,4.0,2.2,1.3,2.9,2.0,-0.2,0.5,53.3,2.1,86.0,0.0,15.12,5.17,13.28,-1.84,5.85
-271,CTG,HSX,Ngân hàng,211846.0,18.3,3.1,3.6,4.8,3.4,0.1,1.1,8.2,1.4,NaN,0.0,16.1,15.12,27.36,19.11,NaN
-272,CTI,HSX,Xây dựng và Vật liệu,1156.0,8.5,2.4,2.3,3.1,2.0,0.1,1.1,10.6,0.9,7.9,0.0,36.49,6.89,29.49,4.26,40.56
-273,CTN,UPCOM,Xây dựng và Vật liệu,2.0,-1125.9,NaN,1.1,NaN,3.2,0.0,0.0,2.7,-0.6,NaN,0.0,-11.04,NaN,NaN,NaN,6.03
-274,CTP,HNX,Thực phẩm và đồ uống,254.0,0.3,NaN,1.1,NaN,4.2,0.6,0.7,633.7,1.7,1866.7,0.0,-57.17,-23.6,270.55,-42.31,0.85
-275,CTR,HSX,Xây dựng và Vật liệu,10809.0,27.9,2.4,3.4,3.0,4.0,-0.1,1.3,19.9,5.4,12.0,0.0,11.6,19.85,4.33,18.27,7.34
-276,CTS,HSX,Dịch vụ tài chính,5079.0,10.6,2.3,4.0,3.0,2.0,0.0,1.3,21.4,2.2,21.0,0.0,-9.79,15.37,23.31,7.56,51.2
-277,CTT,HNX,Hàng & Dịch vụ Công nghiệp,77.0,19.4,NaN,1.9,NaN,3.6,0.0,0.1,5.6,1.1,1.9,0.0,0.7,8.84,10.44,13.67,4.91
-278,CTW,UPCOM,"Điện, nước & xăng dầu khí đốt",899.0,17.5,3.1,4.1,3.5,4.0,0.1,0.1,10.5,1.7,5.1,0.0,50.83,10.81,157.63,17.48,56.18
-279,CTX,HNX,Xây dựng và Vật liệu,1363.0,1.1,2.7,1.4,3.0,3.0,0.4,-0.2,125.0,1.3,38.5,0.0,-52.3,-31.86,-68.29,-43.73,28.94
-280,CVN,HNX,Y tế,56.0,0.1,NaN,1.3,NaN,3.0,-0.1,-0.1,106.5,0.1,10.6,0.0,-9.99,-14.67,-73.97,-47.38,6.69
-281,CVT,HSX,Xây dựng và Vật liệu,1055.0,6.6,2.2,1.6,3.0,2.6,0.0,0.2,16.7,1.1,10.0,0.0,-6.55,3.12,47.27,-18.34,14.24
-282,CX8,HNX,Xây dựng và Vật liệu,22.0,1.5,NaN,1.1,NaN,2.4,0.1,0.5,53.0,0.8,86.9,0.0,1.9,-5.84,65.16,-8.73,8.1
-283,CYC,UPCOM,Xây dựng và Vật liệu,20.0,-86.5,2.4,1.0,NaN,3.0,-0.3,0.1,-1.5,3.7,-12.0,0.0,-9.29,-12.87,NaN,NaN,-11.02
-284,D11,HNX,Bất động sản,70.0,3.1,NaN,1.3,NaN,3.8,-0.1,0.7,12.2,0.4,11.3,0.0,204.77,-23.18,-17.79,-34.59,14.01
-285,D2D,HSX,Bất động sản,1347.0,11.3,3.1,2.5,3.1,4.6,0.1,0.8,11.4,1.4,8.0,32.7,77.75,-14.63,242.52,-25.14,20.43
-286,DAC,UPCOM,Xây dựng và Vật liệu,5.0,-46.3,NaN,1.0,NaN,3.0,-0.2,0.1,-1.1,0.7,-10.0,0.0,4.82,-6.07,NaN,NaN,6.27
-287,DAD,HNX,Truyền thông,85.0,12.0,NaN,2.1,NaN,4.8,0.1,0.0,7.8,0.9,4.7,7.6,13.69,23.8,-19.24,-3.13,30.66
-288,DAE,HNX,Truyền thông,28.0,9.1,NaN,1.7,NaN,4.2,0.1,0.4,7.4,0.7,6.2,7.6,17.76,1.17,-0.73,-11.71,30.27
-289,DAG,HSX,Hóa chất,84.0,-130.4,2.6,1.0,3.0,3.0,-0.2,0.1,-0.3,-0.8,-8.8,0.0,-45.81,-4.81,NaN,NaN,NaN
-290,DAH,HSX,Du lịch và Giải trí,272.0,0.7,2.3,2.1,3.5,3.2,-0.1,0.8,42.1,0.3,18.7,0.0,56.86,-8.76,80.34,62.24,NaN
-291,DAN,UPCOM,Y tế,777.0,8.5,2.5,2.0,NaN,3.4,0.2,0.0,12.0,1.0,11.0,0.0,-1.98,NaN,-8.58,NaN,54.89
-292,DAS,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.3,NaN,1.8,-0.4,0.1,NaN,NaN,NaN,NaN,NaN,NaN,-17.45,8.97,NaN
-293,DAT,HSX,Thực phẩm và đồ uống,582.0,6.6,2.4,1.8,3.0,4.0,-0.1,0.5,10.0,0.6,9.3,0.0,-0.04,3.34,-21.82,-8.88,2.39
-294,DBC,HSX,Thực phẩm và đồ uống,9337.0,20.1,2.7,2.8,3.8,3.4,0.0,1.2,7.8,1.3,6.6,0.0,22.17,13.56,2975.45,-2.79,22.64
-295,DBD,HSX,Y tế,4799.0,17.9,3.0,3.3,3.0,5.0,0.1,0.7,16.6,2.8,12.7,0.0,4.59,6.49,2.28,3.55,51.75
-296,DBM,UPCOM,Y tế,69.0,16.3,NaN,1.3,NaN,4.2,0.2,-0.7,7.9,1.3,2.6,0.0,-9.86,-4.31,-50.26,-16.89,13.23
-297,DBT,HSX,Y tế,243.0,3.8,NaN,2.0,NaN,2.0,0.0,0.5,24.7,0.9,12.5,0.0,7.0,2.01,-9.97,-14.63,48.72
-298,DC1,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.8,NaN,2.2,0.2,-0.1,NaN,NaN,NaN,NaN,NaN,NaN,NaN,-6.54,NaN
-299,DC2,HNX,Xây dựng và Vật liệu,80.0,7.3,NaN,2.5,NaN,2.4,0.0,-0.1,10.9,0.7,9.2,0.0,19.17,5.61,447.23,-14.66,32.61
-300,DC4,HSX,Xây dựng và Vật liệu,1126.0,17.5,3.1,3.8,2.8,4.6,0.2,1.1,7.1,1.0,6.1,4.0,89.36,22.0,12.4,13.88,26.93
-301,DCF,UPCOM,Xây dựng và Vật liệu,1542.0,10.3,2.5,2.9,NaN,3.6,0.1,0.1,31.6,3.1,24.2,0.0,117.01,65.87,271.63,NaN,8.73
-302,DCG,UPCOM,Hàng cá nhân & Gia dụng,NaN,NaN,NaN,1.8,NaN,2.6,0.4,0.2,NaN,NaN,NaN,NaN,NaN,NaN,63.97,-1.7,NaN
-303,DCH,UPCOM,Bất động sản,NaN,NaN,NaN,1.4,NaN,3.4,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,95.69,-8.46,NaN
-304,DCL,HSX,Y tế,1888.0,3.8,2.7,2.2,3.5,3.8,-0.1,0.9,33.5,1.3,24.0,0.0,14.24,11.69,-13.2,-13.38,23.61
-305,DCM,HSX,Hóa chất,17444.0,14.3,3.0,3.0,4.1,5.0,0.0,1.2,11.7,1.7,12.2,0.0,7.04,13.82,28.02,27.21,25.98
-306,DCR,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.1,NaN,1.8,-0.1,0.6,NaN,NaN,NaN,NaN,NaN,NaN,75.87,-38.03,NaN
-307,DCS,UPCOM,Hàng cá nhân & Gia dụng,60.0,0.1,NaN,1.1,NaN,4.4,0.2,0.1,78.3,0.1,36.4,0.0,NaN,NaN,NaN,NaN,14.5
-308,DCT,UPCOM,Xây dựng và Vật liệu,16.0,16.2,1.9,1.0,NaN,2.0,0.1,-0.3,-0.2,0.0,19.4,0.0,-12.98,-24.53,NaN,NaN,NaN
-309,DDG,HNX,"Điện, nước & xăng dầu khí đốt",208.0,-2.0,2.1,1.7,3.0,2.0,-0.1,1.2,-13.3,0.3,8.9,0.0,-45.28,0.92,NaN,NaN,3.21
-310,DDH,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.3,NaN,3.4,-0.1,-0.1,NaN,NaN,NaN,NaN,NaN,NaN,-69.54,NaN,NaN
-311,DDM,UPCOM,Hàng & Dịch vụ Công nghiệp,22.0,-3.9,2.7,1.8,NaN,3.4,-0.1,-0.3,0.7,0.0,339.6,0.0,25.68,4.66,NaN,NaN,NaN
-312,DDN,UPCOM,Y tế,115.0,3.1,NaN,1.1,NaN,2.8,0.0,0.2,18.4,0.6,46.0,0.0,47.62,-4.9,586.12,-16.82,7.33
-313,DDV,UPCOM,Hóa chất,3406.0,14.5,3.6,3.0,3.8,5.0,0.1,1.3,12.9,1.8,7.6,4.6,5.79,15.38,144.05,97.14,16.28
-314,DFC,UPCOM,Tài nguyên Cơ bản,NaN,NaN,NaN,2.2,3.5,4.4,0.3,0.3,NaN,NaN,NaN,NaN,NaN,NaN,27.63,0.56,NaN
-315,DFF,UPCOM,Xây dựng và Vật liệu,104.0,-139.7,2.2,1.0,2.7,2.4,-0.8,1.1,-0.2,0.9,-10.2,0.0,-60.43,NaN,NaN,NaN,NaN
-316,DGC,HSX,Hóa chất,33724.0,23.9,2.9,4.6,4.0,4.8,-0.1,1.3,10.8,2.4,10.3,2.6,1.2,14.15,-3.98,18.88,34.88
-317,DGT,UPCOM,Xây dựng và Vật liệu,361.0,-0.1,3.4,2.6,3.0,4.2,-0.2,1.1,-561.8,0.4,-492.2,0.0,25.76,95.79,-95.88,6.47,21.4
-318,DGW,HSX,Bán lẻ,7254.0,15.9,2.6,3.7,3.5,4.0,-0.2,1.4,15.9,2.4,13.3,1.2,17.33,21.07,25.25,1.71,8.71
-319,DHA,HSX,Xây dựng và Vật liệu,562.0,15.9,2.5,2.5,3.0,4.2,0.0,0.7,8.3,1.3,7.3,3.6,-21.1,-2.23,-40.6,-5.31,32.4
-320,DHB,UPCOM,Hóa chất,2459.0,-2.5,2.2,1.3,2.7,2.4,0.0,1.1,-156.0,3.9,6.0,0.0,0.59,8.82,-99.2,NaN,12.51
-321,DHC,HSX,Tài nguyên Cơ bản,2507.0,13.2,2.8,2.5,3.3,4.4,-0.1,0.8,9.6,1.2,10.4,3.3,10.36,20.26,-21.75,-0.69,13.99
-322,DHD,UPCOM,Y tế,1080.0,10.2,2.9,2.2,3.5,4.6,0.3,0.3,23.6,2.3,13.2,1.0,8.18,0.08,28.86,-12.58,37.28
-323,DHG,HSX,Y tế,13951.0,17.4,3.1,3.0,3.0,4.8,0.0,0.5,17.0,3.2,12.6,9.6,-2.6,4.62,-26.14,4.08,47.5
-324,DHM,HSX,Tài nguyên Cơ bản,253.0,0.2,1.6,1.6,NaN,2.4,0.0,0.5,311.8,0.7,105.4,0.0,25.4,25.23,-53.58,-11.6,0.93
-325,DHN,UPCOM,Y tế,NaN,NaN,NaN,2.7,NaN,3.4,0.3,-0.3,NaN,NaN,NaN,NaN,NaN,NaN,4.73,15.31,NaN
-326,DHP,HNX,Hàng & Dịch vụ Công nghiệp,113.0,7.6,NaN,2.1,NaN,4.4,0.1,-0.1,8.7,0.7,5.7,9.3,3.87,-3.17,3.51,1.79,15.03
-327,DHQ,UPCOM,Du lịch và Giải trí,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-328,DHT,HNX,Bán lẻ,6785.0,7.6,2.1,1.5,3.4,3.4,0.1,0.4,86.5,6.5,65.8,0.5,4.35,0.43,-15.62,-23.21,11.34
-329,DIC,UPCOM,Xây dựng và Vật liệu,23.0,11.1,2.3,2.3,NaN,2.4,-0.1,-0.2,-3.2,-0.3,13.3,0.0,-91.49,-45.06,NaN,NaN,100.0
-330,DID,UPCOM,Xây dựng và Vật liệu,66.0,0.9,NaN,1.1,NaN,2.6,0.0,1.0,39.5,0.4,20.1,0.0,4.81,-2.48,403.24,-25.96,2.11
-331,DIG,HSX,Bất động sản,9636.0,2.6,1.9,1.7,2.5,3.4,-0.2,1.2,49.2,1.2,102.6,0.0,26.83,-9.27,-3.53,-24.82,19.12
-332,DIH,HNX,Xây dựng và Vật liệu,109.0,25.1,2.9,3.3,3.5,2.8,-0.1,0.7,3.6,0.8,7.5,0.0,-23.65,8.66,-5.11,45.54,14.15
-333,DKC,UPCOM,Bán lẻ,NaN,NaN,NaN,2.9,NaN,3.4,0.3,0.2,NaN,NaN,NaN,NaN,NaN,NaN,-23.76,NaN,NaN
-334,DKW,UPCOM,"Điện, nước & xăng dầu khí đốt",NaN,NaN,NaN,1.5,NaN,3.4,-0.1,0.0,NaN,NaN,NaN,NaN,NaN,NaN,-16.74,NaN,NaN
-335,DL1,HNX,Hàng & Dịch vụ Công nghiệp,956.0,0.0,2.8,2.4,3.0,3.4,0.3,1.4,11120.4,0.8,11.2,0.0,86.82,21.19,-96.71,-39.2,27.39
-336,DLD,UPCOM,Du lịch và Giải trí,53.0,-5.1,2.0,1.1,NaN,2.0,0.0,0.4,-24.1,1.3,NaN,0.0,4.03,-5.15,NaN,NaN,12.21
-337,DLG,HSX,Tài nguyên Cơ bản,694.0,40.0,2.7,2.6,3.0,1.8,0.1,1.0,3.3,1.1,15.9,0.0,-5.67,-18.1,NaN,NaN,50.91
-338,DLR,UPCOM,Bất động sản,113.0,-95.3,NaN,2.4,NaN,3.6,0.4,0.2,9.8,-17.7,62.1,0.0,-28.03,-20.44,2740.66,NaN,58.53
-339,DLT,UPCOM,Du lịch và Giải trí,30.0,18.2,NaN,1.5,NaN,2.2,0.2,-0.2,2.9,0.5,6.5,0.0,5.02,-4.11,-5.38,-15.38,13.17
-340,DM7,UPCOM,Hàng cá nhân & Gia dụng,354.0,19.2,NaN,2.5,NaN,4.2,0.0,0.1,6.5,1.2,3.5,7.7,39.97,1.94,38.05,4.86,15.14
-341,DMC,HSX,Y tế,2198.0,13.0,2.5,2.2,3.1,4.2,0.0,0.7,10.5,1.3,8.7,0.0,10.49,5.28,10.57,-2.72,20.48
-342,DMH,UPCOM,Y tế,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-343,DMN,UPCOM,Thực phẩm và đồ uống,70.0,-1.6,NaN,1.1,NaN,2.0,0.2,0.6,-26.7,0.4,17.2,0.0,11.88,NaN,-47.12,NaN,8.18
-344,DNA,UPCOM,"Điện, nước & xăng dầu khí đốt",1369.0,15.6,2.8,2.7,3.0,4.2,0.1,0.3,9.8,1.5,5.4,0.0,12.78,8.83,24.12,5.81,19.66
-345,DNC,HNX,"Điện, nước & xăng dầu khí đốt",609.0,36.2,2.9,3.9,NaN,4.4,0.3,0.4,14.1,4.7,10.8,3.8,16.81,21.25,12.69,5.49,7.48
-346,DND,UPCOM,Xây dựng và Vật liệu,NaN,NaN,2.8,1.4,3.5,3.8,-0.1,-0.4,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-347,DNE,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.4,NaN,3.6,0.0,-0.1,NaN,NaN,NaN,NaN,NaN,NaN,18.57,-11.83,NaN
-348,DNH,UPCOM,"Điện, nước & xăng dầu khí đốt",18586.0,19.0,2.6,2.9,3.5,4.8,0.1,0.0,18.6,3.5,12.1,4.0,-12.32,-1.07,-19.62,-2.91,56.04
-349,DNL,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,2.2,NaN,3.8,0.0,-0.4,NaN,NaN,NaN,NaN,NaN,NaN,-6.24,-7.51,NaN
-350,DNM,HNX,Y tế,39.0,-93.8,2.2,1.6,NaN,1.6,-0.1,0.5,-0.7,8.6,-60.1,0.0,-9.47,-11.17,NaN,NaN,7.61
-351,DNN,UPCOM,"Điện, nước & xăng dầu khí đốt",23.0,12.6,NaN,2.7,3.5,4.6,0.3,-0.2,0.2,0.0,1.6,700.0,8.17,3.32,-35.62,-9.1,37.33
-352,DNP,HNX,Xây dựng và Vật liệu,2692.0,2.8,2.2,2.8,3.5,2.6,0.1,0.2,52.8,1.3,11.1,0.0,17.4,26.03,7.52,11.67,17.69
-353,DNT,UPCOM,Du lịch và Giải trí,NaN,NaN,1.7,1.3,NaN,3.4,-0.1,0.1,NaN,NaN,NaN,NaN,NaN,NaN,-17.66,-9.77,NaN
-354,DNW,UPCOM,"Điện, nước & xăng dầu khí đốt",3841.0,14.9,3.0,3.3,3.0,4.8,0.0,-0.1,11.2,1.6,7.1,4.8,7.26,3.65,4.02,16.88,40.28
-355,DO3,HNX,Bất động sản,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-356,DOC,UPCOM,Hóa chất,NaN,NaN,NaN,1.6,NaN,3.4,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,-16.49,25.06,NaN
-357,DOP,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.8,NaN,3.4,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,-20.84,NaN,NaN
-358,DP1,UPCOM,Y tế,800.0,23.4,2.8,2.6,3.0,3.6,0.0,0.5,7.3,1.5,8.4,2.1,-6.14,-2.64,-1.88,24.66,16.65
-359,DP2,UPCOM,Y tế,92.0,-9.4,NaN,1.5,3.5,2.2,0.1,-0.1,-12.1,1.2,-102.4,0.0,3.61,5.22,NaN,NaN,7.05
-360,DP3,HNX,Y tế,1161.0,23.8,2.9,3.6,3.5,4.8,0.0,0.6,9.4,2.1,8.5,5.4,1.89,0.32,-3.27,-10.14,66.22
-361,DPC,HNX,Hàng & Dịch vụ Công nghiệp,30.0,-6.9,1.6,1.3,NaN,1.4,0.2,0.2,-16.9,1.2,55.4,0.0,5.2,-17.24,NaN,NaN,33.93
-362,DPG,HSX,Xây dựng và Vật liệu,3654.0,12.3,3.1,2.0,3.2,3.6,0.0,1.3,15.5,1.8,9.5,0.0,3.69,12.64,10.26,2.95,28.93
-363,DPH,UPCOM,Y tế,168.0,18.3,NaN,2.0,NaN,5.0,0.1,0.1,NaN,NaN,NaN,3.0,-2.74,-5.3,-5.3,8.74,10.37
-364,DPM,HSX,Hóa chất,13071.0,4.2,2.6,2.0,4.2,4.4,0.0,1.2,27.3,1.2,22.9,0.0,-0.54,11.93,3.52,7.32,15.89
-365,DPP,UPCOM,Y tế,NaN,NaN,NaN,2.3,NaN,2.8,0.1,0.0,NaN,NaN,NaN,NaN,NaN,NaN,7.18,8.92,NaN
-366,DPR,HSX,Hóa chất,3267.0,11.2,2.8,3.0,3.8,4.2,0.0,1.1,11.9,1.3,9.9,0.0,17.61,3.46,25.45,-6.65,47.23
-367,DPS,UPCOM,Tài nguyên Cơ bản,9.0,-1.9,NaN,1.0,NaN,2.6,0.0,0.0,-9.9,0.2,2319.7,0.0,-76.95,NaN,NaN,NaN,4.73
-368,DQC,HSX,Hàng cá nhân & Gia dụng,305.0,-14.4,2.6,1.2,2.9,3.6,-0.2,0.7,-2.5,0.4,-5.7,0.0,-5.28,-0.28,NaN,NaN,24.72
-369,DRC,HSX,Ô tô và phụ tùng,2406.0,10.0,2.2,1.8,3.5,3.2,-0.3,1.1,12.5,1.2,13.8,1.8,3.96,3.91,-5.97,-1.56,11.08
-370,DRG,UPCOM,Hóa chất,1312.0,6.3,2.7,3.2,3.1,4.2,0.1,1.2,12.7,0.8,6.5,0.0,22.47,4.38,185.38,30.74,8.08
-371,DRH,HSX,Bất động sản,272.0,-19.2,2.4,1.0,2.7,3.0,-0.1,0.7,-1.0,0.2,-42.6,0.0,-59.41,-60.39,NaN,NaN,NaN
-372,DRI,UPCOM,Hóa chất,848.0,24.1,3.1,3.7,3.2,5.0,0.0,1.5,5.9,1.3,3.2,3.2,6.21,-2.67,47.98,21.71,39.5
-373,DRL,HSX,"Điện, nước & xăng dầu khí đốt",542.0,36.7,2.8,3.1,3.6,4.2,0.0,0.2,11.7,4.3,9.8,8.9,-13.36,0.31,-22.86,-4.27,72.16
-374,DS3,HNX,Hàng & Dịch vụ Công nghiệp,57.0,11.5,NaN,2.5,NaN,4.0,-0.1,0.5,5.6,0.6,8.2,0.0,72.86,0.67,212.04,2.04,29.23
-375,DSC,UPCOM,Dịch vụ tài chính,3144.0,7.2,2.1,2.8,3.0,2.6,-0.2,1.1,18.3,1.3,18.8,0.0,14.75,133.98,47.45,NaN,80.75
-376,DSD,UPCOM,Du lịch và Giải trí,772.0,-3.1,2.1,1.6,NaN,3.0,-0.1,0.0,-54.3,1.4,17.4,0.0,-2.44,NaN,3.08,NaN,NaN
-377,DSG,UPCOM,Xây dựng và Vật liệu,102.0,-680.7,NaN,1.0,3.5,2.8,0.0,0.4,-6.0,-16.9,-54.2,0.0,-1.43,-6.85,NaN,NaN,6.75
-378,DSN,HSX,Du lịch và Giải trí,560.0,29.4,2.9,3.1,3.5,4.2,-0.1,0.3,6.6,1.9,5.6,7.5,-12.57,-0.17,-17.69,-0.54,50.05
-379,DSP,UPCOM,Du lịch và Giải trí,1306.0,-3.4,2.3,1.0,3.0,4.2,0.1,0.1,-41.4,1.4,-17.0,0.0,-8.55,-8.7,NaN,NaN,NaN
-380,DST,HNX,Truyền thông,213.0,0.5,2.6,1.3,NaN,5.0,0.3,1.1,115.2,0.5,-45.1,0.0,13.54,7.4,15.03,NaN,NaN
-381,DTA,HSX,Bất động sản,86.0,0.7,1.8,2.0,NaN,2.0,0.1,0.7,58.6,0.4,19.4,0.0,41.95,21.73,12.37,-24.94,12.61
-382,DTB,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,2.1,NaN,3.2,0.1,0.6,NaN,NaN,NaN,NaN,NaN,NaN,17.93,NaN,NaN
-383,DTC,HNX,Xây dựng và Vật liệu,46.0,-138.4,NaN,1.0,NaN,1.4,0.0,0.8,-1.4,6.3,51.4,0.0,-21.96,-14.56,NaN,NaN,NaN
-384,DTD,HNX,Xây dựng và Vật liệu,1064.0,12.7,3.3,3.7,3.6,5.0,-0.2,1.7,7.8,0.9,3.8,0.0,-36.99,19.63,-44.56,-3.72,57.87
-385,DTE,UPCOM,"Điện, nước & xăng dầu khí đốt",188.0,6.8,2.3,1.6,NaN,4.4,-0.1,0.0,7.8,0.6,5.8,0.0,137.42,NaN,7274.3,NaN,13.84
-386,DTG,UPCOM,Y tế,146.0,10.8,NaN,3.0,NaN,4.2,-0.2,0.3,7.6,0.8,5.6,0.0,-2.27,4.52,-24.49,21.85,21.37
-387,DTH,UPCOM,Y tế,NaN,NaN,NaN,1.2,NaN,2.0,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,33.54,NaN,NaN
-388,DTI,UPCOM,Du lịch và Giải trí,27.0,0.1,NaN,1.9,3.5,2.4,-0.2,0.9,157.0,0.2,383.1,0.0,97.56,141.38,202.29,-32.16,0.07
-389,DTK,HNX,"Điện, nước & xăng dầu khí đốt",8876.0,8.4,2.8,1.6,3.1,4.0,0.0,-0.1,12.4,1.0,5.8,3.6,8.53,0.4,27.81,4.16,10.1
-390,DTL,HSX,Tài nguyên Cơ bản,643.0,-0.2,1.8,1.1,2.6,1.8,-0.1,0.3,-445.3,0.9,150.2,0.0,-0.24,-4.78,NaN,NaN,NaN
-391,DTP,UPCOM,Y tế,2564.0,25.5,2.7,2.8,NaN,4.8,0.1,0.3,10.8,2.5,9.5,0.0,16.14,50.19,9.38,NaN,51.91
-392,DTT,HSX,Hóa chất,143.0,8.3,2.9,2.0,NaN,5.0,0.0,-0.1,12.8,1.0,8.1,0.0,15.33,3.41,34.26,9.0,17.29
-393,DUS,UPCOM,Hàng & Dịch vụ Công nghiệp,58.0,13.1,NaN,1.7,NaN,2.4,0.1,0.0,NaN,NaN,NaN,0.0,0.89,8.03,NaN,NaN,NaN
-394,DVC,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,2.0,NaN,2.6,0.2,0.4,NaN,NaN,NaN,NaN,NaN,NaN,457.46,19.06,NaN
-395,DVG,HNX,Xây dựng và Vật liệu,34.0,0.0,2.5,1.1,NaN,4.2,-0.2,-0.1,-1449.5,0.1,-15.5,0.0,111.02,NaN,-73.79,NaN,0.57
-396,DVM,HNX,Y tế,308.0,7.4,2.4,1.4,3.2,2.6,-0.2,1.0,5.7,0.4,8.6,0.0,6.63,NaN,10.92,NaN,10.91
-397,DVN,UPCOM,Y tế,5745.0,13.0,3.0,2.7,3.8,3.4,0.0,1.1,13.9,1.7,37.9,0.0,-1.1,-0.61,21.62,15.25,11.14
-398,DVP,HSX,Hàng & Dịch vụ Công nghiệp,3380.0,23.7,3.4,3.5,3.5,4.2,0.0,0.5,10.0,2.4,13.2,8.8,26.43,4.4,1.68,6.31,56.63
-399,DVW,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,2.1,3.5,3.4,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,6.84,8.23,NaN
-400,DWC,UPCOM,"Điện, nước & xăng dầu khí đốt",470.0,16.0,2.8,2.6,NaN,3.8,0.3,0.8,8.5,1.3,6.7,0.0,26.19,19.41,236.68,NaN,61.9
-401,DWS,UPCOM,"Điện, nước & xăng dầu khí đốt",375.0,12.7,NaN,2.9,3.3,4.4,0.3,0.1,8.0,1.0,7.6,0.0,7.87,8.81,14.66,16.25,25.73
-402,DXG,HSX,Bất động sản,14717.0,2.4,2.6,1.8,3.0,4.2,0.1,1.5,53.9,1.2,17.9,0.0,28.74,-3.78,48.81,-32.13,55.17
-403,DXL,UPCOM,Du lịch và Giải trí,NaN,NaN,NaN,1.7,NaN,5.0,0.1,-0.1,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-404,DXP,HNX,Hàng & Dịch vụ Công nghiệp,557.0,7.5,3.1,3.2,3.0,5.0,-0.1,1.3,8.6,0.6,6.0,0.0,66.0,41.89,-3.97,-10.78,28.2
-405,DXS,HSX,Bất động sản,3915.0,2.5,2.5,1.8,3.0,4.4,0.1,1.3,26.2,0.6,16.9,0.0,22.05,-9.83,NaN,-39.36,44.8
-406,DXV,HSX,Xây dựng và Vật liệu,37.0,-5.0,2.6,1.0,NaN,4.0,-0.1,0.2,-7.4,0.4,-4.0,0.0,4.71,-6.53,NaN,NaN,5.68
-407,DZM,HNX,Hàng & Dịch vụ Công nghiệp,16.0,5.0,NaN,1.2,NaN,2.2,0.0,0.0,-67.7,-2.1,69.1,0.0,-14.24,-26.04,NaN,NaN,17.87
-408,E12,UPCOM,Xây dựng và Vật liệu,9.0,-5.4,NaN,1.5,NaN,1.8,-0.1,0.6,-14.1,0.8,19.2,0.0,113.28,5.75,NaN,-35.59,9.48
-409,E1VFVN30,HSX,Dịch vụ tài chính,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-410,E29,UPCOM,Xây dựng và Vật liệu,42.0,4.0,NaN,2.0,NaN,3.2,0.0,-0.1,10.4,0.4,-129.7,0.0,26.98,25.14,53.01,NaN,NaN
-411,EBS,HNX,Truyền thông,107.0,11.8,NaN,2.2,NaN,5.0,0.1,0.9,6.5,0.8,12.1,7.8,-8.87,-15.68,-5.43,-1.9,44.03
-412,ECI,HNX,Truyền thông,26.0,0.5,NaN,1.3,NaN,4.8,-0.2,0.0,162.6,0.9,-3.8,0.0,-81.25,-44.06,NaN,NaN,25.34
-413,EFI,UPCOM,Bất động sản,23.0,3.9,NaN,1.9,NaN,4.2,0.2,0.2,14.2,0.5,-132.6,0.0,NaN,NaN,243.57,45.88,0.96
-414,EIB,HSX,Ngân hàng,37720.0,14.2,2.8,3.0,3.7,1.9,0.1,1.0,10.9,1.5,NaN,0.0,30.55,13.79,53.66,20.45,NaN
-415,EIC,UPCOM,Xây dựng và Vật liệu,899.0,12.3,3.2,3.0,3.1,4.2,0.1,-0.1,17.8,2.3,-111.0,5.9,37.16,6.78,18.47,96.56,19.95
-416,EID,HNX,Truyền thông,381.0,17.3,3.2,2.9,3.5,5.0,0.0,0.6,5.0,0.8,1.4,8.0,7.5,11.64,5.0,10.65,23.58
-417,EIN,UPCOM,Bất động sản,99.0,-5.2,2.8,1.2,NaN,3.4,-0.2,1.1,-4.9,0.3,-14.9,0.0,49.84,-23.1,NaN,NaN,NaN
-418,ELC,HSX,Công nghệ Thông tin,2189.0,9.2,2.5,3.2,3.0,4.8,0.0,1.3,23.5,2.1,21.0,0.0,-18.36,-1.77,22.92,10.2,41.45
-419,EME,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,2.3,3.5,2.8,0.1,-0.1,NaN,NaN,NaN,NaN,NaN,NaN,21.42,165.84,NaN
-420,EMG,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,2.0,NaN,3.4,0.1,1.0,NaN,NaN,NaN,NaN,NaN,NaN,-2.88,4.81,NaN
-421,EMS,UPCOM,Hàng & Dịch vụ Công nghiệp,525.0,17.4,3.2,2.6,3.5,4.0,-0.1,0.3,9.3,1.6,6.0,0.0,2.84,0.5,1.36,1.11,13.46
-422,EPC,UPCOM,Thực phẩm và đồ uống,NaN,NaN,2.3,1.0,NaN,1.8,0.3,0.3,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-423,EPH,UPCOM,Truyền thông,NaN,NaN,NaN,2.9,NaN,4.0,-0.1,0.7,NaN,NaN,NaN,NaN,NaN,NaN,-39.2,10.09,NaN
-424,ESL,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-425,EVE,HSX,Hàng cá nhân & Gia dụng,388.0,-3.2,2.4,1.3,2.7,3.2,-0.2,0.9,-12.7,0.4,247.6,5.1,-5.8,-5.89,NaN,NaN,39.11
-426,EVF,HSX,Dịch vụ tài chính,7339.0,7.5,2.5,3.8,2.9,2.5,-0.1,1.4,11.0,0.8,NaN,0.0,37.34,14.96,70.78,-0.42,NaN
-427,EVG,HSX,Xây dựng và Vật liệu,1304.0,2.0,2.5,2.5,2.8,4.0,0.0,1.3,28.7,0.6,59.6,0.0,9.45,15.3,2.12,-3.26,3.89
-428,EVS,HNX,Dịch vụ tài chính,923.0,0.6,2.1,2.1,3.0,3.2,-0.1,1.4,74.0,0.5,27.7,0.0,-34.31,5.01,-48.44,5.69,31.23
-429,FBA,UPCOM,Hàng cá nhân & Gia dụng,NaN,NaN,NaN,1.2,NaN,2.8,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-430,FBC,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,3.2,NaN,2.6,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,4.11,19.38,NaN
-431,FCC,UPCOM,Thực phẩm và đồ uống,NaN,NaN,NaN,1.9,NaN,3.4,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,672.61,NaN,NaN
-432,FCM,HSX,Xây dựng và Vật liệu,190.0,0.9,2.7,1.3,3.5,5.0,0.0,1.0,37.9,0.4,3.5,0.0,2.2,-8.97,-89.19,-48.85,10.73
-433,FCN,HSX,Xây dựng và Vật liệu,2314.0,-0.2,2.0,1.5,2.9,2.2,0.0,1.0,-439.9,0.9,17.3,0.0,17.19,1.77,NaN,-45.93,15.99
-434,FCS,UPCOM,Thực phẩm và đồ uống,209.0,-4.7,NaN,1.1,3.1,2.2,0.1,0.6,-73.3,3.5,-93.6,0.0,0.29,-10.68,NaN,NaN,21.53
-435,FDC,HSX,Bất động sản,657.0,3.5,2.7,2.2,3.0,4.2,0.1,-0.1,41.9,1.4,27.4,0.0,54.16,-42.13,598.42,-40.13,75.95
-436,FGL,UPCOM,Thực phẩm và đồ uống,148.0,-46.4,NaN,1.4,NaN,2.2,0.0,0.0,-8.1,6.9,-120.5,0.0,39.22,-19.1,NaN,NaN,40.65
-437,FHH,UPCOM,Bất động sản,0.0,-1.8,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.0,0.0,-22.42,NaN,-71.84,NaN,10.68
-438,FHN,UPCOM,Bán lẻ,NaN,NaN,NaN,2.1,NaN,4.0,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,9.16,5.05,NaN
-439,FHS,UPCOM,Truyền thông,420.0,25.6,NaN,3.3,3.5,3.2,0.1,0.1,7.3,1.8,6.7,5.5,2.42,2.13,1.76,18.1,30.93
-440,FIC,UPCOM,Xây dựng và Vật liệu,1520.0,5.7,2.3,2.4,3.2,3.2,-0.1,-0.3,16.1,0.9,20.6,3.5,3.3,-18.7,49.16,39.45,16.5
-441,FID,HNX,Bất động sản,40.0,4.6,NaN,3.3,NaN,3.4,0.0,-0.1,3.7,0.2,4.0,0.0,-33.25,25.8,NaN,297.08,2.0
-442,FIR,HSX,Bất động sản,594.0,-0.4,2.1,1.7,3.0,3.2,0.1,0.8,-190.2,0.8,17.7,0.0,-58.41,-24.37,NaN,NaN,68.97
-443,FIT,HSX,Dịch vụ tài chính,1526.0,2.1,2.9,2.2,3.4,4.0,0.0,0.8,18.8,0.4,26.1,0.0,11.91,10.58,NaN,5.59,24.56
-444,FLC,HSX,Bất động sản,2485.0,-21.8,2.4,1.1,3.5,2.8,0.0,0.0,-1.3,0.3,-13.2,0.0,-49.79,2.15,-47.19,NaN,NaN
-445,FMC,HSX,Thực phẩm và đồ uống,2305.0,13.5,2.9,2.2,3.2,4.6,-0.2,0.9,8.1,1.1,4.5,4.5,35.88,13.26,10.73,5.88,6.4
-446,FOC,UPCOM,Truyền thông,1579.0,17.1,3.0,2.6,4.0,4.2,0.1,0.8,11.7,1.9,11.2,12.2,13.64,2.96,12.16,-12.3,45.0
-447,FOX,UPCOM,Viễn thông,44788.0,31.5,2.6,3.9,3.0,4.0,0.1,0.8,15.4,4.4,11.0,5.4,11.42,11.11,17.64,6.7,50.38
-448,FPT,HSX,Công nghệ Thông tin,175241.0,28.0,2.6,4.2,3.0,4.2,0.0,1.1,21.3,5.5,14.5,0.7,19.44,17.79,21.52,8.95,39.24
-449,FRC,UPCOM,Tài nguyên Cơ bản,NaN,NaN,NaN,1.8,NaN,3.2,0.1,-0.2,NaN,NaN,NaN,NaN,NaN,NaN,3987.64,-1.35,NaN
-450,FRM,UPCOM,Tài nguyên Cơ bản,NaN,NaN,NaN,1.2,NaN,3.4,0.6,-0.6,NaN,NaN,NaN,NaN,NaN,NaN,-52.57,1.48,NaN
-451,FRT,HSX,Bán lẻ,22780.0,24.0,2.1,2.6,3.0,2.4,0.0,0.9,51.0,11.0,23.4,0.0,25.92,19.24,NaN,-2.88,19.92
-452,FSO,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.4,NaN,5.0,0.0,0.3,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-453,FT1,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,2.4,3.5,2.6,0.2,-0.3,NaN,NaN,NaN,NaN,NaN,NaN,16.6,8.69,NaN
-454,FTI,UPCOM,Ô tô và phụ tùng,NaN,NaN,NaN,1.5,NaN,3.4,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,-98.92,-20.04,NaN
-455,FTM,UPCOM,Hàng cá nhân & Gia dụng,30.0,15.3,NaN,1.0,3.5,2.8,-0.1,0.2,-0.2,0.0,-14.4,0.0,4.46,-28.81,NaN,NaN,NaN
-456,FTS,HSX,Dịch vụ tài chính,11778.0,13.8,2.3,4.5,3.0,2.6,0.0,1.4,21.3,2.8,26.1,1.3,21.56,24.31,27.51,3.03,60.92
-457,FUCTVGF3,HSX,Dịch vụ tài chính,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-458,FUCTVGF4,HSX,Dịch vụ tài chính,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-459,FUCVREIT,HSX,Dịch vụ tài chính,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-460,FUEIP100,HSX,Dịch vụ tài chính,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-461,FUEKIV30,HSX,Dịch vụ tài chính,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-462,FUEMAV30,HSX,Dịch vụ tài chính,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-463,FUESSV30,HSX,Dịch vụ tài chính,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-464,FUESSV50,HSX,Dịch vụ tài chính,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-465,FUESSVFL,HSX,Dịch vụ tài chính,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-466,FUEVFVND,HSX,Dịch vụ tài chính,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-467,FUEVN100,HSX,Dịch vụ tài chính,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-468,FVN,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-469,G20,UPCOM,Hàng cá nhân & Gia dụng,9.0,-56.3,NaN,1.0,NaN,2.8,0.2,0.0,-0.7,0.5,-9.0,0.0,NaN,NaN,NaN,NaN,NaN
-470,G30,UPCOM,,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-471,G36,UPCOM,Xây dựng và Vật liệu,694.0,2.8,2.4,1.2,2.7,2.4,-0.1,1.2,22.6,0.6,17.2,0.0,4.15,-4.08,53.82,-4.5,23.4
-472,GAB,HSX,Xây dựng và Vật liệu,2927.0,-4.4,2.2,1.0,3.0,3.8,0.0,0.0,-438.9,19.5,-728.4,0.0,-94.12,-34.88,NaN,NaN,10.64
-473,GAS,HSX,"Điện, nước & xăng dầu khí đốt",141263.0,16.4,2.6,2.2,3.4,5.0,-0.1,1.0,13.3,2.2,9.1,0.0,15.13,6.67,-10.41,-6.52,15.93
-474,GCB,UPCOM,"Điện, nước & xăng dầu khí đốt",NaN,NaN,NaN,1.2,NaN,2.8,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-475,GDA,HSX,Tài nguyên Cơ bản,2142.0,8.2,2.4,1.8,3.8,2.4,-0.2,1.4,6.9,0.6,12.8,3.9,9.76,14.51,20.55,NaN,7.1
-476,GDT,HSX,Hàng cá nhân & Gia dụng,529.0,20.6,2.5,2.7,3.0,4.4,-0.1,1.0,8.7,1.7,6.9,3.7,7.92,-0.37,49.61,-11.93,47.97
-477,GDW,HNX,"Điện, nước & xăng dầu khí đốt",314.0,18.5,2.8,3.2,3.4,4.4,0.1,0.5,9.1,1.7,8.2,0.0,2.9,5.34,10.9,18.45,30.97
-478,GEE,UPCOM,Hàng & Dịch vụ Công nghiệp,36197.0,31.7,2.9,2.1,3.0,3.8,0.6,0.9,18.6,5.3,13.6,10.7,27.23,NaN,113.08,NaN,15.76
-479,GEG,HSX,"Điện, nước & xăng dầu khí đốt",5840.0,8.7,2.8,2.7,3.0,3.2,0.0,1.0,14.5,1.2,7.6,0.0,7.48,14.93,-16.34,-17.26,74.24
-480,GER,UPCOM,Hóa chất,NaN,NaN,NaN,1.1,NaN,4.0,-0.4,0.1,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-481,GEX,HSX,Hàng & Dịch vụ Công nghiệp,29328.0,13.1,3.6,3.5,3.0,3.8,0.2,1.2,16.7,2.0,7.9,2.8,12.52,17.12,393.8,19.39,20.19
-482,GGG,UPCOM,Ô tô và phụ tùng,62.0,42.2,NaN,1.0,NaN,2.8,-0.3,-0.1,-3.2,-1.1,-13.7,0.0,846.34,-24.5,NaN,NaN,NaN
-483,GH3,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.2,NaN,2.8,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,5.17,NaN,NaN
-484,GHC,UPCOM,"Điện, nước & xăng dầu khí đốt",1431.0,19.4,3.1,3.3,3.8,4.8,0.0,0.6,7.1,1.3,7.3,7.1,-3.28,5.33,16.62,13.88,61.56
-485,GIC,HNX,Hàng & Dịch vụ Công nghiệp,182.0,6.8,NaN,2.0,NaN,4.2,0.0,0.4,11.2,0.7,3.6,0.0,-7.51,NaN,-2.36,NaN,37.79
-486,GIL,HSX,Hàng cá nhân & Gia dụng,1676.0,1.0,2.3,1.3,2.2,4.8,-0.1,1.2,70.6,0.7,-117.8,0.0,-24.08,-22.47,-8.39,-41.41,18.05
-487,GKM,HNX,Xây dựng và Vật liệu,116.0,0.8,2.0,1.3,3.1,3.6,-1.0,0.9,42.2,0.3,-111.8,0.0,-62.48,-1.37,-90.18,1.35,55.32
-488,GLC,UPCOM,Tài nguyên Cơ bản,63.0,-87.2,NaN,1.6,NaN,2.8,-0.2,0.0,-11.6,18.3,-15.9,0.0,NaN,11.16,NaN,NaN,NaN
-489,GLT,HNX,Hàng cá nhân & Gia dụng,294.0,13.2,NaN,1.7,3.4,4.0,0.1,0.2,15.3,2.0,14.0,0.0,79.05,15.56,-33.98,-12.83,11.32
-490,GLW,UPCOM,"Điện, nước & xăng dầu khí đốt",205.0,6.4,NaN,3.0,NaN,4.2,0.2,0.2,16.3,1.0,6.9,3.6,22.35,6.94,183.67,33.81,34.18
-491,GMA,HNX,Hàng & Dịch vụ Công nghiệp,1130.0,6.8,2.0,2.8,NaN,2.2,0.0,0.0,52.1,3.4,13.8,0.0,1.69,88.57,179.59,0.98,8.23
-492,GMC,HSX,Hàng cá nhân & Gia dụng,145.0,-10.3,2.8,1.4,3.0,3.8,-0.3,0.2,-3.7,0.4,-3.0,0.0,-74.35,-73.87,NaN,NaN,85.04
-493,GMD,HSX,Hàng & Dịch vụ Công nghiệp,23027.0,11.9,2.9,3.9,3.0,5.0,-0.1,1.1,17.7,1.8,12.8,0.0,25.64,12.83,-35.33,15.09,43.98
-494,GMH,HSX,Xây dựng và Vật liệu,130.0,4.3,NaN,1.3,NaN,5.0,0.0,0.8,16.6,0.7,42.6,4.8,-22.46,NaN,-56.54,NaN,19.77
-495,GMX,HNX,Xây dựng và Vật liệu,154.0,13.9,NaN,2.3,NaN,3.8,0.0,0.0,9.3,1.3,7.6,3.3,-14.77,-9.47,-29.96,-7.6,29.08
-496,GND,UPCOM,Xây dựng và Vật liệu,NaN,NaN,3.0,1.3,3.5,3.4,0.2,0.6,NaN,NaN,NaN,NaN,NaN,NaN,-23.54,-9.7,NaN
-497,GPC,HNX,Bán lẻ,150.0,0.8,NaN,1.3,NaN,4.4,-0.2,1.0,32.0,0.3,-2422.6,0.0,-9.92,NaN,NaN,NaN,14.52
-498,GQN,UPCOM,Thực phẩm và đồ uống,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-499,GSM,UPCOM,"Điện, nước & xăng dầu khí đốt",894.0,17.6,3.8,3.8,3.4,4.6,0.3,0.3,9.9,1.7,10.8,0.0,26.0,7.9,92.1,49.28,59.04
-500,GSP,HSX,Hàng & Dịch vụ Công nghiệp,752.0,12.1,2.9,2.6,3.0,4.4,0.0,1.0,7.4,0.9,4.0,0.0,27.3,10.07,18.87,11.79,11.76
-501,GTA,HSX,Tài nguyên Cơ bản,96.0,5.0,2.1,1.4,NaN,3.0,0.0,0.5,11.8,0.6,146.0,0.0,4.89,-16.97,-16.96,-14.1,10.21
-502,GTD,UPCOM,Hàng cá nhân & Gia dụng,NaN,NaN,1.7,1.0,NaN,1.6,0.0,-0.4,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-503,GTK,UPCOM,Hàng cá nhân & Gia dụng,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-504,GTS,UPCOM,Xây dựng và Vật liệu,325.0,12.9,3.0,1.6,3.5,4.2,0.1,0.1,7.6,1.0,1.9,8.3,16.58,3.54,48.7,-1.72,3.08
-505,GTT,UPCOM,Du lịch và Giải trí,13.0,18.6,NaN,1.3,NaN,2.8,0.0,0.0,-0.4,-0.1,-36.0,0.0,-18.5,NaN,NaN,NaN,17.42
-506,GVR,HSX,Hóa chất,109200.0,8.9,2.6,2.6,3.5,4.8,-0.1,1.4,23.2,2.0,15.8,0.0,18.54,5.79,52.06,4.18,28.84
-507,GVT,UPCOM,Tài nguyên Cơ bản,905.0,17.3,2.8,2.0,3.5,4.0,0.1,0.3,3.8,0.6,3.6,3.2,9.4,8.11,134.45,9.08,8.25
-508,H11,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,2.0,NaN,2.2,0.2,0.2,NaN,NaN,NaN,NaN,NaN,NaN,1731.49,58.04,NaN
-509,HAC,UPCOM,Dịch vụ tài chính,292.0,-0.9,2.3,1.3,NaN,3.4,0.0,1.0,-122.9,1.1,-14.6,0.0,-39.88,1.41,-91.77,-12.99,51.81
-510,HAD,HNX,Thực phẩm và đồ uống,60.0,8.8,NaN,1.7,NaN,4.2,0.1,-0.1,9.3,0.8,5.3,0.0,3.23,1.61,5.03,-8.65,16.68
-511,HAF,UPCOM,Thực phẩm và đồ uống,177.0,-17.5,2.7,1.3,3.3,3.0,-0.1,0.5,-15.7,3.1,-50.0,0.0,1.65,-12.16,NaN,NaN,39.25
-512,HAG,HSX,Thực phẩm và đồ uống,14063.0,14.5,2.5,3.4,3.0,2.8,0.1,1.0,12.3,1.5,10.1,0.0,-10.23,22.75,-39.1,50.1,40.91
-513,HAH,HSX,Hàng & Dịch vụ Công nghiệp,9794.0,25.6,3.5,4.2,3.4,4.2,0.2,1.0,11.9,2.6,6.5,0.0,52.8,29.2,69.0,15.02,32.92
-514,HAI,HSX,Hóa chất,274.0,0.2,2.2,1.5,3.0,3.6,0.0,0.0,72.8,0.2,24.4,0.0,28.52,-33.89,-94.76,-24.36,38.68
-515,HAM,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,2.0,NaN,1.8,0.1,0.2,NaN,NaN,NaN,NaN,NaN,NaN,19.38,15.83,NaN
-516,HAN,UPCOM,Xây dựng và Vật liệu,1282.0,3.7,2.1,1.5,2.6,3.2,-0.1,0.7,23.2,0.9,12.5,0.0,-12.44,1.17,21.14,9.54,5.97
-517,HAP,HSX,Tài nguyên Cơ bản,598.0,7.3,2.8,2.3,3.0,4.8,0.1,0.7,6.6,0.5,-18.3,0.0,39.92,2.16,473.93,20.89,13.64
-518,HAR,HSX,Bất động sản,301.0,1.3,2.5,2.3,3.0,5.0,-0.1,1.0,21.7,0.3,34.7,0.0,-2.5,-35.79,-72.57,8.08,67.54
-519,HAS,HSX,Xây dựng và Vật liệu,60.0,-6.2,2.5,1.0,NaN,4.0,-0.1,0.0,-7.3,0.5,-11.2,0.0,-40.02,-16.78,NaN,NaN,63.68
-520,HAT,HNX,Thực phẩm và đồ uống,132.0,25.5,NaN,2.2,NaN,3.6,0.0,-0.3,7.1,1.7,6.6,0.0,9.33,10.65,-24.44,2.84,7.08
-521,HAV,UPCOM,Thực phẩm và đồ uống,NaN,NaN,NaN,1.0,NaN,2.4,0.3,0.7,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-522,HAW,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-523,HAX,HSX,Ô tô và phụ tùng,1569.0,9.2,2.5,2.6,3.2,3.4,0.0,1.0,14.5,1.3,11.4,6.3,38.46,1.36,261.31,2.45,9.77
-524,HBC,HSX,Xây dựng và Vật liệu,2117.0,98.2,2.3,2.4,3.0,2.6,-0.1,1.2,2.3,1.2,7.7,0.0,-14.81,-19.17,NaN,9.96,7.58
-525,HBD,UPCOM,Hàng & Dịch vụ Công nghiệp,36.0,9.0,2.7,2.1,NaN,5.0,0.1,0.0,NaN,NaN,2.4,6.9,8.17,5.0,16.38,NaN,9.3
-526,HBH,UPCOM,Thực phẩm và đồ uống,89.0,3.7,NaN,1.2,NaN,5.0,0.1,0.6,14.3,0.5,0.8,0.0,0.77,-3.06,-83.44,-62.02,4.42
-527,HBS,HNX,Dịch vụ tài chính,208.0,1.9,2.8,3.3,NaN,4.2,-0.1,1.6,27.3,0.6,21.1,0.0,-24.79,16.07,-44.87,5.91,81.74
-528,HC1,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.2,NaN,2.8,0.7,0.4,NaN,NaN,NaN,NaN,NaN,NaN,-21.44,NaN,NaN
-529,HC3,UPCOM,Xây dựng và Vật liệu,579.0,4.2,2.5,2.0,3.0,4.8,0.1,-0.2,19.2,0.8,32.3,7.1,27.0,-19.36,-37.94,-12.03,34.51
-530,HCB,UPCOM,Hàng cá nhân & Gia dụng,NaN,NaN,NaN,1.5,NaN,2.0,-0.4,0.2,NaN,NaN,NaN,NaN,NaN,NaN,23.7,-2.99,NaN
-531,HCC,HNX,Xây dựng và Vật liệu,122.0,18.3,NaN,2.2,NaN,4.8,0.3,0.1,7.7,1.4,5.3,0.0,28.49,-2.31,37.51,-0.27,10.06
-532,HCD,HSX,Hóa chất,255.0,5.1,NaN,2.1,NaN,4.0,-0.2,1.0,10.5,0.5,6.6,0.0,-4.79,4.1,-41.77,2.34,7.32
-533,HCI,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.0,NaN,2.4,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-534,HCM,HSX,Dịch vụ tài chính,18503.0,10.5,2.3,4.0,3.1,2.6,0.0,1.4,18.7,1.8,29.0,3.2,47.3,22.34,54.17,8.82,38.67
-535,HCO,UPCOM,Thực phẩm và đồ uống,0.0,6.7,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.0,0.0,-0.53,NaN,12.38,NaN,16.78
-536,HCT,HNX,Hàng & Dịch vụ Công nghiệp,24.0,3.0,NaN,1.3,NaN,5.0,0.1,0.0,21.3,0.6,25.5,0.0,-45.02,-21.13,NaN,-35.61,12.73
-537,HD2,UPCOM,Bất động sản,NaN,NaN,NaN,2.6,NaN,1.8,-0.1,1.2,NaN,NaN,NaN,NaN,NaN,NaN,30436.01,13.81,NaN
-538,HD6,UPCOM,Bất động sản,181.0,19.2,NaN,3.7,NaN,4.8,-0.2,0.8,3.7,0.7,2.9,0.0,146.74,24.64,175.38,24.77,24.95
-539,HD8,UPCOM,Bất động sản,NaN,NaN,NaN,1.1,NaN,3.4,0.0,0.2,NaN,NaN,NaN,NaN,NaN,NaN,-70.81,NaN,NaN
-540,HDA,HNX,Xây dựng và Vật liệu,116.0,4.8,2.9,1.9,NaN,4.8,0.1,1.0,8.0,0.4,5.9,0.0,27.71,-1.26,NaN,-18.97,48.9
-541,HDB,HSX,Ngân hàng,78289.0,26.1,3.1,4.8,3.0,2.5,0.0,1.1,5.6,1.3,NaN,0.0,28.84,24.48,26.73,15.08,NaN
-542,HDC,HSX,Bất động sản,4138.0,3.7,2.0,2.0,3.0,2.4,0.0,1.2,53.6,1.8,28.8,0.0,-17.92,-7.91,-49.82,-26.04,36.86
-543,HDG,HSX,Bất động sản,8509.0,4.6,2.3,2.1,3.0,3.6,-0.1,1.3,30.2,1.4,8.8,0.0,-5.94,-8.95,-47.63,-26.24,66.97
-544,HDM,UPCOM,Hàng cá nhân & Gia dụng,644.0,28.1,3.1,3.5,3.0,3.8,0.0,0.7,5.4,1.4,4.5,9.2,6.03,2.29,14.56,25.71,13.77
-545,HDO,UPCOM,Hàng & Dịch vụ Công nghiệp,7.0,535.8,NaN,1.0,NaN,2.6,0.0,0.0,-0.1,-0.2,-0.2,0.0,-62.53,NaN,NaN,NaN,-1033.76
-546,HDP,UPCOM,Y tế,NaN,NaN,NaN,2.0,NaN,1.8,0.3,0.2,NaN,NaN,NaN,NaN,NaN,NaN,27.09,11.35,NaN
-547,HDS,UPCOM,Thực phẩm và đồ uống,NaN,NaN,NaN,1.0,NaN,3.4,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-548,HDW,UPCOM,"Điện, nước & xăng dầu khí đốt",478.0,10.3,3.4,2.0,3.5,3.4,0.1,0.4,10.1,1.0,9.1,0.0,4.82,3.81,3.31,-0.95,28.55
-549,HEC,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,2.8,1.8,NaN,3.4,0.0,0.2,NaN,NaN,NaN,NaN,NaN,NaN,-17.68,-12.28,NaN
-550,HEJ,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.1,NaN,2.4,0.3,0.9,NaN,NaN,NaN,NaN,NaN,NaN,-69.13,-43.13,NaN
-551,HEP,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,2.2,NaN,3.4,0.1,0.1,NaN,NaN,NaN,NaN,NaN,NaN,15.43,15.12,NaN
-552,HES,UPCOM,Du lịch và Giải trí,NaN,NaN,NaN,2.6,NaN,4.2,0.2,-0.2,NaN,NaN,NaN,NaN,NaN,NaN,0.87,12.78,NaN
-553,HEV,HNX,Truyền thông,22.0,1.6,NaN,1.2,NaN,3.4,-0.1,0.0,106.9,1.7,-188.4,0.0,58.76,-8.78,NaN,-36.64,48.2
-554,HFB,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.3,NaN,2.6,-0.1,0.2,NaN,NaN,NaN,NaN,NaN,NaN,-19.09,-7.81,NaN
-555,HFC,UPCOM,"Điện, nước & xăng dầu khí đốt",NaN,NaN,NaN,1.7,3.5,2.0,0.3,0.6,NaN,NaN,NaN,NaN,NaN,NaN,203.95,NaN,NaN
-556,HFX,UPCOM,Bán lẻ,NaN,NaN,NaN,1.0,NaN,2.0,-0.4,-0.3,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-557,HGM,HNX,Tài nguyên Cơ bản,3906.0,94.0,3.1,5.0,3.5,4.2,0.9,0.5,14.7,9.7,11.7,6.0,110.86,32.94,233.91,94.64,84.97
-558,HGR,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-559,HGT,UPCOM,Du lịch và Giải trí,214.0,38.0,NaN,2.5,NaN,4.2,0.2,-0.1,3.2,1.0,-50.1,0.0,12.51,NaN,6352.37,NaN,20.0
-560,HHC,HNX,Thực phẩm và đồ uống,2162.0,4.8,2.3,1.6,3.0,3.6,0.1,-0.1,70.5,3.3,88.1,0.0,-10.86,-5.94,-10.74,1.61,22.42
-561,HHG,HNX,Du lịch và Giải trí,45.0,-92.0,NaN,1.0,NaN,2.6,-0.1,0.8,-0.7,1.3,-4.0,0.0,-33.58,-28.76,NaN,NaN,NaN
-562,HHI,UPCOM,Truyền thông,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-563,HHN,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.9,NaN,3.4,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,-48.22,NaN,NaN
-564,HHP,HSX,Tài nguyên Cơ bản,755.0,3.1,2.2,1.9,2.7,2.4,-0.1,0.5,29.2,0.8,31.2,0.0,68.61,38.41,-10.85,-14.9,5.13
-565,HHS,HSX,Ô tô và phụ tùng,4913.0,6.0,2.9,2.1,2.9,4.2,0.2,1.3,17.2,1.0,87.7,0.0,55.83,-0.66,5.47,11.01,14.97
-566,HHV,HSX,Xây dựng và Vật liệu,5898.0,5.2,2.2,3.7,3.3,1.6,0.0,1.1,12.4,0.6,15.4,0.0,23.19,47.3,32.38,3.66,52.54
-567,HID,HSX,Xây dựng và Vật liệu,206.0,0.7,NaN,1.7,NaN,2.4,-0.1,0.6,36.9,0.3,10.9,0.0,-4.0,3.03,NaN,4.46,19.33
-568,HIG,UPCOM,Công nghệ Thông tin,292.0,1.3,NaN,1.5,NaN,3.0,0.2,1.0,58.2,0.8,72.8,0.0,105.68,8.65,235.92,89.74,10.67
-569,HII,HSX,Hóa chất,331.0,-2.6,2.4,1.6,3.0,3.0,-0.2,0.8,-14.5,0.4,7.0,6.7,-8.57,9.24,-95.57,-49.37,7.09
-570,HJC,UPCOM,Hàng cá nhân & Gia dụng,81.0,9.7,NaN,2.0,NaN,3.4,0.2,-0.1,4.7,0.4,7.0,0.0,40.05,18.42,43.15,3.76,30.15
-571,HJS,HNX,"Điện, nước & xăng dầu khí đốt",598.0,12.1,3.0,2.8,3.0,5.0,0.0,0.2,15.3,1.9,8.9,2.9,-6.07,-0.51,-12.29,-0.81,39.27
-572,HKB,UPCOM,Thực phẩm và đồ uống,31.0,-57.7,NaN,1.7,NaN,2.2,0.0,0.3,-0.5,0.4,-3.0,0.0,-3.83,25.58,NaN,NaN,40.41
-573,HKT,HNX,Thực phẩm và đồ uống,57.0,1.4,NaN,1.6,NaN,4.6,0.1,-0.3,57.9,0.8,56.2,0.0,-46.59,-0.95,-44.57,40.31,2.99
-574,HLA,UPCOM,Tài nguyên Cơ bản,14.0,8.7,NaN,1.0,NaN,2.8,0.0,0.0,-0.2,0.0,-73.7,0.0,-31.04,-41.7,NaN,NaN,NaN
-575,HLB,UPCOM,Thực phẩm và đồ uống,NaN,NaN,2.9,3.2,3.5,3.4,0.2,-0.2,NaN,NaN,NaN,NaN,NaN,NaN,21.04,17.2,NaN
-576,HLC,HNX,Tài nguyên Cơ bản,305.0,18.4,2.8,2.7,NaN,3.2,0.0,0.9,3.7,0.7,1.8,0.0,-4.31,-1.01,-11.53,34.2,7.68
-577,HLD,HNX,Bất động sản,660.0,1.2,2.0,1.8,3.0,2.8,-0.1,1.0,126.9,1.5,233.3,0.0,113.93,-41.43,15.72,-55.07,29.99
-578,HLS,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,2.3,3.3,3.4,0.3,0.0,NaN,NaN,NaN,NaN,NaN,NaN,50.1,4.17,NaN
-579,HLT,UPCOM,Hàng cá nhân & Gia dụng,NaN,NaN,NaN,1.0,NaN,2.2,-0.1,0.0,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-580,HLY,UPCOM,Xây dựng và Vật liệu,12.0,-286.5,NaN,1.0,NaN,2.8,-0.1,-0.1,-0.6,-3.7,-4.2,0.0,-85.55,-50.35,NaN,NaN,NaN
-581,HMC,HSX,Tài nguyên Cơ bản,325.0,7.3,2.2,1.6,3.0,2.4,0.0,0.8,10.8,0.8,36.0,0.0,35.77,-1.18,20.89,11.52,2.42
-582,HMG,UPCOM,Tài nguyên Cơ bản,108.0,18.9,2.0,1.6,NaN,2.6,0.1,0.0,NaN,NaN,NaN,0.0,1.42,13.54,-2.27,31.49,3.27
-583,HMH,HNX,Hàng & Dịch vụ Công nghiệp,223.0,12.2,NaN,2.2,NaN,5.0,0.1,0.7,8.4,1.0,9.3,7.0,34.21,-2.78,367.26,8.26,15.97
-584,HMR,HNX,Xây dựng và Vật liệu,63.0,7.5,NaN,1.9,NaN,4.2,-0.3,0.9,11.2,0.8,6.5,0.0,-21.69,NaN,-8.14,NaN,9.09
-585,HMS,UPCOM,Xây dựng và Vật liệu,NaN,NaN,2.3,1.9,3.2,2.4,0.1,0.8,NaN,NaN,NaN,NaN,NaN,NaN,662.41,-10.95,NaN
-586,HNA,UPCOM,"Điện, nước & xăng dầu khí đốt",5881.0,9.7,3.1,3.2,4.6,4.8,0.0,0.4,18.7,1.8,9.7,0.0,5.37,3.57,14.05,29.89,30.86
-587,HNB,UPCOM,Hàng & Dịch vụ Công nghiệp,120.0,7.0,NaN,1.6,NaN,4.2,0.2,0.4,38.9,2.7,NaN,0.0,6.44,-1.5,11.82,-5.2,17.77
-588,HNC,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-589,HND,UPCOM,"Điện, nước & xăng dầu khí đốt",5950.0,4.6,2.4,1.2,3.0,4.8,-0.1,0.7,22.0,1.0,7.6,2.3,-3.55,-0.47,-41.35,-26.07,7.79
-590,HNF,UPCOM,Thực phẩm và đồ uống,1129.0,28.3,2.9,3.5,3.5,4.0,0.4,0.1,6.0,1.6,5.7,3.3,12.14,2.52,151.35,34.28,30.75
-591,HNG,HSX,Thực phẩm và đồ uống,6742.0,-65.2,1.8,1.0,3.0,1.2,0.2,1.2,-5.1,4.3,132.7,0.0,-18.77,-22.94,NaN,NaN,34.31
-592,HNI,UPCOM,Hàng cá nhân & Gia dụng,594.0,23.2,3.4,2.8,3.0,5.0,0.1,-0.1,5.6,1.2,2.2,6.2,35.95,-0.19,44.14,-11.4,12.2
-593,HNM,UPCOM,Thực phẩm và đồ uống,395.0,6.8,NaN,3.0,NaN,4.4,0.0,0.5,12.5,0.8,8.1,0.0,2.23,33.54,-12.04,56.09,13.23
-594,HNP,UPCOM,Hóa chất,NaN,NaN,NaN,1.5,NaN,3.4,0.1,0.3,NaN,NaN,NaN,NaN,NaN,NaN,107.03,-14.67,NaN
-595,HNR,UPCOM,Thực phẩm và đồ uống,240.0,-2.3,NaN,1.3,3.5,4.2,0.0,0.0,-29.5,0.7,61.9,0.0,11.24,-2.49,NaN,NaN,34.98
-596,HOM,HNX,Xây dựng và Vật liệu,288.0,-3.3,2.1,1.2,3.5,2.4,0.0,0.3,-9.9,0.3,69.7,0.0,-1.63,0.68,NaN,NaN,18.08
-597,HOT,HSX,Du lịch và Giải trí,129.0,23.6,2.7,2.2,3.3,4.4,0.1,0.1,9.9,2.1,7.0,0.0,35.82,-5.75,116.63,-3.64,37.51
-598,HPB,UPCOM,Hàng & Dịch vụ Công nghiệp,69.0,18.9,NaN,2.1,NaN,5.0,0.1,0.6,NaN,NaN,2.8,7.9,0.71,-8.97,74.88,NaN,12.13
-599,HPD,UPCOM,"Điện, nước & xăng dầu khí đốt",159.0,14.5,NaN,3.3,NaN,3.4,-0.1,0.3,6.5,0.9,NaN,0.0,-14.97,0.2,-15.23,7.35,61.49
-600,HPG,HSX,Tài nguyên Cơ bản,164703.0,11.2,2.3,2.5,3.0,3.4,-0.1,1.2,13.2,1.4,10.8,0.0,16.73,16.88,75.88,2.23,14.42
-601,HPH,UPCOM,Hóa chất,NaN,NaN,NaN,1.1,NaN,3.4,-0.2,0.2,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-602,HPI,UPCOM,Bất động sản,1248.0,14.8,2.4,2.9,3.5,2.8,0.1,0.7,21.0,2.9,23.6,0.0,46.73,-44.56,-1.87,-18.16,39.84
-603,HPM,UPCOM,Tài nguyên Cơ bản,28.0,34.5,NaN,2.1,NaN,4.0,-0.1,0.0,2.3,0.7,3.3,0.0,-93.4,19.7,-95.5,-23.56,NaN
-604,HPP,UPCOM,Xây dựng và Vật liệu,NaN,NaN,2.8,2.4,3.5,2.4,0.1,0.4,NaN,NaN,NaN,NaN,NaN,NaN,15.04,4.79,NaN
-605,HPT,UPCOM,Công nghệ Thông tin,NaN,NaN,NaN,1.7,NaN,2.6,0.1,0.4,NaN,NaN,NaN,NaN,NaN,NaN,57.48,NaN,NaN
-606,HPW,UPCOM,"Điện, nước & xăng dầu khí đốt",1477.0,10.0,2.9,2.3,3.5,4.4,0.2,0.2,14.0,1.4,5.6,5.5,13.85,6.01,8.63,4.2,30.69
-607,HPX,HSX,Bất động sản,1259.0,1.6,2.2,1.9,3.0,3.0,-0.1,1.1,22.9,0.4,10.5,0.0,-3.84,-13.99,-54.89,-33.65,46.63
-608,HQC,HSX,Bất động sản,1822.0,0.6,2.2,1.5,3.0,3.4,0.0,1.0,54.1,0.3,82.5,0.0,NaN,NaN,554.27,-7.64,46.93
-609,HRB,UPCOM,Bất động sản,NaN,NaN,NaN,2.2,3.5,3.4,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,-2.64,3.21,NaN
-610,HRC,HSX,Hóa chất,997.0,10.8,2.1,3.1,2.3,3.0,-0.1,0.6,16.0,1.6,37.8,0.0,16.98,5.82,261.65,51.36,21.41
-611,HSA,UPCOM,Hàng & Dịch vụ Công nghiệp,260.0,32.9,3.1,1.8,3.5,5.0,0.0,0.0,12.4,2.4,NaN,0.0,NaN,NaN,65.41,NaN,NaN
-612,HSG,HSX,Tài nguyên Cơ bản,10184.0,4.1,2.8,1.9,3.9,4.0,-0.2,1.3,22.0,0.9,9.4,2.8,23.21,8.34,-29.1,-1.32,12.73
-613,HSI,UPCOM,Hóa chất,15.0,1260.2,2.2,1.0,NaN,2.2,0.1,-0.1,-1.6,-2.7,94.0,0.0,-14.45,3.5,NaN,NaN,5.84
-614,HSL,HSX,Thực phẩm và đồ uống,152.0,1.7,NaN,1.3,NaN,5.0,-0.1,0.8,19.7,0.3,14.1,0.0,-64.27,-21.41,-42.51,-42.32,16.85
-615,HSM,UPCOM,Hàng cá nhân & Gia dụng,111.0,-7.6,2.1,1.0,2.6,2.0,0.0,0.5,-4.3,0.3,9.4,0.0,-14.12,-14.24,NaN,NaN,13.01
-616,HSP,UPCOM,Xây dựng và Vật liệu,175.0,12.1,NaN,2.9,NaN,4.2,0.2,0.4,7.4,0.9,3.0,14.3,-0.5,-4.09,36.17,20.11,14.51
-617,HSV,UPCOM,Tài nguyên Cơ bản,60.0,2.5,NaN,2.5,NaN,2.6,-0.1,0.7,13.9,0.3,17.6,0.0,34.41,33.42,10.58,NaN,1.57
-618,HT1,HSX,Xây dựng và Vật liệu,4236.0,1.6,2.1,1.1,3.4,3.2,-0.1,1.0,56.0,0.9,6.7,0.0,-2.34,-4.88,239.27,-39.47,8.51
-619,HT9,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-620,HTC,HNX,"Điện, nước & xăng dầu khí đốt",429.0,9.8,2.6,1.6,3.5,4.4,0.2,0.0,14.2,1.4,13.3,4.3,-2.63,-11.56,-33.6,-12.09,13.88
-621,HTE,UPCOM,"Điện, nước & xăng dầu khí đốt",85.0,1.0,NaN,1.2,NaN,4.8,-0.1,0.6,37.0,0.4,16.7,0.0,135.34,14.95,NaN,NaN,4.23
-622,HTG,UPCOM,Hàng cá nhân & Gia dụng,1392.0,32.8,2.8,2.9,3.0,3.8,0.0,0.9,4.8,1.5,4.9,8.3,8.57,3.71,63.34,8.85,10.04
-623,HTI,HSX,Xây dựng và Vật liệu,498.0,20.4,2.8,2.8,3.5,3.6,0.1,0.4,4.6,0.9,8.5,11.0,11.24,5.25,11.27,-1.81,40.58
-624,HTL,HSX,Ô tô và phụ tùng,325.0,11.6,NaN,1.8,3.5,4.0,0.3,0.6,13.4,1.8,17.2,12.0,-27.53,-10.36,-39.59,2.34,13.04
-625,HTM,UPCOM,Bán lẻ,2218.0,-0.9,2.6,1.9,3.5,3.0,0.1,0.7,-105.9,1.0,39.8,0.0,63.33,-20.18,NaN,NaN,23.06
-626,HTN,HSX,Bất động sản,798.0,2.8,1.9,1.3,3.0,2.4,0.0,1.1,18.8,0.5,48.5,0.0,-57.47,-20.89,-57.89,-32.99,6.96
-627,HTP,HNX,Truyền thông,138.0,-14.7,2.1,1.0,2.7,2.8,-0.6,-0.3,-1.1,0.2,-105.2,0.0,-98.51,-28.75,NaN,NaN,NaN
-628,HTS,UPCOM,Tài nguyên Cơ bản,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-629,HTT,UPCOM,Bán lẻ,32.0,-5.9,NaN,1.2,NaN,2.6,0.2,0.0,-4.6,0.3,-41.6,0.0,-27.97,-22.74,NaN,NaN,47.24
-630,HTV,HSX,Hàng & Dịch vụ Công nghiệp,116.0,4.0,2.7,1.4,3.5,4.2,0.0,0.4,9.0,0.4,9.7,0.0,-7.16,0.46,14.45,-20.68,10.68
-631,HU1,HSX,Xây dựng và Vật liệu,56.0,2.3,NaN,1.1,NaN,2.2,0.0,0.0,17.6,0.4,4053.4,0.0,27.03,-16.5,NaN,-14.26,25.02
-632,HU3,HSX,Xây dựng và Vật liệu,36.0,-8.8,NaN,1.0,NaN,4.0,0.0,0.5,-2.8,0.3,-10.0,0.0,-21.39,-29.04,NaN,NaN,8.74
-633,HU4,UPCOM,Xây dựng và Vật liệu,182.0,7.9,1.9,2.3,NaN,2.0,0.0,0.9,11.6,0.9,10.7,0.0,441.26,-9.75,10777.16,2.89,32.82
-634,HU6,UPCOM,Bất động sản,NaN,NaN,NaN,1.1,NaN,3.4,0.1,-0.8,NaN,NaN,NaN,NaN,NaN,NaN,-51.52,-65.69,NaN
-635,HUB,HSX,Xây dựng và Vật liệu,423.0,10.7,3.0,2.5,3.0,5.0,-0.1,0.7,7.0,0.7,8.9,0.0,-13.12,-8.08,8.12,-5.92,18.5
-636,HUG,UPCOM,Hàng cá nhân & Gia dụng,700.0,24.0,2.5,2.2,3.0,3.6,0.1,0.4,10.1,2.4,9.8,5.9,-1.76,-1.0,-16.14,-11.41,28.27
-637,HUT,HNX,Xây dựng và Vật liệu,11424.0,1.8,2.0,2.3,3.0,2.4,-0.1,0.8,72.1,1.3,20.1,0.0,175.26,93.75,231.08,2.64,10.63
-638,HUX,UPCOM,Tài nguyên Cơ bản,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-639,HVA,UPCOM,Thực phẩm và đồ uống,166.0,6.9,NaN,2.5,NaN,4.2,0.4,0.7,16.6,1.1,26.0,0.0,-55.34,91.46,1222.94,NaN,12.24
-640,HVG,UPCOM,Thực phẩm và đồ uống,318.0,-62.0,2.4,1.0,3.5,2.4,0.0,0.0,-1.4,1.9,-14.3,0.0,-45.68,NaN,NaN,NaN,-5.69
-641,HVH,HSX,Xây dựng và Vật liệu,600.0,5.4,NaN,1.5,3.5,5.0,0.3,0.7,22.3,1.2,17.4,3.3,56.93,-5.65,176.13,-10.89,18.59
-642,HVN,HSX,Du lịch và Giải trí,80715.0,-67.0,3.0,2.8,3.0,3.6,0.2,1.2,12.2,-12.2,6.9,0.0,15.73,1.52,NaN,26.38,20.53
-643,HVT,HNX,Hóa chất,813.0,20.4,2.5,2.8,3.0,4.0,-0.1,1.0,9.0,1.7,7.2,0.0,15.27,8.27,25.25,-5.12,16.45
-644,HVX,HSX,Xây dựng và Vật liệu,104.0,-11.2,2.3,1.2,NaN,2.6,0.0,0.5,-2.8,0.3,2.8,0.0,-32.06,-16.75,NaN,NaN,6.33
-645,HWI,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-646,HWS,UPCOM,"Điện, nước & xăng dầu khí đốt",1444.0,11.9,3.0,3.4,3.0,4.8,0.0,0.4,10.7,1.3,5.3,0.0,5.54,3.39,2.16,10.57,39.27
-647,IBC,HSX,Dịch vụ tài chính,141.0,-10.1,2.0,1.5,2.8,2.2,0.0,0.0,-1.6,0.2,12.4,0.0,-22.95,19.45,NaN,NaN,NaN
-648,IBD,UPCOM,Truyền thông,NaN,NaN,NaN,2.5,NaN,3.4,-0.1,0.0,NaN,NaN,NaN,NaN,NaN,NaN,64.65,NaN,NaN
-649,ICC,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.1,NaN,3.2,0.1,-0.3,NaN,NaN,NaN,NaN,NaN,NaN,-35.14,NaN,NaN
-650,ICF,UPCOM,Thực phẩm và đồ uống,37.0,-0.1,2.5,1.3,NaN,3.4,-0.2,0.7,-768.5,0.4,-23.6,0.0,-7.17,-17.47,1.35,NaN,23.5
-651,ICG,HNX,Xây dựng và Vật liệu,156.0,-0.9,NaN,1.7,2.9,2.6,0.1,0.1,-64.8,0.6,-109.1,0.0,1174.39,-36.18,NaN,-54.03,36.84
-652,ICI,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.6,NaN,2.6,0.3,-0.3,NaN,NaN,NaN,NaN,NaN,NaN,63.1,NaN,NaN
-653,ICN,UPCOM,Xây dựng và Vật liệu,1226.0,81.0,3.3,4.3,3.5,5.0,0.2,0.8,4.2,2.6,3.1,4.9,177.1,31.24,267.33,29.17,46.28
-654,ICT,HSX,Công nghệ Thông tin,434.0,5.1,2.8,1.2,3.0,4.6,0.0,0.9,13.0,0.7,2.4,7.3,5.12,-7.0,108.42,-19.1,19.34
-655,IDC,HNX,Bất động sản,13464.0,30.9,2.9,4.1,3.0,4.4,-0.2,1.5,8.2,2.5,4.5,6.5,22.24,12.41,43.23,39.4,30.74
-656,IDI,HSX,Thực phẩm và đồ uống,1677.0,2.2,2.0,1.5,3.0,2.6,-0.2,1.2,22.9,0.5,15.9,0.0,-1.17,-1.59,4.67,-30.6,7.01
-657,IDJ,HNX,Bất động sản,850.0,4.5,2.8,3.5,3.0,4.0,-0.1,1.6,9.2,0.4,7.6,0.0,-16.76,13.67,-12.61,6.8,44.22
-658,IDP,UPCOM,Thực phẩm và đồ uống,13597.0,25.3,2.9,4.3,3.9,3.8,0.0,-0.1,17.9,4.2,15.1,2.1,15.08,32.7,-5.31,49.22,39.44
-659,IDV,HNX,Bất động sản,1072.0,14.7,2.6,2.7,3.8,4.8,-0.1,1.4,8.6,1.2,19.1,4.5,-24.3,-10.3,-22.2,-13.98,62.7
-660,IFS,UPCOM,Thực phẩm và đồ uống,2266.0,13.2,2.8,2.1,3.5,4.2,-0.1,0.6,13.3,1.8,6.1,0.0,5.61,3.83,-17.1,-5.0,31.75
-661,IHK,UPCOM,Truyền thông,43.0,10.0,NaN,1.1,NaN,5.0,0.3,0.1,5.4,0.5,NaN,0.0,-39.48,-16.16,NaN,NaN,11.7
-662,IJC,HSX,Bất động sản,4627.0,7.4,2.4,2.4,3.0,4.0,-0.1,1.1,12.8,0.9,13.7,0.0,-31.73,-8.6,-10.31,-6.48,57.21
-663,ILA,UPCOM,Thực phẩm và đồ uống,94.0,2.5,NaN,1.3,NaN,3.2,0.1,0.4,18.7,0.5,11.4,0.0,133.15,-13.75,NaN,NaN,24.23
-664,ILB,HSX,Hàng & Dịch vụ Công nghiệp,1070.0,18.6,2.8,3.0,3.5,4.0,0.0,0.5,10.5,1.9,4.8,0.0,-6.65,3.48,-1.17,0.75,44.56
-665,ILC,UPCOM,Hàng & Dịch vụ Công nghiệp,42.0,-10.0,NaN,2.5,NaN,4.4,0.3,0.3,NaN,NaN,15.3,0.0,-22.13,10.63,365.97,118.32,14.95
-666,ILS,UPCOM,Hàng & Dịch vụ Công nghiệp,540.0,1.8,2.4,1.8,3.5,4.0,0.3,0.0,103.1,1.8,41.9,0.0,2.53,3.09,349.71,NaN,24.27
-667,IME,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.8,NaN,3.8,-0.2,-0.1,NaN,NaN,NaN,NaN,NaN,NaN,4.47,NaN,NaN
-668,IMP,HSX,Y tế,7731.0,15.2,3.1,3.6,3.9,4.8,0.1,0.8,23.2,3.4,14.5,0.0,10.59,9.47,7.11,-3.08,39.46
-669,IN4,UPCOM,Truyền thông,NaN,NaN,NaN,2.2,NaN,4.2,0.4,-0.3,NaN,NaN,NaN,NaN,NaN,NaN,16.46,-2.01,NaN
-670,INC,HNX,Xây dựng và Vật liệu,58.0,1.3,NaN,1.4,NaN,4.8,0.0,0.0,188.3,2.5,44.0,0.0,-12.76,0.78,-85.76,-31.88,27.66
-671,INN,HNX,Hàng & Dịch vụ Công nghiệp,1050.0,16.3,3.0,2.6,3.0,5.0,0.0,0.3,9.0,1.4,4.2,0.0,15.33,6.18,14.86,5.83,19.33
-672,IPA,HNX,Hàng & Dịch vụ Công nghiệp,2780.0,8.1,2.6,4.0,3.0,3.4,0.0,1.5,8.5,0.7,22.6,0.0,61.31,19.61,37.76,22.37,42.38
-673,IRC,UPCOM,Hóa chất,140.0,8.4,NaN,1.8,NaN,4.2,0.1,0.0,9.4,0.8,-18.5,6.1,27.27,-4.12,105.73,9.83,NaN
-674,ISG,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.9,NaN,2.8,0.3,-0.1,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-675,ISH,UPCOM,"Điện, nước & xăng dầu khí đốt",1305.0,12.5,2.6,2.7,3.0,4.8,0.0,0.4,17.2,2.2,10.5,3.7,-15.21,-3.6,-18.14,-3.16,26.13
-676,IST,UPCOM,Hàng & Dịch vụ Công nghiệp,483.0,28.1,3.1,2.9,3.5,4.0,0.2,0.8,7.2,1.9,5.2,0.0,9.16,9.93,19.29,6.26,27.28
-677,ITA,HSX,Bất động sản,2158.0,1.0,2.5,2.5,3.0,4.0,-0.3,0.2,21.3,0.2,17.9,0.0,-33.68,-22.06,-43.64,-10.92,48.01
-678,ITC,HSX,Bất động sản,1170.0,1.5,2.7,2.4,3.0,2.8,0.0,1.2,35.7,0.5,13.6,0.0,8.27,4.89,-57.81,-23.83,39.96
-679,ITD,HSX,Công nghệ Thông tin,344.0,16.6,3.3,2.7,3.5,4.8,0.0,0.9,7.4,1.1,5.8,0.0,14.52,6.95,NaN,-28.55,25.14
-680,ITQ,HNX,Tài nguyên Cơ bản,83.0,0.2,2.0,1.3,NaN,3.0,0.0,0.8,103.1,0.2,30.5,0.0,2.02,3.91,-45.49,0.96,5.54
-681,ITS,UPCOM,Hàng & Dịch vụ Công nghiệp,185.0,1.4,NaN,2.0,NaN,1.8,0.3,1.2,46.6,0.6,23.2,0.0,23.18,11.52,-12.86,94.59,3.04
-682,IVS,HNX,Dịch vụ tài chính,997.0,1.6,2.4,2.7,3.0,4.2,-0.1,1.0,66.0,0.9,38.5,0.0,-7.17,24.22,-36.63,NaN,74.09
-683,JOS,UPCOM,Thực phẩm và đồ uống,17.0,12.2,NaN,1.0,NaN,2.8,0.1,-0.2,-0.4,-0.1,-30.8,0.0,-57.77,-31.43,NaN,NaN,2.42
-684,JVC,HSX,Y tế,597.0,10.8,2.8,2.3,3.5,4.8,0.2,1.1,10.3,1.1,8.5,0.0,6.12,3.17,-23.47,28.36,27.07
-685,KAC,UPCOM,Bất động sản,504.0,4.9,2.5,1.6,3.5,4.2,0.0,0.0,23.8,1.1,NaN,0.0,57.56,NaN,131.0,NaN,5.73
-686,KBC,HSX,Bất động sản,20303.0,6.7,2.5,2.2,3.0,3.8,0.0,1.3,16.2,1.0,17.1,0.0,-50.6,-2.86,-81.19,-20.95,38.78
-687,KCB,UPCOM,Tài nguyên Cơ bản,NaN,NaN,NaN,2.0,NaN,5.0,0.4,1.2,NaN,NaN,NaN,NaN,NaN,NaN,-8.26,NaN,NaN
-688,KCE,UPCOM,Xây dựng và Vật liệu,20.0,5.9,NaN,2.4,NaN,4.4,0.3,0.4,NaN,NaN,3.5,10.0,17.52,-0.35,51.88,25.79,24.81
-689,KDC,HSX,Thực phẩm và đồ uống,16026.0,-0.6,2.0,1.3,3.0,2.8,0.0,0.2,-373.8,2.4,103.1,0.0,-3.77,2.91,-73.94,-26.28,16.62
-690,KDH,HSX,Bất động sản,29222.0,5.6,2.6,3.0,4.1,3.6,-0.1,1.1,33.6,1.7,26.2,0.0,57.04,3.11,13.24,-10.85,43.2
-691,KDM,HNX,Xây dựng và Vật liệu,94.0,1.3,NaN,1.2,NaN,3.4,-0.1,0.1,94.8,1.2,-225.8,0.0,-52.25,-6.32,-19.78,-9.11,NaN
-692,KGM,UPCOM,Bán lẻ,147.0,2.1,NaN,2.4,2.9,1.8,-0.1,0.9,25.9,0.5,14.6,0.0,1.86,14.94,-58.14,32.27,9.87
-693,KHD,UPCOM,Tài nguyên Cơ bản,38.0,24.1,NaN,2.0,NaN,5.0,0.3,0.3,5.2,1.2,2.0,0.0,118.94,-22.17,NaN,4.13,22.69
-694,KHG,HSX,Bất động sản,2422.0,1.1,2.7,2.3,3.0,4.2,0.0,1.0,42.5,0.5,-118.0,0.0,-6.26,17.79,115.39,30.71,21.3
-695,KHL,UPCOM,Xây dựng và Vật liệu,8.0,-2.2,NaN,1.1,NaN,2.6,0.0,0.0,-25.5,0.6,NaN,0.0,-77.4,NaN,NaN,NaN,NaN
-696,KHP,HSX,"Điện, nước & xăng dầu khí đốt",709.0,2.6,2.4,1.6,4.7,2.8,0.1,0.6,40.0,1.1,5.6,3.7,14.72,5.8,5.37,1.48,0.01
-697,KHS,HNX,Thực phẩm và đồ uống,284.0,19.4,NaN,2.1,NaN,3.6,0.4,0.7,6.7,1.2,4.4,12.3,-6.64,-10.26,2257.23,-0.48,17.52
-698,KHW,UPCOM,"Điện, nước & xăng dầu khí đốt",1090.0,25.5,3.1,3.5,3.5,4.8,0.3,0.3,12.6,3.1,12.6,0.0,12.98,2.66,41.94,14.61,20.63
-699,KIP,UPCOM,Hàng & Dịch vụ Công nghiệp,146.0,9.7,NaN,1.7,3.5,4.2,0.3,0.4,11.5,1.0,NaN,0.0,-3.23,4.5,66.28,8.76,19.46
-700,KKC,HNX,Tài nguyên Cơ bản,30.0,16.4,NaN,1.8,NaN,4.8,0.1,0.1,4.0,0.6,-153.7,0.0,-14.16,-30.44,1986.15,NaN,29.2
-701,KLB,UPCOM,Ngân hàng,4701.0,15.7,3.4,3.4,3.0,2.5,0.0,0.8,4.7,0.7,NaN,0.0,42.2,26.89,54.62,67.32,NaN
-702,KLF,HNX,Du lịch và Giải trí,132.0,-7.2,2.6,1.1,3.5,4.0,0.0,0.0,-1.1,0.1,-7.6,0.0,-67.91,-18.53,NaN,NaN,19.25
-703,KMR,HSX,Hàng cá nhân & Gia dụng,176.0,1.1,2.5,1.5,3.0,3.8,-0.1,0.6,25.0,0.3,5.3,0.0,-16.62,-5.45,-30.16,10.11,10.77
-704,KMT,HNX,Tài nguyên Cơ bản,98.0,6.5,NaN,2.2,NaN,2.2,0.0,0.3,10.8,0.7,25.9,0.0,16.42,20.12,20.92,8.03,1.92
-705,KNA,UPCOM,Tài nguyên Cơ bản,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-706,KOS,HSX,Bất động sản,8378.0,0.9,2.0,2.2,2.1,2.8,0.0,0.0,395.7,3.6,52.9,0.0,9.36,6.25,1.77,1.33,11.82
-707,KPF,HSX,Xây dựng và Vật liệu,74.0,-42.3,2.4,1.0,3.0,4.2,-0.4,0.3,-0.3,0.1,-0.3,0.0,NaN,NaN,NaN,NaN,NaN
-708,KSB,HSX,Tài nguyên Cơ bản,1894.0,3.0,2.0,2.1,3.0,3.4,-0.1,1.3,23.7,0.7,19.8,0.0,-24.09,-21.12,-28.04,-36.53,45.6
-709,KSD,HNX,Hàng cá nhân & Gia dụng,59.0,0.3,NaN,1.1,NaN,4.8,0.2,0.2,166.9,0.5,31.8,0.0,-9.97,-14.83,NaN,NaN,14.7
-710,KSF,HNX,Bất động sản,19230.0,8.1,2.5,2.5,3.0,4.2,0.3,0.7,51.0,3.8,40.9,0.0,345.26,NaN,389.0,NaN,22.02
-711,KSH,UPCOM,Tài nguyên Cơ bản,23.0,0.0,NaN,1.0,NaN,4.2,0.0,0.0,-1771.1,0.0,-3020.0,0.0,NaN,NaN,NaN,NaN,NaN
-712,KSQ,HNX,Tài nguyên Cơ bản,51.0,-3.1,NaN,1.5,NaN,3.0,-0.4,1.1,-6.1,0.2,-36.9,0.0,123.23,46.8,NaN,NaN,NaN
-713,KSS,UPCOM,Tài nguyên Cơ bản,0.0,-46.6,NaN,NaN,NaN,NaN,NaN,NaN,-0.3,0.2,NaN,0.0,NaN,NaN,NaN,NaN,85.13
-714,KST,HNX,Công nghệ Thông tin,83.0,8.8,NaN,1.9,NaN,4.0,0.0,0.3,12.2,1.1,5.4,0.0,151.67,19.39,85.95,-11.97,22.34
-715,KSV,UPCOM,Tài nguyên Cơ bản,37600.0,48.2,2.3,3.8,3.4,3.6,0.9,0.2,24.5,9.7,12.1,0.0,11.26,16.61,848.69,NaN,20.51
-716,KTC,UPCOM,Du lịch và Giải trí,336.0,5.7,2.4,1.6,3.5,1.8,0.1,0.2,14.3,0.8,24.0,0.0,-9.61,-3.61,0.32,-1.53,4.16
-717,KTL,UPCOM,Tài nguyên Cơ bản,321.0,12.3,2.2,1.8,3.5,2.4,-0.1,0.1,6.4,0.7,31.6,0.0,11.77,1.27,-24.98,-13.74,11.92
-718,KTS,HNX,Thực phẩm và đồ uống,251.0,21.8,NaN,3.9,NaN,3.0,0.0,0.3,5.0,1.0,6.7,0.0,-26.13,21.17,41.7,72.57,31.57
-719,KTT,HNX,Xây dựng và Vật liệu,7.0,-118.5,NaN,1.0,NaN,2.4,-0.1,0.0,-0.3,1.2,-699.0,0.0,-92.73,14.05,NaN,NaN,NaN
-720,KVC,HNX,Tài nguyên Cơ bản,79.0,0.9,NaN,1.2,NaN,3.0,-0.1,1.3,19.7,0.2,25.7,0.0,-25.27,-24.55,NaN,NaN,NaN
-721,KWA,UPCOM,"Điện, nước & xăng dầu khí đốt",NaN,NaN,NaN,1.5,NaN,3.2,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-722,L10,HSX,Hàng & Dịch vụ Công nghiệp,206.0,10.5,2.9,1.5,3.0,4.6,0.1,0.6,7.0,0.7,2.3,7.4,2.39,-4.31,6.39,9.51,3.22
-723,L12,UPCOM,Xây dựng và Vật liệu,28.0,2.2,NaN,1.2,NaN,2.4,0.0,0.7,104.5,2.3,NaN,0.0,66.83,6.82,30.28,-11.28,9.06
-724,L14,HNX,Xây dựng và Vật liệu,861.0,5.0,2.3,1.9,2.8,5.0,-0.1,1.8,39.8,2.0,18.6,0.0,1.06,-11.94,-29.12,-28.49,53.67
-725,L18,HNX,Xây dựng và Vật liệu,1315.0,36.1,2.6,3.8,3.0,3.2,0.0,1.6,6.3,2.0,7.2,0.0,59.79,22.03,384.95,67.07,10.88
-726,L35,HNX,Hàng & Dịch vụ Công nghiệp,12.0,-43.4,NaN,1.2,NaN,1.6,0.0,0.2,-0.9,0.6,47.4,0.0,79.6,-11.11,NaN,NaN,11.18
-727,L40,HNX,Xây dựng và Vật liệu,183.0,48.7,NaN,2.6,NaN,4.2,0.4,0.6,4.3,1.7,22.9,0.0,130.37,14.11,3734.26,NaN,0.38
-728,L43,HNX,Hàng & Dịch vụ Công nghiệp,13.0,-38.8,NaN,1.1,NaN,2.6,0.3,0.6,-2.5,1.3,-77.1,0.0,218.32,-42.9,NaN,NaN,NaN
-729,L44,UPCOM,Hàng & Dịch vụ Công nghiệp,2.0,29.4,NaN,1.0,NaN,2.8,-0.2,0.0,-0.9,-0.1,NaN,0.0,NaN,NaN,NaN,NaN,-16.52
-730,L45,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.0,NaN,2.2,0.0,-0.7,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-731,L61,HNX,Hàng & Dịch vụ Công nghiệp,10.0,1271.7,NaN,1.0,3.5,2.2,0.0,0.0,-0.2,-0.3,33.7,0.0,-27.59,-26.48,NaN,NaN,3.92
-732,L62,HNX,Hàng & Dịch vụ Công nghiệp,22.0,-1009.0,NaN,1.0,NaN,3.0,0.0,-0.1,-0.2,-0.5,-17.4,0.0,-48.95,-38.96,NaN,NaN,7.94
-733,L63,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,2.0,NaN,1.8,0.1,-0.1,NaN,NaN,NaN,NaN,NaN,NaN,440.73,159.78,NaN
-734,LAF,HSX,Thực phẩm và đồ uống,259.0,18.1,3.1,3.2,NaN,4.4,0.1,0.7,6.0,1.0,5.2,8.7,7.99,-0.11,57.08,19.46,19.39
-735,LAI,UPCOM,Xây dựng và Vật liệu,NaN,NaN,3.4,4.2,NaN,2.8,-0.2,1.3,NaN,NaN,NaN,NaN,NaN,NaN,277.44,NaN,NaN
-736,LAS,HNX,Hóa chất,2189.0,12.5,3.0,3.2,3.2,4.4,-0.1,1.6,11.6,1.4,11.4,0.0,0.74,4.0,13.56,133.87,15.37
-737,LAW,UPCOM,"Điện, nước & xăng dầu khí đốt",342.0,11.2,NaN,2.1,NaN,3.6,0.3,0.5,16.5,1.8,7.5,0.0,17.13,14.17,36.6,-4.77,20.36
-738,LBE,HNX,Truyền thông,61.0,34.9,NaN,2.5,NaN,4.4,0.1,0.3,6.3,1.9,6.3,0.0,17.08,9.89,84.98,0.56,65.02
-739,LBM,HSX,Xây dựng và Vật liệu,1156.0,12.7,2.8,2.3,3.5,4.8,0.0,0.8,14.5,1.8,6.7,4.5,-3.18,8.19,-34.08,-18.8,22.57
-740,LCC,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.0,NaN,2.0,0.0,-0.1,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-741,LCD,HNX,Xây dựng và Vật liệu,29.0,0.3,NaN,1.4,NaN,2.2,0.0,0.0,292.6,1.0,17.5,0.0,6.02,-10.69,-23.83,-42.61,9.38
-742,LCG,HSX,Xây dựng và Vật liệu,1846.0,5.0,2.3,1.9,3.0,3.4,-0.1,1.1,14.5,0.7,8.9,0.0,40.3,2.12,17.24,-10.71,12.77
-743,LCM,HSX,Tài nguyên Cơ bản,32.0,1.8,NaN,1.3,NaN,3.4,0.0,0.0,14.6,0.3,47.2,0.0,-34.64,1.9,-47.89,-15.95,1.79
-744,LCS,HNX,Xây dựng và Vật liệu,4.0,-0.7,NaN,1.4,NaN,2.0,-0.3,0.0,-13.8,0.1,NaN,0.0,-70.54,-32.44,NaN,NaN,NaN
-745,LDG,HSX,Bất động sản,529.0,-71.7,2.1,1.0,3.0,2.8,-0.1,1.1,-0.4,0.4,-1.3,0.0,NaN,NaN,NaN,NaN,75.12
-746,LDP,HNX,Y tế,140.0,8.0,2.5,2.0,3.5,3.6,-0.2,0.4,18.0,1.4,8.9,0.0,17.18,-10.51,NaN,-2.73,34.01
-747,LDU,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-748,LDW,UPCOM,"Điện, nước & xăng dầu khí đốt",1710.0,9.8,3.1,3.8,3.0,4.4,0.2,0.0,17.9,1.7,27.8,0.0,7.62,4.73,26.12,23.09,29.69
-749,LEC,HSX,Bất động sản,145.0,-13.3,2.3,1.1,3.5,2.4,-0.1,0.0,-4.0,0.6,53.0,0.0,21.65,-23.42,NaN,NaN,11.09
-750,LG9,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,2.0,NaN,1.8,0.3,0.0,NaN,NaN,NaN,NaN,NaN,NaN,-15.38,NaN,NaN
-751,LGC,HSX,Xây dựng và Vật liệu,12593.0,22.4,2.8,4.1,3.0,2.0,0.0,0.1,14.6,3.1,13.3,0.0,56.76,28.56,-23.1,9.04,64.48
-752,LGL,HSX,Bất động sản,162.0,-6.6,2.5,1.0,3.5,2.8,0.0,0.8,-3.6,0.2,-26.4,0.0,-50.82,-48.86,NaN,NaN,0.3
-753,LGM,UPCOM,Hàng cá nhân & Gia dụng,NaN,NaN,NaN,1.0,NaN,2.0,0.0,0.1,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-754,LHC,HNX,Xây dựng và Vật liệu,1037.0,16.3,2.6,2.1,3.0,4.6,0.0,0.7,13.1,2.0,5.1,3.5,7.64,9.72,-18.0,-8.2,21.13
-755,LHG,HSX,Bất động sản,1515.0,15.7,2.9,3.1,3.0,4.8,-0.1,1.0,5.7,0.9,6.1,0.0,7.25,-6.7,12.79,5.61,59.95
-756,LIC,UPCOM,Xây dựng và Vật liệu,2854.0,21.3,2.0,1.8,2.4,1.8,0.2,1.6,38.1,7.5,52.1,0.0,10.5,-0.49,NaN,NaN,12.49
-757,LIG,HNX,Xây dựng và Vật liệu,273.0,0.0,2.4,1.3,3.2,2.0,-0.1,0.9,-1483.3,0.3,67.8,0.0,11.25,10.64,-28.44,-39.05,4.95
-758,LIX,HSX,Hàng cá nhân & Gia dụng,1879.0,21.1,2.9,2.6,3.1,5.0,-0.1,0.9,9.5,1.9,5.5,5.3,2.73,2.63,6.04,-10.84,23.08
-759,LKW,UPCOM,"Điện, nước & xăng dầu khí đốt",NaN,NaN,NaN,2.1,NaN,3.4,0.2,0.3,NaN,NaN,NaN,NaN,NaN,NaN,5.27,6.24,NaN
-760,LLM,UPCOM,Hàng & Dịch vụ Công nghiệp,1283.0,9.7,2.6,1.2,2.4,4.0,0.3,0.9,12.4,1.2,-5.7,0.0,20.13,-2.83,2094.43,NaN,2.0
-761,LM3,UPCOM,Xây dựng và Vật liệu,16.0,0.6,NaN,1.1,NaN,2.8,0.0,0.0,-9.0,0.0,-28.7,0.0,-69.22,-26.19,-77.46,NaN,-17.05
-762,LM7,HNX,Hàng & Dịch vụ Công nghiệp,16.0,-481.8,NaN,1.0,NaN,3.0,0.2,0.4,-0.7,-2.2,-5.8,0.0,63.94,-16.84,NaN,NaN,NaN
-763,LM8,HSX,Xây dựng và Vật liệu,128.0,6.2,NaN,1.3,3.5,2.2,-0.1,0.1,6.7,0.4,7.1,0.0,16.31,-2.35,38.51,2.61,6.77
-764,LMC,UPCOM,Tài nguyên Cơ bản,NaN,NaN,NaN,2.4,NaN,3.4,-0.2,0.6,NaN,NaN,NaN,NaN,NaN,NaN,72.61,24.03,NaN
-765,LMH,UPCOM,"Điện, nước & xăng dầu khí đốt",21.0,12.4,NaN,1.0,3.5,2.0,0.0,0.0,-3.4,-0.4,-38.3,0.0,NaN,NaN,NaN,NaN,NaN
-766,LMI,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.6,NaN,2.2,0.1,0.2,NaN,NaN,NaN,NaN,NaN,NaN,45.78,-1.86,NaN
-767,LNC,UPCOM,Hóa chất,NaN,NaN,NaN,2.1,NaN,1.4,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,33.99,NaN,NaN
-768,LO5,UPCOM,Hàng & Dịch vụ Công nghiệp,6.0,5.0,NaN,1.1,NaN,2.2,0.2,0.2,-1.0,0.0,54.4,0.0,4.08,-21.52,NaN,NaN,25.49
-769,LPB,HSX,Ngân hàng,97236.0,24.2,2.7,4.6,3.0,2.7,0.1,0.8,9.8,2.1,NaN,8.6,27.57,25.1,74.45,19.6,NaN
-770,LPT,UPCOM,Hàng & Dịch vụ Công nghiệp,84.0,-0.1,NaN,1.3,NaN,5.0,-0.1,0.6,-562.9,0.5,7.0,0.0,7.3,NaN,355.42,NaN,NaN
-771,LQN,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.0,NaN,2.2,-0.1,0.3,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-772,LSG,UPCOM,Bất động sản,1627.0,-1.2,2.9,1.5,NaN,3.4,0.3,1.3,-127.4,1.6,-198.7,0.0,260.53,NaN,-54.32,NaN,NaN
-773,LSS,HSX,Thực phẩm và đồ uống,837.0,5.1,2.7,2.5,3.0,2.8,-0.1,1.1,9.6,0.5,7.1,0.0,21.82,9.39,25.06,25.6,13.81
-774,LTC,UPCOM,Công nghệ Thông tin,10.0,-7.1,NaN,1.1,NaN,3.2,-0.6,0.1,-3.6,0.3,NaN,0.0,16.26,-53.01,NaN,NaN,11.11
-775,LTG,UPCOM,Hóa chất,645.0,0.0,1.9,1.2,3.0,2.0,-0.5,0.3,795.3,0.2,6.5,0.0,37.62,12.24,-95.9,-49.5,6.37
-776,LTQ,UPCOM,Tài nguyên Cơ bản,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-777,LUT,HNX,Xây dựng và Vật liệu,7.0,-1.8,NaN,1.0,NaN,2.6,-0.2,0.2,-3.1,0.1,-51.1,0.0,NaN,NaN,NaN,NaN,NaN
-778,M10,UPCOM,Hàng cá nhân & Gia dụng,632.0,18.8,2.6,2.3,3.0,3.0,-0.1,1.1,6.1,1.1,10.3,3.9,12.26,6.76,-5.25,6.51,9.32
-779,MA1,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,2.9,NaN,3.4,0.7,0.6,NaN,NaN,NaN,NaN,NaN,NaN,37.08,8.26,NaN
-780,MAC,HNX,Hàng & Dịch vụ Công nghiệp,459.0,23.6,NaN,3.2,NaN,5.0,0.3,0.5,8.9,1.9,106.7,0.0,63.28,-4.55,15.79,22.07,13.22
-781,MAS,HNX,Du lịch và Giải trí,149.0,20.0,NaN,2.0,3.5,4.4,0.0,0.0,22.2,4.2,10.6,0.0,21.96,-6.55,100.03,-13.92,17.45
-782,MBB,HSX,Ngân hàng,152862.0,22.9,3.2,4.7,3.0,2.7,0.0,1.1,6.2,1.2,NaN,0.0,17.14,17.59,9.46,12.37,NaN
-783,MBG,HNX,Xây dựng và Vật liệu,385.0,2.6,2.8,1.8,3.4,4.8,-0.1,1.1,11.6,0.3,11.8,0.0,-38.8,-14.04,NaN,-4.88,6.97
-784,MBN,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.0,NaN,3.4,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-785,MBS,HNX,Dịch vụ tài chính,15522.0,13.4,2.5,4.1,3.3,2.6,0.0,1.7,18.7,2.2,16.3,0.0,71.83,27.02,27.32,8.61,83.9
-786,MCC,HNX,Xây dựng và Vật liệu,62.0,5.9,NaN,2.0,NaN,4.2,0.0,0.0,15.0,0.9,11.0,0.0,29.81,-24.36,744.58,-27.66,37.77
-787,MCF,HNX,Thực phẩm và đồ uống,84.0,6.9,NaN,1.8,NaN,2.2,0.0,0.6,9.9,0.7,24.1,8.1,8.17,2.87,-11.13,-1.14,8.74
-788,MCG,HSX,Xây dựng và Vật liệu,88.0,-2.6,1.5,1.4,NaN,1.2,-0.1,0.9,-36.5,1.0,31.6,0.0,17.01,-17.65,NaN,NaN,25.27
-789,MCH,UPCOM,Thực phẩm và đồ uống,136210.0,36.0,2.7,4.0,3.0,4.0,0.0,0.9,17.6,8.8,16.5,5.3,9.41,10.82,10.14,5.7,46.73
-790,MCM,UPCOM,Thực phẩm và đồ uống,3234.0,9.2,2.8,2.2,3.8,4.8,-0.1,0.8,14.9,1.4,14.7,5.8,-6.97,2.66,-41.26,5.67,24.61
-791,MCO,HNX,Xây dựng và Vật liệu,34.0,0.4,NaN,2.1,NaN,3.8,-0.2,1.2,169.9,0.6,28.7,0.0,-32.01,11.46,-34.88,25.99,6.81
-792,MCP,HSX,Hàng & Dịch vụ Công nghiệp,553.0,9.0,2.5,2.7,3.5,5.0,0.1,0.2,23.2,2.0,26.6,0.0,-5.32,11.46,72.65,90.99,9.38
-793,MDA,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,2.6,NaN,2.8,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,12.63,59.51,NaN
-794,MDC,HNX,Tài nguyên Cơ bản,255.0,14.6,2.7,2.0,NaN,3.6,0.0,0.9,5.3,0.7,3.1,0.0,-3.15,4.69,0.7,16.17,9.09
-795,MDD,HNX,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-796,MDF,UPCOM,Tài nguyên Cơ bản,358.0,2.3,2.1,1.2,3.2,2.2,0.1,0.7,24.2,0.6,23.5,0.0,30.54,0.39,NaN,-34.22,7.83
-797,MDG,HSX,Xây dựng và Vật liệu,135.0,18.3,NaN,1.8,NaN,3.6,0.1,-0.2,6.1,1.0,6.2,0.0,-17.45,-11.99,NaN,-19.55,26.92
-798,MEC,UPCOM,Xây dựng và Vật liệu,40.0,-468.4,NaN,1.4,NaN,3.0,0.0,-0.2,-0.2,-0.2,-46.6,0.0,13.16,-1.62,NaN,NaN,1.92
-799,MED,HNX,Y tế,310.0,4.1,2.2,1.4,NaN,4.2,0.0,0.2,22.9,0.9,12.1,0.0,10.03,-9.46,29.83,-15.54,23.86
-800,MEF,UPCOM,Y tế,NaN,NaN,NaN,2.3,NaN,3.4,0.2,0.3,NaN,NaN,NaN,NaN,NaN,NaN,26.39,NaN,NaN
-801,MEL,HNX,Tài nguyên Cơ bản,90.0,3.1,NaN,1.2,NaN,2.0,0.0,0.5,11.3,0.3,18.5,0.0,31.16,-3.94,82.29,3.35,4.78
-802,MES,UPCOM,Xây dựng và Vật liệu,186.0,-0.5,NaN,1.2,NaN,4.2,0.0,0.0,-224.4,1.1,-134.9,0.0,-43.44,-23.42,NaN,NaN,50.08
-803,MFS,UPCOM,Viễn thông,NaN,NaN,NaN,1.4,3.5,5.0,0.2,1.3,NaN,NaN,NaN,NaN,NaN,NaN,-33.37,-15.09,NaN
-804,MGC,UPCOM,Tài nguyên Cơ bản,NaN,NaN,NaN,1.3,NaN,2.6,0.7,0.7,NaN,NaN,NaN,NaN,NaN,NaN,-45.96,-7.81,NaN
-805,MGG,UPCOM,Hàng cá nhân & Gia dụng,NaN,NaN,2.8,1.7,3.5,2.6,0.1,0.0,NaN,NaN,NaN,NaN,NaN,NaN,14.31,NaN,NaN
-806,MGR,UPCOM,Bất động sản,102.0,-10.0,NaN,1.0,NaN,4.2,0.2,0.2,-6.8,0.7,-7.4,0.0,-78.26,NaN,NaN,NaN,NaN
-807,MH3,UPCOM,Bất động sản,705.0,7.6,2.3,2.1,3.3,4.2,0.0,1.4,15.5,1.2,37.2,0.0,-39.38,-7.53,1.34,-22.64,33.29
-808,MHC,HSX,Hàng & Dịch vụ Công nghiệp,356.0,-1.8,2.7,1.2,NaN,3.8,0.0,0.6,-36.8,0.7,-46.3,0.0,-89.14,-15.64,-54.04,4.38,NaN
-809,MHL,HNX,Tài nguyên Cơ bản,17.0,-47.3,NaN,1.0,NaN,2.0,0.0,0.0,-1.7,2.2,-43.6,0.0,-90.98,-41.41,NaN,NaN,NaN
-810,MIC,UPCOM,Tài nguyên Cơ bản,106.0,8.3,NaN,3.6,NaN,3.6,0.0,1.5,15.9,1.5,NaN,0.0,27.71,13.39,-3.07,32.69,50.31
-811,MIE,UPCOM,Hàng & Dịch vụ Công nghiệp,1207.0,0.5,2.3,2.1,2.3,2.8,0.2,0.1,160.8,0.9,46.5,0.0,19.41,3.49,11.59,2.3,13.86
-812,MIG,HSX,Bảo hiểm,3314.0,11.3,2.6,1.7,3.6,3.6,-0.1,1.1,12.6,1.3,-5.2,0.0,NaN,NaN,-14.99,3.62,NaN
-813,MIM,HNX,Tài nguyên Cơ bản,14.0,-75.3,NaN,1.0,NaN,2.4,0.0,0.0,-0.9,1.1,-2.1,0.0,-20.57,-5.89,NaN,NaN,NaN
-814,MKP,UPCOM,Y tế,686.0,1.1,2.5,1.6,3.2,4.0,0.0,0.2,47.0,0.5,81.9,1.8,1.64,-5.45,62.4,-9.03,23.2
-815,MKV,HNX,Y tế,48.0,8.9,NaN,2.8,NaN,5.0,0.0,0.5,6.4,0.5,1.9,0.0,-3.49,0.89,18.11,33.96,28.83
-816,MLC,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,3.4,NaN,3.4,0.2,0.1,NaN,NaN,NaN,NaN,NaN,NaN,75.4,29.83,NaN
-817,MLS,UPCOM,Thực phẩm và đồ uống,91.0,57.5,NaN,2.7,NaN,3.8,0.3,1.2,11.5,5.2,8.3,0.0,12.57,8.81,NaN,NaN,9.47
-818,MML,UPCOM,Thực phẩm và đồ uống,9321.0,3.9,1.8,1.4,3.3,2.0,0.0,1.0,50.0,2.1,21.3,0.0,9.53,-11.13,NaN,-25.28,27.6
-819,MNB,UPCOM,Hàng cá nhân & Gia dụng,516.0,24.3,2.4,2.2,3.4,2.4,0.1,0.8,5.2,1.2,6.2,0.0,23.71,-0.85,186.67,11.12,19.26
-820,MND,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,2.5,NaN,3.2,0.0,-0.1,NaN,NaN,NaN,NaN,NaN,NaN,24.01,21.36,NaN
-821,MPC,UPCOM,Thực phẩm và đồ uống,4145.0,-2.6,2.1,1.0,3.5,2.4,-0.2,1.0,-31.3,0.9,26.2,0.0,36.85,-2.82,NaN,NaN,8.86
-822,MPT,UPCOM,Hàng cá nhân & Gia dụng,12.0,-10.0,NaN,1.0,NaN,4.2,0.1,0.0,-0.7,0.1,-0.7,0.0,NaN,NaN,NaN,NaN,NaN
-823,MPY,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,2.3,NaN,3.4,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,4.98,9.18,NaN
-824,MQB,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.7,NaN,5.0,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,8.38,NaN,NaN
-825,MQN,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,3.0,NaN,2.8,0.1,0.2,NaN,NaN,NaN,NaN,NaN,NaN,1.05,0.86,NaN
-826,MRF,UPCOM,Y tế,NaN,NaN,NaN,1.1,NaN,3.4,0.0,0.3,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-827,MSB,HSX,Ngân hàng,30810.0,15.9,3.1,4.2,3.0,1.9,0.0,1.1,5.5,0.8,NaN,0.0,15.98,24.7,18.84,25.45,NaN
-828,MSH,HSX,Hàng cá nhân & Gia dụng,3751.0,25.4,2.8,2.2,3.3,4.4,0.1,0.9,8.3,2.0,6.5,6.7,16.26,3.66,68.69,-9.37,18.44
-829,MSN,HSX,Thực phẩm và đồ uống,91479.0,8.0,2.1,2.2,3.0,2.4,-0.1,1.2,40.0,3.0,13.8,0.0,6.3,17.36,377.45,-21.65,32.78
-830,MSR,UPCOM,Tài nguyên Cơ bản,19633.0,-9.2,2.4,1.5,3.0,2.2,0.2,1.5,-17.2,1.6,18.2,0.0,1.72,24.96,NaN,NaN,10.51
-831,MST,HNX,Xây dựng và Vật liệu,418.0,2.5,2.2,2.6,3.0,3.0,0.1,1.2,19.8,0.5,28.3,0.0,5.52,83.81,-74.9,3.68,2.45
-832,MT9,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-833,MTA,UPCOM,Tài nguyên Cơ bản,2155.0,5.4,2.4,2.3,3.0,4.0,0.8,1.1,37.4,2.0,13.2,0.0,11.06,7.08,NaN,NaN,17.45
-834,MTB,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.0,NaN,3.0,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-835,MTC,UPCOM,Du lịch và Giải trí,NaN,NaN,NaN,1.2,NaN,3.4,0.0,0.1,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-836,MTG,UPCOM,"Điện, nước & xăng dầu khí đốt",76.0,1.3,NaN,2.9,NaN,3.6,0.0,0.1,41.6,0.5,NaN,13.7,-8.83,18.33,560.06,NaN,11.97
-837,MTH,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,3.0,NaN,3.4,0.0,0.4,NaN,NaN,NaN,NaN,NaN,NaN,41.19,29.3,NaN
-838,MTL,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,2.0,NaN,3.4,0.1,0.3,NaN,NaN,NaN,NaN,NaN,NaN,-2.16,116.63,NaN
-839,MTP,UPCOM,Y tế,NaN,NaN,NaN,2.1,NaN,1.8,0.1,0.0,NaN,NaN,NaN,NaN,NaN,NaN,11.13,15.49,NaN
-840,MTS,UPCOM,Hàng & Dịch vụ Công nghiệp,135.0,8.5,NaN,1.3,3.5,3.8,0.0,0.1,8.8,0.7,4.0,7.4,-5.96,-0.33,-2.18,3.09,4.19
-841,MTV,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.9,NaN,5.0,0.0,-0.1,NaN,NaN,NaN,NaN,NaN,NaN,-12.16,NaN,NaN
-842,MVB,HNX,Tài nguyên Cơ bản,2352.0,13.8,2.8,1.9,3.9,4.2,0.0,0.8,9.7,1.3,4.5,5.3,7.88,1.22,-7.6,-4.4,15.66
-843,MVC,UPCOM,Xây dựng và Vật liệu,906.0,8.1,2.6,2.1,3.2,4.6,0.0,1.4,9.2,0.7,15.1,0.0,7.74,-5.9,20.53,-3.57,24.27
-844,MVN,UPCOM,Hàng & Dịch vụ Công nghiệp,76142.0,16.0,2.5,2.8,3.0,4.6,0.4,1.2,39.6,5.9,29.1,0.0,32.35,8.91,73.88,89.76,17.11
-845,MWG,HSX,Bán lẻ,95095.0,16.0,2.8,1.9,3.0,3.8,0.0,1.2,21.8,3.2,16.2,0.0,13.58,5.63,2119.77,-14.09,19.93
-846,NAB,UPCOM,Ngân hàng,23402.0,20.9,2.8,4.4,3.4,2.5,0.1,0.7,6.2,1.2,NaN,0.0,18.42,29.7,37.59,13.02,NaN
-847,NAC,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.8,NaN,2.6,0.3,0.0,NaN,NaN,NaN,NaN,NaN,NaN,70.66,5.33,NaN
-848,NAF,HSX,Thực phẩm và đồ uống,1246.0,10.3,2.7,2.7,3.0,3.2,0.2,0.4,12.1,1.3,8.7,0.0,-17.09,6.64,5.88,22.38,16.86
-849,NAG,HNX,Hàng & Dịch vụ Công nghiệp,515.0,7.5,2.4,2.8,NaN,2.0,0.2,0.6,16.4,1.2,16.2,0.0,28.57,21.68,10.29,-2.72,8.68
-850,NAP,HNX,Hàng & Dịch vụ Công nghiệp,217.0,5.8,NaN,2.5,3.5,4.2,0.0,-0.1,15.0,0.9,5.0,0.0,-12.31,3.12,-20.92,13.83,24.35
-851,NAS,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,2.8,2.4,3.5,3.8,0.3,-0.3,NaN,NaN,NaN,NaN,NaN,NaN,121.59,-2.43,NaN
-852,NAU,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.1,NaN,2.6,0.1,-0.1,NaN,NaN,NaN,NaN,NaN,NaN,28.54,NaN,NaN
-853,NAV,HSX,Xây dựng và Vật liệu,144.0,17.9,2.9,2.4,NaN,4.2,0.1,0.5,7.4,1.4,12.1,10.9,-17.88,0.18,-9.33,5.83,14.05
-854,NAW,UPCOM,"Điện, nước & xăng dầu khí đốt",303.0,0.8,2.6,2.1,3.5,3.2,0.0,0.0,103.2,0.8,34.7,0.0,7.72,5.36,6.29,30.76,20.56
-855,NBB,HSX,Bất động sản,2354.0,0.1,2.1,1.5,3.0,2.0,0.0,0.5,2503.5,1.3,822.1,0.0,-77.91,-27.83,-59.9,-70.58,39.23
-856,NBC,HNX,Tài nguyên Cơ bản,366.0,5.6,2.6,1.5,3.0,2.4,-0.1,1.1,11.7,0.7,3.0,0.0,-13.74,2.87,-64.37,1.72,8.58
-857,NBE,UPCOM,Truyền thông,NaN,NaN,NaN,2.5,NaN,3.2,0.0,0.3,NaN,NaN,NaN,NaN,NaN,NaN,-3.7,NaN,NaN
-858,NBP,HNX,"Điện, nước & xăng dầu khí đốt",153.0,-4.3,NaN,1.0,NaN,3.6,0.0,0.0,-14.7,0.7,16.1,0.0,23.16,-0.53,NaN,NaN,26.39
-859,NBT,UPCOM,"Điện, nước & xăng dầu khí đốt",550.0,12.9,2.9,2.9,NaN,4.8,0.1,0.1,9.5,1.2,7.3,2.8,7.34,4.34,4.31,4.53,64.72
-860,NBW,HNX,"Điện, nước & xăng dầu khí đốt",391.0,18.6,NaN,2.8,3.5,3.4,0.1,0.8,11.1,2.0,4.4,0.0,1.93,6.38,12.78,17.43,33.67
-861,NCS,UPCOM,Thực phẩm và đồ uống,494.0,33.2,2.8,2.5,3.5,3.6,0.0,0.6,8.7,2.5,5.5,0.0,19.28,2.49,18.59,9.77,16.75
-862,NCT,HSX,Hàng & Dịch vụ Công nghiệp,2669.0,50.8,2.7,3.5,3.0,4.2,0.0,0.6,9.5,4.3,7.3,0.0,31.19,5.65,22.9,3.87,45.0
-863,ND2,UPCOM,"Điện, nước & xăng dầu khí đốt",1968.0,19.7,2.6,3.8,3.0,3.2,0.1,0.3,12.4,2.4,8.2,0.0,12.13,0.9,51.14,10.41,24.12
-864,NDC,UPCOM,Y tế,NaN,NaN,2.6,3.0,3.5,3.4,0.0,-0.1,NaN,NaN,NaN,NaN,NaN,NaN,2.31,14.34,NaN
-865,NDF,UPCOM,Thực phẩm và đồ uống,7.0,10.3,NaN,1.3,NaN,5.0,0.0,0.0,2.8,0.3,23.1,0.0,-24.2,NaN,NaN,NaN,37.16
-866,NDN,HNX,Bất động sản,652.0,4.4,2.6,2.7,3.0,5.0,-0.1,1.4,13.4,0.6,142.7,5.6,-87.24,5.97,-83.42,-11.97,37.22
-867,NDP,UPCOM,Y tế,205.0,9.1,3.0,1.7,3.5,4.8,-0.1,-0.1,21.2,1.9,NaN,2.7,17.46,3.18,14.1,-2.41,48.21
-868,NDT,UPCOM,Hàng cá nhân & Gia dụng,70.0,-89.6,NaN,1.1,NaN,1.4,-0.2,1.1,-1.1,1.7,9.2,0.0,-5.26,4.14,NaN,NaN,5.92
-869,NDW,UPCOM,"Điện, nước & xăng dầu khí đốt",229.0,8.6,NaN,2.3,NaN,5.0,0.0,0.0,7.0,0.6,4.6,12.0,2.8,3.46,0.97,5.2,36.18
-870,NDX,HNX,Xây dựng và Vật liệu,47.0,-0.3,NaN,1.1,NaN,2.8,-0.1,1.1,-151.7,0.4,127.2,0.0,-57.47,-14.7,-96.18,-54.55,0.64
-871,NED,UPCOM,Xây dựng và Vật liệu,285.0,6.1,2.7,2.5,3.5,3.8,0.0,1.0,9.7,0.6,6.2,0.0,19.68,-15.08,710.46,10.93,50.52
-872,NET,HNX,Hàng cá nhân & Gia dụng,1778.0,40.0,2.9,4.1,3.0,4.6,-0.1,0.8,8.4,3.1,5.7,0.0,-8.68,7.39,15.8,20.56,25.64
-873,NFC,HNX,Hóa chất,881.0,31.4,3.9,3.6,NaN,4.2,0.7,0.4,12.0,3.4,7.2,12.4,25.85,13.85,58.96,36.92,26.46
-874,NGC,UPCOM,Thực phẩm và đồ uống,5.0,211.4,NaN,1.0,NaN,3.2,0.0,0.0,-0.8,-0.8,-40.1,0.0,-52.12,-16.75,NaN,NaN,5.54
-875,NHA,HSX,Xây dựng và Vật liệu,923.0,17.1,2.2,2.5,3.1,3.6,-0.1,1.4,10.8,1.7,9.0,0.0,119.26,-1.16,969.12,-10.11,46.86
-876,NHC,HNX,Xây dựng và Vật liệu,64.0,1.7,1.8,1.2,NaN,3.2,-0.2,0.1,69.1,1.2,41.6,0.0,264.26,-14.27,NaN,-46.19,8.44
-877,NHH,HSX,Hóa chất,1203.0,4.7,2.6,2.7,3.0,4.4,-0.2,1.0,18.4,0.9,4.8,0.0,2.83,11.21,-9.58,-12.73,18.57
-878,NHP,UPCOM,Hàng & Dịch vụ Công nghiệp,8.0,-6.5,NaN,1.0,NaN,3.0,0.0,0.0,-1.1,0.1,NaN,0.0,-59.4,NaN,NaN,NaN,NaN
-879,NHT,HSX,Hàng cá nhân & Gia dụng,269.0,10.3,2.7,1.7,3.5,3.8,0.0,0.6,9.5,1.0,7.6,0.0,13.74,9.47,4216.43,-20.08,37.37
-880,NHV,UPCOM,Tài nguyên Cơ bản,NaN,NaN,NaN,1.5,NaN,4.0,-0.1,-0.2,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-881,NJC,UPCOM,Hàng cá nhân & Gia dụng,NaN,NaN,NaN,1.9,NaN,1.8,0.1,-0.2,NaN,NaN,NaN,NaN,NaN,NaN,88.89,NaN,NaN
-882,NKG,HSX,Tài nguyên Cơ bản,5639.0,5.6,2.5,2.5,3.6,3.2,-0.2,1.3,15.3,0.8,11.1,0.0,10.83,11.1,285.84,36.23,6.44
-883,NLG,HSX,Bất động sản,13266.0,7.4,3.0,3.1,4.3,4.4,-0.1,1.3,18.9,1.4,10.6,0.0,126.19,23.1,7.06,-11.72,31.97
-884,NLS,UPCOM,"Điện, nước & xăng dầu khí đốt",NaN,NaN,NaN,2.8,NaN,2.8,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,59.8,24.41,NaN
-885,NNC,HSX,Xây dựng và Vật liệu,637.0,17.9,2.9,2.6,2.7,4.2,0.2,0.5,8.7,1.5,6.7,0.0,59.18,-11.52,67.97,-12.6,32.22
-886,NNT,UPCOM,"Điện, nước & xăng dầu khí đốt",NaN,NaN,3.0,2.6,3.5,3.4,0.2,0.0,NaN,NaN,NaN,NaN,NaN,NaN,8.87,10.77,NaN
-887,NO1,HSX,Hàng & Dịch vụ Công nghiệp,194.0,4.6,NaN,1.2,NaN,4.6,0.1,0.8,13.5,0.6,8.6,0.0,31.21,NaN,6.65,NaN,7.79
-888,NOS,UPCOM,Hàng & Dịch vụ Công nghiệp,14.0,5.5,NaN,1.0,NaN,2.8,-0.2,-0.2,0.0,0.0,-53.9,0.0,-1.15,-10.32,NaN,NaN,NaN
-889,NQB,UPCOM,"Điện, nước & xăng dầu khí đốt",138.0,7.1,2.9,2.7,NaN,3.8,-0.2,0.0,10.0,0.7,8.0,0.0,3.5,8.25,10.85,18.3,20.16
-890,NQN,UPCOM,"Điện, nước & xăng dầu khí đốt",712.0,8.5,2.6,2.1,3.2,3.6,0.0,0.1,12.6,1.1,10.6,0.0,3.85,6.61,7.68,1.84,22.53
-891,NQT,UPCOM,"Điện, nước & xăng dầu khí đốt",144.0,7.8,NaN,2.6,NaN,4.8,0.0,0.0,8.2,0.6,7.0,7.3,34.3,8.9,18.76,16.95,37.75
-892,NRC,HNX,Bất động sản,454.0,-12.9,2.2,1.4,3.0,3.0,0.1,1.0,-3.3,0.4,-12.4,0.0,11.24,-60.46,NaN,NaN,92.05
-893,NS2,UPCOM,"Điện, nước & xăng dầu khí đốt",824.0,3.3,2.8,2.5,3.4,3.4,0.0,0.4,42.1,1.4,7.5,0.0,33.96,11.99,29.11,8.34,53.51
-894,NSC,HSX,Thực phẩm và đồ uống,1476.0,15.5,2.8,2.9,3.4,4.2,0.1,0.4,6.7,1.0,5.6,0.0,20.3,10.03,-2.5,1.54,30.08
-895,NSG,UPCOM,Hóa chất,NaN,NaN,NaN,1.0,NaN,2.0,0.2,0.0,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-896,NSH,HNX,Tài nguyên Cơ bản,85.0,0.9,NaN,1.3,NaN,1.8,-0.1,1.2,38.9,0.4,12.0,0.0,-5.2,1.56,107.68,1.92,6.55
-897,NSL,UPCOM,"Điện, nước & xăng dầu khí đốt",NaN,NaN,NaN,2.2,NaN,3.2,0.2,0.0,NaN,NaN,NaN,NaN,NaN,NaN,1.82,-2.71,NaN
-898,NSS,UPCOM,Thực phẩm và đồ uống,NaN,NaN,NaN,1.1,NaN,3.4,0.2,-0.1,NaN,NaN,NaN,NaN,NaN,NaN,-90.0,NaN,NaN
-899,NST,HNX,Hàng cá nhân & Gia dụng,131.0,9.4,NaN,1.7,3.4,4.4,0.1,0.4,7.4,0.7,4.0,0.0,23.07,-3.06,62.8,4.41,33.2
-900,NT2,HSX,"Điện, nước & xăng dầu khí đốt",5326.0,7.0,2.6,1.3,3.8,4.6,0.0,0.9,19.2,1.3,7.3,0.0,-6.92,-4.93,-82.48,-35.7,3.13
-901,NTB,UPCOM,Bất động sản,16.0,35.8,NaN,1.0,NaN,2.8,0.0,0.0,-0.1,0.0,-182.1,0.0,NaN,NaN,NaN,NaN,NaN
-902,NTC,UPCOM,Bất động sản,3453.0,26.9,2.2,3.4,3.0,2.6,-0.2,1.6,11.6,2.9,31.5,0.0,56.36,13.66,-2.34,4.35,54.46
-903,NTF,UPCOM,Y tế,NaN,NaN,NaN,1.3,NaN,3.2,-0.2,-0.1,NaN,NaN,NaN,NaN,NaN,NaN,-3.0,0.68,NaN
-904,NTH,HNX,"Điện, nước & xăng dầu khí đốt",551.0,31.3,3.2,3.5,3.1,5.0,0.0,-0.1,9.6,3.0,8.8,8.5,-7.08,0.79,-7.07,6.26,63.29
-905,NTL,HSX,Bất động sản,1811.0,38.4,3.1,4.4,3.0,4.2,-0.3,1.4,2.9,1.0,2.0,6.5,57.69,11.53,70.27,5.81,23.38
-906,NTP,HNX,Xây dựng và Vật liệu,10405.0,24.3,2.9,3.0,3.0,4.4,0.2,1.2,12.4,2.8,10.4,2.4,9.29,3.89,31.51,8.25,28.24
-907,NTT,UPCOM,Hàng cá nhân & Gia dụng,212.0,22.7,NaN,2.1,3.3,2.2,0.2,0.3,5.0,1.0,10.4,0.0,53.87,3.42,NaN,NaN,10.42
-908,NTW,UPCOM,"Điện, nước & xăng dầu khí đốt",NaN,NaN,2.5,1.6,3.5,3.4,0.2,0.0,NaN,NaN,NaN,NaN,NaN,NaN,16.37,-3.4,NaN
-909,NUE,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.7,NaN,3.4,0.1,0.3,NaN,NaN,NaN,NaN,NaN,NaN,0.39,0.84,NaN
-910,NVB,HNX,Ngân hàng,12921.0,-87.4,2.5,1.8,2.8,2.1,0.1,1.1,-2.6,2.1,NaN,0.0,NaN,NaN,NaN,NaN,NaN
-911,NVL,HSX,Bất động sản,24669.0,-16.8,2.2,1.0,3.3,2.4,0.0,1.1,-3.9,0.7,1071.1,0.0,90.74,-3.66,NaN,NaN,36.31
-912,NVP,UPCOM,"Điện, nước & xăng dầu khí đốt",NaN,NaN,NaN,2.3,NaN,2.8,0.5,0.0,NaN,NaN,NaN,NaN,NaN,NaN,77.57,36.01,NaN
-913,NVT,HSX,Bất động sản,715.0,-12.9,2.3,2.0,2.6,3.8,-0.1,0.6,-25.4,3.3,8.2,0.0,8.92,8.13,NaN,NaN,60.71
-914,NWT,UPCOM,Du lịch và Giải trí,NaN,NaN,NaN,2.1,NaN,3.2,0.0,0.3,NaN,NaN,NaN,NaN,NaN,NaN,112.96,29.09,NaN
-915,NXT,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.6,NaN,2.8,-0.1,0.2,NaN,NaN,NaN,NaN,NaN,NaN,-38.9,NaN,NaN
-916,OCB,HSX,Ngân hàng,26754.0,9.5,2.4,3.0,3.4,1.4,-0.1,1.0,9.1,0.8,NaN,0.0,12.65,8.77,-3.93,-7.35,NaN
-917,OCH,HNX,Thực phẩm và đồ uống,1160.0,12.1,2.2,2.7,3.5,2.4,0.0,0.9,6.6,0.8,13.8,0.0,0.93,-3.51,36.65,35.92,27.02
-918,ODE,UPCOM,Truyền thông,NaN,NaN,NaN,1.7,2.9,3.4,0.0,0.1,NaN,NaN,NaN,NaN,NaN,NaN,-78.58,NaN,NaN
-919,OGC,HSX,Dịch vụ tài chính,1245.0,19.5,2.0,2.5,2.3,2.6,-0.1,1.0,10.4,1.8,14.3,0.0,2.26,-3.59,26.8,9.84,27.09
-920,OIL,UPCOM,Dầu khí,10290.0,1.9,2.1,1.5,3.2,3.0,-0.2,1.2,50.0,1.0,40.2,0.0,21.23,9.28,-26.94,12.26,2.54
-921,ONE,HNX,Công nghệ Thông tin,42.0,-0.1,NaN,1.5,NaN,4.0,-0.1,0.8,-404.8,0.4,3.9,0.0,10.83,8.53,-29.07,-20.81,12.87
-922,ONW,UPCOM,Du lịch và Giải trí,NaN,NaN,NaN,1.8,NaN,2.0,-0.1,-0.1,NaN,NaN,NaN,NaN,NaN,NaN,406.11,NaN,NaN
-923,OPC,HSX,Y tế,1531.0,11.9,2.8,2.6,3.0,4.2,0.0,0.3,15.4,1.8,9.8,0.0,-3.61,-0.42,-12.41,-15.14,43.33
-924,ORS,HSX,Dịch vụ tài chính,2883.0,7.9,2.5,3.9,3.0,3.0,-0.2,1.2,9.7,0.7,7.6,0.0,-26.39,64.33,65.9,32.93,36.95
-925,PAC,HSX,Hàng & Dịch vụ Công nghiệp,1492.0,13.1,2.4,2.2,3.5,3.2,-0.1,1.0,11.7,1.5,9.2,1.2,0.64,0.81,9.92,-5.35,11.83
-926,PAI,UPCOM,Viễn thông,54.0,6.6,NaN,2.6,NaN,5.0,0.1,-0.2,NaN,NaN,NaN,0.0,-13.72,1.68,-14.59,NaN,18.15
-927,PAN,HSX,Thực phẩm và đồ uống,4961.0,12.6,2.6,2.9,3.5,3.0,0.0,1.1,7.8,1.0,12.2,0.0,22.55,15.68,50.0,18.8,16.85
-928,PAP,UPCOM,Hàng & Dịch vụ Công nghiệp,6228.0,-6.3,2.5,1.0,NaN,3.4,0.2,0.3,-45.0,2.7,-108.4,0.0,NaN,NaN,NaN,NaN,NaN
-929,PAS,UPCOM,Tài nguyên Cơ bản,81.0,0.9,2.1,1.6,2.9,2.4,-0.2,1.3,24.2,0.2,31.4,0.0,56.34,-0.88,NaN,49.72,4.0
-930,PAT,UPCOM,Hóa chất,2176.0,51.7,2.6,2.5,NaN,4.6,0.0,0.7,7.5,3.8,6.7,11.2,0.63,NaN,-7.23,NaN,26.51
-931,PBC,UPCOM,Y tế,793.0,3.6,2.3,2.3,3.0,2.2,-0.1,0.9,17.4,0.6,17.9,0.0,-20.52,1.48,-44.92,14.0,21.16
-932,PBP,HNX,Hàng & Dịch vụ Công nghiệp,59.0,13.2,NaN,2.2,NaN,4.2,0.0,0.8,6.5,0.8,3.6,0.0,2.92,10.6,1.48,8.78,5.96
-933,PBT,UPCOM,Hàng & Dịch vụ Công nghiệp,217.0,8.8,NaN,1.9,3.5,4.8,0.4,0.8,12.5,1.1,5.2,0.0,11.79,19.26,8.93,3.87,3.48
-934,PC1,HSX,Xây dựng và Vật liệu,7868.0,8.2,2.6,3.0,3.6,3.2,-0.1,1.2,17.8,1.4,7.7,0.0,31.13,11.54,1192.84,-2.99,24.68
-935,PCC,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.9,NaN,2.2,0.2,-0.2,NaN,NaN,NaN,NaN,NaN,NaN,37.33,NaN,NaN
-936,PCE,HNX,Hóa chất,208.0,14.1,NaN,2.3,NaN,5.0,0.1,0.5,7.5,1.0,9.4,0.0,-0.74,10.33,32.38,12.23,2.12
-937,PCF,UPCOM,Thực phẩm và đồ uống,16.0,-0.1,NaN,1.5,NaN,4.2,0.2,0.7,-572.3,0.8,35.8,0.0,-86.96,-41.53,-70.78,-14.98,8.18
-938,PCG,HNX,"Điện, nước & xăng dầu khí đốt",49.0,-3.6,NaN,1.1,3.5,3.4,-0.3,0.3,-21.8,0.8,-8.9,0.0,12.43,3.1,NaN,NaN,6.97
-939,PCH,HNX,Hóa chất,341.0,4.9,NaN,1.4,NaN,4.6,0.2,0.2,27.7,1.3,14.1,0.0,56.39,NaN,4.85,NaN,18.59
-940,PCM,UPCOM,Xây dựng và Vật liệu,42.0,2.0,NaN,1.2,NaN,4.8,0.2,0.4,6.2,0.1,3.4,0.0,15.63,-4.8,NaN,NaN,21.2
-941,PCT,HNX,Hàng & Dịch vụ Công nghiệp,570.0,13.8,NaN,3.6,3.5,2.0,0.0,0.6,6.6,0.8,11.0,0.0,31.9,8.89,132.71,16.58,28.36
-942,PDB,HNX,Xây dựng và Vật liệu,116.0,9.9,NaN,1.9,NaN,4.8,0.1,0.5,8.7,0.8,3.4,0.0,30.97,-4.98,285.79,-14.81,12.44
-943,PDC,UPCOM,Du lịch và Giải trí,80.0,2.3,NaN,2.3,NaN,3.2,0.1,0.2,23.7,0.6,6.3,0.0,-2.62,-2.27,-40.93,18.36,47.81
-944,PDN,HSX,Hàng & Dịch vụ Công nghiệp,4853.0,30.8,3.1,4.6,3.3,5.0,0.1,0.7,13.4,3.8,10.8,1.9,14.57,12.52,17.88,4.92,40.04
-945,PDR,HSX,Bất động sản,15196.0,1.5,2.1,1.9,3.7,3.0,-0.1,1.5,99.3,1.4,103.4,0.0,33.06,-24.73,-77.33,-37.37,39.96
-946,PDV,UPCOM,Hàng & Dịch vụ Công nghiệp,893.0,26.0,2.9,3.5,3.0,4.2,0.0,1.0,4.2,0.9,5.8,0.0,26.54,7.7,250.19,64.79,11.2
-947,PEC,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.1,NaN,2.0,0.1,0.0,NaN,NaN,NaN,NaN,NaN,NaN,NaN,-17.01,NaN
-948,PEG,UPCOM,"Điện, nước & xăng dầu khí đốt",997.0,-7.3,2.3,1.2,3.5,3.0,-0.1,0.0,-21.0,1.6,-34.9,0.0,-5.12,11.59,NaN,NaN,4.37
-949,PEN,HNX,Xây dựng và Vật liệu,40.0,3.3,NaN,1.3,NaN,2.6,0.0,0.4,21.6,0.7,15.8,0.0,100.37,-5.35,NaN,-20.29,8.02
-950,PEQ,UPCOM,Dầu khí,NaN,NaN,NaN,1.8,NaN,2.6,0.2,0.4,NaN,NaN,NaN,NaN,NaN,NaN,31.35,-0.8,NaN
-951,PET,HSX,Bán lẻ,2444.0,7.1,2.3,2.0,3.0,2.4,-0.1,1.4,16.2,1.1,18.1,0.0,10.6,13.73,34.32,0.63,4.8
-952,PFL,UPCOM,Bất động sản,115.0,1.5,2.4,1.5,NaN,5.0,0.0,1.0,33.6,0.5,63.0,0.0,286.65,17.28,NaN,NaN,10.43
-953,PGB,UPCOM,Ngân hàng,6824.0,5.5,2.1,2.5,3.0,2.2,-0.1,1.0,24.5,1.3,NaN,0.0,31.43,8.87,21.4,22.27,NaN
-954,PGC,HSX,"Điện, nước & xăng dầu khí đốt",896.0,12.0,2.5,1.6,3.0,2.8,0.0,0.6,8.4,1.0,15.8,0.0,21.04,6.24,13.75,-6.0,16.87
-955,PGD,HSX,"Điện, nước & xăng dầu khí đốt",2747.0,14.6,2.5,1.9,3.5,3.8,-0.1,0.4,12.9,1.9,5.6,0.0,10.59,6.5,-6.25,-0.63,4.6
-956,PGI,HSX,Bảo hiểm,2357.0,12.8,2.4,1.5,3.0,3.4,0.0,0.4,10.0,1.3,-4.5,5.5,NaN,NaN,1.38,2.7,NaN
-957,PGN,HNX,Hóa chất,62.0,0.5,NaN,1.4,NaN,3.2,0.1,0.4,114.1,0.6,12.0,0.0,2.94,14.76,-85.54,-34.91,0.35
-958,PGS,HNX,"Điện, nước & xăng dầu khí đốt",1595.0,11.6,2.5,1.8,3.0,4.4,0.1,-0.1,13.7,1.5,5.8,6.1,13.41,0.17,9.24,9.33,15.87
-959,PGT,HNX,Du lịch và Giải trí,94.0,18.8,NaN,2.7,NaN,4.0,0.6,0.3,16.5,2.8,45.0,0.0,59.08,44.82,-57.93,NaN,45.02
-960,PGV,HSX,"Điện, nước & xăng dầu khí đốt",21346.0,-0.9,2.2,1.1,3.0,2.2,-0.1,0.6,-167.4,1.5,7.3,0.0,-11.28,-1.6,NaN,NaN,8.46
-961,PHC,HSX,Xây dựng và Vật liệu,256.0,1.0,2.5,1.1,3.5,2.2,-0.1,0.8,38.7,0.4,37.6,0.0,-13.95,-15.97,-45.7,-40.17,12.04
-962,PHH,UPCOM,Xây dựng và Vật liệu,112.0,-1.1,2.7,1.3,3.5,3.2,-0.1,0.1,-46.4,0.5,-38.8,0.0,-83.18,-72.86,NaN,NaN,33.63
-963,PHN,HNX,Hàng & Dịch vụ Công nghiệp,522.0,29.1,3.4,3.8,NaN,5.0,0.0,0.1,10.8,3.2,8.0,6.3,5.66,6.29,14.14,22.77,21.94
-964,PHP,HNX,Hàng & Dịch vụ Công nghiệp,12104.0,15.0,2.8,3.2,3.4,4.8,0.2,1.5,14.9,2.1,13.8,0.0,20.36,4.16,42.34,15.79,43.06
-965,PHR,HSX,Hóa chất,6186.0,12.7,2.7,2.5,4.0,5.0,-0.1,1.1,12.8,1.6,15.0,0.0,20.88,-0.07,-25.76,0.45,32.9
-966,PHS,UPCOM,Dịch vụ tài chính,1920.0,0.1,1.8,2.7,NaN,2.6,0.0,0.0,806.2,0.9,23.8,0.0,-13.57,19.83,-99.76,-72.43,65.35
-967,PIA,HNX,Viễn thông,106.0,19.7,NaN,2.5,NaN,4.2,0.0,0.6,8.2,1.7,4.4,0.0,34.12,1.9,6.26,-3.65,34.28
-968,PIC,HNX,"Điện, nước & xăng dầu khí đốt",783.0,10.1,3.0,3.0,3.5,4.8,0.0,0.2,20.5,2.0,9.7,0.0,-15.32,3.48,-15.59,11.69,60.81
-969,PID,UPCOM,Xây dựng và Vật liệu,11.0,-31.0,NaN,1.2,NaN,2.6,0.0,0.0,NaN,NaN,-3.1,0.0,331.1,NaN,NaN,NaN,10.29
-970,PIS,UPCOM,Tài nguyên Cơ bản,302.0,17.4,2.8,2.4,3.0,3.6,0.0,0.0,5.4,0.9,16.5,0.0,-18.27,-8.23,-16.44,12.94,15.02
-971,PIT,HSX,Bán lẻ,92.0,-1.4,1.9,1.7,NaN,1.8,0.1,0.3,-61.0,0.8,24.1,0.0,3.82,-4.2,NaN,-15.7,6.95
-972,PIV,UPCOM,Bất động sản,52.0,-44.9,NaN,1.0,NaN,2.0,0.0,1.0,-55.3,32.1,-224.6,0.0,-75.36,NaN,NaN,NaN,4.4
-973,PJC,HNX,"Điện, nước & xăng dầu khí đốt",191.0,17.6,NaN,2.1,3.4,3.6,0.1,0.1,6.8,1.2,2.8,11.4,-1.02,1.16,-16.6,2.76,10.89
-974,PJS,UPCOM,"Điện, nước & xăng dầu khí đốt",NaN,NaN,NaN,3.0,NaN,2.8,0.1,-0.1,NaN,NaN,NaN,NaN,NaN,NaN,9.17,NaN,NaN
-975,PJT,HSX,Hàng & Dịch vụ Công nghiệp,269.0,8.2,2.8,1.6,NaN,5.0,0.0,0.3,10.3,0.8,2.7,0.0,-1.06,0.61,55.53,-4.5,10.07
-976,PLA,UPCOM,Bất động sản,39.0,-1.9,NaN,1.6,NaN,4.0,0.0,0.8,-43.5,0.8,-7.9,0.0,-0.54,6.7,NaN,NaN,37.11
-977,PLC,HNX,Hóa chất,2149.0,4.5,2.1,1.3,3.4,2.2,0.0,1.3,36.2,1.7,15.3,2.2,-12.92,2.39,-57.59,-21.52,12.99
-978,PLE,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.9,NaN,3.2,0.2,-0.1,NaN,NaN,NaN,NaN,NaN,NaN,499.94,NaN,NaN
-979,PLO,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.9,NaN,1.8,0.4,0.7,NaN,NaN,NaN,NaN,NaN,NaN,530.54,NaN,NaN
-980,PLP,HSX,Hóa chất,289.0,3.2,2.1,1.3,3.0,2.2,-0.1,0.8,11.3,0.4,14.1,0.0,10.87,13.78,-20.34,-36.79,7.21
-981,PLX,HSX,Dầu khí,44852.0,7.3,2.3,1.5,3.7,3.8,-0.1,1.1,23.0,1.7,15.2,0.0,3.66,8.42,1.97,-7.02,5.47
-982,PMB,HNX,Hóa chất,130.0,9.6,NaN,1.5,NaN,5.0,0.1,0.5,9.1,0.9,-0.1,0.0,0.32,9.35,56.49,-4.06,3.34
-983,PMC,HNX,Y tế,1059.0,29.7,2.8,3.0,3.4,4.2,0.2,0.1,12.0,4.2,9.3,13.5,2.68,1.4,-4.11,1.49,43.51
-984,PMG,HSX,"Điện, nước & xăng dầu khí đốt",334.0,6.5,2.3,1.4,2.9,2.6,0.0,0.4,12.6,0.8,12.1,0.0,10.5,8.3,934.82,-16.05,14.81
-985,PMJ,UPCOM,Công nghệ Thông tin,NaN,NaN,NaN,1.4,NaN,2.6,-0.1,0.1,NaN,NaN,NaN,NaN,NaN,NaN,NaN,-13.74,NaN
-986,PMP,HNX,Hàng & Dịch vụ Công nghiệp,55.0,10.7,NaN,2.0,NaN,2.8,0.0,0.3,7.2,0.8,5.6,0.0,14.09,11.5,1.63,13.53,12.28
-987,PMS,HNX,Hàng & Dịch vụ Công nghiệp,269.0,18.4,3.2,2.4,NaN,4.0,0.1,0.4,8.1,1.5,6.4,9.4,-2.54,5.06,6.21,12.81,12.18
-988,PMT,UPCOM,Công nghệ Thông tin,37.0,0.8,NaN,1.1,NaN,4.4,0.1,0.0,65.8,0.5,36.5,0.0,0.2,-3.81,NaN,NaN,11.57
-989,PMW,UPCOM,"Điện, nước & xăng dầu khí đốt",2185.0,16.5,3.2,3.4,3.5,4.0,0.1,0.6,21.8,3.6,18.0,4.4,6.46,6.51,1.91,-0.54,32.57
-990,PNC,HSX,Truyền thông,238.0,5.5,2.2,1.5,NaN,4.2,0.4,0.7,23.1,1.3,21.3,0.0,-5.95,-1.85,-39.13,-6.11,38.82
-991,PND,UPCOM,"Điện, nước & xăng dầu khí đốt",43.0,4.9,NaN,1.8,NaN,3.8,0.3,0.7,26.5,1.3,NaN,0.0,-1.5,12.99,-76.37,56.73,4.1
-992,PNG,UPCOM,Bán lẻ,NaN,NaN,NaN,2.1,NaN,3.4,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,-2.62,7.51,NaN
-993,PNJ,HSX,Hàng cá nhân & Gia dụng,27269.0,18.5,2.7,3.1,4.0,4.2,-0.1,1.1,13.3,2.3,11.5,0.6,14.14,17.34,7.19,3.55,21.26
-994,PNP,UPCOM,Hàng & Dịch vụ Công nghiệp,362.0,17.5,3.1,2.6,3.8,5.0,0.1,0.1,8.8,1.5,5.4,0.0,3.27,0.5,1.7,-1.37,24.16
-995,PNT,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.2,NaN,3.4,0.1,-0.3,NaN,NaN,NaN,NaN,NaN,NaN,172.45,-8.17,NaN
-996,POB,UPCOM,"Điện, nước & xăng dầu khí đốt",NaN,NaN,2.3,1.9,NaN,2.6,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,-59.0,-11.08,NaN
-997,POM,HSX,Tài nguyên Cơ bản,418.0,-107.1,1.8,1.0,2.9,2.0,-0.2,0.1,-0.4,1.6,-40.3,0.0,-29.06,-27.96,NaN,NaN,1.28
-998,POS,UPCOM,Dầu khí,694.0,9.2,2.8,2.7,3.5,4.0,0.0,1.2,9.4,0.9,1.4,0.0,25.85,8.18,64.83,20.52,5.42
-999,POT,HNX,Công nghệ Thông tin,309.0,-2.0,2.3,1.2,3.5,1.8,0.0,0.3,-50.5,1.0,14.1,0.0,39.79,6.32,28.54,-28.5,10.35
-1000,POV,UPCOM,"Điện, nước & xăng dầu khí đốt",97.0,5.2,NaN,2.1,NaN,3.8,0.0,0.5,10.2,0.5,3.1,0.0,15.01,16.54,-29.0,-3.87,3.22
-1001,POW,HSX,"Điện, nước & xăng dầu khí đốt",30796.0,4.0,2.7,1.2,3.7,3.4,0.0,1.2,24.1,1.0,11.4,0.0,6.98,-3.05,7.05,-15.03,10.01
-1002,PPC,HSX,"Điện, nước & xăng dầu khí đốt",3799.0,7.0,2.5,1.4,3.0,4.2,0.0,0.7,11.8,0.8,26.4,1.8,32.12,-1.26,12.36,-19.47,6.16
-1003,PPE,HNX,Hàng & Dịch vụ Công nghiệp,31.0,21.7,NaN,2.7,NaN,3.2,0.2,0.3,10.9,2.1,-76.8,0.0,13.2,26.83,312.45,NaN,NaN
-1004,PPH,UPCOM,Hàng cá nhân & Gia dụng,1962.0,20.3,2.6,2.8,3.0,3.6,-0.1,0.8,5.1,1.0,33.0,8.5,27.63,-7.72,20.04,12.21,20.04
-1005,PPI,UPCOM,Bất động sản,19.0,2.2,NaN,1.0,NaN,2.8,0.0,0.0,-6.3,-0.1,-26.0,0.0,NaN,NaN,NaN,NaN,NaN
-1006,PPP,HNX,Y tế,165.0,14.2,NaN,2.7,NaN,4.2,0.1,0.2,8.6,1.2,5.8,9.2,-9.61,-1.86,-13.64,7.46,34.32
-1007,PPS,HNX,Hàng & Dịch vụ Công nghiệp,168.0,7.6,NaN,2.3,NaN,5.0,0.0,0.6,11.7,0.9,7.3,0.0,22.72,11.79,5.15,5.78,41.19
-1008,PPT,UPCOM,"Điện, nước & xăng dầu khí đốt",244.0,4.8,NaN,1.1,NaN,2.4,0.1,0.3,26.9,1.2,28.3,0.0,22.21,NaN,20.28,NaN,1.05
-1009,PPY,HNX,"Điện, nước & xăng dầu khí đốt",82.0,5.4,NaN,1.6,NaN,3.0,0.0,0.2,9.5,0.5,113.7,8.0,1.0,16.47,8.24,-10.34,3.99
-1010,PQN,UPCOM,Hàng & Dịch vụ Công nghiệp,120.0,16.7,NaN,2.4,NaN,4.2,0.0,0.0,4.3,0.7,-0.7,0.0,48.9,20.53,28.89,13.19,9.35
-1011,PRC,HNX,Hàng & Dịch vụ Công nghiệp,89.0,6.1,NaN,1.5,NaN,3.8,0.5,0.5,41.2,2.5,36.6,0.0,29.18,3.71,1615.25,-11.83,6.8
-1012,PRE,HNX,Bảo hiểm,2088.0,11.8,2.4,1.5,NaN,3.4,0.1,0.3,10.7,1.3,-49.1,5.8,NaN,NaN,-5.76,-1.13,NaN
-1013,PRO,UPCOM,Thực phẩm và đồ uống,NaN,NaN,NaN,1.5,NaN,4.0,0.2,0.2,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-1014,PRT,UPCOM,Thực phẩm và đồ uống,2801.0,3.0,2.4,1.7,3.0,4.6,0.0,0.7,26.2,0.8,13.6,0.0,-14.64,-10.02,-23.52,-23.28,24.82
-1015,PSB,UPCOM,Xây dựng và Vật liệu,197.0,0.1,2.6,1.4,NaN,5.0,-0.2,1.3,312.7,0.4,-14.9,0.0,-28.37,-8.67,-83.51,13.05,7.17
-1016,PSC,HNX,Hàng & Dịch vụ Công nghiệp,89.0,1.2,NaN,1.3,NaN,3.8,0.1,0.4,62.1,0.8,2.5,0.0,-2.47,5.61,-87.35,-42.34,10.68
-1017,PSD,HNX,Bán lẻ,570.0,14.5,2.6,1.7,3.0,2.4,-0.1,1.1,6.7,1.0,24.3,8.1,-15.72,0.01,32.82,0.37,4.88
-1018,PSE,HNX,Hóa chất,139.0,10.3,NaN,2.0,NaN,4.8,0.1,0.6,7.9,0.8,3.7,0.0,0.26,10.33,17.64,5.45,2.63
-1019,PSG,UPCOM,Xây dựng và Vật liệu,18.0,173.4,NaN,2.1,NaN,2.8,0.0,0.0,NaN,NaN,-3.8,0.0,338.0,-13.93,NaN,NaN,-37.7
-1020,PSH,HSX,Bán lẻ,223.0,-87.1,2.1,1.0,2.4,2.2,-0.6,0.2,-0.2,0.4,-34.5,0.0,-88.88,-40.57,NaN,NaN,NaN
-1021,PSI,HNX,Dịch vụ tài chính,395.0,3.4,2.8,3.6,3.0,2.0,-0.1,1.4,16.6,0.6,15.7,0.0,14.66,22.94,5.92,32.49,52.57
-1022,PSL,UPCOM,Thực phẩm và đồ uống,NaN,NaN,2.3,1.3,3.2,3.4,0.1,0.5,NaN,NaN,NaN,NaN,NaN,NaN,-34.93,NaN,NaN
-1023,PSN,UPCOM,Hàng & Dịch vụ Công nghiệp,432.0,6.4,3.0,1.8,3.5,4.2,0.1,0.0,12.5,0.8,4.9,0.0,16.18,6.26,-7.48,-1.62,11.58
-1024,PSP,UPCOM,Hàng & Dịch vụ Công nghiệp,545.0,1.7,2.2,1.6,3.5,4.4,0.3,0.9,69.9,1.2,13.1,0.0,0.21,-6.09,-3.57,-23.55,26.35
-1025,PSW,HNX,Hóa chất,136.0,5.8,2.8,1.7,NaN,5.0,0.0,0.6,11.4,0.7,8.2,0.0,-16.85,8.65,358.57,9.56,2.09
-1026,PTB,HSX,Tài nguyên Cơ bản,3487.0,13.9,2.4,1.9,3.0,4.0,-0.1,0.7,8.9,1.2,6.3,1.5,15.09,3.11,43.03,-9.27,21.45
-1027,PTC,HSX,Xây dựng và Vật liệu,189.0,5.9,2.9,2.0,NaN,5.0,0.0,0.7,8.6,0.5,-47.6,0.0,-99.96,-67.35,93.11,-31.04,100.0
-1028,PTD,HNX,Xây dựng và Vật liệu,26.0,-118.5,NaN,1.0,NaN,2.4,-0.1,0.1,-0.6,1.9,-3.7,0.0,-45.98,-19.22,NaN,NaN,8.84
-1029,PTE,UPCOM,Xây dựng và Vật liệu,36.0,11.4,NaN,1.0,NaN,2.0,0.0,0.0,-1.0,-0.1,30.0,0.0,-15.12,-6.47,NaN,NaN,NaN
-1030,PTG,UPCOM,Hàng cá nhân & Gia dụng,NaN,NaN,NaN,3.1,NaN,3.4,0.2,0.1,NaN,NaN,NaN,NaN,NaN,NaN,12.3,19.54,NaN
-1031,PTH,UPCOM,"Điện, nước & xăng dầu khí đốt",39.0,9.0,NaN,1.4,NaN,3.2,-0.3,0.0,21.3,1.9,3.0,8.2,-6.97,-5.82,35.11,NaN,5.82
-1032,PTI,HNX,Bảo hiểm,2532.0,14.1,2.4,2.2,3.0,3.4,0.0,0.5,7.8,1.0,-15.0,0.0,NaN,NaN,27.25,13.62,NaN
-1033,PTL,HSX,Bất động sản,233.0,-11.0,2.5,1.5,3.0,2.8,-0.2,1.2,-4.6,0.5,13.0,0.0,1234.81,43.77,NaN,NaN,14.63
-1034,PTO,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.5,NaN,3.4,0.3,0.1,NaN,NaN,NaN,NaN,NaN,NaN,1533.19,-0.27,NaN
-1035,PTP,UPCOM,Viễn thông,NaN,NaN,NaN,1.2,NaN,3.4,0.0,0.1,NaN,NaN,NaN,NaN,NaN,NaN,38.45,NaN,NaN
-1036,PTS,HNX,Hàng & Dịch vụ Công nghiệp,56.0,8.0,NaN,1.8,NaN,3.4,0.1,0.1,7.0,0.5,2.4,0.0,-3.01,1.99,909.15,-5.8,16.29
-1037,PTT,UPCOM,Hàng & Dịch vụ Công nghiệp,191.0,12.6,NaN,2.8,NaN,4.8,0.3,0.1,7.2,0.9,5.3,0.0,11.21,-6.72,127.82,15.04,14.25
-1038,PTV,UPCOM,Dầu khí,72.0,0.2,NaN,1.2,NaN,5.0,-0.1,0.9,202.7,0.4,197.8,0.0,352.75,5.74,NaN,-38.64,23.0
-1039,PTX,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,2.2,NaN,4.0,1.0,0.1,NaN,NaN,NaN,NaN,NaN,NaN,56.86,19.66,NaN
-1040,PV2,HNX,Bất động sản,100.0,-7.9,NaN,1.5,NaN,4.2,0.0,1.2,-5.2,0.4,-2.4,0.0,NaN,62.61,NaN,NaN,NaN
-1041,PVA,UPCOM,Xây dựng và Vật liệu,11.0,0.1,NaN,1.0,NaN,2.6,0.0,0.0,-273.1,-0.3,NaN,0.0,NaN,NaN,NaN,NaN,NaN
-1042,PVB,HNX,Dầu khí,583.0,-0.5,2.5,1.1,3.0,4.0,0.0,1.5,-296.8,1.5,-63.4,0.0,8.47,-7.07,331.79,-17.22,11.95
-1043,PVC,HNX,Dầu khí,739.0,0.6,2.2,1.2,3.0,4.6,-0.2,1.5,124.9,0.8,22.5,0.0,-8.21,5.48,-83.89,-38.48,5.85
-1044,PVD,HSX,Dầu khí,10200.0,4.5,2.6,2.9,3.3,4.8,-0.2,1.1,14.7,0.6,6.6,0.0,60.02,16.29,19.33,23.44,17.99
-1045,PVE,UPCOM,Dầu khí,58.0,4.5,NaN,1.6,NaN,2.4,0.1,0.1,9.3,1.0,NaN,0.0,-3.75,-15.1,NaN,NaN,25.39
-1046,PVG,HNX,"Điện, nước & xăng dầu khí đốt",248.0,3.0,2.7,1.7,3.7,4.4,-0.1,0.7,16.9,0.5,2.4,0.0,18.59,8.35,1077.36,124.03,7.49
-1047,PVH,UPCOM,Xây dựng và Vật liệu,19.0,-32.7,NaN,1.0,NaN,3.0,0.2,0.2,-0.9,0.4,-16.1,0.0,-30.67,-15.93,NaN,NaN,NaN
-1048,PVI,HNX,Bảo hiểm,12977.0,10.1,2.3,1.7,3.0,3.4,0.0,1.1,15.8,1.6,-21.4,0.0,NaN,NaN,-11.92,5.05,NaN
-1049,PVL,HNX,Bất động sản,200.0,-11.2,2.8,1.3,NaN,3.4,0.2,0.1,-11.5,1.4,-11.8,0.0,NaN,-49.02,NaN,NaN,100.0
-1050,PVM,UPCOM,Hàng & Dịch vụ Công nghiệp,603.0,8.3,2.8,1.9,2.8,4.6,0.0,0.3,13.2,1.1,-57.0,0.0,32.5,2.8,-62.55,4.9,4.41
-1051,PVO,UPCOM,Hóa chất,NaN,NaN,NaN,1.9,NaN,4.2,-0.1,0.8,NaN,NaN,NaN,NaN,NaN,NaN,-13.37,18.32,NaN
-1052,PVP,UPCOM,Hàng & Dịch vụ Công nghiệp,1436.0,11.0,2.8,2.5,3.0,4.8,-0.1,1.1,7.1,0.8,3.3,0.0,8.02,2.3,10.11,4.54,15.92
-1053,PVR,UPCOM,Bất động sản,52.0,-0.4,NaN,1.0,NaN,3.0,0.0,0.1,-29.0,0.1,-196.1,0.0,NaN,NaN,NaN,NaN,NaN
-1054,PVS,HNX,Dầu khí,12809.0,8.1,2.4,1.5,3.4,4.8,-0.2,1.3,11.6,0.9,17.9,0.0,22.69,7.2,4.22,0.71,4.27
-1055,PVT,HSX,Hàng & Dịch vụ Công nghiệp,7743.0,14.4,2.8,2.8,3.4,4.6,-0.1,1.1,7.2,1.0,4.1,0.0,22.77,8.62,12.42,7.58,17.68
-1056,PVV,UPCOM,Xây dựng và Vật liệu,36.0,27.4,NaN,1.0,NaN,3.0,0.0,0.0,-1.1,-0.3,-124.7,0.0,-17.91,-14.52,NaN,NaN,37.58
-1057,PVX,UPCOM,Xây dựng và Vật liệu,720.0,25.1,2.3,1.2,3.5,3.6,-0.1,0.2,17.7,3.9,42.6,0.0,1.96,-9.5,NaN,NaN,6.09
-1058,PVY,UPCOM,Xây dựng và Vật liệu,143.0,1.1,NaN,1.9,NaN,2.0,0.0,-0.1,-30.2,-0.3,8.8,0.0,7.02,25.27,NaN,NaN,5.57
-1059,PWA,UPCOM,Bất động sản,NaN,NaN,NaN,1.0,NaN,2.6,0.0,0.7,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-1060,PWS,UPCOM,"Điện, nước & xăng dầu khí đốt",480.0,7.1,3.3,3.0,3.5,4.8,0.1,0.7,15.1,1.1,8.0,0.0,6.69,4.94,26.9,8.04,42.53
-1061,PX1,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.0,NaN,1.4,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-1062,PXA,UPCOM,Bất động sản,14.0,-2.7,NaN,2.0,NaN,1.6,-0.1,0.4,-16.7,0.4,11.2,0.0,-61.99,16.59,NaN,NaN,29.12
-1063,PXC,UPCOM,Bất động sản,14.0,0.3,NaN,1.0,NaN,2.6,0.0,0.0,-24.3,-0.1,NaN,0.0,-86.57,-68.88,NaN,NaN,5.0
-1064,PXI,UPCOM,Xây dựng và Vật liệu,42.0,1.0,NaN,1.6,NaN,4.4,-0.2,0.0,32.6,0.3,-6.1,0.0,-84.83,-60.37,NaN,NaN,71.2
-1065,PXK,HNX,Xây dựng và Vật liệu,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-1066,PXL,UPCOM,Bất động sản,2227.0,0.1,2.5,1.6,3.0,4.8,0.0,1.5,3261.5,1.3,-254.0,0.0,-14.53,-10.39,70.17,NaN,51.8
-1067,PXM,UPCOM,Xây dựng và Vật liệu,8.0,3.8,NaN,1.1,NaN,2.8,0.1,0.6,-0.4,0.0,-101.7,0.0,-52.83,-27.45,NaN,NaN,15.73
-1068,PXS,UPCOM,Xây dựng và Vật liệu,156.0,9.8,2.7,1.3,3.0,3.8,-0.1,0.2,12.7,1.2,2.2,0.0,38.21,7.05,NaN,NaN,6.43
-1069,PXT,UPCOM,Xây dựng và Vật liệu,36.0,2.6,NaN,1.1,NaN,3.6,-0.3,0.4,25.0,0.6,32.8,0.0,0.53,-1.09,20.67,NaN,7.94
-1070,QBS,HSX,Hóa chất,42.0,-36.2,NaN,1.0,3.0,4.0,-0.1,0.2,-0.3,0.1,-0.3,0.0,-87.75,-47.79,NaN,NaN,56.15
-1071,QCC,UPCOM,Xây dựng và Vật liệu,13.0,8.2,NaN,1.4,NaN,5.0,0.0,0.2,NaN,NaN,3.6,5.0,-52.67,-10.18,-46.31,NaN,17.28
-1072,QCG,HSX,Bất động sản,3247.0,2.2,2.6,2.0,3.0,3.6,0.2,1.1,35.6,0.8,17.7,0.0,68.65,-3.21,1015.85,7.12,34.93
-1073,QHD,HNX,Hàng & Dịch vụ Công nghiệp,189.0,10.6,NaN,2.0,NaN,4.8,0.0,0.0,14.9,1.6,11.3,6.2,14.28,8.2,-43.1,1.82,14.59
-1074,QHW,UPCOM,Thực phẩm và đồ uống,NaN,NaN,NaN,2.1,NaN,4.2,0.1,0.3,NaN,NaN,NaN,NaN,NaN,NaN,-12.69,5.27,NaN
-1075,QNC,UPCOM,Xây dựng và Vật liệu,360.0,6.0,2.1,1.8,NaN,3.0,0.0,0.7,8.9,0.5,6.1,0.0,13.5,3.4,-44.97,-13.32,7.38
-1076,QNS,UPCOM,Thực phẩm và đồ uống,17021.0,23.7,3.2,3.8,3.8,4.8,0.0,0.4,7.6,1.7,7.6,8.3,2.22,5.93,8.85,12.3,32.55
-1077,QNT,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.3,NaN,2.4,0.4,0.3,NaN,NaN,NaN,NaN,NaN,NaN,178.3,NaN,NaN
-1078,QNU,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.3,NaN,3.4,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,4.95,NaN,NaN
-1079,QNW,UPCOM,"Điện, nước & xăng dầu khí đốt",400.0,15.2,NaN,4.1,NaN,5.0,0.3,0.8,10.4,1.5,5.7,0.0,42.53,11.37,212.98,31.55,52.09
-1080,QPH,UPCOM,"Điện, nước & xăng dầu khí đốt",670.0,15.1,3.2,3.4,3.0,4.8,0.2,0.0,9.4,1.4,9.3,13.4,-0.12,1.23,-1.97,10.35,60.68
-1081,QSP,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,2.3,NaN,3.4,0.2,0.7,NaN,NaN,NaN,NaN,NaN,NaN,3.63,5.76,NaN
-1082,QST,HNX,Truyền thông,58.0,23.2,NaN,3.2,NaN,3.2,0.0,0.4,4.7,1.1,5.7,10.9,9.17,13.43,5.02,23.65,37.84
-1083,QTC,HNX,Xây dựng và Vật liệu,48.0,5.9,NaN,1.4,NaN,5.0,0.2,0.1,20.4,1.2,7.9,0.0,-8.01,-14.65,23.18,-17.71,15.47
-1084,QTP,UPCOM,"Điện, nước & xăng dầu khí đốt",5966.0,10.6,2.6,1.8,3.0,4.8,0.0,0.5,10.6,1.1,5.0,7.3,-1.24,3.29,1.2,-0.99,8.23
-1085,RAL,HSX,Hàng cá nhân & Gia dụng,2345.0,15.2,2.8,3.2,3.4,4.0,-0.2,0.7,4.7,0.7,5.7,4.2,0.48,14.45,1.51,35.94,21.48
-1086,RAT,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,2.7,NaN,1.6,0.2,0.3,NaN,NaN,NaN,NaN,NaN,NaN,NaN,-3.67,NaN
-1087,RBC,UPCOM,Hóa chất,NaN,NaN,NaN,1.2,NaN,3.2,0.2,0.2,NaN,NaN,NaN,NaN,NaN,NaN,-8.92,NaN,NaN
-1088,RCC,UPCOM,Xây dựng và Vật liệu,750.0,-5.7,2.5,1.9,3.5,2.2,0.2,0.8,-36.4,2.1,33.1,0.0,-7.54,16.67,-95.21,NaN,NaN
-1089,RCD,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.2,NaN,3.6,0.1,0.2,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-1090,RCL,HNX,Bất động sản,195.0,0.5,2.1,1.7,NaN,3.6,0.1,0.1,139.8,0.7,834.0,0.0,9.98,-34.38,29.84,-35.95,69.45
-1091,RDP,HSX,Hóa chất,64.0,-12.9,2.5,1.0,3.5,1.4,-0.5,0.1,-1.4,0.3,12.6,0.0,-8.69,10.82,NaN,NaN,0.62
-1092,REE,HSX,Hàng & Dịch vụ Công nghiệp,33819.0,11.5,3.6,3.5,4.1,4.8,0.0,1.0,15.9,1.7,10.7,1.5,-2.17,11.39,-8.91,-4.41,45.95
-1093,REN,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-1094,RIC,UPCOM,Du lịch và Giải trí,296.0,-4.2,2.0,1.1,3.5,1.8,0.1,0.3,-12.5,0.5,22.4,0.0,19.52,-10.77,NaN,NaN,14.78
-1095,ROS,HSX,Xây dựng và Vật liệu,0.0,1.6,2.3,1.2,3.0,2.8,0.0,0.0,15.0,0.2,0.0,0.0,38.73,-5.2,11016.45,NaN,15.31
-1096,RTB,UPCOM,Hóa chất,2550.0,16.7,3.1,4.6,3.0,5.0,0.1,0.9,8.5,1.4,6.4,0.0,24.13,16.97,93.63,NaN,44.66
-1097,S12,UPCOM,Xây dựng và Vật liệu,10.0,-133.8,NaN,1.1,NaN,2.8,-0.1,0.1,-0.8,10.4,NaN,0.0,71.47,-28.07,NaN,NaN,9.88
-1098,S27,UPCOM,Xây dựng và Vật liệu,1.0,16.7,NaN,1.2,NaN,2.2,0.0,0.0,-1.4,-0.2,NaN,0.0,-48.39,NaN,NaN,NaN,9.22
-1099,S4A,HSX,"Điện, nước & xăng dầu khí đốt",1519.0,16.6,2.8,2.7,3.0,4.2,0.0,-0.1,16.2,2.7,14.2,5.7,-13.51,-0.77,-35.88,-4.93,54.62
-1100,S55,HNX,Xây dựng và Vật liệu,580.0,15.0,2.7,3.8,2.6,2.6,0.0,0.2,5.7,0.8,9.6,0.0,-6.92,7.36,84.15,27.37,43.24
-1101,S72,UPCOM,Xây dựng và Vật liệu,83.0,4.1,NaN,2.3,NaN,1.8,0.1,0.1,17.6,0.7,14.5,0.0,15.55,1.98,2503.34,NaN,NaN
-1102,S74,UPCOM,Xây dựng và Vật liệu,106.0,-2.0,NaN,1.4,NaN,3.4,0.2,0.3,-28.3,0.6,NaN,0.0,NaN,-26.11,NaN,NaN,100.0
-1103,S96,UPCOM,Xây dựng và Vật liệu,4.0,0.7,NaN,1.1,NaN,4.4,0.0,0.0,NaN,NaN,144.5,0.0,NaN,NaN,NaN,NaN,NaN
-1104,S99,HNX,Xây dựng và Vật liệu,694.0,1.9,2.1,1.8,2.8,2.6,-0.1,1.2,26.4,0.5,7.6,0.0,-13.57,1.53,-56.73,-1.17,16.13
-1105,SAB,HSX,Thực phẩm và đồ uống,63615.0,16.8,2.8,2.2,3.8,5.0,0.0,0.7,15.4,2.6,12.9,9.0,4.63,-3.4,5.16,-15.59,32.22
-1106,SAC,UPCOM,Hàng & Dịch vụ Công nghiệp,58.0,31.8,NaN,1.7,NaN,4.2,-0.1,1.2,2.4,0.7,2.5,0.0,15.19,-9.46,24.83,NaN,13.15
-1107,SAF,HNX,Thực phẩm và đồ uống,651.0,25.3,2.5,2.6,3.2,4.2,0.1,0.1,13.5,3.4,11.1,4.6,-8.71,-7.41,-7.05,-1.1,21.32
-1108,SAL,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.5,NaN,3.4,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,4.72,NaN,NaN
-1109,SAM,HSX,Công nghệ Thông tin,2413.0,1.7,2.0,1.3,2.8,3.2,0.0,0.8,36.1,0.6,77.5,0.0,83.55,7.19,360.06,-0.59,4.05
-1110,SAP,UPCOM,Truyền thông,42.0,0.9,NaN,1.1,NaN,2.8,0.5,0.1,157.7,1.4,-256.7,0.0,-13.69,-5.52,NaN,NaN,32.45
-1111,SAS,UPCOM,Bán lẻ,5819.0,30.3,3.3,3.2,3.0,4.2,0.2,0.9,11.7,3.3,11.0,1.6,12.6,0.07,47.65,2.5,60.45
-1112,SAV,HSX,Tài nguyên Cơ bản,456.0,17.2,2.9,2.5,3.0,4.0,-0.1,0.9,6.5,1.0,6.2,5.4,35.5,4.19,NaN,6.09,15.96
-1113,SB1,UPCOM,Thực phẩm và đồ uống,NaN,NaN,NaN,2.7,NaN,4.2,0.2,0.2,NaN,NaN,NaN,NaN,NaN,NaN,2.75,NaN,NaN
-1114,SBA,HSX,"Điện, nước & xăng dầu khí đốt",1869.0,12.0,3.0,2.8,4.3,4.6,0.0,0.2,15.2,1.9,12.3,5.0,-29.76,0.82,-35.24,2.92,62.26
-1115,SBD,UPCOM,Công nghệ Thông tin,97.0,-4.1,NaN,1.2,NaN,2.0,0.0,1.0,-15.3,0.6,9.3,0.0,-9.83,7.68,-62.09,NaN,16.79
-1116,SBH,UPCOM,"Điện, nước & xăng dầu khí đốt",5829.0,19.8,2.4,2.7,3.0,4.2,-0.1,0.2,18.6,3.4,13.6,1.0,-34.74,-2.01,-43.87,-3.92,65.35
-1117,SBL,UPCOM,Thực phẩm và đồ uống,73.0,0.8,NaN,1.1,3.5,4.2,0.0,0.5,47.3,0.4,2.3,0.0,-5.0,-12.04,-60.5,-36.14,3.48
-1118,SBM,UPCOM,Xây dựng và Vật liệu,1577.0,25.3,3.3,4.0,3.0,5.0,0.1,0.3,10.5,2.6,7.7,6.5,34.31,3.59,67.17,18.8,53.88
-1119,SBR,UPCOM,Hóa chất,667.0,8.3,2.7,1.9,3.0,4.2,0.0,0.7,9.8,0.8,13.1,0.0,9.04,9.65,-15.74,NaN,29.5
-1120,SBS,UPCOM,Dịch vụ tài chính,662.0,-28.4,2.2,1.4,2.2,4.2,-0.1,1.4,-8.7,2.9,-13.9,0.0,-14.7,13.14,NaN,NaN,NaN
-1121,SBT,HSX,Thực phẩm và đồ uống,14662.0,8.3,2.9,3.1,3.8,2.6,0.2,0.6,17.3,1.4,11.8,0.0,15.85,21.46,47.67,15.67,10.17
-1122,SBV,HSX,Bán lẻ,240.0,-8.2,2.5,1.3,3.0,2.2,-0.1,0.2,-6.3,0.5,33.2,0.0,17.9,1.54,NaN,NaN,16.72
-1123,SC5,HSX,Xây dựng và Vật liệu,238.0,8.1,2.1,2.1,3.5,2.0,0.0,0.5,7.8,0.6,13.0,0.0,5.72,4.29,1.72,1.86,6.79
-1124,SCC,UPCOM,Xây dựng và Vật liệu,15.0,-3.4,NaN,1.5,NaN,4.0,0.4,0.3,NaN,NaN,-1.4,0.0,714.83,69.11,NaN,NaN,-15.51
-1125,SCD,HSX,Thực phẩm và đồ uống,114.0,109.9,2.5,1.2,3.0,2.8,0.0,0.1,-1.6,-1.2,-204.5,0.0,45.14,-7.25,NaN,NaN,24.19
-1126,SCG,HNX,Xây dựng và Vật liệu,5542.0,15.9,1.9,3.0,2.6,2.0,0.0,0.1,27.7,4.1,44.6,0.0,240.86,83.99,871.84,NaN,15.18
-1127,SCI,HNX,Xây dựng và Vật liệu,204.0,-4.7,2.4,1.5,3.6,2.8,-0.2,1.1,-8.8,0.4,-100.3,0.0,-31.91,-5.2,-99.89,-78.47,NaN
-1128,SCJ,UPCOM,Xây dựng và Vật liệu,226.0,1.3,2.1,2.3,NaN,2.0,0.0,0.7,25.2,0.3,5.1,0.0,8.51,17.62,58.73,81.81,7.64
-1129,SCL,UPCOM,Xây dựng và Vật liệu,624.0,8.6,2.2,2.9,NaN,2.6,0.1,0.5,26.5,2.2,22.0,0.0,-13.75,59.85,-39.47,NaN,36.31
-1130,SCO,UPCOM,Hàng & Dịch vụ Công nghiệp,17.0,3.0,NaN,1.9,NaN,3.0,-0.1,0.0,NaN,NaN,443.7,0.0,-26.49,-0.08,-75.42,NaN,24.62
-1131,SCR,HSX,Bất động sản,2558.0,0.0,2.6,1.1,3.0,3.4,0.0,1.2,-5562.7,0.5,-87.3,0.0,115.28,-4.96,-66.32,-60.92,40.16
-1132,SCS,HSX,Du lịch và Giải trí,5883.0,46.6,2.7,3.5,3.9,4.2,-0.1,1.1,8.2,3.7,7.0,3.8,47.11,6.75,39.04,-5.9,81.11
-1133,SCY,UPCOM,Hàng & Dịch vụ Công nghiệp,788.0,9.3,2.9,2.8,2.8,4.4,0.2,0.4,9.3,0.8,8.2,4.1,2.32,13.8,20.38,43.43,14.65
-1134,SD1,UPCOM,Xây dựng và Vật liệu,6.0,-311.4,NaN,1.0,NaN,2.8,0.0,0.0,-0.6,1.9,-1.0,0.0,NaN,NaN,NaN,NaN,16.93
-1135,SD2,UPCOM,Xây dựng và Vật liệu,56.0,1.4,NaN,1.0,NaN,2.6,0.0,0.9,32.2,0.8,14.5,0.0,-2.03,-18.7,NaN,NaN,8.5
-1136,SD3,UPCOM,Xây dựng và Vật liệu,112.0,8.8,NaN,1.8,NaN,1.6,0.1,0.9,19.4,1.6,8.2,0.0,-15.41,-6.1,NaN,NaN,62.25
-1137,SD4,HNX,Xây dựng và Vật liệu,22.0,-722.1,NaN,1.0,NaN,2.4,-0.1,0.8,-0.7,-1.8,39.4,0.0,-45.81,-29.3,NaN,NaN,23.9
-1138,SD5,HNX,Xây dựng và Vật liệu,221.0,5.1,2.7,1.6,NaN,4.2,0.1,0.7,8.9,0.5,2.1,0.0,3.31,15.01,12.32,3.44,3.82
-1139,SD6,HNX,Xây dựng và Vật liệu,90.0,-22.8,2.2,1.1,NaN,2.8,0.0,0.5,-1.9,0.6,-16.4,0.0,-38.39,-35.32,NaN,-13.8,NaN
-1140,SD7,UPCOM,Xây dựng và Vật liệu,32.0,0.7,NaN,1.7,NaN,3.4,0.0,0.1,89.6,0.7,1.6,0.0,357.09,-18.06,NaN,NaN,33.02
-1141,SD8,UPCOM,Xây dựng và Vật liệu,4.0,-412.4,NaN,1.0,NaN,3.0,0.0,0.0,NaN,NaN,-2.9,0.0,NaN,NaN,NaN,NaN,-60.62
-1142,SD9,HNX,Xây dựng và Vật liệu,404.0,3.4,2.5,2.4,3.5,3.4,0.0,0.6,17.3,0.6,6.4,0.0,-15.47,-7.11,111.75,17.38,44.57
-1143,SDA,HNX,Hàng & Dịch vụ Công nghiệp,97.0,0.1,2.6,1.2,NaN,3.2,-0.1,1.1,400.6,0.5,-6.9,0.0,-7.49,1.42,NaN,NaN,10.92
-1144,SDB,UPCOM,Xây dựng và Vật liệu,6.0,-35.2,NaN,1.2,NaN,2.6,0.0,0.0,NaN,NaN,155.0,0.0,-27.7,NaN,NaN,NaN,20.9
-1145,SDC,HNX,Hàng & Dịch vụ Công nghiệp,20.0,3.8,NaN,1.6,NaN,5.0,0.0,0.3,9.9,0.4,5.3,0.0,38.89,0.39,-8.34,-3.19,24.65
-1146,SDD,UPCOM,Xây dựng và Vật liệu,18.0,-17.3,NaN,1.0,NaN,2.2,-0.2,0.4,-1.1,0.2,-15.2,0.0,-78.1,-19.79,NaN,NaN,NaN
-1147,SDG,HNX,Hàng & Dịch vụ Công nghiệp,142.0,1.1,2.4,1.0,NaN,2.4,0.0,-0.1,52.5,0.6,24.5,0.0,-19.17,-3.45,NaN,NaN,7.35
-1148,SDJ,UPCOM,Xây dựng và Vật liệu,13.0,-155.5,NaN,1.0,NaN,3.8,0.0,0.0,NaN,NaN,-2.8,0.0,NaN,NaN,NaN,NaN,-8.78
-1149,SDK,UPCOM,Hàng & Dịch vụ Công nghiệp,52.0,18.9,NaN,1.7,NaN,3.8,0.0,0.4,7.8,1.6,5.0,0.0,-1.18,-4.6,11.05,-9.97,12.45
-1150,SDN,HNX,Xây dựng và Vật liệu,64.0,14.3,NaN,2.3,NaN,4.0,0.0,0.4,6.8,0.9,5.8,1.6,8.24,-3.65,-46.26,-7.07,30.74
-1151,SDP,UPCOM,Xây dựng và Vật liệu,10.0,12.0,NaN,1.0,NaN,3.2,-0.1,-0.3,-1.6,-0.2,-17.3,0.0,-43.02,-27.49,NaN,NaN,NaN
-1152,SDT,HNX,Xây dựng và Vật liệu,215.0,-0.2,2.2,1.2,NaN,3.0,0.2,0.6,-107.3,0.3,6.0,0.0,45.47,0.62,NaN,NaN,13.77
-1153,SDU,HNX,Xây dựng và Vật liệu,352.0,0.3,2.0,2.0,3.5,2.4,0.1,-0.3,311.4,1.0,21.4,0.0,-2.21,-2.16,22.05,8.67,48.59
-1154,SDV,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.7,NaN,2.0,0.1,-0.1,NaN,NaN,NaN,NaN,NaN,NaN,41.38,0.83,NaN
-1155,SDX,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.4,NaN,3.2,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-1156,SDY,UPCOM,Xây dựng và Vật liệu,8.0,89.4,NaN,1.0,NaN,3.2,-0.2,0.0,-2.2,-1.4,-18.4,0.0,7.12,-7.25,NaN,NaN,16.28
-1157,SEA,UPCOM,Thực phẩm và đồ uống,4792.0,7.9,2.4,1.8,3.0,4.2,0.2,0.0,26.1,2.0,414.1,0.0,-14.26,-10.57,-25.35,-12.28,18.04
-1158,SEB,HNX,"Điện, nước & xăng dầu khí đốt",1520.0,23.2,2.9,3.4,3.0,5.0,0.0,0.2,12.7,3.0,10.7,7.4,-17.83,2.04,-25.03,1.13,71.45
-1159,SED,HNX,Truyền thông,226.0,18.5,NaN,3.2,NaN,4.4,0.1,0.5,3.8,0.7,2.8,9.4,27.86,17.21,48.03,10.03,33.63
-1160,SEP,UPCOM,Hóa chất,NaN,NaN,NaN,2.1,NaN,1.8,0.1,0.1,NaN,NaN,NaN,NaN,NaN,NaN,-70.38,-24.11,NaN
-1161,SFC,HSX,"Điện, nước & xăng dầu khí đốt",231.0,10.9,3.0,1.6,3.5,4.6,0.1,0.1,12.3,1.3,7.4,6.7,-0.53,5.36,-40.33,-10.41,6.7
-1162,SFG,HSX,Hóa chất,484.0,4.3,2.5,1.8,3.1,2.8,-0.1,0.8,17.3,0.7,22.0,0.0,2.64,-0.33,-54.8,75.57,6.02
-1163,SFI,HSX,Hàng & Dịch vụ Công nghiệp,646.0,10.7,3.1,2.4,3.4,5.0,-0.1,0.8,7.8,0.8,5.0,7.0,6.9,5.16,-18.25,1.29,15.18
-1164,SFN,HNX,Hàng & Dịch vụ Công nghiệp,55.0,10.8,NaN,2.4,NaN,4.2,0.1,-0.1,6.6,0.7,5.3,3.4,-1.93,-1.07,-8.94,7.72,14.52
-1165,SGB,UPCOM,Ngân hàng,4260.0,2.3,2.0,1.3,3.5,2.3,0.0,0.6,43.7,1.0,NaN,0.0,-23.11,0.82,-70.33,-13.03,NaN
-1166,SGC,HNX,Thực phẩm và đồ uống,729.0,30.5,3.0,4.2,3.5,5.0,0.1,0.5,7.3,2.0,5.4,0.0,55.6,17.28,94.78,25.15,28.39
-1167,SGD,HNX,Truyền thông,44.0,-0.5,NaN,1.1,NaN,3.2,-0.1,0.0,-175.0,1.0,28.1,0.0,-6.65,2.35,NaN,NaN,25.93
-1168,SGH,HNX,Du lịch và Giải trí,297.0,8.7,2.4,2.3,2.8,4.2,-0.1,-0.1,20.2,2.1,22.5,0.0,7.32,-2.1,-38.98,-11.93,55.97
-1169,SGI,UPCOM,Hàng cá nhân & Gia dụng,1019.0,3.9,2.3,1.3,2.7,3.0,0.0,-0.1,12.1,0.5,308.3,0.0,21.91,-4.72,-93.49,-50.9,18.43
-1170,SGN,HSX,Hàng & Dịch vụ Công nghiệp,2227.0,25.9,2.6,2.7,3.0,4.2,-0.1,0.9,7.9,1.9,4.4,0.0,4.3,-0.86,19.08,-4.78,33.08
-1171,SGP,UPCOM,Hàng & Dịch vụ Công nghiệp,5674.0,8.5,2.4,1.9,3.0,5.0,0.1,1.6,24.5,2.0,28.0,0.0,17.31,-0.28,-42.11,-3.37,34.74
-1172,SGR,HSX,Bất động sản,2030.0,12.7,2.4,2.8,3.0,3.4,0.0,1.0,17.5,2.1,82.2,0.0,52.74,4.54,-41.94,-10.6,9.95
-1173,SGS,UPCOM,Hàng & Dịch vụ Công nghiệp,208.0,7.3,3.4,2.7,3.5,5.0,0.0,-0.1,9.6,0.7,6.7,0.0,-21.45,4.82,-46.52,3.47,22.0
-1174,SGT,HSX,Công nghệ Thông tin,2620.0,24.7,2.7,3.7,3.0,3.2,0.1,0.7,5.5,1.2,8.3,0.0,40.79,21.64,225.86,42.8,57.34
-1175,SGV,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-1176,SHA,HSX,Tài nguyên Cơ bản,137.0,3.4,NaN,1.3,NaN,2.2,0.0,0.5,9.5,0.3,10.5,0.0,5.24,5.71,8.96,-15.24,12.98
-1177,SHB,HSX,Ngân hàng,54881.0,16.8,2.8,4.1,2.9,1.7,0.1,0.9,5.7,0.9,NaN,5.4,10.52,20.21,27.27,20.39,NaN
-1178,SHC,UPCOM,Hàng & Dịch vụ Công nghiệp,69.0,18.8,NaN,1.4,NaN,5.0,0.0,0.2,NaN,NaN,1.7,0.0,1.53,-6.35,7.41,-3.91,5.61
-1179,SHE,HNX,Hàng cá nhân & Gia dụng,106.0,7.7,NaN,1.8,NaN,4.0,-0.1,0.5,9.4,0.7,11.9,0.0,6.31,-4.48,-31.53,-19.84,7.71
-1180,SHG,UPCOM,Xây dựng và Vật liệu,73.0,8.3,NaN,1.1,NaN,2.8,0.1,0.1,-1.1,-0.1,-61.0,0.0,-76.06,-43.39,NaN,NaN,30.71
-1181,SHI,HSX,Tài nguyên Cơ bản,2347.0,5.2,2.0,1.6,3.3,2.0,0.0,0.1,25.3,1.3,15.7,0.0,17.2,18.55,368.37,-6.23,11.89
-1182,SHN,HNX,Xây dựng và Vật liệu,778.0,0.7,2.2,1.3,3.0,2.0,0.0,0.1,68.5,0.5,129.1,0.0,-33.24,-1.24,164.78,-34.09,1.24
-1183,SHP,HSX,"Điện, nước & xăng dầu khí đốt",3638.0,25.8,3.1,3.3,3.0,5.0,0.0,0.3,11.5,3.0,7.8,4.5,-5.04,-0.48,7.5,4.83,31.17
-1184,SHS,HNX,Dịch vụ tài chính,11539.0,8.3,2.8,3.7,3.2,4.0,-0.1,1.6,12.5,1.0,11.6,9.2,36.38,13.28,81.59,7.72,68.0
-1185,SID,UPCOM,Bất động sản,1495.0,2.6,2.5,2.0,3.0,3.4,0.1,0.3,24.1,0.6,-80.6,0.0,13.44,-1.89,2403.71,0.22,61.85
-1186,SIG,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,2.0,NaN,2.0,0.2,0.4,NaN,NaN,NaN,NaN,NaN,NaN,NaN,96.73,NaN
-1187,SII,HSX,Xây dựng và Vật liệu,1349.0,46.4,2.8,3.0,3.5,4.0,0.5,-0.3,2.7,1.0,30.4,0.0,9.43,8.06,NaN,60.29,5.33
-1188,SIP,UPCOM,Bất động sản,13916.0,30.0,2.8,3.1,4.3,4.4,-0.1,1.3,10.9,3.0,12.7,2.1,16.84,12.44,26.25,-2.79,16.5
-1189,SIV,UPCOM,Hóa chất,NaN,NaN,NaN,1.7,NaN,3.0,0.1,-0.2,NaN,NaN,NaN,NaN,NaN,NaN,16.37,-1.38,NaN
-1190,SJ1,HNX,Thực phẩm và đồ uống,465.0,8.0,2.4,1.8,3.5,2.2,0.0,-0.1,13.0,0.8,18.3,0.0,30.18,10.17,144.0,-8.77,7.62
-1191,SJC,UPCOM,Xây dựng và Vật liệu,28.0,-5.5,NaN,1.1,NaN,2.6,0.0,0.0,-5.4,0.3,-670.0,0.0,-85.05,-20.94,NaN,NaN,19.75
-1192,SJD,HSX,"Điện, nước & xăng dầu khí đốt",994.0,13.5,3.0,2.7,3.0,5.0,0.0,0.4,7.2,1.0,3.7,0.0,-1.92,-0.12,9.68,-1.51,42.09
-1193,SJE,HNX,Xây dựng và Vật liệu,539.0,20.5,3.0,3.1,3.1,3.0,0.0,1.0,3.5,0.7,4.8,0.0,160.05,28.33,189.61,17.96,32.89
-1194,SJF,HSX,Hóa chất,135.0,1.4,2.1,1.3,3.0,3.4,0.0,0.0,20.2,0.3,26.7,0.0,4.4,-29.64,NaN,NaN,NaN
-1195,SJG,UPCOM,Xây dựng và Vật liệu,9260.0,9.7,2.9,2.3,2.9,3.4,0.2,0.8,14.1,1.4,11.3,0.0,-0.93,-4.47,42.19,31.26,12.81
-1196,SJM,UPCOM,Xây dựng và Vật liệu,39.0,-4.7,NaN,2.0,NaN,3.8,0.2,0.1,-9.3,0.5,NaN,0.0,NaN,NaN,-8.1,6.38,2.49
-1197,SJS,HSX,Bất động sản,10365.0,10.1,2.8,3.4,3.0,4.2,0.2,0.9,35.5,3.4,27.5,0.0,55.28,-1.48,44.88,20.69,66.46
-1198,SKG,HSX,Du lịch và Giải trí,718.0,3.3,2.5,1.5,3.3,4.2,-0.1,0.9,24.4,0.8,8.9,4.4,-6.91,-3.36,-51.26,-20.38,29.0
-1199,SKH,UPCOM,Thực phẩm và đồ uống,860.0,13.4,2.6,1.8,3.6,4.2,0.0,0.0,14.8,2.0,8.8,4.5,-38.04,-9.55,-45.11,-12.76,20.82
-1200,SKN,UPCOM,Thực phẩm và đồ uống,NaN,NaN,NaN,1.3,NaN,3.4,0.0,0.4,NaN,NaN,NaN,NaN,NaN,NaN,42.64,NaN,NaN
-1201,SKV,UPCOM,Thực phẩm và đồ uống,715.0,15.6,2.6,1.9,3.8,4.2,-0.1,0.4,11.2,1.8,7.9,0.0,-26.71,-6.26,-39.67,-5.62,19.06
-1202,SLS,HNX,Thực phẩm và đồ uống,1997.0,34.7,3.5,4.6,3.6,4.8,0.1,0.7,3.9,1.2,4.5,0.0,-20.15,7.18,0.52,53.18,30.8
-1203,SMA,HSX,"Điện, nước & xăng dầu khí đốt",187.0,6.2,3.3,2.6,3.4,3.6,0.0,0.0,13.3,0.8,6.8,0.0,-13.41,-12.18,8.8,-2.13,NaN
-1204,SMB,HSX,Thực phẩm và đồ uống,1233.0,29.4,3.0,2.5,3.4,4.6,0.1,0.5,6.7,2.0,5.6,12.0,9.58,-1.22,15.7,-2.92,26.15
-1205,SMC,HSX,Tài nguyên Cơ bản,766.0,-19.6,2.5,1.2,3.5,1.6,-0.2,1.3,-4.2,0.9,38.2,0.0,-34.83,-11.91,NaN,-23.41,2.31
-1206,SMN,HNX,Truyền thông,53.0,13.4,NaN,1.6,NaN,5.0,0.1,0.2,5.1,0.7,5.2,8.5,3.63,-1.01,-3.03,-0.92,22.08
-1207,SMT,HNX,Công nghệ Thông tin,52.0,-9.6,NaN,1.4,NaN,3.6,0.3,0.8,-7.8,0.8,-2390.6,0.0,-44.59,-15.66,NaN,NaN,19.19
-1208,SNC,UPCOM,Thực phẩm và đồ uống,NaN,NaN,NaN,1.9,NaN,3.2,0.0,0.1,NaN,NaN,NaN,NaN,NaN,NaN,-9.71,1.84,NaN
-1209,SNZ,UPCOM,Xây dựng và Vật liệu,12116.0,15.5,2.7,2.8,4.2,4.4,0.0,1.2,11.7,1.7,6.8,0.0,7.79,3.42,16.24,8.1,43.61
-1210,SP2,UPCOM,"Điện, nước & xăng dầu khí đốt",493.0,64.1,NaN,3.6,NaN,2.8,0.1,0.6,9.3,4.5,8.1,0.0,18.06,3.74,125.13,65.81,NaN
-1211,SPB,UPCOM,Hàng cá nhân & Gia dụng,161.0,6.5,NaN,2.5,3.5,1.8,-0.3,0.4,10.6,0.7,23.0,0.0,7.78,11.04,NaN,10.94,10.61
-1212,SPC,HNX,Hóa chất,103.0,-30.2,2.4,1.1,3.2,2.2,0.0,0.1,-2.7,1.0,306.8,0.0,-17.59,-6.89,NaN,NaN,17.02
-1213,SPD,UPCOM,Thực phẩm và đồ uống,96.0,7.4,NaN,2.2,NaN,2.0,0.0,0.0,10.3,0.7,18.5,0.0,-3.52,0.26,1062.89,46.79,7.64
-1214,SPH,UPCOM,Thực phẩm và đồ uống,NaN,NaN,2.5,1.0,NaN,3.4,0.1,-0.1,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-1215,SPI,HNX,Tài nguyên Cơ bản,30.0,-5.7,NaN,1.4,NaN,3.6,-0.1,0.2,-4.3,0.3,-3.9,0.0,-38.32,-49.54,NaN,NaN,100.0
-1216,SPM,HSX,Y tế,156.0,0.8,2.3,1.4,NaN,3.8,0.0,0.5,23.9,0.2,8.7,0.0,-26.68,-9.57,-61.89,-12.41,18.12
-1217,SPV,UPCOM,Thực phẩm và đồ uống,NaN,NaN,NaN,2.8,NaN,2.0,0.3,0.6,NaN,NaN,NaN,NaN,NaN,NaN,18.23,21.06,NaN
-1218,SQC,UPCOM,Tài nguyên Cơ bản,1824.0,-11.7,2.2,1.4,1.5,3.2,0.3,0.1,-23.7,3.0,6539.8,0.0,18.1,-48.81,NaN,NaN,61.01
-1219,SRA,HNX,Công nghệ Thông tin,164.0,10.6,2.9,2.1,3.5,3.8,0.0,0.5,2.4,0.2,3.5,0.0,257.96,-12.98,500.01,-16.34,12.95
-1220,SRB,UPCOM,Công nghệ Thông tin,17.0,-3.9,NaN,1.6,NaN,3.0,0.0,0.9,-18.2,0.7,NaN,0.0,329.24,85.7,1323.94,NaN,-32.23
-1221,SRC,HSX,Ô tô và phụ tùng,702.0,29.5,2.6,2.6,3.1,3.0,-0.1,0.0,4.6,1.2,17.9,2.4,-14.19,2.1,415.77,29.67,11.44
-1222,SRF,HSX,Hàng & Dịch vụ Công nghiệp,291.0,2.7,2.2,1.5,3.5,3.2,0.0,0.2,30.7,0.8,-8.5,0.0,-34.12,-8.69,-41.53,-51.6,NaN
-1223,SSB,HSX,Ngân hàng,53202.0,20.3,2.6,4.1,3.0,2.9,0.0,0.3,7.5,1.4,NaN,0.0,31.67,18.95,30.98,NaN,NaN
-1224,SSC,HSX,Thực phẩm và đồ uống,461.0,9.8,2.5,2.0,3.2,4.0,0.0,0.4,12.1,1.2,13.0,0.0,28.51,-8.69,-22.28,-10.45,28.11
-1225,SSE,UPCOM,Bất động sản,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-1226,SSF,UPCOM,Hàng cá nhân & Gia dụng,NaN,NaN,NaN,1.0,NaN,2.0,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-1227,SSG,UPCOM,Hàng & Dịch vụ Công nghiệp,45.0,-152.9,NaN,2.7,NaN,4.2,0.3,0.0,-5.7,41.3,42.3,133.5,-24.64,-6.18,1157.63,NaN,22.85
-1228,SSH,UPCOM,Bất động sản,33261.0,12.3,2.8,3.2,2.8,3.6,0.1,0.5,48.0,5.6,38.9,0.0,1.13,13.27,-30.73,NaN,44.78
-1229,SSI,HSX,Dịch vụ tài chính,45810.0,11.3,2.4,4.1,3.4,2.2,-0.1,1.3,15.7,1.7,19.3,0.0,19.16,21.4,23.65,9.32,71.04
-1230,SSM,HNX,Tài nguyên Cơ bản,30.0,3.2,NaN,1.3,NaN,2.2,0.1,-0.1,14.8,0.5,21.2,0.0,168.67,1.81,206.1,-13.56,11.89
-1231,SSN,UPCOM,Thực phẩm và đồ uống,55.0,0.0,2.6,1.4,2.8,4.6,0.0,0.0,-290.5,0.1,-59.3,0.0,-60.08,-9.14,14.4,NaN,51.21
-1232,SST,UPCOM,Thực phẩm và đồ uống,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,-56.63,NaN,NaN
-1233,ST8,HSX,Công nghệ Thông tin,169.0,7.9,3.1,1.9,3.5,4.6,-0.1,0.9,7.8,0.6,9.0,0.0,3479.98,-21.81,496.64,1.51,2.08
-1234,STB,HSX,Ngân hàng,78802.0,20.6,2.6,3.5,3.0,2.4,0.1,1.1,7.2,1.4,NaN,0.0,9.57,14.4,30.69,31.5,NaN
-1235,STC,HNX,Truyền thông,96.0,11.8,NaN,1.8,NaN,4.8,0.1,0.3,6.0,0.7,4.2,8.9,-2.58,3.65,-4.02,-1.54,28.28
-1236,STD,UPCOM,Thực phẩm và đồ uống,0.0,1.5,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,0.0,0.0,3.04,-10.45,-61.84,-40.68,5.12
-1237,STG,HSX,Hàng & Dịch vụ Công nghiệp,3498.0,9.1,2.7,2.4,3.6,5.0,-0.1,0.3,17.0,1.5,10.9,0.0,36.68,5.98,35.38,12.31,18.29
-1238,STH,UPCOM,Truyền thông,260.0,0.4,NaN,1.5,NaN,4.0,0.3,1.0,345.7,1.3,-252.0,0.0,6.22,6.43,-28.25,-6.9,25.77
-1239,STK,HSX,Hàng cá nhân & Gia dụng,2387.0,2.8,2.1,1.4,3.3,2.6,-0.1,1.0,50.5,1.4,16.9,0.0,-15.07,-11.5,-85.87,-47.26,20.79
-1240,STL,UPCOM,Bất động sản,15.0,-144.1,NaN,1.0,NaN,2.8,0.0,0.0,NaN,NaN,-38.5,0.0,127.84,NaN,NaN,NaN,1.68
-1241,STN,UPCOM,Thực phẩm và đồ uống,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-1242,STP,HNX,Hàng & Dịch vụ Công nghiệp,73.0,4.1,NaN,1.6,NaN,5.0,0.1,0.6,12.8,0.5,9.4,8.6,-8.57,-0.66,-38.96,-1.8,14.72
-1243,STS,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,2.0,NaN,5.0,0.2,0.0,NaN,NaN,NaN,NaN,NaN,NaN,-31.08,NaN,NaN
-1244,STT,UPCOM,Du lịch và Giải trí,13.0,-112.5,NaN,1.1,NaN,2.6,0.0,-0.1,-3.5,36.2,-14.1,0.0,16.43,3.98,NaN,NaN,6.27
-1245,STW,UPCOM,"Điện, nước & xăng dầu khí đốt",666.0,10.1,2.8,3.1,NaN,4.2,0.4,0.1,26.5,2.7,14.8,0.0,4.33,7.64,-18.78,NaN,46.11
-1246,SVC,HSX,Ô tô và phụ tùng,1319.0,6.2,2.3,1.6,3.5,2.4,-0.2,0.2,13.5,0.9,14.6,2.5,18.82,6.27,250.17,-20.08,7.89
-1247,SVD,HSX,Hàng cá nhân & Gia dụng,83.0,6.8,NaN,1.4,NaN,3.8,0.1,0.1,4.8,0.3,3.4,0.0,32.34,NaN,NaN,NaN,5.1
-1248,SVG,UPCOM,Hàng & Dịch vụ Công nghiệp,195.0,0.2,2.5,1.2,3.5,3.6,0.4,0.0,271.4,0.6,9.7,0.0,0.52,-2.27,505.91,-28.55,13.6
-1249,SVH,UPCOM,"Điện, nước & xăng dầu khí đốt",89.0,16.6,NaN,3.3,NaN,3.4,0.0,0.0,2.4,0.4,6.8,0.0,6.29,0.69,4.81,26.62,83.56
-1250,SVI,HSX,Hàng & Dịch vụ Công nghiệp,748.0,8.0,2.8,1.6,4.0,4.8,-0.1,-0.1,10.7,0.8,8.2,0.0,0.03,-2.44,-42.66,-11.67,14.11
-1251,SVN,HNX,Xây dựng và Vật liệu,116.0,0.6,NaN,2.0,NaN,4.2,0.3,0.6,87.6,0.5,-163.3,0.0,7.24,299.51,-35.55,-13.98,0.95
-1252,SVT,HSX,Tài nguyên Cơ bản,216.0,11.8,NaN,3.1,NaN,4.2,0.0,0.2,7.7,0.9,-100.0,0.0,-96.16,-49.96,7.95,12.09,60.51
-1253,SWC,UPCOM,Hàng & Dịch vụ Công nghiệp,2338.0,15.4,3.5,4.4,3.0,5.0,0.1,1.0,8.2,1.2,6.8,0.0,39.71,27.2,20.14,31.93,21.19
-1254,SZB,HNX,Bất động sản,1155.0,17.8,3.1,4.2,3.0,5.0,0.0,0.6,9.3,1.6,5.3,2.5,37.7,9.12,68.99,15.28,47.61
-1255,SZC,HSX,Bất động sản,5904.0,11.7,2.5,4.0,3.0,3.6,-0.1,1.3,16.2,1.8,17.4,0.0,6.45,21.46,38.04,4.59,45.46
-1256,SZE,UPCOM,Hàng & Dịch vụ Công nghiệp,360.0,8.5,2.5,1.8,3.5,4.0,0.0,0.0,11.5,1.0,5.8,0.0,-6.92,1.66,4.15,-0.61,16.22
-1257,SZG,UPCOM,Bất động sản,1993.0,22.8,2.9,2.7,3.4,5.0,0.1,0.6,9.8,2.1,5.7,4.6,3.42,NaN,-2.57,NaN,66.11
-1258,SZL,HSX,Bất động sản,1094.0,16.6,2.8,3.2,3.5,4.0,0.0,0.6,10.1,1.7,6.1,0.0,10.68,5.64,0.94,-7.54,38.68
-1259,TA6,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.1,NaN,2.6,-0.2,-0.5,NaN,NaN,NaN,NaN,NaN,NaN,22.02,-23.91,NaN
-1260,TA9,HNX,Xây dựng và Vật liệu,185.0,15.5,NaN,2.6,NaN,2.4,0.1,0.5,7.3,1.1,9.5,0.0,21.51,21.97,17.62,3.61,7.09
-1261,TAN,UPCOM,Thực phẩm và đồ uống,NaN,NaN,NaN,1.9,NaN,2.2,0.0,0.2,NaN,NaN,NaN,NaN,NaN,NaN,263.46,NaN,NaN
-1262,TAR,HNX,Thực phẩm và đồ uống,321.0,-6.3,2.1,1.3,3.0,2.4,-0.2,0.1,-4.6,0.3,19.7,0.0,-5.55,18.18,NaN,NaN,2.9
-1263,TAW,UPCOM,"Điện, nước & xăng dầu khí đốt",NaN,NaN,NaN,1.9,NaN,4.0,0.3,0.2,NaN,NaN,NaN,NaN,NaN,NaN,-13.9,NaN,NaN
-1264,TB8,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,2.1,NaN,2.0,0.3,0.1,NaN,NaN,NaN,NaN,NaN,NaN,9.38,NaN,NaN
-1265,TBC,HSX,"Điện, nước & xăng dầu khí đốt",2502.0,16.3,2.8,3.5,3.0,4.4,0.0,0.2,14.9,2.4,8.2,4.8,25.0,12.65,41.62,7.03,60.18
-1266,TBD,UPCOM,Hàng & Dịch vụ Công nghiệp,3402.0,24.2,2.9,2.1,3.2,3.2,0.2,0.5,22.9,5.3,16.6,0.0,23.68,-1.09,186.58,4.08,14.57
-1267,TBH,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,2.5,1.9,NaN,3.0,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-1268,TBR,UPCOM,Bất động sản,NaN,NaN,NaN,1.1,NaN,3.4,0.1,0.1,NaN,NaN,NaN,NaN,NaN,NaN,3.13,-24.39,NaN
-1269,TBT,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.0,NaN,2.2,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-1270,TBW,UPCOM,,NaN,NaN,NaN,1.7,NaN,3.4,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,1.37,NaN,NaN
-1271,TBX,HNX,Xây dựng và Vật liệu,26.0,-0.5,NaN,1.2,NaN,3.4,-0.1,0.0,-247.9,1.3,-215.1,0.0,-2.39,-20.95,NaN,NaN,20.08
-1272,TCB,HSX,Ngân hàng,218304.0,14.8,4.0,4.4,4.4,3.6,0.1,1.1,10.3,1.4,NaN,0.0,17.3,17.4,19.55,1.2,NaN
-1273,TCD,HSX,Xây dựng và Vật liệu,742.0,1.9,2.5,1.4,3.0,2.8,-0.5,0.9,10.4,0.2,41.2,0.0,-35.01,-7.37,-41.51,-13.0,16.22
-1274,TCH,HSX,Ô tô và phụ tùng,12162.0,9.2,2.9,3.7,3.0,4.2,0.0,1.5,14.2,1.2,9.9,0.0,98.37,25.77,64.81,10.95,41.41
-1275,TCI,UPCOM,Dịch vụ tài chính,955.0,4.5,2.4,3.9,3.0,2.8,-0.1,0.8,16.6,0.8,12.4,0.0,35.29,14.93,-2.61,12.0,82.91
-1276,TCJ,UPCOM,Thực phẩm và đồ uống,NaN,NaN,NaN,1.0,NaN,1.8,0.1,0.0,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-1277,TCK,UPCOM,Xây dựng và Vật liệu,83.0,-58.6,NaN,1.8,NaN,3.6,0.0,0.2,2.0,-1.9,3.9,0.0,-3.08,-6.15,NaN,NaN,23.99
-1278,TCL,HSX,Hàng & Dịch vụ Công nghiệp,1007.0,24.2,2.9,3.0,3.3,4.8,0.0,0.7,6.7,1.6,5.3,7.2,6.65,11.38,8.87,7.89,13.8
-1279,TCM,HSX,Hàng cá nhân & Gia dụng,3101.0,13.4,2.6,2.5,3.7,4.4,-0.3,1.1,10.6,1.4,7.6,1.1,14.61,0.9,109.29,-2.19,16.2
-1280,TCO,HSX,Hàng & Dịch vụ Công nghiệp,359.0,12.9,2.6,2.5,3.5,2.8,0.2,0.7,8.0,1.0,9.9,0.0,11900.59,85.5,196.26,-4.76,2.43
-1281,TCP,UPCOM,Tài nguyên Cơ bản,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-1282,TCR,HSX,Xây dựng và Vật liệu,139.0,-16.9,2.3,1.0,NaN,2.6,0.0,0.0,-2.2,0.4,-31.8,0.0,1.86,-3.77,NaN,NaN,3.54
-1283,TCT,HSX,Du lịch và Giải trí,221.0,4.5,2.3,1.5,2.9,3.4,-0.1,0.5,14.2,0.6,-2582.2,0.0,-37.12,-31.31,-41.05,-30.59,55.22
-1284,TCW,UPCOM,Hàng & Dịch vụ Công nghiệp,645.0,27.1,3.4,3.0,4.0,5.0,0.0,0.9,6.7,1.8,3.9,0.0,14.05,8.59,7.89,8.15,22.96
-1285,TDB,UPCOM,"Điện, nước & xăng dầu khí đốt",NaN,NaN,2.8,2.3,3.5,3.4,0.1,0.2,NaN,NaN,NaN,NaN,NaN,NaN,-5.57,2.63,NaN
-1286,TDC,HSX,Bất động sản,1380.0,47.2,2.7,3.5,2.7,2.8,0.0,1.1,3.0,1.2,6.4,0.0,289.25,-5.61,NaN,17.06,17.52
-1287,TDF,UPCOM,Xây dựng và Vật liệu,283.0,1.6,2.1,1.4,NaN,2.2,-0.1,0.5,23.4,0.4,34.0,0.0,-7.51,-6.26,-60.91,-31.0,NaN
-1288,TDG,HSX,"Điện, nước & xăng dầu khí đốt",78.0,2.4,NaN,2.2,NaN,2.2,-0.1,1.0,13.5,0.3,15.0,0.0,8.55,11.7,84.61,1.46,5.09
-1289,TDH,HSX,Bất động sản,554.0,-132.3,2.3,1.4,3.0,3.0,0.3,0.8,-1.9,7.3,-1.5,0.0,-59.32,-58.39,NaN,NaN,60.76
-1290,TDM,HSX,"Điện, nước & xăng dầu khí đốt",6061.0,12.8,2.9,2.8,3.0,4.4,0.1,0.1,19.5,2.4,16.9,2.9,2.22,9.5,-27.89,-1.83,50.58
-1291,TDP,HSX,Hàng & Dịch vụ Công nghiệp,2819.0,9.5,2.2,2.6,3.6,2.2,0.1,0.3,30.1,2.7,14.1,0.0,14.65,29.62,121.8,0.7,8.19
-1292,TDS,UPCOM,Tài nguyên Cơ bản,104.0,0.0,NaN,1.1,NaN,4.2,-0.2,1.0,-1318.4,0.5,-32.7,0.0,7.18,-6.59,-93.96,-55.37,4.17
-1293,TDT,HNX,Hàng cá nhân & Gia dụng,165.0,5.5,NaN,1.9,NaN,2.2,0.0,0.3,10.9,0.6,9.7,0.0,15.64,9.06,14.02,-12.77,28.07
-1294,TDW,HSX,"Điện, nước & xăng dầu khí đốt",510.0,21.3,2.7,3.0,3.5,3.8,0.1,0.5,9.5,2.0,6.5,2.7,2.77,9.24,6.1,23.55,34.43
-1295,TED,UPCOM,Xây dựng và Vật liệu,731.0,25.0,2.6,2.0,NaN,4.4,0.1,0.4,10.4,2.5,5.1,0.0,-7.96,NaN,-11.0,NaN,22.48
-1296,TEG,HSX,Bất động sản,649.0,0.4,2.1,1.5,2.9,3.6,-0.3,0.9,111.7,0.5,42.4,0.0,-8.22,13.6,-92.73,-5.04,27.38
-1297,TEL,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,2.0,NaN,2.6,0.2,0.0,NaN,NaN,NaN,NaN,NaN,NaN,NaN,-8.95,NaN
-1298,TET,HNX,Hàng cá nhân & Gia dụng,155.0,3.1,NaN,1.6,NaN,3.4,0.0,0.0,42.8,1.3,-255.2,2.7,-1.86,-1.08,-55.22,-5.92,36.81
-1299,TFC,HNX,Thực phẩm và đồ uống,1345.0,55.5,3.5,4.2,NaN,4.4,0.8,1.0,7.1,3.1,7.3,0.0,15.57,10.91,208.77,47.78,26.72
-1300,TGG,HSX,Xây dựng và Vật liệu,63.0,-4.2,2.6,1.5,3.0,2.6,0.0,0.0,-11.9,0.6,16.5,0.0,6948.61,57.8,NaN,NaN,9.12
-1301,TGP,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,2.2,NaN,2.8,0.2,0.1,NaN,NaN,NaN,NaN,NaN,NaN,767.87,76.81,NaN
-1302,TH1,UPCOM,Bán lẻ,57.0,93.5,NaN,2.1,NaN,2.2,0.0,0.0,2.3,1.4,28.0,0.0,79.75,48.63,-40.85,NaN,4.58
-1303,THB,HNX,Thực phẩm và đồ uống,149.0,3.2,NaN,1.2,NaN,4.6,0.1,-0.2,33.5,1.1,-2.1,0.0,8.03,6.84,-24.54,-24.41,4.81
-1304,THD,HNX,Bất động sản,10895.0,2.1,2.1,1.6,2.1,4.0,-0.1,0.8,110.6,2.5,-2105.1,0.0,-47.94,5.07,-52.3,NaN,2.57
-1305,THG,HSX,Xây dựng và Vật liệu,1409.0,22.0,2.8,2.5,3.2,4.0,0.1,0.9,9.1,1.9,6.7,4.1,11.82,7.59,21.56,-3.92,22.16
-1306,THN,UPCOM,"Điện, nước & xăng dầu khí đốt",168.0,15.0,NaN,2.8,3.5,3.8,0.0,0.0,2.6,0.4,4.0,0.0,6.44,5.27,30.65,18.74,27.36
-1307,THO,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-1308,THP,UPCOM,Thực phẩm và đồ uống,182.0,5.5,NaN,1.4,NaN,2.0,0.0,0.4,9.5,0.5,17.6,5.0,7.02,8.05,15.83,NaN,6.78
-1309,THS,HNX,Bán lẻ,40.0,2.7,NaN,1.2,NaN,1.8,0.1,0.4,37.7,1.0,21.6,9.9,18.35,-1.3,-53.87,-19.02,5.65
-1310,THT,HNX,Tài nguyên Cơ bản,219.0,-4.9,2.3,1.5,3.5,2.0,-0.2,0.7,-13.1,0.7,8.7,2.4,-2.42,11.6,-68.58,-19.23,NaN
-1311,THU,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.5,NaN,3.2,0.4,0.4,NaN,NaN,NaN,NaN,NaN,NaN,4.08,-2.14,NaN
-1312,THW,UPCOM,"Điện, nước & xăng dầu khí đốt",NaN,NaN,NaN,2.8,NaN,4.0,0.1,0.2,NaN,NaN,NaN,NaN,NaN,NaN,14.59,NaN,NaN
-1313,TID,UPCOM,Bất động sản,5059.0,22.1,2.5,2.7,3.4,3.2,0.0,0.9,8.8,1.7,16.2,0.0,36.52,6.26,29.72,53.82,5.28
-1314,TIE,UPCOM,Hàng & Dịch vụ Công nghiệp,33.0,-15.1,NaN,1.1,NaN,3.6,-0.1,1.3,-2.8,0.5,-3.0,0.0,NaN,NaN,NaN,NaN,25.09
-1315,TIG,HNX,Bất động sản,1317.0,7.5,2.6,3.0,3.0,4.4,-0.3,1.3,8.0,0.6,10.3,0.0,21.34,37.55,-20.52,0.42,19.45
-1316,TIN,UPCOM,Hàng & Dịch vụ Công nghiệp,3414.0,-9.2,2.8,3.3,NaN,1.2,0.7,0.4,-39.3,3.4,NaN,0.0,-28.64,24.7,NaN,NaN,NaN
-1317,TIP,HSX,Bất động sản,1190.0,9.9,2.8,3.0,3.8,5.0,-0.1,1.0,6.8,0.7,15.6,6.1,6.41,-5.0,4.92,-3.39,65.02
-1318,TIS,UPCOM,Tài nguyên Cơ bản,1038.0,-1.5,1.8,1.1,2.7,1.2,0.0,0.8,-44.6,0.7,34.6,0.0,11.23,0.32,NaN,NaN,3.0
-1319,TIX,HSX,Bất động sản,1118.0,12.7,2.9,3.3,3.0,4.2,0.1,-0.1,10.6,1.3,12.3,8.1,4.47,1.56,-1.52,4.11,74.28
-1320,TJC,HNX,Hàng & Dịch vụ Công nghiệp,172.0,1.6,NaN,1.8,NaN,4.2,0.1,0.0,60.4,1.0,-82.4,0.0,-94.89,-52.21,-94.62,NaN,55.3
-1321,TKA,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,2.2,NaN,4.2,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,-0.16,0.9,NaN
-1322,TKC,HNX,Xây dựng và Vật liệu,18.0,424.1,NaN,1.0,3.5,2.6,0.0,0.0,0.0,0.0,-1.1,0.0,-81.34,-39.56,NaN,NaN,NaN
-1323,TKD,HNX,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-1324,TKG,UPCOM,Tài nguyên Cơ bản,15.0,2.0,NaN,1.1,NaN,3.4,0.0,0.0,11.7,0.2,34.9,0.0,-17.98,NaN,-50.16,NaN,19.65
-1325,TKU,HNX,Tài nguyên Cơ bản,750.0,11.1,2.4,2.0,3.2,4.6,0.1,0.1,12.6,1.3,6.8,0.0,5.99,-0.63,NaN,0.58,18.38
-1326,TL4,UPCOM,Xây dựng và Vật liệu,115.0,0.9,NaN,1.4,NaN,3.8,0.2,-0.1,76.2,0.7,-6.4,0.0,-56.05,-37.18,NaN,-31.05,39.42
-1327,TLD,HSX,Bất động sản,513.0,1.7,2.8,1.7,NaN,4.6,0.1,0.5,36.7,0.6,15.7,0.0,72.7,10.98,184.06,-10.42,7.52
-1328,TLG,HSX,Hàng cá nhân & Gia dụng,4132.0,19.6,2.9,3.0,4.0,5.0,0.0,1.1,9.1,1.7,6.2,3.9,8.57,2.93,28.62,3.54,42.75
-1329,TLH,HSX,Tài nguyên Cơ bản,621.0,-37.9,2.2,1.1,3.0,2.6,-0.1,1.2,-1.1,0.5,-6.2,0.0,2.4,3.16,NaN,NaN,4.13
-1330,TLI,UPCOM,Hàng cá nhân & Gia dụng,NaN,NaN,NaN,1.0,NaN,3.4,0.4,-0.6,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-1331,TLP,UPCOM,"Điện, nước & xăng dầu khí đốt",1419.0,1.8,2.3,1.4,3.0,2.4,0.0,0.5,30.8,0.6,16.2,0.0,1.69,9.11,-35.65,-1.4,3.34
-1332,TLT,UPCOM,Xây dựng và Vật liệu,94.0,65.8,NaN,1.7,NaN,3.6,0.0,0.7,4.1,1.9,NaN,0.0,9.33,1.37,183.17,-4.04,14.66
-1333,TMB,HNX,Tài nguyên Cơ bản,1035.0,26.4,2.7,3.3,3.1,2.8,-0.1,0.9,4.9,1.2,-7.0,2.6,12.56,30.93,-39.8,26.14,3.55
-1334,TMC,HNX,"Điện, nước & xăng dầu khí đốt",97.0,5.2,NaN,1.3,NaN,3.6,-0.1,0.6,9.7,0.5,-0.4,6.1,-2.0,0.57,-15.68,-11.41,6.25
-1335,TMG,UPCOM,Tài nguyên Cơ bản,1231.0,24.1,2.3,2.2,3.3,3.8,0.2,0.1,19.2,4.4,10.0,0.0,19.83,7.86,84.14,-6.2,10.21
-1336,TMP,HSX,"Điện, nước & xăng dầu khí đốt",4550.0,25.3,2.6,3.2,3.1,4.8,0.0,0.3,12.5,2.9,9.6,2.6,-10.59,2.56,-23.0,-1.35,60.09
-1337,TMS,HSX,Hàng & Dịch vụ Công nghiệp,7112.0,6.4,2.3,2.0,3.0,4.0,0.0,0.6,27.7,1.7,18.9,0.0,39.16,7.28,26.58,-12.19,20.04
-1338,TMT,HSX,Ô tô và phụ tùng,446.0,-100.3,2.3,1.2,3.2,3.0,0.1,0.9,-1.5,3.1,-3.1,0.0,-11.72,11.45,NaN,NaN,9.07
-1339,TMW,UPCOM,Tài nguyên Cơ bản,NaN,NaN,NaN,2.5,NaN,4.2,0.4,0.4,NaN,NaN,NaN,NaN,NaN,NaN,304.25,NaN,NaN
-1340,TMX,HNX,Xây dựng và Vật liệu,62.0,0.6,NaN,1.1,NaN,3.4,0.1,0.0,113.7,0.7,-84.8,0.0,-3.94,-10.32,-63.58,-33.73,3.17
-1341,TN1,HSX,Bất động sản,631.0,12.9,2.5,2.1,3.5,4.2,0.0,0.2,5.2,0.6,8.6,0.0,-1.37,11.15,-0.09,-22.09,21.88
-1342,TNA,HSX,Tài nguyên Cơ bản,182.0,-14.6,2.7,1.0,3.0,2.6,-0.1,0.0,-2.4,0.4,-89.1,0.0,-73.41,-23.08,NaN,NaN,25.44
-1343,TNB,UPCOM,Tài nguyên Cơ bản,297.0,0.7,NaN,1.5,NaN,3.4,0.0,-0.2,239.4,1.6,10.3,0.0,-3.88,-6.64,8.9,-47.54,3.78
-1344,TNC,HSX,Hóa chất,605.0,12.7,2.5,3.3,2.9,4.2,-0.1,0.7,14.0,1.7,14.5,0.0,10.54,19.18,23.05,1.2,35.81
-1345,TNG,HNX,Hàng cá nhân & Gia dụng,2072.0,17.5,2.3,2.5,3.0,2.4,-0.1,1.5,6.6,1.1,7.6,8.4,7.9,10.67,44.66,0.68,15.22
-1346,TNH,HSX,Y tế,2551.0,-0.3,2.4,1.5,3.5,3.4,-0.1,1.1,-573.3,1.4,39.8,0.0,-17.24,9.83,-67.49,-31.87,NaN
-1347,TNI,HSX,Tài nguyên Cơ bản,114.0,-4.8,NaN,1.0,2.3,2.8,-0.1,0.8,-4.7,0.2,13.9,0.0,30.38,-11.74,NaN,NaN,2.13
-1348,TNM,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.5,NaN,1.8,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-1349,TNP,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,2.0,NaN,3.2,0.1,0.4,NaN,NaN,NaN,NaN,NaN,NaN,-37.15,6.36,NaN
-1350,TNS,UPCOM,Tài nguyên Cơ bản,84.0,84.9,NaN,2.6,NaN,2.8,-0.1,0.1,1.6,1.0,1.5,0.0,130.69,19.07,1209.42,NaN,3.68
-1351,TNT,HSX,Tài nguyên Cơ bản,240.0,0.6,2.6,2.7,1.8,4.0,0.0,1.0,71.1,0.4,23.3,0.0,44.03,39.1,-97.62,-34.0,1.09
-1352,TNW,UPCOM,"Điện, nước & xăng dầu khí đốt",184.0,-0.9,NaN,2.2,NaN,1.6,0.1,0.2,-101.3,0.9,6.4,0.0,3.83,4.18,NaN,NaN,40.87
-1353,TOP,UPCOM,Bán lẻ,25.0,-0.5,NaN,1.1,NaN,4.2,-0.1,0.0,-38.6,0.2,-32.3,0.0,-99.67,-82.55,NaN,NaN,5.33
-1354,TOS,UPCOM,Dầu khí,4250.0,52.2,2.9,3.5,3.0,4.0,0.5,1.2,6.9,2.9,5.0,0.0,147.06,26.57,173.88,NaN,24.92
-1355,TOT,HNX,Hàng & Dịch vụ Công nghiệp,159.0,15.7,NaN,3.7,NaN,4.6,0.0,0.7,7.7,1.2,4.8,0.0,2.7,23.55,4.42,29.52,16.88
-1356,TOW,UPCOM,"Điện, nước & xăng dầu khí đốt",NaN,NaN,NaN,4.5,NaN,4.8,0.4,0.6,NaN,NaN,NaN,NaN,NaN,NaN,102.63,19.16,NaN
-1357,TPB,HSX,Ngân hàng,35666.0,17.1,2.7,3.9,3.0,2.2,0.0,1.1,5.7,0.9,NaN,6.4,11.1,16.32,36.03,3.28,NaN
-1358,TPC,HSX,Hóa chất,254.0,4.8,2.6,1.2,3.4,3.8,0.3,0.3,17.9,0.8,15.3,0.0,-23.01,-10.98,NaN,-10.8,10.16
-1359,TPH,HNX,Truyền thông,28.0,5.6,NaN,1.5,NaN,3.0,0.2,0.3,20.0,1.1,15.9,4.1,-4.43,9.02,-16.1,-2.46,24.99
-1360,TPP,HNX,Hàng & Dịch vụ Công nghiệp,436.0,8.2,2.4,3.0,3.1,2.0,0.0,0.4,9.8,0.8,9.2,0.0,26.62,28.53,108.14,55.83,15.49
-1361,TPS,UPCOM,Du lịch và Giải trí,NaN,NaN,NaN,3.8,3.5,3.4,0.6,0.5,NaN,NaN,NaN,NaN,NaN,NaN,28.03,12.39,NaN
-1362,TQN,UPCOM,Tài nguyên Cơ bản,NaN,NaN,NaN,2.2,NaN,2.2,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,241.06,31.26,NaN
-1363,TQW,UPCOM,"Điện, nước & xăng dầu khí đốt",NaN,NaN,NaN,2.7,NaN,2.4,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,-5.34,20.08,NaN
-1364,TR1,UPCOM,Du lịch và Giải trí,NaN,NaN,NaN,1.9,NaN,2.6,0.1,-0.5,NaN,NaN,NaN,NaN,NaN,NaN,23.27,NaN,NaN
-1365,TRA,HSX,Y tế,3038.0,16.7,2.8,2.9,4.0,4.8,0.0,0.4,13.4,2.2,8.5,2.6,2.09,6.53,-9.2,9.27,51.64
-1366,TRC,HSX,Hóa chất,1928.0,15.2,3.3,4.2,3.0,5.0,0.3,1.0,7.0,1.0,5.1,0.0,32.25,17.39,227.39,21.56,38.86
-1367,TRS,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.9,NaN,2.6,0.2,-0.1,NaN,NaN,NaN,NaN,NaN,NaN,29.12,-4.82,NaN
-1368,TRT,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.9,NaN,2.0,0.6,-0.1,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-1369,TS3,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.4,NaN,2.0,0.0,0.1,NaN,NaN,NaN,NaN,NaN,NaN,206.0,-35.15,NaN
-1370,TS4,UPCOM,Thực phẩm và đồ uống,19.0,1.6,NaN,1.0,NaN,2.8,0.0,0.0,-2.3,0.0,-772.1,0.0,-90.31,-47.61,NaN,NaN,NaN
-1371,TSB,HNX,Hàng & Dịch vụ Công nghiệp,229.0,3.1,NaN,1.5,NaN,3.6,-0.1,0.6,96.1,3.1,38.0,1.7,15.56,-3.34,23.24,2.71,12.62
-1372,TSC,HSX,Hóa chất,559.0,0.0,2.3,1.8,2.4,4.2,0.0,0.7,-14684.6,0.3,16.5,0.0,32.1,8.52,NaN,-11.02,24.38
-1373,TSD,UPCOM,Du lịch và Giải trí,NaN,NaN,NaN,1.9,NaN,2.4,0.1,0.6,NaN,NaN,NaN,NaN,NaN,NaN,142.19,NaN,NaN
-1374,TSG,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.8,NaN,2.8,0.2,0.0,NaN,NaN,NaN,NaN,NaN,NaN,0.0,-2.58,NaN
-1375,TSJ,UPCOM,Du lịch và Giải trí,2319.0,9.2,2.5,2.7,3.5,4.2,0.3,0.1,29.1,2.7,120.7,0.0,2.52,-3.1,8.13,-0.02,30.96
-1376,TST,UPCOM,Công nghệ Thông tin,38.0,-1.0,NaN,1.0,NaN,3.2,0.3,0.0,-45.0,0.5,-46.9,0.0,-79.82,-39.22,NaN,NaN,NaN
-1377,TTA,HSX,Xây dựng và Vật liệu,1820.0,11.3,2.9,4.0,4.0,3.0,0.0,1.0,7.6,0.8,5.9,0.0,12.0,22.2,128.21,21.36,56.48
-1378,TTB,HSX,Xây dựng và Vật liệu,183.0,0.0,1.9,1.2,3.2,2.8,0.0,0.0,387.8,0.2,48.4,0.0,23.53,-22.99,NaN,-75.6,19.4
-1379,TTC,HNX,Xây dựng và Vật liệu,45.0,2.2,NaN,1.2,NaN,5.0,-0.1,0.4,17.4,0.4,6.0,3.8,-24.2,-14.91,-59.79,-27.37,15.53
-1380,TTD,UPCOM,Y tế,1151.0,28.0,2.9,2.9,3.6,4.2,0.0,0.0,13.2,3.6,9.6,4.8,5.0,3.33,1.45,1.83,20.92
-1381,TTE,HSX,"Điện, nước & xăng dầu khí đốt",1064.0,-7.0,2.2,1.7,3.5,1.4,0.5,0.0,-50.0,3.7,16.2,0.0,-14.47,-7.34,NaN,NaN,55.48
-1382,TTF,HSX,Tài nguyên Cơ bản,1015.0,1.6,2.2,1.3,2.9,3.2,-0.2,1.0,173.3,2.8,-527.9,0.0,-21.61,11.17,NaN,NaN,7.46
-1383,TTG,UPCOM,Hàng cá nhân & Gia dụng,NaN,NaN,NaN,2.3,NaN,3.4,-0.1,-0.4,NaN,NaN,NaN,NaN,NaN,NaN,19.33,NaN,NaN
-1384,TTH,HNX,Bán lẻ,93.0,-3.9,NaN,1.3,NaN,4.2,-0.2,1.2,-5.7,0.2,-5.5,0.0,-8.7,18.65,NaN,NaN,0.58
-1385,TTL,HNX,Xây dựng và Vật liệu,326.0,-0.5,2.7,1.3,3.0,2.6,0.0,0.9,-123.3,0.6,7.3,0.0,14.07,16.25,NaN,NaN,16.44
-1386,TTN,UPCOM,Viễn thông,634.0,13.7,2.7,3.1,3.2,4.2,0.1,1.4,9.7,1.3,5.7,0.0,-0.71,7.33,84.35,-3.49,38.96
-1387,TTS,UPCOM,Tài nguyên Cơ bản,203.0,2.4,2.4,1.4,3.5,2.6,0.0,0.1,28.1,0.7,5.1,0.0,27.96,5.62,280.8,-5.32,0.65
-1388,TTT,HNX,Du lịch và Giải trí,133.0,7.7,NaN,1.7,3.5,4.2,0.0,0.5,6.0,0.4,27.6,0.0,-12.12,-13.93,-14.25,-13.78,40.11
-1389,TTZ,HNX,Xây dựng và Vật liệu,14.0,-0.3,NaN,1.1,NaN,3.0,0.0,0.0,-65.9,0.2,6.8,0.0,-28.29,-52.95,NaN,NaN,26.25
-1390,TUG,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,2.3,NaN,3.4,0.1,0.3,NaN,NaN,NaN,NaN,NaN,NaN,-8.88,-7.08,NaN
-1391,TV1,UPCOM,Hàng & Dịch vụ Công nghiệp,653.0,27.0,3.0,3.5,3.2,3.6,0.0,0.8,6.0,1.5,4.3,0.0,5.82,0.13,27.26,181.27,42.65
-1392,TV2,HSX,Hàng & Dịch vụ Công nghiệp,2559.0,5.1,2.7,1.4,3.0,4.8,0.1,1.2,37.7,1.9,19.5,0.0,25.9,-16.65,21.68,-29.92,14.26
-1393,TV3,HNX,Xây dựng và Vật liệu,112.0,10.2,NaN,1.5,3.5,4.4,0.0,0.4,7.2,0.7,13.9,0.0,-7.88,-13.75,-20.73,-9.59,27.85
-1394,TV4,HNX,Hàng & Dịch vụ Công nghiệp,285.0,12.5,3.0,2.4,3.5,4.2,0.0,0.4,8.6,1.1,12.5,0.0,2.5,0.06,-6.33,10.16,23.02
-1395,TV6,UPCOM,Bán lẻ,NaN,NaN,NaN,2.2,NaN,3.4,0.0,0.2,NaN,NaN,NaN,NaN,NaN,NaN,NaN,4.51,NaN
-1396,TVA,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.0,NaN,3.2,0.2,-0.2,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-1397,TVB,HSX,Dịch vụ tài chính,833.0,10.5,3.0,4.4,2.8,4.2,-0.1,1.1,7.1,0.7,6.9,0.0,29.32,25.44,99.59,45.28,95.69
-1398,TVC,HNX,Dịch vụ tài chính,896.0,9.8,2.6,4.5,2.5,4.0,-0.2,1.3,5.9,0.6,32.9,0.0,278.1,33.46,53.11,77.19,64.5
-1399,TVD,HNX,Tài nguyên Cơ bản,508.0,11.1,2.6,1.6,3.2,3.2,-0.1,0.8,6.4,0.7,3.5,7.4,-0.97,7.33,-33.81,9.44,5.6
-1400,TVG,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.1,NaN,2.6,0.1,0.0,NaN,NaN,NaN,NaN,NaN,NaN,-64.87,NaN,NaN
-1401,TVH,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,2.6,NaN,2.4,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,-1.19,5.16,NaN
-1402,TVM,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.4,NaN,4.0,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,2.51,3.96,NaN
-1403,TVN,UPCOM,Tài nguyên Cơ bản,4712.0,4.2,2.1,1.6,3.2,2.6,-0.1,1.6,13.7,0.6,30.8,0.0,19.3,1.22,NaN,-4.62,3.76
-1404,TVS,HSX,Dịch vụ tài chính,2973.0,9.8,2.5,4.1,3.5,2.2,-0.1,1.2,13.3,1.3,13.4,0.0,-13.73,21.99,11.78,10.32,61.2
-1405,TVT,HSX,Hàng cá nhân & Gia dụng,328.0,5.7,2.7,1.4,3.0,3.2,0.0,0.7,11.1,0.6,4.8,2.4,1.51,-4.57,96.69,-22.55,13.58
-1406,TW3,UPCOM,Y tế,NaN,NaN,NaN,2.5,NaN,2.4,0.1,0.2,NaN,NaN,NaN,NaN,NaN,NaN,42.23,96.61,NaN
-1407,TXM,HNX,Xây dựng và Vật liệu,33.0,0.2,NaN,1.1,NaN,4.8,-0.4,0.7,148.4,0.3,-19.3,0.0,112.69,-3.29,NaN,NaN,8.31
-1408,TYA,HSX,Hàng & Dịch vụ Công nghiệp,459.0,15.7,2.7,1.8,3.5,3.6,0.1,0.8,5.5,0.8,7.8,0.0,26.78,-0.23,7969.58,-2.7,10.06
-1409,UCT,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.2,NaN,4.2,0.2,0.2,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-1410,UDC,HSX,Xây dựng và Vật liệu,157.0,-18.5,2.1,1.0,NaN,1.6,0.2,0.7,-4.5,0.9,18.1,0.0,258.39,-3.05,NaN,NaN,3.91
-1411,UDJ,UPCOM,Xây dựng và Vật liệu,122.0,1.9,2.9,1.7,NaN,3.6,-0.1,0.6,26.9,0.5,17.4,0.0,-48.99,-18.02,-53.61,-21.41,8.92
-1412,UDL,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,3.3,NaN,3.4,0.1,0.1,NaN,NaN,NaN,NaN,NaN,NaN,105.97,47.67,NaN
-1413,UEM,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.4,NaN,2.6,0.2,0.0,NaN,NaN,NaN,NaN,NaN,NaN,-49.75,NaN,NaN
-1414,UIC,HSX,Xây dựng và Vật liệu,307.0,14.6,2.7,1.8,3.5,4.6,0.0,0.7,4.9,0.7,2.2,0.0,21.12,1.54,18.03,-1.46,3.8
-1415,UMC,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,2.5,NaN,3.4,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,17.04,19.01,NaN
-1416,UNI,HNX,Công nghệ Thông tin,320.0,-0.2,2.3,1.5,NaN,2.6,-0.1,0.7,-926.1,1.9,-2652.0,0.0,-37.6,-30.4,-99.8,-36.26,63.33
-1417,UPC,UPCOM,"Điện, nước & xăng dầu khí đốt",NaN,NaN,NaN,1.5,NaN,2.0,-0.2,0.0,NaN,NaN,NaN,NaN,NaN,NaN,-53.92,-9.73,NaN
-1418,UPH,UPCOM,Y tế,134.0,1.8,NaN,1.4,3.5,3.2,0.1,0.0,49.0,0.9,39.7,0.0,-6.82,2.3,38.87,NaN,14.51
-1419,USC,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.1,NaN,2.6,0.2,0.0,NaN,NaN,NaN,NaN,NaN,NaN,3.71,-28.29,NaN
-1420,USD,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,2.9,NaN,2.6,0.1,0.7,NaN,NaN,NaN,NaN,NaN,NaN,5.09,11.98,NaN
-1421,UTT,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-1422,V12,HNX,Xây dựng và Vật liệu,141.0,5.5,NaN,1.3,NaN,4.4,-0.1,-0.2,15.8,0.9,3.1,0.0,24.01,-1.29,-3.23,-5.93,6.56
-1423,V15,UPCOM,Xây dựng và Vật liệu,4.0,-146.3,NaN,1.0,NaN,2.4,0.0,0.0,-0.4,2.2,NaN,0.0,NaN,NaN,NaN,NaN,-7815.86
-1424,V21,HNX,Bất động sản,80.0,0.0,NaN,1.1,3.5,2.4,0.0,0.6,-2392.6,0.7,45.1,0.0,10.8,-20.61,NaN,NaN,10.31
-1425,V45,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-1426,VAB,UPCOM,Ngân hàng,6901.0,11.0,3.7,3.5,3.0,4.4,0.1,0.9,7.2,0.8,NaN,0.0,5.93,16.45,16.52,28.07,NaN
-1427,VAF,HSX,Hóa chất,817.0,14.8,3.9,3.0,3.5,5.0,0.3,0.4,10.3,1.5,4.4,7.1,21.83,9.02,-3.64,38.47,18.87
-1428,VAV,UPCOM,"Điện, nước & xăng dầu khí đốt",1684.0,36.9,3.2,4.2,3.0,5.0,0.2,0.4,6.9,2.2,3.6,2.5,27.75,11.29,112.89,22.6,32.41
-1429,VBB,UPCOM,Ngân hàng,7090.0,13.1,3.0,2.7,3.5,2.2,0.1,0.7,6.8,0.8,NaN,0.0,46.08,14.96,39.28,4.42,NaN
-1430,VBC,HNX,Hàng & Dịch vụ Công nghiệp,165.0,16.6,NaN,1.8,NaN,3.4,0.0,0.4,5.9,1.0,7.7,9.0,-6.01,-3.65,-0.58,-0.4,10.08
-1431,VBG,UPCOM,Tài nguyên Cơ bản,NaN,NaN,NaN,1.2,NaN,3.0,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,27.23,-9.33,NaN
-1432,VBH,UPCOM,Hàng & Dịch vụ Công nghiệp,24.0,4.0,NaN,1.3,NaN,4.2,-0.1,-0.7,58.3,2.3,123.3,0.0,-38.04,-10.57,-47.01,-12.98,22.08
-1433,VC1,HNX,Xây dựng và Vật liệu,102.0,1.4,NaN,1.8,3.4,2.4,0.0,0.6,28.8,0.4,10.9,0.0,128.35,-4.88,36.91,-8.23,7.15
-1434,VC2,HNX,Xây dựng và Vật liệu,536.0,6.7,2.6,1.8,3.2,2.8,0.0,1.3,9.0,0.6,16.4,0.0,13.28,-0.84,303.94,7.04,10.5
-1435,VC3,HNX,Bất động sản,3467.0,4.6,2.3,2.2,3.0,4.0,0.0,0.5,55.1,2.5,31.0,0.0,-24.18,13.12,-53.56,-7.02,17.5
-1436,VC5,UPCOM,Xây dựng và Vật liệu,3.0,-132.5,NaN,1.0,NaN,2.8,-0.1,0.1,-0.3,1.5,NaN,0.0,-65.17,-61.39,NaN,NaN,13.11
-1437,VC6,HNX,Xây dựng và Vật liệu,357.0,21.4,NaN,2.9,NaN,4.0,0.3,0.1,11.2,2.2,7.9,5.2,28.35,14.95,52.82,20.21,3.55
-1438,VC7,HNX,Xây dựng và Vật liệu,855.0,0.9,2.2,1.8,3.0,3.0,-0.1,1.7,88.7,0.8,32.2,0.0,-21.29,18.12,-64.79,-10.01,24.79
-1439,VC9,HNX,Xây dựng và Vật liệu,68.0,1.3,NaN,1.1,NaN,2.2,0.0,0.5,84.5,1.1,13.9,0.0,-12.95,-26.3,-43.47,-9.49,10.49
-1440,VCA,HSX,Tài nguyên Cơ bản,152.0,0.0,2.8,1.1,NaN,3.2,0.1,0.7,-1913.1,0.8,17.1,0.0,-21.29,-9.32,-85.78,-47.21,2.19
-1441,VCB,HSX,Ngân hàng,477109.0,17.9,2.4,3.3,3.0,3.9,0.0,0.9,14.1,2.3,NaN,0.0,1.26,8.46,2.42,0.69,NaN
-1442,VCC,HNX,Xây dựng và Vật liệu,216.0,3.1,1.9,1.2,NaN,2.2,0.0,0.4,26.0,0.8,15.9,0.0,-11.76,0.8,-10.0,-23.26,8.22
-1443,VCE,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.1,NaN,4.2,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,NaN,-26.51,NaN
-1444,VCF,HSX,Thực phẩm và đồ uống,7652.0,23.0,2.8,2.5,3.0,4.4,0.2,0.3,15.8,3.8,13.6,0.0,8.66,-3.77,-0.78,-8.09,21.34
-1445,VCG,HSX,Xây dựng và Vật liệu,13977.0,7.4,2.4,2.2,3.6,2.8,0.1,1.1,23.6,1.7,16.6,4.4,1.31,6.26,129.62,0.0,12.23
-1446,VCI,HSX,Dịch vụ tài chính,26570.0,9.7,2.4,3.2,3.5,3.2,0.0,1.3,26.4,2.1,17.7,2.0,49.47,19.12,85.14,-9.44,63.12
-1447,VCM,HNX,Hàng & Dịch vụ Công nghiệp,45.0,3.2,NaN,1.6,NaN,4.4,0.3,0.6,19.9,0.6,17.1,0.0,135.64,-8.3,314.09,-26.75,6.55
-1448,VCP,UPCOM,Xây dựng và Vật liệu,2094.0,19.4,2.8,3.6,3.0,4.0,0.0,0.8,6.6,1.1,5.4,0.0,131.33,29.24,150.31,4.5,34.87
-1449,VCR,UPCOM,Bất động sản,7402.0,-1.4,2.3,1.1,3.0,2.2,0.2,0.0,-326.6,4.7,-423.5,0.0,-90.58,-39.07,NaN,NaN,NaN
-1450,VCS,HNX,Xây dựng và Vật liệu,7568.0,14.7,2.7,2.4,3.4,5.0,-0.2,1.4,9.9,1.4,6.8,6.3,-0.73,-4.92,-4.64,-10.56,24.15
-1451,VCT,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,2.1,NaN,3.2,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,-2.78,NaN,NaN
-1452,VCW,UPCOM,"Điện, nước & xăng dầu khí đốt",2422.0,-8.0,2.1,1.4,3.0,2.6,0.1,0.0,-24.7,2.0,17.7,0.0,3.64,1.94,NaN,NaN,20.49
-1453,VCX,UPCOM,Xây dựng và Vật liệu,260.0,10.2,NaN,2.0,NaN,2.6,0.5,0.5,10.9,1.1,5.4,0.0,4.48,-0.57,197.55,24.44,7.17
-1454,VDB,UPCOM,Tài nguyên Cơ bản,NaN,NaN,NaN,1.7,NaN,1.8,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,-33.17,-10.27,NaN
-1455,VDL,HNX,Thực phẩm và đồ uống,176.0,-5.5,2.8,1.0,3.5,4.0,0.0,0.3,-18.4,1.0,-21.4,0.0,-52.17,-22.26,NaN,NaN,11.48
-1456,VDN,UPCOM,Hàng cá nhân & Gia dụng,NaN,NaN,NaN,1.3,NaN,1.6,0.0,0.3,NaN,NaN,NaN,NaN,NaN,NaN,47.32,-18.19,NaN
-1457,VDP,HSX,Y tế,784.0,9.2,3.0,2.5,3.5,4.8,0.0,0.4,11.5,1.0,7.8,7.0,-8.32,8.58,-10.47,3.26,26.81
-1458,VDS,HSX,Dịch vụ tài chính,3572.0,7.1,2.5,4.3,3.2,4.0,-0.2,1.5,19.0,1.3,16.3,0.0,27.86,24.36,-11.54,29.33,33.32
-1459,VDT,UPCOM,Tài nguyên Cơ bản,NaN,NaN,NaN,1.1,NaN,3.4,0.2,-0.4,NaN,NaN,NaN,NaN,NaN,NaN,-42.1,-20.4,NaN
-1460,VE1,HNX,Xây dựng và Vật liệu,20.0,2.6,NaN,1.8,NaN,3.4,0.1,-0.1,29.0,0.7,-52.8,0.0,-86.56,-41.75,NaN,-31.74,NaN
-1461,VE2,HNX,Xây dựng và Vật liệu,21.0,-49.1,NaN,1.4,NaN,3.8,0.0,0.0,-17.3,11.3,-14.7,0.0,-65.25,-50.15,NaN,NaN,NaN
-1462,VE3,HNX,Xây dựng và Vật liệu,11.0,1.3,NaN,2.0,NaN,2.0,0.1,-0.1,44.4,0.6,16.5,0.0,91.36,21.25,11.51,-23.67,3.07
-1463,VE4,HNX,Xây dựng và Vật liệu,267.0,19.0,NaN,1.8,NaN,2.2,0.0,0.0,154.0,26.8,87.4,0.0,-20.59,28.29,NaN,-2.28,10.07
-1464,VE8,HNX,Xây dựng và Vật liệu,5.0,213.4,NaN,1.0,NaN,3.0,-0.2,-0.1,-0.2,-0.2,-5.4,0.0,-18.72,-15.84,NaN,NaN,24.32
-1465,VE9,UPCOM,Xây dựng và Vật liệu,24.0,-1.9,NaN,1.0,NaN,2.6,0.1,1.1,-136.5,2.7,69.7,0.0,-92.47,-63.56,NaN,NaN,NaN
-1466,VEA,UPCOM,Hàng & Dịch vụ Công nghiệp,51302.0,26.6,2.8,2.6,3.0,5.0,0.0,0.6,7.1,1.9,169.4,0.0,7.8,-1.77,18.71,0.22,14.77
-1467,VEC,UPCOM,Công nghệ Thông tin,385.0,-1.0,2.7,1.3,3.5,4.2,0.1,0.7,-89.6,0.9,-140.1,0.0,-29.88,-17.73,NaN,NaN,50.42
-1468,VEF,UPCOM,Truyền thông,38673.0,142.6,3.3,3.0,3.1,4.2,0.0,0.9,2.5,2.0,2.2,0.0,-48.47,-23.82,116.71,91.96,37.78
-1469,VES,UPCOM,Hàng & Dịch vụ Công nghiệp,58.0,-19.1,NaN,1.5,NaN,2.8,1.0,0.6,NaN,NaN,-12.8,0.0,-5.26,-5.8,NaN,NaN,61.45
-1470,VET,UPCOM,Hóa chất,281.0,-12.9,1.9,1.4,3.0,2.2,-0.2,0.7,-6.8,0.9,15.8,0.0,-10.03,-16.11,NaN,NaN,44.0
-1471,VFC,UPCOM,Hàng & Dịch vụ Công nghiệp,3211.0,5.5,2.2,1.3,2.9,5.0,0.2,-0.1,84.8,4.7,45.1,0.0,-8.57,3.19,-41.56,-1.83,8.41
-1472,VFG,HSX,Hóa chất,2836.0,33.2,3.1,3.9,3.5,4.8,0.0,0.8,5.8,1.7,6.8,6.5,7.2,11.06,59.06,20.52,24.92
-1473,VFR,UPCOM,Hàng & Dịch vụ Công nghiệp,174.0,5.6,NaN,1.7,NaN,4.2,0.0,0.5,10.2,0.6,1.1,0.0,25.51,-12.63,-65.57,NaN,14.57
-1474,VFS,UPCOM,Dịch vụ tài chính,3110.0,8.3,3.1,3.6,2.9,2.2,0.2,0.5,24.0,1.9,26.2,0.0,39.46,46.12,46.13,NaN,84.73
-1475,VGC,HSX,Xây dựng và Vật liệu,19862.0,14.6,2.4,2.7,3.0,4.0,0.0,1.2,16.3,2.3,5.6,0.0,-9.76,3.25,-9.31,11.14,29.49
-1476,VGG,UPCOM,Hàng cá nhân & Gia dụng,1837.0,19.9,2.9,1.9,3.2,4.2,0.1,1.0,4.5,0.9,3.2,6.7,13.33,1.54,83.56,-2.74,10.83
-1477,VGI,UPCOM,Viễn thông,211344.0,12.9,2.5,3.5,3.0,5.0,-0.1,1.3,49.2,6.0,17.7,0.0,25.36,15.64,803.77,NaN,51.41
-1478,VGL,UPCOM,Tài nguyên Cơ bản,200.0,3.6,3.4,2.7,3.1,5.0,0.1,0.2,7.7,0.3,NaN,7.4,6.6,3.68,4.55,3.68,15.46
-1479,VGP,HNX,Hàng & Dịch vụ Công nghiệp,235.0,7.4,NaN,1.7,NaN,2.2,0.0,0.3,13.8,1.0,78.0,0.0,-15.38,-3.63,-1.54,19.96,0.5
-1480,VGR,UPCOM,Hàng & Dịch vụ Công nghiệp,4061.0,30.2,2.8,4.0,3.4,4.2,0.1,0.1,11.4,3.7,8.3,6.9,22.05,6.66,25.53,20.61,50.09
-1481,VGS,HNX,Tài nguyên Cơ bản,1348.0,12.9,2.2,1.8,3.5,3.4,-0.2,1.8,9.9,1.2,11.3,0.0,-3.09,1.38,89.19,1.93,3.73
-1482,VGT,UPCOM,Hàng cá nhân & Gia dụng,5134.0,6.7,2.4,1.7,3.4,3.2,-0.2,1.7,11.2,0.7,9.7,0.0,5.22,-1.81,95.97,-8.99,12.09
-1483,VGV,UPCOM,Bất động sản,1152.0,9.5,2.8,1.9,3.5,4.4,0.0,0.2,29.3,2.7,23.1,0.0,18.38,-1.93,65.65,6.66,19.08
-1484,VHC,HSX,Thực phẩm và đồ uống,12076.0,14.8,2.8,2.3,3.3,4.8,-0.1,1.1,9.7,1.4,7.8,2.8,24.72,9.73,33.4,-3.36,12.74
-1485,VHD,UPCOM,Bất động sản,280.0,-126.9,2.3,1.3,NaN,2.6,0.3,-0.3,-1.9,6.5,-60.9,0.0,-37.29,18.67,NaN,NaN,7.03
-1486,VHE,HNX,Y tế,146.0,1.0,NaN,1.6,3.1,2.8,0.1,0.6,44.0,0.4,18.2,0.0,38.7,24.88,15.78,-27.59,3.33
-1487,VHF,UPCOM,Thực phẩm và đồ uống,419.0,2.0,2.8,1.5,2.9,4.2,0.3,0.1,88.2,1.8,-48.0,0.0,-13.65,-3.44,-39.93,-0.26,4.99
-1488,VHG,UPCOM,Hàng & Dịch vụ Công nghiệp,247.0,1.5,2.3,1.0,NaN,4.0,-0.1,1.3,117.7,1.8,-597.4,0.0,NaN,NaN,NaN,NaN,NaN
-1489,VHH,UPCOM,Xây dựng và Vật liệu,30.0,-6.5,NaN,1.1,NaN,3.2,0.4,-0.3,NaN,NaN,-32.7,0.0,36.0,1.21,NaN,NaN,-25.92
-1490,VHL,HNX,Xây dựng và Vật liệu,270.0,-10.4,2.8,1.1,3.1,3.8,0.1,0.3,-5.2,0.6,5.4,0.0,-6.59,-10.5,NaN,NaN,18.6
-1491,VHM,HSX,Bất động sản,276429.0,17.3,3.4,3.0,4.0,3.8,0.2,0.8,8.2,1.3,12.6,0.0,-1.19,14.66,-4.71,9.16,32.86
-1492,VIB,HSX,Ngân hàng,54220.0,17.4,2.5,4.2,3.0,1.4,0.0,0.9,7.6,1.2,NaN,3.7,-7.18,20.33,-15.87,2.83,NaN
-1493,VIC,HSX,Bất động sản,357512.0,8.0,2.9,1.6,3.9,2.0,0.3,0.9,32.7,2.5,16.1,0.0,17.12,7.77,451.85,9.44,22.85
-1494,VID,HSX,Tài nguyên Cơ bản,207.0,1.1,2.3,2.0,NaN,2.4,0.0,-0.1,38.6,0.4,82.3,0.0,-9.41,2.47,-75.36,34.64,6.08
-1495,VIE,UPCOM,Công nghệ Thông tin,23.0,14.5,NaN,2.0,NaN,3.2,-0.1,0.4,10.9,1.5,8.5,0.0,52.89,-4.29,-85.09,-32.76,23.54
-1496,VIF,HNX,Tài nguyên Cơ bản,5810.0,5.4,2.5,1.7,3.0,4.2,0.0,0.6,21.5,1.2,-537.4,0.0,-5.26,-2.15,22.69,-7.98,18.72
-1497,VIG,HNX,Dịch vụ tài chính,293.0,2.3,2.6,2.9,NaN,4.2,0.0,1.5,36.4,0.8,20.1,0.0,3.57,48.21,-33.06,NaN,NaN
-1498,VIH,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.4,NaN,2.0,0.1,0.2,NaN,NaN,NaN,NaN,NaN,NaN,187.13,-18.83,NaN
-1499,VIM,UPCOM,Tài nguyên Cơ bản,NaN,NaN,NaN,1.1,NaN,2.6,-0.2,0.3,NaN,NaN,NaN,NaN,NaN,NaN,-66.62,-33.91,NaN
-1500,VIN,UPCOM,Hàng & Dịch vụ Công nghiệp,413.0,3.2,2.8,1.7,3.4,4.2,-0.1,0.1,22.7,0.7,-24.1,4.3,16.32,-0.54,-34.2,-5.5,5.23
-1501,VIP,HSX,Hàng & Dịch vụ Công nghiệp,928.0,7.6,2.9,2.6,3.0,4.2,0.0,0.9,9.4,0.7,4.8,7.1,3.67,-1.72,6.86,20.62,26.58
-1502,VIR,UPCOM,Du lịch và Giải trí,NaN,NaN,NaN,1.1,NaN,3.2,-0.1,0.0,NaN,NaN,NaN,NaN,NaN,NaN,NaN,-53.09,NaN
-1503,VIT,HNX,Xây dựng và Vật liệu,945.0,13.0,2.3,2.0,3.0,2.4,0.1,0.3,12.5,1.5,6.2,0.0,7.25,7.78,61323.79,-6.19,7.35
-1504,VIW,UPCOM,"Điện, nước & xăng dầu khí đốt",522.0,1.2,2.6,1.3,3.5,3.2,0.0,-0.3,72.5,0.9,10.8,0.0,-34.94,-12.45,21.93,-17.77,16.5
-1505,VIX,HSX,Dịch vụ tài chính,19544.0,6.9,3.3,4.2,3.2,3.8,0.0,1.4,22.4,1.2,19.4,0.0,13.17,33.28,-31.36,1.42,52.25
-1506,VJC,HSX,Du lịch và Giải trí,47824.0,8.9,1.8,1.6,3.0,2.2,-0.1,0.8,31.7,2.7,19.9,0.0,23.49,7.32,508.51,-18.09,13.39
-1507,VKC,HNX,Ô tô và phụ tùng,13.0,86.5,NaN,1.0,NaN,2.8,-0.1,0.0,-0.1,-0.1,-4.8,0.0,-17.01,-52.04,NaN,NaN,NaN
-1508,VKP,UPCOM,Hóa chất,4.0,-133.9,NaN,1.0,NaN,2.8,0.0,0.0,NaN,NaN,-6.0,0.0,NaN,NaN,NaN,NaN,-26.32
-1509,VLA,HNX,Công nghệ Thông tin,45.0,5.2,NaN,1.8,NaN,4.2,0.0,0.3,20.1,1.0,-16.2,0.0,34.36,7.88,291.52,-34.28,75.84
-1510,VLB,UPCOM,Xây dựng và Vật liệu,2011.0,32.7,2.9,3.2,3.4,4.2,0.1,0.7,8.9,2.8,6.9,4.9,29.96,2.87,52.94,10.77,27.09
-1511,VLC,UPCOM,Thực phẩm và đồ uống,3127.0,1.4,2.3,1.4,3.0,5.0,-0.1,1.0,60.7,0.9,47.0,0.0,-6.18,2.64,-65.43,-29.32,19.98
-1512,VLF,UPCOM,Thực phẩm và đồ uống,12.0,351.7,NaN,1.6,NaN,3.2,0.0,0.0,-0.8,-1.0,-7.6,0.0,NaN,NaN,NaN,NaN,-8.79
-1513,VLG,UPCOM,Hàng & Dịch vụ Công nghiệp,130.0,13.0,NaN,2.7,NaN,4.2,0.0,0.9,6.0,0.7,16.2,0.0,27.23,-27.93,184.39,65.57,3.83
-1514,VLP,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,2.0,NaN,4.2,0.5,-0.1,NaN,NaN,NaN,NaN,NaN,NaN,-57.07,-26.97,NaN
-1515,VLW,UPCOM,"Điện, nước & xăng dầu khí đốt",812.0,15.1,3.0,3.2,3.5,4.8,0.1,-0.1,11.2,1.7,12.3,0.0,4.39,4.04,-9.67,6.9,65.37
-1516,VMA,UPCOM,Ô tô và phụ tùng,NaN,NaN,NaN,1.2,NaN,3.2,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,-31.88,-5.68,NaN
-1517,VMC,HNX,Xây dựng và Vật liệu,180.0,0.8,2.2,1.6,3.5,2.2,0.0,0.9,64.3,0.5,9.9,0.0,-4.63,-0.67,-31.02,-23.81,17.74
-1518,VMD,HSX,Y tế,256.0,7.1,2.7,1.4,3.5,3.8,0.0,0.4,10.4,0.7,9.0,0.0,-64.73,-41.5,-17.86,-6.23,10.28
-1519,VMG,UPCOM,"Điện, nước & xăng dầu khí đốt",36.0,-11.0,NaN,1.6,NaN,2.4,0.2,0.4,-18.3,2.2,-6.8,0.0,-51.6,11.42,NaN,NaN,6.42
-1520,VMS,HNX,Hàng & Dịch vụ Công nghiệp,209.0,9.6,NaN,2.3,NaN,4.2,0.1,0.2,14.0,1.3,12.6,0.0,31.23,-2.11,5.97,19.28,12.37
-1521,VMT,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.6,NaN,1.8,-0.1,0.4,NaN,NaN,NaN,NaN,NaN,NaN,369.63,NaN,NaN
-1522,VNA,UPCOM,Hàng & Dịch vụ Công nghiệp,643.0,12.0,2.9,2.0,3.1,4.8,0.1,0.3,9.8,1.1,15.0,0.0,4.51,-2.31,82.4,5.72,6.95
-1523,VNB,UPCOM,Truyền thông,990.0,7.1,3.5,2.1,2.8,4.2,0.1,0.6,12.8,0.9,-69.5,0.0,-7.2,-3.97,9.16,-3.48,48.33
-1524,VNC,HNX,Hàng & Dịch vụ Công nghiệp,577.0,12.8,3.0,2.3,3.5,5.0,0.2,0.6,15.2,2.0,7.2,2.5,15.73,7.81,-4.63,-0.11,22.03
-1525,VND,HSX,Dịch vụ tài chính,23443.0,8.0,2.5,4.3,3.0,2.6,0.0,1.4,15.8,1.2,19.5,0.0,-18.84,28.81,-15.02,5.11,64.13
-1526,VNE,HSX,Xây dựng và Vật liệu,484.0,-33.7,2.1,1.0,3.0,2.4,0.0,1.1,-1.7,0.7,-41.4,0.0,-33.76,-10.67,NaN,NaN,25.49
-1527,VNF,HNX,Hàng & Dịch vụ Công nghiệp,456.0,11.6,2.9,2.9,3.1,4.8,0.2,0.9,7.1,0.8,2.9,0.0,57.89,3.25,982.9,21.53,8.83
-1528,VNG,HSX,Du lịch và Giải trí,770.0,0.3,2.0,1.5,3.2,2.2,0.0,0.6,219.5,0.7,21.1,0.0,-4.47,-4.96,-28.01,-35.38,24.19
-1529,VNH,UPCOM,Thực phẩm và đồ uống,10.0,-119.6,NaN,1.7,NaN,4.2,-0.1,0.1,-0.5,1.5,-0.3,0.0,NaN,NaN,NaN,-35.37,-102.11
-1530,VNI,UPCOM,Bất động sản,119.0,-12.8,NaN,2.9,NaN,1.6,0.2,1.0,NaN,NaN,-298.0,0.0,8736.93,116.63,32832.97,NaN,27.66
-1531,VNL,HSX,Hàng & Dịch vụ Công nghiệp,283.0,18.1,NaN,3.3,NaN,4.2,0.1,0.6,5.5,0.9,3.6,6.1,58.09,5.08,21.76,9.01,7.24
-1532,VNM,HSX,Thực phẩm và đồ uống,115784.0,26.7,2.7,2.8,3.8,4.8,0.0,0.8,13.2,3.4,10.9,6.5,2.34,1.87,5.84,-2.36,40.28
-1533,VNP,UPCOM,Hóa chất,288.0,6.9,2.6,1.7,NaN,4.8,0.0,0.5,14.2,0.9,-121.4,0.0,-4.46,-8.45,NaN,NaN,5.45
-1534,VNR,HNX,Bảo hiểm,4013.0,8.5,2.5,1.5,3.8,3.6,0.0,0.6,12.0,1.0,-36.5,0.0,NaN,NaN,-3.92,3.04,NaN
-1535,VNS,HSX,Du lịch và Giải trí,642.0,6.5,2.9,1.4,3.1,4.4,0.0,0.4,8.4,0.6,3.9,15.9,-17.78,-12.83,-44.25,-4.98,22.27
-1536,VNT,HNX,Hàng & Dịch vụ Công nghiệp,406.0,2.1,2.6,1.9,3.5,3.0,-0.2,-0.2,90.2,1.9,12.5,0.0,62.98,8.97,NaN,-47.56,5.19
-1537,VNX,UPCOM,Truyền thông,NaN,NaN,NaN,3.6,NaN,3.4,0.4,0.1,NaN,NaN,NaN,NaN,NaN,NaN,11.75,11.09,NaN
-1538,VNY,UPCOM,Hóa chất,120.0,4.1,NaN,1.6,NaN,3.4,0.3,0.3,29.0,1.2,9.8,0.0,15.66,-4.54,11.72,NaN,23.79
-1539,VOC,UPCOM,Thực phẩm và đồ uống,1828.0,2.3,2.3,1.3,3.0,3.6,0.0,0.5,35.2,0.8,-48.6,0.0,-50.36,-30.3,-96.02,-26.7,1.16
-1540,VOS,HSX,Hàng & Dịch vụ Công nghiệp,1953.0,11.2,3.0,3.0,3.0,5.0,-0.1,1.2,9.4,1.0,4.5,0.0,74.94,29.37,115.78,45.69,NaN
-1541,VPA,UPCOM,Hàng & Dịch vụ Công nghiệp,44.0,88.1,NaN,1.1,NaN,2.0,0.0,0.0,-1.1,-0.7,42.4,0.0,-28.21,0.95,NaN,NaN,0.6
-1542,VPB,HSX,Ngân hàng,146381.0,11.3,2.7,3.7,3.5,1.2,0.0,1.0,9.1,1.0,NaN,2.7,25.16,11.36,58.2,1.37,NaN
-1543,VPC,UPCOM,Xây dựng và Vật liệu,9.0,-20.2,NaN,1.0,NaN,2.8,-0.2,0.0,-2.6,0.6,-7.5,0.0,-57.1,1.89,NaN,NaN,-11.06
-1544,VPD,HSX,"Điện, nước & xăng dầu khí đốt",2617.0,13.9,2.7,3.7,3.0,4.2,0.0,0.5,12.5,1.9,10.0,5.9,8.18,3.91,11.41,17.0,29.19
-1545,VPG,HSX,Tài nguyên Cơ bản,1008.0,7.8,2.2,2.6,2.9,2.2,-0.1,1.3,8.4,0.6,15.5,0.0,156.51,47.88,424.78,6.29,2.0
-1546,VPH,HSX,Bất động sản,490.0,13.0,2.8,2.3,3.0,4.4,-0.2,1.0,3.6,0.5,-24.6,0.0,-35.19,-21.84,NaN,34.07,2.45
-1547,VPI,HSX,Bất động sản,16419.0,8.5,2.1,1.7,3.0,3.8,0.0,0.5,43.5,3.3,94.5,0.0,1.74,-9.1,-33.81,-14.92,23.2
-1548,VPR,UPCOM,Truyền thông,NaN,NaN,NaN,2.4,NaN,2.8,0.0,0.4,NaN,NaN,NaN,NaN,NaN,NaN,-65.0,24.17,NaN
-1549,VPS,HSX,Hóa chất,222.0,4.9,3.2,2.5,3.5,5.0,0.0,0.3,13.7,0.7,5.4,0.0,8.04,-1.22,76.33,12.23,29.89
-1550,VPW,UPCOM,"Điện, nước & xăng dầu khí đốt",NaN,NaN,NaN,1.4,NaN,2.6,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,-35.49,4.36,NaN
-1551,VQC,UPCOM,Hàng & Dịch vụ Công nghiệp,46.0,7.8,NaN,2.5,NaN,4.2,0.2,0.3,3.2,0.2,6.4,7.8,9.92,10.42,-14.93,2.09,32.41
-1552,VRC,HSX,Bất động sản,665.0,1.1,2.3,2.3,3.0,3.2,0.3,0.9,62.3,0.7,365.2,0.0,286.19,7.28,392.44,-47.27,95.17
-1553,VRE,HSX,Bất động sản,58512.0,10.2,3.2,3.1,3.8,4.4,0.1,0.9,14.0,1.4,11.7,0.0,-8.7,-0.7,-7.1,7.51,56.4
-1554,VRG,UPCOM,Bất động sản,488.0,14.7,3.1,4.0,3.7,4.2,-0.2,1.4,8.2,1.2,5.4,0.0,-79.3,15.83,-68.55,16.28,37.47
-1555,VSA,HNX,Hàng & Dịch vụ Công nghiệp,324.0,6.6,3.2,1.4,3.6,4.0,0.0,0.5,13.4,0.9,2.7,0.0,1.62,4.63,-48.74,-9.61,8.58
-1556,VSC,HSX,Hàng & Dịch vụ Công nghiệp,6889.0,9.7,3.1,2.5,3.0,4.8,0.1,1.1,18.5,1.5,10.7,0.0,27.83,9.23,171.92,-11.96,33.35
-1557,VSE,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.1,NaN,3.4,0.2,0.8,NaN,NaN,NaN,NaN,NaN,NaN,NaN,-16.34,NaN
-1558,VSF,UPCOM,Thực phẩm và đồ uống,16599.0,-0.1,2.1,1.2,3.5,2.0,0.0,0.2,-7500.1,7.3,72.2,0.0,-6.82,5.0,-81.36,NaN,9.96
-1559,VSG,UPCOM,Hàng & Dịch vụ Công nghiệp,25.0,13.3,NaN,1.0,NaN,2.0,0.2,-0.1,-1.3,-0.2,25.5,0.0,-65.0,-40.28,NaN,NaN,-12.53
-1560,VSH,HSX,"Điện, nước & xăng dầu khí đốt",12190.0,15.2,3.1,4.0,3.0,4.6,0.0,0.0,17.0,2.5,9.2,3.1,-29.04,35.45,-54.9,23.04,56.87
-1561,VSI,HSX,Xây dựng và Vật liệu,246.0,13.8,2.8,1.8,3.4,4.0,0.1,0.3,9.1,1.3,8.1,5.6,-45.87,-10.71,-9.81,-0.02,18.39
-1562,VSM,HNX,Hàng & Dịch vụ Công nghiệp,80.0,14.8,NaN,2.8,NaN,5.0,0.1,0.5,6.3,0.9,2.5,0.0,11.55,12.4,4.94,7.77,11.71
-1563,VSN,UPCOM,Thực phẩm và đồ uống,1300.0,7.7,2.5,1.6,3.0,5.0,-0.1,0.5,12.9,1.0,9.4,0.0,-5.91,-8.8,3.21,-9.01,22.66
-1564,VST,UPCOM,Hàng & Dịch vụ Công nghiệp,262.0,-24.4,3.1,2.2,NaN,3.2,0.1,0.2,1.5,-0.4,6.1,0.0,13.33,1.02,-60.94,NaN,12.32
-1565,VTA,UPCOM,Xây dựng và Vật liệu,29.0,-150.5,NaN,1.0,NaN,2.4,0.2,0.0,-0.8,5.1,-3.1,0.0,-39.56,-20.31,NaN,NaN,NaN
-1566,VTB,HSX,Hàng & Dịch vụ Công nghiệp,108.0,6.3,NaN,2.2,NaN,5.0,0.0,0.1,9.2,0.6,9.3,4.5,1.38,-20.45,6.82,-1.6,53.98
-1567,VTC,HNX,Công nghệ Thông tin,38.0,3.1,NaN,1.5,NaN,2.8,0.0,0.9,20.1,0.6,6.4,0.0,32.11,-18.39,287.85,-18.63,22.11
-1568,VTD,UPCOM,Du lịch và Giải trí,236.0,-2.9,NaN,1.4,NaN,4.0,0.1,0.5,-40.1,0.9,-208.5,0.0,8.0,4.49,NaN,NaN,39.01
-1569,VTE,UPCOM,Công nghệ Thông tin,62.0,1.0,NaN,1.1,NaN,3.8,0.0,-0.1,36.0,0.4,15.3,0.0,-10.93,-15.75,-66.55,-41.53,4.94
-1570,VTG,UPCOM,Du lịch và Giải trí,181.0,4.0,NaN,1.8,NaN,4.0,0.4,-0.1,29.7,1.2,-21.7,0.0,-27.52,-27.52,NaN,14.66,NaN
-1571,VTH,HNX,Hàng & Dịch vụ Công nghiệp,64.0,12.0,NaN,2.9,NaN,2.0,0.1,-0.1,5.6,0.6,11.8,0.0,48.69,28.92,38.88,7.1,8.67
-1572,VTI,UPCOM,Hàng cá nhân & Gia dụng,NaN,NaN,NaN,1.6,NaN,2.0,0.4,0.0,NaN,NaN,NaN,NaN,NaN,NaN,-92.38,NaN,NaN
-1573,VTJ,HNX,Hàng cá nhân & Gia dụng,46.0,0.1,NaN,1.1,NaN,4.2,0.0,0.3,778.4,0.5,-62.7,0.0,NaN,NaN,-91.57,-50.77,NaN
-1574,VTK,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,2.8,3.4,NaN,3.4,-0.1,1.4,NaN,NaN,NaN,NaN,NaN,NaN,17.76,-0.51,NaN
-1575,VTL,HNX,Thực phẩm và đồ uống,64.0,-470.9,NaN,1.0,NaN,4.2,0.3,-0.7,-4.7,-4.0,-50.4,0.0,-18.1,-33.88,NaN,NaN,NaN
-1576,VTM,UPCOM,Du lịch và Giải trí,NaN,NaN,NaN,1.9,NaN,1.4,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,0.16,-1.01,NaN
-1577,VTO,HSX,Hàng & Dịch vụ Công nghiệp,1070.0,8.7,3.1,2.1,3.6,5.0,0.0,1.1,10.4,0.9,1.2,6.8,3.91,-5.9,46.61,1.97,18.56
-1578,VTP,UPCOM,Hàng & Dịch vụ Công nghiệp,13822.0,24.1,2.5,2.5,3.0,3.8,0.2,1.0,35.1,8.4,23.5,0.0,5.86,21.56,0.05,-3.04,5.25
-1579,VTQ,UPCOM,Hóa chất,184.0,2.3,2.0,2.5,NaN,2.6,-0.3,-0.3,64.1,1.5,15.0,0.0,95.2,27.04,NaN,NaN,NaN
-1580,VTR,UPCOM,Du lịch và Giải trí,967.0,6.5,2.4,1.5,3.4,2.4,-0.1,0.8,32.5,2.0,16.0,0.0,13.21,-1.95,-55.3,-25.37,7.93
-1581,VTS,UPCOM,Xây dựng và Vật liệu,25.0,-35.8,NaN,1.0,NaN,4.0,0.1,0.2,-5.0,2.2,-7.9,0.0,-48.92,-26.68,NaN,NaN,17.23
-1582,VTV,HNX,Xây dựng và Vật liệu,362.0,-1.2,2.2,1.0,3.5,2.2,0.4,0.4,-74.3,0.9,32.9,0.0,-52.25,-8.91,NaN,NaN,9.64
-1583,VTX,UPCOM,Hàng & Dịch vụ Công nghiệp,151.0,-83.9,2.3,1.0,3.4,2.6,0.0,0.1,-1.5,2.1,-3.1,0.0,38.06,-7.46,NaN,NaN,NaN
-1584,VTZ,HNX,Hóa chất,1287.0,9.1,1.8,1.2,NaN,2.2,0.1,0.8,21.1,1.5,13.4,0.0,33.37,NaN,380.85,NaN,4.38
-1585,VUA,UPCOM,Dịch vụ tài chính,461.0,-9.4,2.6,1.0,NaN,3.8,0.0,0.4,-17.4,1.7,-15.2,0.0,-8.65,0.34,NaN,NaN,NaN
-1586,VVN,UPCOM,Xây dựng và Vật liệu,110.0,21.3,2.4,1.0,3.5,2.4,-0.1,0.1,-0.2,0.0,232.3,0.0,53.89,5.33,NaN,NaN,3.03
-1587,VW1,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-1588,VW3,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.1,NaN,2.8,0.0,0.4,NaN,NaN,NaN,NaN,NaN,NaN,-38.0,NaN,NaN
-1589,VWS,UPCOM,"Điện, nước & xăng dầu khí đốt",NaN,NaN,NaN,1.8,NaN,2.8,-0.1,0.0,NaN,NaN,NaN,NaN,NaN,NaN,449.89,NaN,NaN
-1590,VXB,UPCOM,Xây dựng và Vật liệu,97.0,43.1,NaN,1.5,NaN,2.8,-0.1,0.1,8.9,3.5,31.9,0.0,-79.49,-43.74,NaN,NaN,17.65
-1591,VXP,UPCOM,Hóa chất,NaN,NaN,NaN,1.3,NaN,3.2,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-1592,VXT,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,NaN,1.3,NaN,2.8,0.0,-0.1,NaN,NaN,NaN,NaN,NaN,NaN,-73.53,-27.23,NaN
-1593,WCS,HNX,Hàng & Dịch vụ Công nghiệp,872.0,30.3,2.7,3.5,3.5,4.2,0.3,0.7,11.3,3.0,10.7,0.0,12.85,3.45,13.52,1.94,62.08
-1594,WSB,UPCOM,Thực phẩm và đồ uống,826.0,10.8,2.7,1.6,2.8,4.2,0.2,-0.1,10.4,1.1,5.4,7.8,12.72,-1.36,-1.07,-12.54,8.2
-1595,WSS,HNX,Dịch vụ tài chính,262.0,-1.5,2.5,1.0,2.8,4.2,0.0,1.4,-36.2,0.5,-30.6,0.0,-51.72,-5.33,NaN,NaN,63.95
-1596,WTC,UPCOM,Hàng & Dịch vụ Công nghiệp,NaN,NaN,1.9,1.2,NaN,2.4,0.0,0.6,NaN,NaN,NaN,NaN,NaN,NaN,-24.38,-34.25,NaN
-1597,X20,HNX,Hàng cá nhân & Gia dụng,233.0,16.4,NaN,3.0,NaN,3.8,0.2,0.6,5.0,0.8,0.9,0.0,25.85,7.42,121.9,53.67,16.67
-1598,X26,UPCOM,Hàng cá nhân & Gia dụng,NaN,NaN,NaN,2.1,NaN,2.8,0.1,-0.2,NaN,NaN,NaN,NaN,NaN,NaN,79.26,12.9,NaN
-1599,X77,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,1.2,NaN,2.8,0.0,0.0,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-1600,XDH,UPCOM,Bất động sản,541.0,3.7,2.3,1.8,3.5,3.6,0.2,0.5,26.6,1.0,32.1,0.0,-9.1,-7.14,-2.26,-21.7,29.51
-1601,XHC,UPCOM,Hàng cá nhân & Gia dụng,403.0,15.6,2.2,1.8,3.5,3.6,0.1,0.4,7.6,1.1,35.1,0.0,-30.84,-0.4,38.92,-7.73,14.86
-1602,XLV,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,2.6,NaN,3.0,0.3,-0.4,NaN,NaN,NaN,NaN,NaN,NaN,243.14,9.21,NaN
-1603,XMC,UPCOM,Xây dựng và Vật liệu,433.0,0.6,2.2,1.1,3.0,2.2,0.0,1.1,85.8,0.5,15.6,0.0,-27.34,-11.82,-82.68,-42.14,9.81
-1604,XMD,UPCOM,Xây dựng và Vật liệu,27.0,8.0,NaN,1.5,NaN,4.0,0.2,0.1,1.9,0.1,7.0,0.0,36.01,-5.16,NaN,-5.27,18.72
-1605,XMP,UPCOM,"Điện, nước & xăng dầu khí đốt",228.0,11.1,NaN,2.4,NaN,2.2,0.1,0.8,11.6,1.3,7.4,0.0,9.46,-1.67,260.5,-2.24,62.25
-1606,XPH,UPCOM,Hàng cá nhân & Gia dụng,117.0,-5.3,NaN,1.2,NaN,4.2,0.3,1.6,-15.1,0.8,-18.7,0.0,4.91,31.5,NaN,NaN,28.82
-1607,XVC,UPCOM,Xây dựng và Vật liệu,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN
-1608,YBC,UPCOM,Xây dựng và Vật liệu,172.0,-84.4,NaN,2.5,3.5,1.6,0.4,0.7,NaN,NaN,10.6,0.0,-12.24,3.0,72.61,59.78,10.55
-1609,YBM,HSX,Tài nguyên Cơ bản,230.0,6.3,NaN,2.1,3.7,2.2,0.2,0.3,19.6,1.2,9.2,0.0,39.2,12.08,-0.55,7.67,37.73
-1610,YEG,HSX,Truyền thông,2330.0,7.9,2.5,1.6,2.4,4.8,0.1,1.0,17.3,1.2,33.4,0.0,149.25,-6.71,368.03,NaN,19.87
-1611,YTC,UPCOM,Y tế,NaN,NaN,NaN,1.4,3.5,2.4,0.1,0.0,NaN,NaN,NaN,NaN,NaN,NaN,46.25,NaN,NaN
\ No newline at end of file
diff --git a/vn-stock-analysis-app/modules/__pycache__/ai.cpython-312.pyc b/vn-stock-analysis-app/modules/__pycache__/ai.cpython-312.pyc
deleted file mode 100644
index cadb1caaab137da10a41dbafe858e47230ce86cd..0000000000000000000000000000000000000000
Binary files a/vn-stock-analysis-app/modules/__pycache__/ai.cpython-312.pyc and /dev/null differ
diff --git a/vn-stock-analysis-app/modules/__pycache__/filter_stock.cpython-312.pyc b/vn-stock-analysis-app/modules/__pycache__/filter_stock.cpython-312.pyc
deleted file mode 100644
index 3ef83e1b7c351b8abc71ea5abeffb35dddbfda5c..0000000000000000000000000000000000000000
Binary files a/vn-stock-analysis-app/modules/__pycache__/filter_stock.cpython-312.pyc and /dev/null differ
diff --git a/vn-stock-analysis-app/modules/__pycache__/home.cpython-312.pyc b/vn-stock-analysis-app/modules/__pycache__/home.cpython-312.pyc
deleted file mode 100644
index 73705b65ecd8597d7c99126bea18f3c2ed5fc1c5..0000000000000000000000000000000000000000
Binary files a/vn-stock-analysis-app/modules/__pycache__/home.cpython-312.pyc and /dev/null differ
diff --git a/vn-stock-analysis-app/modules/__pycache__/market_news.cpython-312.pyc b/vn-stock-analysis-app/modules/__pycache__/market_news.cpython-312.pyc
deleted file mode 100644
index ebf913e0c6f67fe1022bf618fb42ed76a2e3e835..0000000000000000000000000000000000000000
Binary files a/vn-stock-analysis-app/modules/__pycache__/market_news.cpython-312.pyc and /dev/null differ
diff --git a/vn-stock-analysis-app/modules/__pycache__/stock_analysis.cpython-312.pyc b/vn-stock-analysis-app/modules/__pycache__/stock_analysis.cpython-312.pyc
deleted file mode 100644
index 87102c5842341ea3df3b970c3d587ef1c139a918..0000000000000000000000000000000000000000
Binary files a/vn-stock-analysis-app/modules/__pycache__/stock_analysis.cpython-312.pyc and /dev/null differ
diff --git a/vn-stock-analysis-app/modules/__pycache__/utils.cpython-312.pyc b/vn-stock-analysis-app/modules/__pycache__/utils.cpython-312.pyc
deleted file mode 100644
index c3ab0707163955cbdee96dada220a289fd2af3ca..0000000000000000000000000000000000000000
Binary files a/vn-stock-analysis-app/modules/__pycache__/utils.cpython-312.pyc and /dev/null differ
diff --git a/vn-stock-analysis-app/modules/__pycache__/valuation.cpython-312.pyc b/vn-stock-analysis-app/modules/__pycache__/valuation.cpython-312.pyc
deleted file mode 100644
index d16bc710efe46e073e164b787f9c46bb3554ffe4..0000000000000000000000000000000000000000
Binary files a/vn-stock-analysis-app/modules/__pycache__/valuation.cpython-312.pyc and /dev/null differ
diff --git a/vn-stock-analysis-app/modules/__pycache__/vsa.cpython-312.pyc b/vn-stock-analysis-app/modules/__pycache__/vsa.cpython-312.pyc
deleted file mode 100644
index 3b264a43dff22b3871bca1969cd656d04edfff6e..0000000000000000000000000000000000000000
Binary files a/vn-stock-analysis-app/modules/__pycache__/vsa.cpython-312.pyc and /dev/null differ
diff --git a/vn-stock-analysis-app/modules/ai.py b/vn-stock-analysis-app/modules/ai.py
deleted file mode 100644
index bdcc825d83b23cd206ac1cf1a245803f1b839c56..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/modules/ai.py
+++ /dev/null
@@ -1,26 +0,0 @@
-from flask import Blueprint, request, jsonify, render_template
-import os
-import pandas as pd
-# import các thư viện AI cần thiết (ví dụ: groq, openai, ...)
-
-ai_bp = Blueprint('ai', __name__)
-
-@ai_bp.route('/analyze_gemini', methods=['POST'])
-def analyze_gemini():
- # Lấy prompt và các tham số từ request
- user_prompt = request.json.get('prompt', '')
- # Đọc dữ liệu tài chính từ file nếu cần
- csv_path = 'vn-stock-analysis-app/filter_stocks.csv'
- if not os.path.exists(csv_path):
- return jsonify({'error': 'Không tìm thấy file filter_stocks.csv'}), 400
- df = pd.read_csv(csv_path)
- # Tạo prompt tổng hợp (có thể bổ sung thêm dữ liệu từ df)
- full_prompt = f"Dữ liệu tài chính:\n{df.head(20).to_string()}\n\nCâu hỏi: {user_prompt}\nTrả lời bằng tiếng Việt."
- # Gọi model AI (Groq, Llama, ...)
- # response = groq_client.chat.completions.create(model=GROQ_MODEL, messages=[{"role": "user", "content": full_prompt}], ...)
- # Kết quả mẫu (mock)
- ai_result = "[Kết quả AI sẽ hiển thị ở đây]"
- # Trả về kết quả
- return jsonify({'result': ai_result})
-
-# Có thể bổ sung các route AI khác (ví dụ: /analyze_vnindex_ai, /summarize_news, ...)
diff --git a/vn-stock-analysis-app/modules/filter_stock.py b/vn-stock-analysis-app/modules/filter_stock.py
deleted file mode 100644
index d9d99e92d0b34d4ef0a03e22af39d0a488d9a1b2..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/modules/filter_stock.py
+++ /dev/null
@@ -1,130 +0,0 @@
-from flask import Blueprint, render_template, request, redirect, url_for
-import pandas as pd
-import os
-
-def normalize(series, min_val=None, max_val=None, reverse=False):
- s = series.copy()
- if min_val is None:
- min_val = s.min()
- if max_val is None:
- max_val = s.max()
- if max_val == min_val:
- return pd.Series([50]*len(s), index=s.index)
- norm = 100 * (s - min_val) / (max_val - min_val)
- if reverse:
- norm = 100 - norm
- return norm.clip(0, 100)
-
-filter_stock_bp = Blueprint('filter_stock', __name__)
-
-@filter_stock_bp.route('/filter_stock', methods=['GET', 'POST'])
-def filter_stock():
- csv_path = 'vn-stock-analysis-app/filter_stocks.csv'
- if request.method == 'POST' and request.form.get('update_data') == '1':
- try:
- from vnstock import Vnstock
- stock = Vnstock()
- screener_df = stock.screener.stock(params={"exchangeName": "HOSE,HNX,UPCOM"}, limit=50000)
- screener_df.to_csv(csv_path, index=False)
- msg = 'Đã cập nhật dữ liệu mới thành công!'
- except Exception as e:
- return render_template('filter_stock.html', stocks=[], error=f'Lỗi cập nhật dữ liệu mới: {e}')
- return redirect(url_for('filter_stock.filter_stock'))
- if not os.path.exists(csv_path):
- csv_path = 'filter_stocks.csv'
- if not os.path.exists(csv_path):
- return render_template('filter_stock.html', stocks=[], error='Không tìm thấy file filter_stocks.csv. Vui lòng kiểm tra lại đường dẫn hoặc tạo file này!')
- df = pd.read_csv(csv_path)
- required_cols = ['ticker', 'roe', 'dividend_yield', 'revenue_growth_1y', 'eps_growth_1y']
- for col in required_cols:
- if col not in df.columns:
- return render_template('filter_stock.html', stocks=[], error=f'Thiếu cột {col} trong file filter_stocks.csv!')
-
- def get_float_arg(name, default):
- val = request.args.get(name, default)
- try:
- return float(val)
- except (ValueError, TypeError):
- return float(default)
-
- revenue_growth_1y = get_float_arg('revenue_growth_1y', 20)
- eps_growth_1y = get_float_arg('eps_growth_1y', 15)
- roe = get_float_arg('roe', 20)
- dividend_yield = get_float_arg('dividend_yield', 5)
- symbol_search = request.args.get('symbol_search', '').strip().upper()
- filtered = df[
- (df['revenue_growth_1y'] >= revenue_growth_1y) &
- (df['eps_growth_1y'] >= eps_growth_1y) &
- (df['roe'] >= roe) &
- (df['dividend_yield'] >= dividend_yield)
- ]
- if symbol_search:
- filtered = filtered[filtered['ticker'].astype(str).str.upper().str.contains(symbol_search)]
- # --- PHÂN TÍCH & XẾP HẠNG ---
- fund_cols = ['roe', 'dividend_yield', 'pe', 'pb']
- for col in fund_cols:
- if col not in filtered.columns:
- filtered[col] = None
- fund_score = (
- normalize(filtered['roe'].fillna(0)) * 0.4 +
- normalize(filtered['dividend_yield'].fillna(0)) * 0.2 +
- normalize(filtered['pe'].fillna(filtered['pe'].max()), reverse=True) * 0.2 +
- normalize(filtered['pb'].fillna(filtered['pb'].max()), reverse=True) * 0.2
- )
- tech_score = (
- normalize(filtered['eps_growth_1y'].fillna(0)) * 0.5 +
- normalize(filtered['revenue_growth_1y'].fillna(0)) * 0.5
- )
- for col in ['market_cap', 'alpha', 'beta']:
- if col not in filtered.columns:
- filtered[col] = None
- quant_score = (
- normalize(filtered['market_cap'].fillna(0)) * 0.5 +
- normalize(filtered['alpha'].fillna(0)) * 0.3 +
- normalize(filtered['beta'].fillna(0), reverse=True) * 0.2
- )
- for col in ['stock_rating', 'business_operation', 'business_model']:
- if col not in filtered.columns:
- filtered[col] = None
- senti_score = (
- normalize(filtered['stock_rating'].fillna(0)) * 0.4 +
- normalize(filtered['business_operation'].fillna(0)) * 0.3 +
- normalize(filtered['business_model'].fillna(0)) * 0.3
- )
- for col in ['financial_health']:
- if col not in filtered.columns:
- filtered[col] = None
- risk_score = normalize(filtered['financial_health'].fillna(0))
- total_score = (
- fund_score * 0.3 + tech_score * 0.25 + quant_score * 0.15 + senti_score * 0.15 + risk_score * 0.15
- )
- filtered['fundamental'] = fund_score.round(1)
- filtered['technical'] = tech_score.round(1)
- filtered['quantitative'] = quant_score.round(1)
- filtered['sentiment'] = senti_score.round(1)
- filtered['risk'] = risk_score.round(1)
- filtered['total_score'] = total_score.round(1)
- filtered = filtered.sort_values('total_score', ascending=False).reset_index(drop=True)
- filtered['rank'] = filtered.index + 1
- def recommend(score):
- if score >= 80:
- return 'Mua mạnh'
- elif score >= 65:
- return 'Mua'
- elif score >= 50:
- return 'Theo dõi'
- else:
- return 'Tránh'
- filtered['recommendation'] = filtered['total_score'].apply(recommend)
- if len(filtered) > 0:
- filtered['weight'] = (filtered['total_score'] / filtered['total_score'].sum() * 100).round(2)
- else:
- filtered['weight'] = 0
- def summary(row):
- return f"{row['ticker']}: Điểm tổng {row['total_score']}, khuyến nghị: {row['recommendation']}"
- filtered['summary'] = filtered.apply(summary, axis=1)
- ranking_table = filtered[[
- 'ticker', 'fundamental', 'technical', 'quantitative', 'sentiment', 'risk',
- 'total_score', 'rank', 'recommendation', 'weight', 'summary'
- ]].to_dict(orient='records')
- return render_template('filter_stock.html', stocks=filtered.to_dict(orient='records'), error=None, ranking_table=ranking_table)
diff --git a/vn-stock-analysis-app/modules/home.py b/vn-stock-analysis-app/modules/home.py
deleted file mode 100644
index ca201009e2cadbd25cfcc170d9906330de443c23..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/modules/home.py
+++ /dev/null
@@ -1,154 +0,0 @@
-from flask import Blueprint, render_template, request, jsonify
-import os
-import pandas as pd
-from datetime import datetime, timedelta
-from vnstock import Vnstock
-from modules.utils import (
- detect_candlestick_patterns, calculate_fibonacci_levels, calculate_money_flow,
- find_double_top_bottom, detect_w_double_bottom, detect_m_double_top, detect_cup_and_handle,
- plot_candlestick_with_fibo_patterns, get_financial_valuation,
- fetch_vietstock_news, analyze_news_with_groq
-)
-
-home_bp = Blueprint('home', __name__)
-
-@home_bp.route('/')
-def home():
- symbol = 'VNINDEX'
- vnindex_csv = os.path.join(os.path.dirname(__file__), '../vnindex.csv')
- today = datetime.now().date()
- start_3y = (today - timedelta(days=3*365)).strftime('%Y-%m-%d')
- end_today = today.strftime('%Y-%m-%d')
- if not os.path.exists(vnindex_csv):
- stock = Vnstock().stock(symbol=symbol, source='VCI')
- df = stock.quote.history(start=start_3y, end=end_today, interval='1D')
- df.to_csv(vnindex_csv, index=False)
- else:
- df_old = pd.read_csv(vnindex_csv)
- if 'time' in df_old.columns:
- last_date = pd.to_datetime(df_old['time']).max().date()
- else:
- last_date = today - timedelta(days=3*365)
- if last_date < today:
- stock = Vnstock().stock(symbol=symbol, source='VCI')
- df_new = stock.quote.history(start=(last_date + timedelta(days=1)).strftime('%Y-%m-%d'), end=end_today, interval='1D')
- if not df_new.empty:
- df_new = df_new[df_new['time'] > str(last_date)]
- df_full = pd.concat([df_old, df_new], ignore_index=True)
- df_full = df_full.drop_duplicates(subset=['time']).sort_values('time')
- df_full.to_csv(vnindex_csv, index=False)
- else:
- df_full = df_old
- else:
- df_full = df_old
- df = df_full
- candlestick_patterns = detect_candlestick_patterns(df)
- fibonacci_levels = calculate_fibonacci_levels(df)
- df = calculate_money_flow(df)
- double_tops, double_bottoms = find_double_top_bottom(df)
- w_double_bottoms = detect_w_double_bottom(df)
- m_double_tops = detect_m_double_top(df)
- CHART_PATH_CANDLE_VNINDEX = "static/images/vnindex_candle.png"
- CHART_PATH_MONEY_VNINDEX = "static/images/vnindex_money.png"
- os.makedirs(os.path.dirname(CHART_PATH_CANDLE_VNINDEX), exist_ok=True)
- plot_candlestick_with_fibo_patterns(
- df, fibonacci_levels, candlestick_patterns, symbol, chart_path=CHART_PATH_CANDLE_VNINDEX,
- double_tops=double_tops, double_bottoms=double_bottoms,
- cup_handle_patterns=None, w_double_bottoms=w_double_bottoms, m_double_tops=m_double_tops
- )
- # Vẽ biểu đồ dòng tiền
- import matplotlib.pyplot as plt
- plt.figure(figsize=(10, 6))
- plt.plot(df['time'], df['money_flow'], label='Money Flow')
- plt.plot(df['time'], df['money_flow_20d_avg'], label='20-Day Avg Money Flow', linestyle='--')
- plt.xlabel('Time')
- plt.ylabel('Money Flow')
- plt.title('Money Flow for VNINDEX')
- plt.legend()
- plt.grid()
- plt.savefig(CHART_PATH_MONEY_VNINDEX)
- plt.close()
- cup_handle_patterns = detect_cup_and_handle(df)
- stock = Vnstock().stock(symbol=symbol, source='VCI')
- financial_valuation = get_financial_valuation(stock)
- # Lấy 30 phiên gần nhất
- df_recent = df.tail(30)
- # Chuẩn bị dữ liệu bảng cho prompt
- table_rows = []
- for _, row in df_recent.iterrows():
- table_rows.append(f"{row['time']}: Giá={row['close']}, KL={row['volume']}, Dòng tiền={row.get('money_flow', '')}, MA20 dòng tiền={row.get('money_flow_20d_avg', '')}")
- data_table = "\n".join(table_rows)
- # Tổng hợp marker mẫu hình giá
- pattern_summary = []
- if double_tops:
- pattern_summary.append(f"Đỉnh: {', '.join([str(x['time']) for x in double_tops])}")
- if double_bottoms:
- pattern_summary.append(f"Đáy: {', '.join([str(x['time']) for x in double_bottoms])}")
- if w_double_bottoms:
- pattern_summary.append(f"W-Double Bottom: {', '.join([str(x['time']) for x in w_double_bottoms])}")
- if m_double_tops:
- pattern_summary.append(f"M-Double Top: {', '.join([str(x['time']) for x in m_double_tops])}")
- if cup_handle_patterns:
- pattern_summary.append(f"Cup & Handle: {', '.join([str(x['time']) for x in cup_handle_patterns])}")
- pattern_text = " | ".join(pattern_summary) if pattern_summary else "Không có mẫu hình đặc biệt."
- # Tạo prompt động cho Groq AI
- groq_prompt = (
- f"Dưới đây là dữ liệu giao dịch VNINDEX 30 phiên gần nhất (thời gian, giá đóng cửa, khối lượng, dòng tiền, MA20 dòng tiền):\n"
- f"{data_table}\n\n"
- f"Các mẫu hình nhận diện: {pattern_text}\n\n"
- "Hãy phân tích dòng tiền theo phương pháp VSA, nhận diện trạng thái hiện tại (đỉnh, đáy, phân phối, tăng tốc/bứt phá), và dự báo xu hướng ngắn hạn. Trình bày ngắn gọn, súc tích, sát thực tế giao dịch."
- )
- # Gọi Groq AI backend để lấy kết quả phân tích khi load trang
- try:
- from modules.utils import client, GROQ_MODEL
- groq_ai_result = client.chat.completions.create(
- model=GROQ_MODEL,
- messages=[{"role": "user", "content": groq_prompt}],
- max_tokens=600, temperature=0.2
- ).choices[0].message.content.strip()
- except Exception as exc:
- groq_ai_result = f"[Lỗi AI] {exc}"
-
- # Fetch and analyze news
- news_items = fetch_vietstock_news()
- news_analysis = analyze_news_with_groq(news_items)
-
- # Truyền context vào template
- return render_template(
- 'home.html',
- symbol=symbol,
- chart_path_candle_vnindex=CHART_PATH_CANDLE_VNINDEX,
- chart_path_money_vnindex=CHART_PATH_MONEY_VNINDEX,
- vnindex_fibonacci_levels=fibonacci_levels,
- vnindex_pattern_results=candlestick_patterns,
- vnindex_double_tops=double_tops,
- vnindex_double_bottoms=double_bottoms,
- vnindex_cup_handle_patterns=cup_handle_patterns,
- financial_valuation=financial_valuation,
- vnindex_w_double_bottoms=w_double_bottoms,
- vnindex_m_double_tops=m_double_tops,
- groq_prompt=groq_prompt,
- groq_ai_result=groq_ai_result,
- news_items=news_items,
- news_analysis=news_analysis,
- )
-
-@home_bp.route('/api/groq_analyze', methods=['POST'])
-def groq_analyze():
- from flask import jsonify
- data = request.get_json()
- prompt = data.get('prompt', '')
- question = data['question'] if 'question' in data else ''
- full_prompt = prompt
- if question:
- full_prompt += f"\n\nCâu hỏi thêm của người dùng: {question}"
- try:
- from modules.utils import client, GROQ_MODEL
- result = client.chat.completions.create(
- model=GROQ_MODEL,
- messages=[{"role": "user", "content": full_prompt}],
- max_tokens=600, temperature=0.2
- ).choices[0].message.content.strip()
- except Exception as exc:
- result = "[Lỗi AI] " + str(exc)
- return jsonify({"result": result})
diff --git a/vn-stock-analysis-app/modules/market_news.py b/vn-stock-analysis-app/modules/market_news.py
deleted file mode 100644
index 39d9acbf51b34ff65702188eabcaeb787fb149a4..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/modules/market_news.py
+++ /dev/null
@@ -1,262 +0,0 @@
-import os
-import json
-import requests
-from bs4 import BeautifulSoup
-from groq import Groq
-from datetime import datetime
-
-# Get the absolute path of the directory where the script is located
-BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
-DATA_DIR = os.path.join(BASE_DIR, 'data')
-
-# Ensure the data directory exists
-os.makedirs(DATA_DIR, exist_ok=True)
-
-# Configure Groq AI
-client = Groq(api_key=os.environ.get("GROQ_API_KEY"))
-GROQ_MODEL = "llama3-8b-8192"
-
-def _get_soup(url):
- """Helper function to get BeautifulSoup object from a URL."""
- try:
- headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'}
- response = requests.get(url, headers=headers, timeout=15)
- response.raise_for_status()
- return BeautifulSoup(response.content, 'html.parser')
- except requests.RequestException as e:
- print(f"Error fetching {url}: {e}")
- return None
-
-def fetch_vietnambiz_data():
- """
- Fetches various financial data from data.vietnambiz.vn, including:
- - M2 Money Supply
- - Central Exchange Rate
- - Interbank Interest Rate
- - Savings Interest Rate
- Saves the data to a JSON file.
- """
- url = "https://data.vietnambiz.vn/currency-interest-rate"
- print(f"Fetching data from: {url}")
- soup = _get_soup(url)
- if not soup:
- print("Failed to get soup for vietnambiz data.")
- return None
-
- all_data = {}
-
- # Helper to parse tables
- def parse_table(table):
- if not table:
- return None
- headers = [th.text.strip() for th in table.find('thead').find_all('th')]
- data = []
- rows = table.find('tbody').find_all('tr')
- for row in rows:
- cols = [td.text.strip() for td in row.find_all('td')]
- if len(cols) == len(headers):
- data.append(dict(zip(headers, cols)))
- return data
-
- # Find tables by the preceding h3 tag's text
- h3_tags = soup.find_all('h3', class_='font-bold')
- for h3 in h3_tags:
- table = h3.find_next_sibling('div', class_='table-responsive').find('table')
- if 'Cung tiền M2' in h3.text:
- all_data['m2_supply'] = parse_table(table)
- elif 'Tỷ giá trung tâm' in h3.text:
- all_data['central_exchange_rate'] = parse_table(table)
- elif 'Lãi suất liên ngân hàng' in h3.text:
- all_data['interbank_interest_rate'] = parse_table(table)
- elif 'Lãi suất huy động' in h3.text: # Savings interest rate
- all_data['savings_interest_rate'] = parse_table(table)
-
- if not all_data:
- print("Could not find any data tables on the page.")
- return None
-
- output_path = os.path.join(DATA_DIR, 'vietnambiz_data.json')
- with open(output_path, 'w', encoding='utf-8') as f:
- json.dump(all_data, f, ensure_ascii=False, indent=4)
- print(f"Successfully fetched data and saved to {output_path}")
- return all_data
-
-def fetch_usd_index():
- """
- Fetches the US Dollar Index from Investing.com and saves it to a JSON file.
- """
- url = "https://vn.investing.com/indices/usdollar"
- print(f"Fetching USD Index from: {url}")
- soup = _get_soup(url)
- if not soup:
- print("Failed to get soup for USD Index.")
- return None
-
- try:
- # The value is within a specific div with a data-test attribute
- usd_index_element = soup.find('div', {'data-test': 'instrument-price-last'})
- if usd_index_element:
- usd_index = usd_index_element.text.strip()
- data = {'usd_index': usd_index, 'last_updated': str(datetime.now())}
- output_path = os.path.join(DATA_DIR, 'usd_index.json')
- with open(output_path, 'w', encoding='utf-8') as f:
- json.dump(data, f, ensure_ascii=False, indent=4)
- return data
- else:
- print("Could not find USD Index element with data-test 'instrument-price-last'.")
- except Exception as e:
- print(f"Error parsing USD Index: {e}")
- return None
-
-
-def fetch_market_news(limit=10):
- """
- Fetches market news from CafeF and saves it to a JSON file.
- """
- url = "https://cafef.vn/thi-truong-chung-khoan.chn"
- print(f"Fetching market news from: {url}")
- soup = _get_soup(url)
- if not soup:
- print("Failed to get soup for market news.")
- return []
-
- news_items = []
- articles = soup.select('div.tlitem h3 a', limit=limit)
- if not articles:
- print("Could not find news articles with selector 'div.tlitem h3 a'.")
- for article in articles:
- title = article.text.strip()
- link = "https://cafef.vn" + article['href']
- news_items.append({'title': title, 'link': link, 'source': 'CafeF'})
-
- output_path = os.path.join(DATA_DIR, 'market_news.json')
- with open(output_path, 'w', encoding='utf-8') as f:
- json.dump(news_items, f, ensure_ascii=False, indent=4)
- return news_items
-
-
-def fetch_foreign_trading_data():
- """
- Fetches foreign net trading data from Vietstock.
- """
- url = "https://finance.vietstock.vn/giao-dich-nha-dau-tu-nuoc-ngoai"
- print(f"Fetching foreign trading data from: {url}")
- soup = _get_soup(url)
- if not soup:
- print("Failed to get soup for foreign trading data.")
- return None
-
- all_data = {}
- tables = soup.find_all('table', class_='table')
-
- def parse_trading_table(table):
- if not table:
- return None
- headers = [th.text.strip() for th in table.find('thead').find_all('th')]
- data = []
- rows = table.find('tbody').find_all('tr')
- for row in rows:
- cols = [td.text.strip() for td in row.find_all('td')]
- if len(cols) == len(headers):
- data.append(dict(zip(headers, cols)))
- return data
-
- if len(tables) >= 2:
- all_data['hose_top_net_buy'] = parse_trading_table(tables[0])
- all_data['hose_top_net_sell'] = parse_trading_table(tables[1])
- if len(tables) >= 4:
- all_data['hnx_top_net_buy'] = parse_trading_table(tables[2])
- all_data['hnx_top_net_sell'] = parse_trading_table(tables[3])
- if len(tables) >= 6:
- all_data['upcom_top_net_buy'] = parse_trading_table(tables[4])
- all_data['upcom_top_net_sell'] = parse_trading_table(tables[5])
-
- if not all_data:
- print("Could not find any foreign trading data tables on the page.")
- return None
-
- output_path = os.path.join(DATA_DIR, 'foreign_trading_data.json')
- with open(output_path, 'w', encoding='utf-8') as f:
- json.dump(all_data, f, ensure_ascii=False, indent=4)
- print(f"Successfully fetched foreign trading data and saved to {output_path}")
- return all_data
-
-
-def analyze_market_data():
- """
- Reads all scraped data, sends it to Groq for analysis, and returns the result.
- """
- # Fetch all data
- fetch_vietnambiz_data()
- fetch_usd_index()
- fetch_market_news()
- fetch_foreign_trading_data()
-
- # Load data from JSON files
- try:
- with open(os.path.join(DATA_DIR, 'vietnambiz_data.json'), 'r', encoding='utf-8') as f:
- vietnambiz_data = json.load(f)
- except FileNotFoundError:
- vietnambiz_data = "Không có dữ liệu."
-
- try:
- with open(os.path.join(DATA_DIR, 'usd_index.json'), 'r', encoding='utf-8') as f:
- usd_data = json.load(f)
- except FileNotFoundError:
- usd_data = "Không có dữ liệu."
-
- try:
- with open(os.path.join(DATA_DIR, 'market_news.json'), 'r', encoding='utf-8') as f:
- news_data = json.load(f)
- except FileNotFoundError:
- news_data = "Không có dữ liệu."
-
- try:
- with open(os.path.join(DATA_DIR, 'foreign_trading_data.json'), 'r', encoding='utf-8') as f:
- foreign_data = json.load(f)
- except FileNotFoundError:
- foreign_data = "Không có dữ liệu."
-
- prompt = (
- "Bạn là một chuyên gia phân tích thị trường tài chính Việt Nam chuyên sâu. "
- "Dưới đây là dữ liệu thị trường tổng hợp được cập nhật gần đây:\n\n"
- f"**1. Dữ liệu Vĩ mô từ Vietnambiz:**\n{json.dumps(vietnambiz_data, indent=2, ensure_ascii=False)}\n\n"
- f"**2. Dữ liệu Chỉ số US Dollar Index (DXY):**\n{json.dumps(usd_data, indent=2, ensure_ascii=False)}\n\n"
- f"**3. Giao dịch ròng của nhà đầu tư nước ngoài (từ Vietstock):**\n{json.dumps(foreign_data, indent=2, ensure_ascii=False)}\n\n"
- f"**4. Tin tức thị trường chứng khoán (từ CafeF):**\n{json.dumps(news_data, indent=2, ensure_ascii=False)}\n\n"
- "**Yêu cầu Phân Tích Chi Tiết:**\n"
- "Dựa trên toàn bộ dữ liệu vĩ mô và tin tức được cung cấp, hãy thực hiện một bài phân tích chuyên sâu và đa chiều:\n"
- "a. **Phân tích Dữ liệu Vĩ mô (Cung tiền M2, Tỷ giá, Lãi suất):**\n"
- " - **Cung tiền M2:** Phân tích xu hướng, tốc độ tăng trưởng và ý nghĩa đối với thanh khoản thị trường. Chính sách tiền tệ của NHNN (nới lỏng/thắt chặt) đang được phản ánh ra sao?\n"
- " - **Tỷ giá trung tâm:** Xu hướng tỷ giá ảnh hưởng thế nào đến các doanh nghiệp xuất nhập khẩu và nợ vay ngoại tệ?\n"
- " - **Lãi suất (liên ngân hàng và tiết kiệm):** Phân tích xu hướng lãi suất và tác động của nó đến chi phí vốn của doanh nghiệp, sức hấp dẫn của kênh tiết kiệm so với chứng khoán.\n"
- " - Mối tương quan giữa các yếu tố này và dự báo tác động tổng hợp đến thị trường chứng khoán.\n\n"
- "b. **Phân tích Chỉ số US Dollar Index (DXY):**\n"
- " - Phân tích xu hướng hiện tại của DXY và mối liên hệ với tỷ giá USD/VND.\n"
- " - Tác động của biến động DXY đến dòng vốn đầu tư nước ngoài (FII) vào Việt Nam.\n\n"
- "c. **Phân tích Giao dịch của Nhà đầu tư nước ngoài:**\n"
- " - Nhận xét về xu hướng mua/bán ròng chung trên các sàn (HOSE, HNX, UPCOM).\n"
- " - Xác định các cổ phiếu đang được khối ngoại mua ròng và bán ròng mạnh nhất.\n"
- " - Đánh giá tác động của dòng vốn ngoại đến tâm lý thị trường và các nhóm ngành cụ thể.\n\n"
- "d. **Tổng hợp và Phân tích Tin tức:**\n"
- " - Xác định các chủ đề, sự kiện nổi bật nhất từ các tin tức.\n"
- " - Phân loại tin tức theo mức độ ảnh hưởng (tích cực/tiêu cực) đến thị trường chung hoặc các nhóm ngành cụ thể.\n"
- " - Tin tức nào có khả năng tác động mạnh nhất đến tâm lý nhà đầu tư trong ngắn hạn?\n\n"
- "e. **Đánh giá và Chiến lược Tổng hợp:**\n"
- " - Kết hợp tất cả các phân tích trên (Vĩ mô, DXY, Dòng vốn ngoại, Tin tức) để đưa ra một nhận định tổng quan về trạng thái thị trường chứng khoán Việt Nam hiện tại (tích lũy, tăng trưởng, phân phối, hay suy thoái?).\n"
- " - Đánh giá tâm lý chung của thị trường (lạc quan, bi quan, hay thận trọng).\n"
- " - Đưa ra các khuyến nghị và lưu ý cụ thể cho nhà đầu tư trong giai đoạn này (ví dụ: nên tập trung vào nhóm ngành nào, quản trị rủi ro ra sao, tỷ trọng cổ phiếu/tiền mặt đề xuất).\n\n"
- "**Yêu cầu về định dạng:**\n"
- " - Trình bày bài phân tích một cách logic, có cấu trúc rõ ràng theo từng mục.\n"
- " - Sử dụng ngôn ngữ chuyên nghiệp, khách quan, và hoàn toàn bằng tiếng Việt."
- )
-
- try:
- chat_completion = client.chat.completions.create(
- messages=[{"role": "user", "content": prompt}],
- model=GROQ_MODEL,
- )
- return chat_completion.choices[0].message.content
- except Exception as e:
- print(f"Error analyzing market data with Groq: {e}")
- return "Lỗi khi phân tích dữ liệu với AI. Vui lòng kiểm tra lại API key và kết nối."
diff --git a/vn-stock-analysis-app/modules/stock_analysis.py b/vn-stock-analysis-app/modules/stock_analysis.py
deleted file mode 100644
index d2df9a17f945f20205d5713c845e965f385cc2e8..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/modules/stock_analysis.py
+++ /dev/null
@@ -1,259 +0,0 @@
-from flask import Blueprint, render_template, request, jsonify
-from vnstock import Vnstock
-import pandas as pd
-from datetime import datetime
-import os
-from modules.utils import (
- detect_candlestick_patterns, calculate_fibonacci_levels, calculate_money_flow,
- find_double_top_bottom, detect_w_double_bottom, detect_m_double_top, detect_cup_and_handle,
- plot_candlestick_with_fibo_patterns, get_financial_valuation, calculate_dcf_valuation,
- calculate_ddm_valuation, calculate_nav, calculate_residual_income, calculate_eva, safe_float,
- analyze_financial_csv_with_groq, DATA_DIR
-)
-
-def calculate_dupont_analysis(df):
- """
- Calculates DuPont analysis components from financial ratios.
- """
- if 'roe' not in df.columns or 'asset_turnover' not in df.columns or 'net_profit_margin' not in df.columns or 'financial_leverage' not in df.columns:
- return None
-
- roe = df['roe'].iloc[-1]
- asset_turnover = df['asset_turnover'].iloc[-1]
- net_profit_margin = df['net_profit_margin'].iloc[-1]
- financial_leverage = df['financial_leverage'].iloc[-1]
-
- return {
- 'roe': roe,
- 'asset_turnover': asset_turnover,
- 'net_profit_margin': net_profit_margin,
- 'financial_leverage': financial_leverage
- }
-
-def calculate_financial_ratios(df):
- """
- Calculates financial ratios from balance sheet and income statement data.
- """
- ratios = {}
- try:
- ratios['current_ratio'] = df['current_assets'].iloc[-1] / df['current_liabilities'].iloc[-1] if 'current_assets' in df.columns and 'current_liabilities' in df.columns and df['current_liabilities'].iloc[-1] != 0 else None
- except KeyError:
- ratios['current_ratio'] = None
- try:
- ratios['quick_ratio'] = (df['current_assets'].iloc[-1] - df['inventory'].iloc[-1]) / df['current_liabilities'].iloc[-1] if 'current_assets' in df.columns and 'inventory' in df.columns and 'current_liabilities' in df.columns and df['current_liabilities'].iloc[-1] != 0 else None
- except KeyError:
- ratios['quick_ratio'] = None
- try:
- ratios['roa'] = df['net_income'].iloc[-1] / df['total_assets'].iloc[-1] if 'net_income' in df.columns and 'total_assets' in df.columns and df['total_assets'].iloc[-1] != 0 else None
- except KeyError:
- ratios['roa'] = None
- try:
- ratios['roe'] = df['net_income'].iloc[-1] / df['total_equity'].iloc[-1] if 'net_income' in df.columns and 'total_equity' in df.columns and df['total_equity'].iloc[-1] != 0 else None
- except KeyError:
- ratios['roe'] = None
- try:
- ratios['debt_to_equity'] = df['total_debt'].iloc[-1] / df['total_equity'].iloc[-1] if 'total_debt' in df.columns and 'total_equity' in df.columns and df['total_equity'].iloc[-1] != 0 else None
- except KeyError:
- ratios['debt_to_equity'] = None
- try:
- ratios['profit_margin'] = df['net_income'].iloc[-1] / df['revenue'].iloc[-1] if 'net_income' in df.columns and 'revenue' in df.columns and df['revenue'].iloc[-1] != 0 else None
- except KeyError:
- ratios['profit_margin'] = None
- try:
- ratios['asset_turnover'] = df['revenue'].iloc[-1] / df['total_assets'].iloc[-1] if 'revenue' in df.columns and 'total_assets' in df.columns and df['total_assets'].iloc[-1] != 0 else None
- except KeyError:
- ratios['asset_turnover'] = None
- print(f"Financial Ratios: {ratios}")
- print(f"Columns in DataFrame: {df.columns}")
- return ratios
-
-stock_analysis_bp = Blueprint('stock_analysis', __name__)
-
-@stock_analysis_bp.route('/stock_analysis', methods=['GET'])
-def stock_analysis():
- symbol = request.args.get('symbol', '').strip().upper()
- if not symbol:
- return render_template('stock_analysis.html', symbol='', error=None, chart_path_candle=None, chart_path_money=None, fibonacci_levels=None, pattern_results=None, double_tops=None, double_bottoms=None, cup_handle_patterns=None, financial_valuation=None, dcf_value=None, ddm_value=None, nav_value=None, residual_income=None, eva=None, tables={
- 'bs_year': '', 'bs_quarter': '', 'is_year': '', 'is_quarter': '', 'cf_year': '', 'ratio_year': '', 'ratio_quarter': ''
- })
- start = request.args.get('start', '2024-01-01')
- end = request.args.get('end', datetime.now().strftime('%Y-%m-%d'))
- stock = Vnstock().stock(symbol=symbol, source='VCI')
- df = stock.quote.history(start=start, end=end, interval='1D')
- if df is None or df.empty:
- return render_template('stock_analysis.html', symbol=symbol, error="Không có dữ liệu cho mã cổ phiếu hoặc khoảng thời gian đã chọn.", chart_path_candle=None, chart_path_money=None, fibonacci_levels=None, pattern_results=None, double_tops=None, double_bottoms=None, cup_handle_patterns=None, financial_valuation=None, dcf_value=None, ddm_value=None, nav_value=None, residual_income=None, eva=None, tables={
- 'bs_year': '', 'bs_quarter': '', 'is_year': '', 'is_quarter': '', 'cf_year': '', 'ratio_year': '', 'ratio_quarter': ''
- })
- candlestick_patterns = detect_candlestick_patterns(df)
- fibonacci_levels = calculate_fibonacci_levels(df)
- df = calculate_money_flow(df)
- double_tops, double_bottoms = find_double_top_bottom(df)
- w_double_bottoms = detect_w_double_bottom(df)
- m_double_tops = detect_m_double_top(df)
- CHART_PATH_CANDLE = "static/images/stock_candle.png"
- CHART_PATH_MONEY = "static/images/stock_money.png"
- os.makedirs(os.path.dirname(CHART_PATH_CANDLE), exist_ok=True)
- import matplotlib.pyplot as plt
- plt.figure(figsize=(10, 6))
- plt.plot(df['time'], df['money_flow'], label='Money Flow')
- plt.plot(df['time'], df['money_flow_20d_avg'], label='20-Day Avg Money Flow', linestyle='--')
- plt.xlabel('Time')
- plt.ylabel('Money Flow')
- plt.title(f'Money Flow for {symbol}')
- plt.legend()
- plt.grid()
- plt.savefig(CHART_PATH_MONEY)
- plt.close()
- pattern_results = {}
- for pattern_name, pattern_data in candlestick_patterns.items():
- if pattern_data is not None and len(pattern_data) == len(df):
- idx = pattern_data[pattern_data != 0].index
- if len(idx) > 0:
- last_idx = idx[-1]
- last_date = df.loc[last_idx, 'time']
- pattern_results[pattern_name] = last_date
- else:
- pattern_results[pattern_name] = None
- else:
- pattern_results[pattern_name] = None
- plot_candlestick_with_fibo_patterns(
- df, fibonacci_levels, pattern_results, symbol, chart_path=CHART_PATH_CANDLE,
- double_tops=double_tops, double_bottoms=double_bottoms,
- cup_handle_patterns=None, w_double_bottoms=w_double_bottoms, m_double_tops=m_double_tops
- )
- cup_handle_patterns = detect_cup_and_handle(df)
- financial_valuation = get_financial_valuation(stock)
- dcf_value = ddm_value = nav_value = residual_income = eva = None
-
- # Define file paths
- bs_year_path = os.path.join('/workspaces/vn-stock-analysis-app/vn-stock-analysis-app', 'DFbalance_sheet_year.csv')
- bs_quarter_path = os.path.join('/workspaces/vn-stock-analysis-app/vn-stock-analysis-app', 'DFbalance_sheet_quarter.csv')
- is_year_path = os.path.join('/workspaces/vn-stock-analysis-app/vn-stock-analysis-app', 'DFincome_statement_year.csv')
- is_quarter_path = os.path.join('/workspaces/vn-stock-analysis-app/vn-stock-analysis-app', 'DFincome_statement_quarter.csv')
- cf_year_path = os.path.join('/workspaces/vn-stock-analysis-app/vn-stock-analysis-app', 'dfcash_flow_year.csv')
- ratio_year_path = os.path.join('/workspaces/vn-stock-analysis-app/vn-stock-analysis-app', 'dfratio_year.csv')
- ratio_quarter_path = os.path.join('/workspaces/vn-stock-analysis-app/vn-stock-analysis-app', 'dfratio_quarter.csv')
-
- try:
- df_bs_year = pd.read_csv(bs_year_path)
- df_bs_year = df_bs_year[df_bs_year['ticker'].str.upper() == symbol]
- except:
- df_bs_year = pd.DataFrame()
-
- try:
- df_bs_quarter = pd.read_csv(bs_quarter_path)
- df_bs_quarter = df_bs_quarter[df_bs_quarter['ticker'].str.upper() == symbol]
- except:
- df_bs_quarter = pd.DataFrame()
-
- try:
- df_is_year = pd.read_csv(is_year_path)
- df_is_year = df_is_year[df_is_year['ticker'].str.upper() == symbol]
- except:
- df_is_year = pd.DataFrame()
-
- try:
- df_is_quarter = pd.read_csv(is_quarter_path)
- df_is_quarter = df_is_quarter[df_is_quarter['ticker'].str.upper() == symbol]
- except:
- df_is_quarter = pd.DataFrame()
-
- try:
- dfcash_flow_year = pd.read_csv(cf_year_path)
- dfcash_flow_year = dfcash_flow_year[dfcash_flow_year['ticker'].str.upper() == symbol]
- except:
- dfcash_flow_year = pd.DataFrame()
-
- try:
- df_ratio_year = pd.read_csv(ratio_year_path)
- df_ratio_year = df_ratio_year[df_ratio_year['ticker'].str.upper() == symbol]
- except:
- df_ratio_year = pd.DataFrame()
-
- try:
- df_ratio_quarter = pd.read_csv(ratio_quarter_path)
- df_ratio_quarter = df_ratio_quarter[df_ratio_quarter['ticker'].str.upper() == symbol]
- except:
- df_ratio_quarter = pd.DataFrame()
-
- tables = {
- 'bs_year': df_bs_year.to_html(classes='table table-bordered table-hover', index=False) if not df_bs_year.empty else '',
- 'bs_quarter': df_bs_quarter.to_html(classes='table table-bordered table-hover', index=False) if not df_bs_quarter.empty else '',
- 'is_year': df_is_year.to_html(classes='table table-bordered table-hover', index=False) if not df_is_year.empty else '',
- 'is_quarter': df_is_quarter.to_html(classes='table table-bordered table-hover', index=False) if not df_is_quarter.empty else '',
- 'cf_year': dfcash_flow_year.to_html(classes='table table-bordered table-hover', index=False) if not dfcash_flow_year.empty else '',
- 'ratio_year': df_ratio_year.to_html(classes='table table-bordered table-hover', index=False) if not df_ratio_year.empty else '',
- 'ratio_quarter': df_ratio_quarter.to_html(classes='table table-bordered table-hover', index=False) if not df_ratio_quarter.empty else ''
- }
- return render_template(
- 'stock_analysis.html',
- symbol=symbol,
- chart_path_candle=CHART_PATH_CANDLE,
- chart_path_money=CHART_PATH_MONEY,
- fibonacci_levels=fibonacci_levels,
- pattern_results=pattern_results,
- double_tops=double_tops,
- double_bottoms=double_bottoms,
- cup_handle_patterns=cup_handle_patterns,
- financial_valuation=financial_valuation,
- dcf_value=dcf_value,
- ddm_value=ddm_value,
- nav_value=nav_value,
- residual_income=residual_income,
- eva=eva,
- tables=tables,
- price_corr_with_vnindex=None,
- dupont_analysis_year=dupont_analysis_year,
- dupont_analysis_quarter=dupont_analysis_quarter,
- financial_ratios_year=financial_ratios_year,
- financial_ratios_quarter=financial_ratios_quarter
- )
-
-@stock_analysis_bp.route('/api/stock_valuation_groq')
-def stock_valuation_groq():
- symbol = request.args.get('symbol') or ''.upper()
- if not symbol:
- return jsonify({'error': 'Thiếu mã cổ phiếu'})
- try:
- csv_files = [
- ('RATIO_YEAR', 'dfratio_year.csv'),
- ('RATIO_QUARTER', 'dfratio_quarter.csv'),
- ('BALANCE_SHEET_YEAR', 'DFbalance_sheet_year.csv'),
- ('BALANCE_SHEET_QUARTER', 'DFbalance_sheet_quarter.csv'),
- ('INCOME_STATEMENT_YEAR', 'DFincome_statement_year.csv'),
- ('INCOME_STATEMENT_QUARTER', 'DFincome_statement_quarter.csv'),
- ('CASH_FLOW_YEAR', 'dfcash_flow_year.csv'),
- ]
- csv_content = ''
- for label, fname in csv_files:
- fpath = os.path.join(DATA_DIR, fname)
- if os.path.exists(fpath):
- df = pd.read_csv(fpath)
- symbol_col = None
- for col in ['ticker', 'cp', 'mã', 'stock', 'symbol']:
- if col in df.columns:
- symbol_col = col
- break
- if symbol_col:
- df = df[df[symbol_col].str.upper() == symbol]
- if not df.empty:
- csv_content += f'{label}\n' + df.to_csv(index=False) + '\n'
- if not csv_content:
- return jsonify({'error': 'Không có dữ liệu tài chính cho mã này trong file CSV.'})
-
- # Prepare additional data for Groq AI
- additional_data = ""
- if dupont_analysis_year:
- additional_data += f"DuPont Analysis (Yearly):\n{dupont_analysis_year}\n"
- if dupont_analysis_quarter:
- additional_data += f"DuPont Analysis (Quarterly):\n{dupont_analysis_quarter}\n"
- if financial_ratios_year:
- additional_data += f"Financial Ratios (Yearly):\n{financial_ratios_year}\n"
- if financial_ratios_quarter:
- additional_data += f"Financial Ratios (Quarterly):\n{financial_ratios_quarter}\n"
-
- user_question = f"Hãy phân tích và định giá cổ phiếu {symbol} dựa trên các dữ liệu tài chính, sử dụng các mô hình DCF, DDM, P/B, P/E, NAV, EVA, Residual Income, phân tích DuPont và các chỉ số tài chính (thanh khoản, hiệu quả, khả năng trả nợ, sinh lời). Đưa ra giá trị nội tại, margin of safety, nhận định đầu tư, và giải thích ngắn gọn từng mô hình và kết quả phân tích."
- groq_result = analyze_financial_csv_with_groq(csv_content, user_question + additional_data)
- return jsonify({'groq_valuation': groq_result})
- except Exception as e:
- return jsonify({'error': str(e)})
diff --git a/vn-stock-analysis-app/modules/utils.py b/vn-stock-analysis-app/modules/utils.py
deleted file mode 100644
index 565fed8389af28dda880fa807848c22b7a81200e..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/modules/utils.py
+++ /dev/null
@@ -1,525 +0,0 @@
-# utils.py - các hàm tiện ích chung cho toàn bộ ứng dụng
-import pandas as pd
-import numpy as np
-import pandas_ta as ta
-import scipy.signal
-import mplfinance as mpf
-import matplotlib.pyplot as plt
-from datetime import datetime
-import os
-from groq import Groq
-
-# Đường dẫn thư mục dữ liệu tài chính
-DATA_DIR = os.path.join(os.path.dirname(os.path.dirname(__file__)))
-
-# Đặt API key Groq
-os.environ["GROQ_API_KEY"] = "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"
-client = Groq(api_key=os.environ.get("GROQ_API_KEY"))
-
-# Tìm và thay thế tên model Groq AI
-GROQ_MODEL = "meta-llama/llama-4-scout-17b-16e-instruct"
-
-def read_csv_safely(path):
- if not os.path.exists(path):
- return None
- try:
- return pd.read_csv(path)
- except Exception as e:
- print(f"[utils] Lỗi đọc file {path}: {e}")
- return None
-
-def save_csv_safely(df, path):
- try:
- df.to_csv(path, index=False)
- except Exception as e:
- print(f"[utils] Lỗi ghi file {path}: {e}")
-
-def get_today_str():
- return datetime.now().strftime('%Y-%m-%d')
-
-def detect_candlestick_patterns(df):
- """
- Detects various candlestick patterns in the given dataframe using pandas-ta.
- """
- import pandas_ta as ta
- # Ensure that the necessary columns are present
- if not all(col in df.columns for col in ['open', 'high', 'low', 'close']):
- print("Missing OHLC data")
- return {}
- patterns = {}
- # Hammer (đảo chiều tăng)
- if hasattr(ta, 'cdl_hammer'):
- patterns['hammer'] = ta.cdl_hammer(df['open'], df['high'], df['low'], df['close'])
- else:
- patterns['hammer'] = None
- # Shooting Star (đảo chiều giảm)
- if hasattr(ta, 'cdl_shootingstar'):
- patterns['shooting_star'] = ta.cdl_shootingstar(df['open'], df['high'], df['low'], df['close'])
- else:
- patterns['shooting_star'] = None
- # Engulfing (Bullish/Bearish)
- if hasattr(ta, 'cdl_engulfing'):
- engulfing = ta.cdl_engulfing(df['open'], df['high'], df['low'], df['close'])
- patterns['bullish_engulfing'] = (engulfing == 100).astype(int)
- patterns['bearish_engulfing'] = (engulfing == -100).astype(int)
- else:
- patterns['bullish_engulfing'] = None
- patterns['bearish_engulfing'] = None
- return patterns
-
-def calculate_fibonacci_levels(df, period=250):
- """
- Calculates Fibonacci retracement levels based on the most recent significant swing high and low.
- """
- df_period = df.tail(period)
- if df_period.empty:
- return None, None, None
-
- # Find the index of the highest high and lowest low in the period
- idx_high = df_period['high'].idxmax()
- idx_low = df_period['low'].idxmin()
-
- # Determine if the trend is up (low then high) or down (high then low)
- if idx_low < idx_high:
- # Uptrend: swing low to swing high
- swing_low = df_period.loc[idx_low]['low']
- swing_high = df_period.loc[idx_high]['high']
- is_uptrend = True
- else:
- # Downtrend: swing high to swing low
- swing_high = df_period.loc[idx_high]['high']
- swing_low = df_period.loc[idx_low]['low']
- is_uptrend = False
-
- if pd.isna(swing_high) or pd.isna(swing_low):
- return None, None, None
-
- diff = swing_high - swing_low
-
- # Standard Fibonacci retracement levels
- fibo_ratios = [0.236, 0.382, 0.5, 0.618, 0.786]
- levels = {}
-
- if is_uptrend: # Retracement levels are below the swing high
- for ratio in fibo_ratios:
- levels[f'{ratio*100:.1f}%'] = round(swing_high - diff * ratio, 2)
- else: # Retracement levels are above the swing low
- for ratio in fibo_ratios:
- levels[f'{ratio*100:.1f}%'] = round(swing_low + diff * ratio, 2)
-
- # Add extension levels
- fibo_ext_ratios = [1.272, 1.618]
- if is_uptrend:
- for ratio in fibo_ext_ratios:
- levels[f'Ext {ratio*100:.1f}%'] = round(swing_high + diff * (ratio - 1), 2)
- else:
- for ratio in fibo_ext_ratios:
- levels[f'Ext {ratio*100:.1f}%'] = round(swing_low - diff * (ratio - 1), 2)
-
-
- return levels, swing_low, swing_high
-
-def calculate_money_flow(df):
- """
- Calculates money flow for each day and compares it to the 20-day average.
- """
- df['money_flow'] = df['volume'] * df['close']
- df['money_flow_20d_avg'] = df['money_flow'].rolling(window=20).mean()
- return df
-
-def find_double_top_bottom(df):
- import scipy.signal
- peaks, _ = scipy.signal.find_peaks(df['close'])
- troughs, _ = scipy.signal.find_peaks(-df['close'])
- double_tops = []
- double_bottoms = []
- for i in range(1, len(peaks)):
- if peaks[i] - peaks[i-1] < 10:
- double_tops.append((str(df['time'].iloc[peaks[i-1]]), str(df['time'].iloc[peaks[i]])))
- for i in range(1, len(troughs)):
- if troughs[i] - troughs[i-1] < 10:
- double_bottoms.append((str(df['time'].iloc[troughs[i-1]]), str(df['time'].iloc[troughs[i]])))
- return double_tops, double_bottoms
-
-def detect_w_double_bottom(df, min_distance=5, max_distance=40, tolerance=0.03):
- import scipy.signal
- closes = df['close'].values
- troughs, _ = scipy.signal.find_peaks(-closes)
- results = []
- for i in range(len(troughs)-1):
- idx1, idx2 = troughs[i], troughs[i+1]
- if min_distance <= idx2 - idx1 <= max_distance:
- val1, val2 = closes[idx1], closes[idx2]
- if abs(val1-val2)/max(val1, val2) <= tolerance:
- mid_idx = idx1 + (idx2-idx1)//2
- peak_between = closes[idx1:idx2+1].max()
- if peak_between > max(val1, val2) * 1.05:
- results.append((str(df['time'].iloc[idx1]), str(df['time'].iloc[idx2])))
- return results
-
-def detect_m_double_top(df, min_distance=5, max_distance=40, tolerance=0.03):
- import scipy.signal
- closes = df['close'].values
- peaks, _ = scipy.signal.find_peaks(closes)
- results = []
- for i in range(len(peaks)-1):
- idx1, idx2 = peaks[i], peaks[i+1]
- if min_distance <= idx2 - idx1 <= max_distance:
- val1, val2 = closes[idx1], closes[idx2]
- if abs(val1-val2)/max(val1, val2) <= tolerance:
- mid_idx = idx1 + (idx2-idx1)//2
- trough_between = closes[idx1:idx2+1].min()
- if trough_between < min(val1, val2) * 0.95:
- results.append((str(df['time'].iloc[idx1]), str(df['time'].iloc[idx2])))
- return results
-
-def detect_cup_and_handle(df, window=40, min_cup_depth=0.08, min_handle_depth=0.03):
- closes = df['close'].values
- n = len(closes)
- results = []
- for i in range(window, n - window):
- left = i - window
- right = i
- cup_bottom_idx = left + closes[left:right].argmin()
- cup_bottom = closes[cup_bottom_idx]
- cup_left = closes[left]
- cup_right = closes[right]
- cup_top = max(cup_left, cup_right)
- cup_depth = (cup_top - cup_bottom) / cup_top if cup_top > 0 else 0
- if cup_depth < min_cup_depth:
- continue
- handle_start = right
- handle_end = min(n-1, handle_start + window//2)
- handle_min_idx = handle_start + closes[handle_start:handle_end].argmin()
- handle_min = closes[handle_min_idx]
- handle_depth = (cup_top - handle_min) / cup_top if cup_top > 0 else 0
- if handle_depth < min_handle_depth:
- continue
- if closes[handle_end-1] > cup_top:
- results.append({
- 'cup_start': str(df['time'].iloc[left]),
- 'cup_bottom': str(df['time'].iloc[cup_bottom_idx]),
- 'cup_end': str(df['time'].iloc[right]),
- 'handle_start': str(df['time'].iloc[handle_start]),
- 'handle_end': str(df['time'].iloc[handle_end-1])
- })
- return results
-
-def plot_candlestick_with_fibo_patterns(df, fibonacci_levels, pattern_results, symbol, chart_path, double_tops=None, double_bottoms=None, cup_handle_patterns=None, w_double_bottoms=None, m_double_tops=None, color_map=None):
- import mplfinance as mpf
- import numpy as np
- import logging
- # Remove unused imports
- # import matplotlib.pyplot as plt
- # import pandas as pd
-
- # Parameter Validation
- required_columns = ['open', 'high', 'low', 'close', 'volume', 'time']
- if not all(col in df.columns for col in required_columns):
- raise ValueError(f"DataFrame must contain columns: {required_columns}")
-
- df_plot = df.copy()
- df_plot['time'] = pd.to_datetime(df_plot['time'])
- df_plot.set_index('time', inplace=True)
- df_plot = df_plot[['open', 'high', 'low', 'close', 'volume']]
- fibo_lines = []
- if fibonacci_levels:
- for level in fibonacci_levels:
- fibo_lines.append(mpf.make_addplot([level]*len(df_plot), color='purple', linestyle='--'))
- pattern_markers = []
- # Use default color map if none is provided
- default_color_map = {
- 'hammer': 'red',
- 'shooting_star': 'blue',
- 'bullish_engulfing': 'green',
- 'bearish_engulfing': 'orange'
- }
- color_map = color_map or default_color_map
- for pattern, pattern_data in pattern_results.items():
- if pattern_data is not None:
- indices = df_plot.index[df[pattern] != 0] if pattern in df else []
- if len(indices) > 0:
- marker_color = color_map.get(pattern, 'black')
- marker_vals = [df_plot['close'].loc[idx] if idx in indices else None for idx in df_plot.index]
- pattern_markers.append(
- mpf.make_addplot(
- marker_vals,
- type='scatter',
- markersize=40,
- marker='o',
- color=marker_color,
- alpha=0.8,
- secondary_y=False # Ensure markers are plotted on the primary y-axis
- )
- )
- if double_tops:
- top_dates = [pd.to_datetime(t[1]) for t in double_tops if pd.to_datetime(t[1]) in df_plot.index]
- marker_vals = [float(df_plot['high'].loc[date]) if date in top_dates else np.nan for date in df_plot.index]
- if any(marker_vals):
- pattern_markers.append(
- mpf.make_addplot(
- marker_vals,
- type='scatter',
- markersize=80,
- marker='^',
- color='magenta',
- alpha=0.9,
- secondary_y=False,
- label=""#data['label'] + ': ' + ', '.join([str(date.date()) for date in top_dates]) if top_dates else None
- )
- )
- cup_handle_lines = []
- if cup_handle_patterns:
- for pattern in cup_handle_patterns:
- try:
- cup_x = [pd.to_datetime(pattern['cup_start']), pd.to_datetime(pattern['cup_bottom']), pd.to_datetime(pattern['cup_end'])]
- cup_y = [df_plot['close'].loc[cup_x[0]], df_plot['close'].loc[cup_x[1]], df_plot['close'].loc[cup_x[2]]]
- cup_handle_lines.append(
- mpf.make_addplot(
- [cup_y[0] if date == cup_x[0] else cup_y[1] if date == cup_x[1] else cup_y[2] if date == cup_x[2] else np.nan for date in df_plot.index],
- color='blue', width=2, secondary_y=False,
- label='Cup: ' + ', '.join([str(x.date()) for x in cup_x])
- )
- )
- handle_x = [pd.to_datetime(pattern['handle_start']), pd.to_datetime(pattern['handle_end'])]
- handle_y = [df_plot['close'].loc[handle_x[0]], df_plot['close'].loc[handle_x[1]]]
- cup_handle_lines.append(
- mpf.make_addplot(
- [handle_y[0] if date == handle_x[0] else handle_y[1] if date == handle_x[1] else np.nan for date in df_plot.index],
- color='green', width=2, secondary_y=False,
- label='Handle: ' + ', '.join([str(x.date()) for x in handle_x])
- )
- )
- marker_vals = [df_plot['close'].loc[cup_x[1]] if date == cup_x[1] else np.nan for date in df_plot.index]
- cup_handle_lines.append(
- mpf.make_addplot(
- marker_vals,
- type='scatter',
- markersize=120,
- marker='o',
- color='red',
- alpha=0.5,
- secondary_y=False,
- label='Cup Bottom: ' + str(cup_x[1].date())
- )
- )
- except Exception as e:
- logging.exception("Error plotting cup and handle pattern")
- continue
- addplots = []
- if fibo_lines:
- addplots.extend([ap for ap in fibo_lines if ap is not None])
- if pattern_markers:
- addplots.extend([ap for ap in pattern_markers if ap is not None])
- if cup_handle_lines:
- addplots.extend([ap for ap in cup_handle_lines if ap is not None])
- plot_kwargs = dict(
- type='candle',
- style='yahoo',
- volume=True,
- title=f'Biểu đồ nến, Fibonacci, mẫu hình nến và Cup & Handle: {symbol}',
- ylabel='Giá',
- ylabel_lower='Khối lượng',
- returnfig=True,
- figsize=(12, 8)
- )
- #if addplots:
- # plot_kwargs['addplot'] = addplots
- fig, axlist = mpf.plot(df_plot, **plot_kwargs)
- fig.savefig(chart_path)
- plt.close(fig)
-
-def get_financial_valuation(stock):
- if stock is None or not hasattr(stock, 'finance') or stock.finance is None:
- return {'error': 'Không có dữ liệu tài chính cho mã này hoặc API trả về lỗi.'}
- try:
- # Lấy bảng ratio (tỷ số tài chính)
- ratio = stock.finance.ratio(period='year', lang='vi', dropna=True)
- bs = stock.finance.balance_sheet(period='year', lang='vi', dropna=True)
- is_ = stock.finance.income_statement(period='year', lang='vi', dropna=True)
- # Kiểm tra tồn tại cột 'year' và không rỗng
- for df, name in zip([ratio, bs, is_], ['ratio', 'balance_sheet', 'income_statement']):
- if not isinstance(df, pd.DataFrame) or df.empty or 'year' not in df.columns:
- return {'error': f'Dữ liệu {name} không hợp lệ hoặc thiếu cột year.'}
- # Lấy năm gần nhất có đủ dữ liệu
- years = set(ratio['year']).intersection(bs['year']).intersection(is_['year'])
- if not years:
- return {'error': 'Không đủ dữ liệu tài chính để định giá.'}
- latest_year = max(years)
- # Lấy dữ liệu năm gần nhất
- ratio_row = ratio[ratio['year'] == latest_year].iloc[0]
- bs_row = bs[bs['year'] == latest_year].iloc[0]
- is_row = is_[is_['year'] == latest_year].iloc[0]
- # Giá đóng cửa gần nhất
- close_price = stock.quote.history(start=f"{latest_year}-01-01", end=f"{latest_year}-12-31", interval='1D')['close'].iloc[-1]
- # Lấy chỉ số từ ratio nếu có
- pe = ratio_row.get('P/E', None)
- pb = ratio_row.get('P/B', None)
- roe = ratio_row.get('ROE (%)', None)
- eps = ratio_row.get('EPS', None)
- bvps = ratio_row.get('BVPS', None)
- # Fallback tự tính nếu thiếu
- equity = bs_row.get('Vốn chủ sở hữu', None)
- net_income = is_row.get('Lợi nhuận sau thuế', None)
- shares = bs_row.get('Vốn chủ sở hữu', None)
- if shares is None or shares == 0:
- shares = bs_row.get('Vốn góp của chủ sở hữu', None)
- if roe is None and net_income and equity and equity != 0:
- roe = round(net_income / equity * 100, 2)
- if pe is None and net_income and shares and shares != 0:
- pe = round(close_price * shares / net_income, 2)
- if pb is None and equity and shares and shares != 0:
- pb = round(close_price * shares / equity, 2)
- if eps is None and net_income and shares and shares != 0:
- eps = round(net_income / shares, 2)
- if bvps is None and equity and shares and shares != 0:
- bvps = round(equity / shares, 2)
- # Định giá nội tại đơn giản theo phương pháp chiết khấu ROE/PB
- intrinsic_value = None
- if roe and pb and pb != 0 and equity:
- intrinsic_value = round((roe / 100) * equity / pb, 2)
- return {
- 'year': latest_year,
- 'close_price': close_price,
- 'pe': pe,
- 'pb': pb,
- 'roe': roe,
- 'eps': eps,
- 'bvps': bvps,
- 'intrinsic_value': intrinsic_value,
- 'revenue': is_row.get('Doanh thu thuần', None),
- 'net_income': net_income,
- 'equity': equity
- }
- except Exception as e:
- return {'error': f'Lỗi khi lấy dữ liệu tài chính: {e}'}
-
-def calculate_dcf_valuation(fcf, growth_rate, wacc, years=5, terminal_growth=0.03):
- """
- Tính giá trị nội tại theo phương pháp DCF (Discounted Cash Flow).
- fcf: Free Cash Flow năm gần nhất
- growth_rate: tốc độ tăng trưởng FCF dự kiến (vd: 0.1 = 10%)
- wacc: Weighted Average Cost of Capital (tỷ lệ chiết khấu)
- years: số năm dự báo
- terminal_growth: tốc độ tăng trưởng dài hạn (vd: 0.03 = 3%)
- """
- import numpy_financial as npf
- cash_flows = []
- for i in range(1, years+1):
- cash_flows.append(fcf * (1 + growth_rate) ** i)
- terminal_value = cash_flows[-1] * (1 + terminal_growth) / (wacc - terminal_growth)
- cash_flows[-1] += terminal_value
- dcf_value = npf.npv(wacc, cash_flows)
- return dcf_value
-
-def calculate_ddm_valuation(dividend, growth_rate, required_return):
- """
- Định giá theo mô hình chiết khấu cổ tức (DDM) với tăng trưởng không đổi.
- """
- if required_return <= growth_rate:
- return None
- return dividend * (1 + growth_rate) / (required_return - growth_rate)
-
-def calculate_nav(equity, debt=0):
- """
- Định giá theo giá trị tài sản ròng (NAV).
- """
- return equity - debt
-
-def calculate_residual_income(net_income, equity, cost_of_equity):
- """
- Tính Residual Income = Lợi nhuận sau thuế - chi phí vốn chủ sở hữu
- """
- return net_income - cost_of_equity * equity
-
-def calculate_eva(net_income, equity, debt, cost_of_equity, cost_of_debt):
- """
- EVA = Lợi nhuận sau thuế - chi phí tổng vốn (vốn chủ + nợ)
- """
- return net_income - (cost_of_equity * equity + cost_of_debt * debt)
-
-def safe_float(val, default=0.0):
- try:
- return float(val)
- except (TypeError, ValueError):
- return default
-
-def analyze_financial_csv_with_groq(csv_content, user_question=None):
- prompt = (
- "Bạn là chuyên gia tài chính. Hãy phân tích dữ liệu tài chính sau (dưới dạng CSV):\n"
- f"{csv_content}\n"
- "1. Tóm tắt các điểm nổi bật: doanh thu, lợi nhuận, tăng trưởng, rủi ro.\n"
- "2. Phát hiện xu hướng, bất thường, cảnh báo sớm nếu có.\n"
- "3. Đưa ra nhận định, gợi ý chiến lược đầu tư.\n"
- "4. Định giá cổ phiếu theo các phương pháp: P/E, P/B, Book Value, DDM, DCF (nếu đủ dữ liệu).\n"
- "5. Thống kê quý nào trong năm thường có doanh thu và lợi nhuận sau thuế cao nhất (nếu có dữ liệu quý).\n"
- "\nTrả lời toàn bộ bằng tiếng Việt."
- )
- if user_question:
- prompt += f"\n6. Trả lời câu hỏi: {user_question}\n"
- chat_completion = client.chat.completions.create(
- messages=[{"role": "user", "content": prompt}],
- model=GROQ_MODEL,
- )
- return chat_completion.choices[0].message.content
-
-def fetch_vietstock_news(limit=15):
- """
- Fetches the latest financial news from Vietstock.
- """
- import requests
- from bs4 import BeautifulSoup
- try:
- url = "https://vietstock.vn/chung-khoan.htm"
- headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'}
- res = requests.get(url, headers=headers, timeout=10)
- res.raise_for_status()
- soup = BeautifulSoup(res.content, 'html.parser')
-
- news_items = []
- articles = soup.find_all('div', class_='article-content', limit=limit)
-
- for article in articles:
- title_tag = article.find('a', class_='channel-title')
- if title_tag:
- title = title_tag.text.strip()
- link = "https://vietstock.vn" + title_tag['href']
- news_items.append({'title': title, 'link': link})
-
- return news_items
- except Exception as e:
- print(f"Error fetching Vietstock news: {e}")
- return []
-
-def analyze_news_with_groq(news_items):
- """
- Analyzes a list of news headlines with Groq AI and returns a summary.
- """
- if not news_items:
- return "Không có tin tức để phân tích."
-
- headlines = "- " + "\n- ".join([item['title'] for item in news_items])
-
- prompt = (
- "Bạn là một chuyên gia phân tích thị trường chứng khoán Việt Nam. "
- "Dưới đây là các tiêu đề tin tức mới nhất:\n"
- f"{headlines}\n\n"
- "Dựa vào các tin tức này, hãy:\n"
- "1. Tóm tắt các xu hướng chính của thị trường (tích cực, tiêu cực, trung lập).\n"
- "2. Nhận định các ngành hoặc nhóm cổ phiếu nào có thể bị ảnh hưởng.\n"
- "3. Đưa ra một bình luận ngắn gọn về tâm lý thị trường hiện tại.\n"
- "Trình bày súc tích, chuyên nghiệp và hoàn toàn bằng tiếng Việt."
- )
-
- try:
- chat_completion = client.chat.completions.create(
- messages=[{"role": "user", "content": prompt}],
- model=GROQ_MODEL,
- max_tokens=500,
- temperature=0.3,
- )
- return chat_completion.choices[0].message.content
- except Exception as e:
- print(f"Error analyzing news with Groq: {e}")
- return "Lỗi khi phân tích tin tức với AI."
-# Thêm các hàm tiện ích khác nếu cần
diff --git a/vn-stock-analysis-app/modules/valuation.py b/vn-stock-analysis-app/modules/valuation.py
deleted file mode 100644
index bcdc2e06be10c729f03b78f240bf3a461733c0cd..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/modules/valuation.py
+++ /dev/null
@@ -1,62 +0,0 @@
-import numpy as np
-from scipy.stats import norm
-
-def calculate_covered_warrant_profit(stock_price, strike_price, warrant_price, conversion_ratio):
- """
- Calculates the profit and break-even price for a covered warrant.
-
- Args:
- stock_price (float): Current price of the underlying stock (S).
- strike_price (float): The strike price of the warrant (X).
- warrant_price (float): The price of one warrant (Price).
- conversion_ratio (float): The conversion ratio (N).
-
- Returns:
- dict: A dictionary containing the 'profit' and 'break_even_price'.
- """
- # Lãi/Lỗ mỗi cổ phiếu cơ sở = (Giá trị nội tại) - (Chi phí mua chứng quyền)
- # Giá trị nội tại = Giá cổ phiếu cơ sở - Giá thực hiện
- # Chi phí mua chứng quyền = Giá chứng quyền * Tỷ lệ chuyển đổi
- profit = (stock_price - strike_price) - (warrant_price * conversion_ratio)
-
- # Giá hòa vốn là giá của cổ phiếu cơ sở mà tại đó nhà đầu tư không lãi cũng không lỗ.
- # Tại điểm hòa vốn, Lãi/Lỗ = 0
- # => (Giá hòa vốn - Giá thực hiện) - (Giá chứng quyền * Tỷ lệ chuyển đổi) = 0
- # => Giá hòa vốn = Giá thực hiện + (Giá chứng quyền * Tỷ lệ chuyển đổi)
- break_even_price = strike_price + (warrant_price * conversion_ratio)
-
- return {
- 'profit': profit,
- 'break_even_price': break_even_price
- }
-
-def black_scholes_price(S, X, T, r, v, conversion_ratio):
- """
- Calculates the theoretical price of a covered warrant using the Black-Scholes model.
-
- Args:
- S (float): Current price of the underlying stock.
- X (float): Strike price of the warrant.
- T (float): Time to expiration in years.
- r (float): Risk-free interest rate.
- v (float): Volatility of the underlying stock's returns.
- conversion_ratio (float): The conversion ratio of the warrant.
-
- Returns:
- float: The theoretical price of one covered warrant.
- """
- if T <= 0 or v <= 0:
- # If time has expired or volatility is zero, the value is its intrinsic value
- intrinsic_value = max(0, S - X)
- return intrinsic_value / conversion_ratio
-
- d1 = (np.log(S / X) + (r + 0.5 * v**2) * T) / (v * np.sqrt(T))
- d2 = d1 - v * np.sqrt(T)
-
- # Calculate the price of a standard call option
- call_price = (S * norm.cdf(d1) - X * np.exp(-r * T) * norm.cdf(d2))
-
- # Adjust for the conversion ratio
- warrant_price = call_price / conversion_ratio
-
- return warrant_price
diff --git a/vn-stock-analysis-app/modules/vsa.py b/vn-stock-analysis-app/modules/vsa.py
deleted file mode 100644
index 9bce05187a6f18f3994928ce8dde31b614d07da1..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/modules/vsa.py
+++ /dev/null
@@ -1,97 +0,0 @@
-from flask import Blueprint, render_template, request
-import os
-import pandas as pd
-from datetime import datetime
-from modules.utils import plot_candlestick_with_fibo_patterns, detect_candlestick_patterns, calculate_fibonacci_levels, calculate_money_flow, find_double_top_bottom, detect_w_double_bottom, detect_m_double_top, detect_cup_and_handle, get_financial_valuation, DATA_DIR
-from vnstock import Vnstock
-
-def load_financial_table(csv_path, symbol, period=None):
- header_row = 1 if 'ratio' in csv_path.lower() else 0
- if not os.path.exists(csv_path):
- return None
- try:
- df = pd.read_csv(csv_path, header=header_row)
- df.columns = [str(col).strip().lower().replace(' ', '').replace('_', '') for col in df.columns]
- symbol_col = None
- for col in ['ticker', 'cp', 'mã', 'stock']:
- if col in df.columns:
- symbol_col = col
- break
- year_col = None
- for col in ['yearreport', 'năm', 'year', 'nam']:
- if col in df.columns:
- year_col = col
- break
- if symbol_col is None or year_col is None:
- return None
- df[symbol_col] = df[symbol_col].astype(str).str.upper().str.strip()
- df = df[df[symbol_col] == symbol.upper()]
- if df.empty:
- return None
- return df
- except Exception:
- return None
-
-def df_to_html(df, max_cols=12):
- if df is None or (hasattr(df, 'empty') and df.empty):
- return 'Chưa có dữ liệu tài chính. Hãy bấm Tải dữ liệu mới để lấy dữ liệu!'
- if len(df) == 1 and df.isnull().all(axis=None):
- return 'Chưa có dữ liệu tài chính. Hãy bấm Tải dữ liệu mới để lấy dữ liệu!'
- if len(df.columns) > max_cols:
- df = df.iloc[:, :max_cols]
- return df.to_html(classes='table table-sm table-bordered', index=False, border=0, justify='center')
-
-vsa_bp = Blueprint('vsa', __name__)
-
-@vsa_bp.route('/vsa', methods=['GET'])
-def vsa_index():
- symbol = request.args.get('symbol', 'VNINDEX').strip().upper()
- start = request.args.get('start', '2024-01-01')
- end = request.args.get('end', datetime.now().strftime('%Y-%m-%d'))
- try:
- stock = Vnstock().stock(symbol=symbol)
- df = stock.quote.history(start=start, end=end, interval='1D')
- if df is None or df.empty:
- return render_template('vsa.html', symbol=symbol, error="Không có dữ liệu cho mã cổ phiếu hoặc khoảng thời gian đã chọn.", chart_path_vsa=None, tables={
- 'bs_year': '', 'bs_quarter': '', 'is_year': '', 'is_quarter': '', 'cf_year': '', 'ratio_year': '', 'ratio_quarter': ''
- })
- except Exception as e:
- return render_template('vsa.html', symbol=symbol, error=f"Lỗi khi lấy dữ liệu: {e}", chart_path_vsa=None, tables={
- 'bs_year': '', 'bs_quarter': '', 'is_year': '', 'is_quarter': '', 'cf_year': '', 'ratio_year': '', 'ratio_quarter': ''
- })
- # Data cleaning
- for col in ['open', 'high', 'low', 'close', 'volume']:
- df[col] = pd.to_numeric(df[col], errors='coerce')
- df.dropna(subset=['open', 'high', 'low', 'close', 'volume'], inplace=True)
- candlestick_patterns = detect_candlestick_patterns(df)
- fibonacci_levels = calculate_fibonacci_levels(df)
- df = calculate_money_flow(df)
- double_tops, double_bottoms = find_double_top_bottom(df)
- w_double_bottoms = detect_w_double_bottom(df)
- m_double_tops = detect_m_double_top(df)
- CHART_PATH_VSA = "static/images/vnindex_vsa.png"
- os.makedirs(os.path.dirname(CHART_PATH_VSA), exist_ok=True)
- plot_candlestick_with_fibo_patterns(
- df, fibonacci_levels, candlestick_patterns, symbol, chart_path=CHART_PATH_VSA,
- double_tops=double_tops, double_bottoms=double_bottoms,
- cup_handle_patterns=None, w_double_bottoms=w_double_bottoms, m_double_tops=m_double_tops
- )
- # Bổ sung bảng tài chính
- bs_year = load_financial_table('DFbalance_sheet_year.csv', symbol, period='year')
- bs_quarter = load_financial_table('DFbalance_sheet_quarter.csv', symbol, period='quarter')
- is_year = load_financial_table('DFincome_statement_year.csv', symbol, period='year')
- is_quarter = load_financial_table('dfincome_statement_quarter.csv', symbol, period='quarter')
- cf_year = load_financial_table('dfcash_flow_year.csv', symbol, period='year')
- ratio_year = load_financial_table('dfratio_year.csv', symbol, period='year')
- ratio_quarter = load_financial_table('dfratio_quarter.csv', symbol, period='quarter')
- tables = {
- 'bs_year': df_to_html(bs_year),
- 'bs_quarter': df_to_html(bs_quarter),
- 'is_year': df_to_html(is_year),
- 'is_quarter': df_to_html(is_quarter),
- 'cf_year': df_to_html(cf_year),
- 'ratio_year': df_to_html(ratio_year),
- 'ratio_quarter': df_to_html(ratio_quarter),
- }
- financial_valuation = get_financial_valuation(stock)
- return render_template('vsa.html', symbol=symbol, chart_path_vsa=CHART_PATH_VSA, error=None, tables=tables, financial_valuation=financial_valuation)
diff --git a/vn-stock-analysis-app/nohup.out b/vn-stock-analysis-app/nohup.out
deleted file mode 100644
index 757dd3fca160f4fec316080bcf24781a1069f44c..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/nohup.out
+++ /dev/null
@@ -1,247 +0,0 @@
-/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/vnai/scope/profile.py:742: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.
- import pkg_resources
-👋 Chào mừng bạn đến với Vnstock! Tài liệu: https://vnstocks.com/docs/tai-lieu/huong-dan-nhanh | Cộng đồng: https://www.facebook.com/groups/vnstock.official
-INFO:root:[VSA] Static dir: /workspaces/vn-stock-analysis-app/vn-stock-analysis-app/stock-vsa-analyzer/public
- * Debug mode: off
-INFO:werkzeug:[31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
- * Running on all addresses (0.0.0.0)
- * Running on http://127.0.0.1:5000
- * Running on http://10.0.2.111:5000
-INFO:werkzeug:[33mPress CTRL+C to quit[0m
-2025-07-08 01:52:56 - vnstock.common.data.data_explorer - INFO - Không phải là mã chứng khoán, thông tin công ty và tài chính không khả dụng.
-INFO:vnstock.common.data.data_explorer:Không phải là mã chứng khoán, thông tin công ty và tài chính không khả dụng.
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 01:52:56] "GET / HTTP/1.1" 200 -
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 01:52:58] "[36mGET /static/css/main.css HTTP/1.1[0m" 304 -
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 01:52:58] "[36mGET /static/js/home.js HTTP/1.1[0m" 304 -
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 01:53:00] "[36mGET /static/js/indicators/pv.js HTTP/1.1[0m" 304 -
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 01:53:00] "[36mGET /static/js/chart.js HTTP/1.1[0m" 304 -
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 01:53:00] "[36mGET /static/js/indicators/mfi.js HTTP/1.1[0m" 304 -
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 01:53:02] "[36mGET /static/js/indicators/vsa.js HTTP/1.1[0m" 304 -
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 01:53:04] "GET /api/stock_data?symbol=VNINDEX HTTP/1.1" 200 -
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 01:53:04] "[33mGET /static/images/favicon.ico HTTP/1.1[0m" 404 -
-INFO:httpx:HTTP Request: POST https://api.groq.com/openai/v1/chat/completions "HTTP/1.1 200 OK"
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 01:54:41] "GET /market_overview HTTP/1.1" 200 -
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 01:54:42] "[36mGET /static/css/main.css HTTP/1.1[0m" 304 -
-INFO:httpx:HTTP Request: POST https://api.groq.com/openai/v1/chat/completions "HTTP/1.1 200 OK"
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 01:58:07] "GET /market_overview HTTP/1.1" 200 -
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 01:58:07] "GET /static/css/main.css HTTP/1.1" 200 -
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 01:58:07] "[33mGET /static/images/favicon.ico HTTP/1.1[0m" 404 -
-/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/vnai/scope/profile.py:742: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.
- import pkg_resources
-👋 Chào mừng bạn đến với Vnstock! Tài liệu: https://vnstocks.com/docs/tai-lieu/huong-dan-nhanh | Cộng đồng: https://www.facebook.com/groups/vnstock.official
-INFO:root:[VSA] Static dir: /workspaces/vn-stock-analysis-app/vn-stock-analysis-app/stock-vsa-analyzer/public
- * Debug mode: off
-INFO:werkzeug:[31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
- * Running on all addresses (0.0.0.0)
- * Running on http://127.0.0.1:5000
- * Running on http://10.0.2.111:5000
-INFO:werkzeug:[33mPress CTRL+C to quit[0m
-INFO:httpx:HTTP Request: POST https://api.groq.com/openai/v1/chat/completions "HTTP/1.1 200 OK"
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:06:12] "GET /market_overview HTTP/1.1" 200 -
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:06:12] "GET /static/css/main.css HTTP/1.1" 200 -
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:06:13] "[33mGET /static/images/favicon.ico HTTP/1.1[0m" 404 -
-2025-07-08 02:08:37 - vnstock.common.data.data_explorer - INFO - Không phải là mã chứng khoán, thông tin công ty và tài chính không khả dụng.
-INFO:vnstock.common.data.data_explorer:Không phải là mã chứng khoán, thông tin công ty và tài chính không khả dụng.
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:08:39] "GET / HTTP/1.1" 200 -
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:08:40] "[36mGET /static/css/main.css HTTP/1.1[0m" 304 -
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:08:40] "[36mGET /static/js/home.js HTTP/1.1[0m" 304 -
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:08:42] "[36mGET /static/js/indicators/pv.js HTTP/1.1[0m" 304 -
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:08:42] "[36mGET /static/js/indicators/vsa.js HTTP/1.1[0m" 304 -
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:08:42] "[36mGET /static/js/chart.js HTTP/1.1[0m" 304 -
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:08:42] "[36mGET /static/js/indicators/mfi.js HTTP/1.1[0m" 304 -
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:08:44] "GET /api/stock_data?symbol=VNINDEX HTTP/1.1" 200 -
-INFO:httpx:HTTP Request: POST https://api.groq.com/openai/v1/chat/completions "HTTP/1.1 200 OK"
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:08:52] "GET /market_overview HTTP/1.1" 200 -
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:08:53] "[36mGET /static/css/main.css HTTP/1.1[0m" 304 -
-2025-07-08 02:15:48 - vnstock.common.data.data_explorer - INFO - Không phải là mã chứng khoán, thông tin công ty và tài chính không khả dụng.
-INFO:vnstock.common.data.data_explorer:Không phải là mã chứng khoán, thông tin công ty và tài chính không khả dụng.
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:15:49] "GET / HTTP/1.1" 200 -
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:15:51] "[36mGET /static/css/main.css HTTP/1.1[0m" 304 -
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:15:51] "[36mGET /static/js/home.js HTTP/1.1[0m" 304 -
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:15:52] "[36mGET /static/js/indicators/vsa.js HTTP/1.1[0m" 304 -
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:15:52] "[36mGET /static/js/indicators/pv.js HTTP/1.1[0m" 304 -
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:15:52] "[36mGET /static/js/indicators/mfi.js HTTP/1.1[0m" 304 -
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:15:52] "[36mGET /static/js/chart.js HTTP/1.1[0m" 304 -
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:15:54] "GET /api/stock_data?symbol=VNINDEX HTTP/1.1" 200 -
-ERROR:app:Exception on /covered_warrant [GET]
-Traceback (most recent call last):
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/app.py", line 1511, in wsgi_app
- response = self.full_dispatch_request()
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/app.py", line 919, in full_dispatch_request
- rv = self.handle_user_exception(e)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask_cors/extension.py", line 176, in wrapped_function
- return cors_after_request(app.make_response(f(*args, **kwargs)))
- ^^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/app.py", line 917, in full_dispatch_request
- rv = self.dispatch_request()
- ^^^^^^^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/app.py", line 902, in dispatch_request
- return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/vn-stock-analysis-app/app.py", line 65, in covered_warrant
- info = {}
- ^^^^^^^
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/templating.py", line 150, in render_template
- return _render(app, template, context)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/templating.py", line 131, in _render
- rv = template.render(context)
- ^^^^^^^^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/jinja2/environment.py", line 1295, in render
- self.environment.handle_exception()
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/jinja2/environment.py", line 942, in handle_exception
- raise rewrite_traceback_stack(source=source)
- File "/workspaces/vn-stock-analysis-app/vn-stock-analysis-app/templates/covered_warrant.html", line 1, in top-level template code
- {% extends 'base.html' %}
- File "/workspaces/vn-stock-analysis-app/vn-stock-analysis-app/templates/base.html", line 66, in top-level template code
- {% block content %}{% endblock %}
- ^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/vn-stock-analysis-app/templates/covered_warrant.html", line 88, in block 'content'
- const warrantInfo = {{ warrant_info | tojson }};
- ^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/jinja2/filters.py", line 1721, in do_tojson
- return htmlsafe_json_dumps(value, dumps=dumps, **kwargs)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/jinja2/utils.py", line 669, in htmlsafe_json_dumps
- dumps(obj, **kwargs)
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/json/provider.py", line 179, in dumps
- return json.dumps(obj, **kwargs)
- ^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/home/codespace/.python/current/lib/python3.12/json/__init__.py", line 238, in dumps
- **kw).encode(obj)
- ^^^^^^^^^^^
- File "/home/codespace/.python/current/lib/python3.12/json/encoder.py", line 200, in encode
- chunks = self.iterencode(o, _one_shot=True)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/home/codespace/.python/current/lib/python3.12/json/encoder.py", line 258, in iterencode
- return _iterencode(o, 0)
- ^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/json/provider.py", line 121, in _default
- raise TypeError(f"Object of type {type(o).__name__} is not JSON serializable")
-TypeError: Object of type Undefined is not JSON serializable
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:16:00] "[35m[1mGET /covered_warrant HTTP/1.1[0m" 500 -
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:16:01] "[33mGET /favicon.ico HTTP/1.1[0m" 404 -
-ERROR:app:Exception on /covered_warrant [GET]
-Traceback (most recent call last):
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/app.py", line 1511, in wsgi_app
- response = self.full_dispatch_request()
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/app.py", line 919, in full_dispatch_request
- rv = self.handle_user_exception(e)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask_cors/extension.py", line 176, in wrapped_function
- return cors_after_request(app.make_response(f(*args, **kwargs)))
- ^^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/app.py", line 917, in full_dispatch_request
- rv = self.dispatch_request()
- ^^^^^^^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/app.py", line 902, in dispatch_request
- return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/vn-stock-analysis-app/app.py", line 65, in covered_warrant
- info = {}
- ^^^^^^^
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/templating.py", line 150, in render_template
- return _render(app, template, context)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/templating.py", line 131, in _render
- rv = template.render(context)
- ^^^^^^^^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/jinja2/environment.py", line 1295, in render
- self.environment.handle_exception()
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/jinja2/environment.py", line 942, in handle_exception
- raise rewrite_traceback_stack(source=source)
- File "/workspaces/vn-stock-analysis-app/vn-stock-analysis-app/templates/covered_warrant.html", line 1, in top-level template code
- {% extends 'base.html' %}
- File "/workspaces/vn-stock-analysis-app/vn-stock-analysis-app/templates/base.html", line 66, in top-level template code
- {% block content %}{% endblock %}
- ^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/vn-stock-analysis-app/templates/covered_warrant.html", line 88, in block 'content'
- const warrantInfo = {{ warrant_info | tojson | safe }};
- ^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/jinja2/filters.py", line 1721, in do_tojson
- return htmlsafe_json_dumps(value, dumps=dumps, **kwargs)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/jinja2/utils.py", line 669, in htmlsafe_json_dumps
- dumps(obj, **kwargs)
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/json/provider.py", line 179, in dumps
- return json.dumps(obj, **kwargs)
- ^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/home/codespace/.python/current/lib/python3.12/json/__init__.py", line 238, in dumps
- **kw).encode(obj)
- ^^^^^^^^^^^
- File "/home/codespace/.python/current/lib/python3.12/json/encoder.py", line 200, in encode
- chunks = self.iterencode(o, _one_shot=True)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/home/codespace/.python/current/lib/python3.12/json/encoder.py", line 258, in iterencode
- return _iterencode(o, 0)
- ^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/json/provider.py", line 121, in _default
- raise TypeError(f"Object of type {type(o).__name__} is not JSON serializable")
-TypeError: Object of type Undefined is not JSON serializable
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:18:15] "[35m[1mGET /covered_warrant HTTP/1.1[0m" 500 -
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:19:23] "GET / HTTP/1.1" 200 -
-INFO:httpx:HTTP Request: POST https://api.groq.com/openai/v1/chat/completions "HTTP/1.1 200 OK"
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:19:36] "GET /market_overview HTTP/1.1" 200 -
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:19:37] "[36mGET /static/css/main.css HTTP/1.1[0m" 304 -
-ERROR:app:Exception on /covered_warrant [GET]
-Traceback (most recent call last):
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/app.py", line 1511, in wsgi_app
- response = self.full_dispatch_request()
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/app.py", line 919, in full_dispatch_request
- rv = self.handle_user_exception(e)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask_cors/extension.py", line 176, in wrapped_function
- return cors_after_request(app.make_response(f(*args, **kwargs)))
- ^^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/app.py", line 917, in full_dispatch_request
- rv = self.dispatch_request()
- ^^^^^^^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/app.py", line 902, in dispatch_request
- return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/vn-stock-analysis-app/app.py", line 65, in covered_warrant
- info = {}
- ^^^^^^^
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/templating.py", line 150, in render_template
- return _render(app, template, context)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/templating.py", line 131, in _render
- rv = template.render(context)
- ^^^^^^^^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/jinja2/environment.py", line 1295, in render
- self.environment.handle_exception()
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/jinja2/environment.py", line 942, in handle_exception
- raise rewrite_traceback_stack(source=source)
- File "/workspaces/vn-stock-analysis-app/vn-stock-analysis-app/templates/covered_warrant.html", line 1, in top-level template code
- {% extends 'base.html' %}
- File "/workspaces/vn-stock-analysis-app/vn-stock-analysis-app/templates/base.html", line 66, in top-level template code
- {% block content %}{% endblock %}
- ^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/vn-stock-analysis-app/templates/covered_warrant.html", line 88, in block 'content'
- const warrantInfo = {{ warrant_info | tojson | safe }};
- ^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/jinja2/filters.py", line 1721, in do_tojson
- return htmlsafe_json_dumps(value, dumps=dumps, **kwargs)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/jinja2/utils.py", line 669, in htmlsafe_json_dumps
- dumps(obj, **kwargs)
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/json/provider.py", line 179, in dumps
- return json.dumps(obj, **kwargs)
- ^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/home/codespace/.python/current/lib/python3.12/json/__init__.py", line 238, in dumps
- **kw).encode(obj)
- ^^^^^^^^^^^
- File "/home/codespace/.python/current/lib/python3.12/json/encoder.py", line 200, in encode
- chunks = self.iterencode(o, _one_shot=True)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/home/codespace/.python/current/lib/python3.12/json/encoder.py", line 258, in iterencode
- return _iterencode(o, 0)
- ^^^^^^^^^^^^^^^^^
- File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/json/provider.py", line 121, in _default
- raise TypeError(f"Object of type {type(o).__name__} is not JSON serializable")
-TypeError: Object of type Undefined is not JSON serializable
-INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:19:50] "[35m[1mGET /covered_warrant HTTP/1.1[0m" 500 -
diff --git a/vn-stock-analysis-app/requirements.txt b/vn-stock-analysis-app/requirements.txt
deleted file mode 100644
index b4424572cf9b11ad0218a19ac6be8856958a7ee7..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/requirements.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-Flask
-vnstock
-pandas
-numpy
-requests
-matplotlib
-pandas-ta
-scipy
-mplfinance
-numpy-financial
-flask-cors
-google-generativeai
-groq
-beautifulsoup4
-feedparser
-newspaper3k
-gunicorn
-huggingface-hub
diff --git a/vn-stock-analysis-app/static/DFbalance_sheet_quarter.csv b/vn-stock-analysis-app/static/DFbalance_sheet_quarter.csv
deleted file mode 100644
index 1caa03abb349f61334e0dd70695b57a4d4668ace..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/static/DFbalance_sheet_quarter.csv
+++ /dev/null
@@ -1,50 +0,0 @@
-ticker,yearReport,lengthReport,TOTAL ASSETS (Bn. VND),Cash and cash equivalents (Bn. VND),Balances with the SBV,Placements with and loans to other credit institutions,"Trading Securities, net",Trading Securities,Provision for diminution in value of Trading Securities,Derivatives and other financial liabilities,"Loans and advances to customers, net",Loans and advances to customers,Less: Provision for losses on loans and advances to customers,Investment Securities,Available-for Sales Securities,Held-to-Maturity Securities,Less: Provision for diminution in value of investment securities,Long-term investments (Bn. VND),Investment in joint ventures,Investments in associate companies,Other long-term assets (Bn. VND),Less: Provision for diminuation in value of long term investments,Fixed assets (Bn. VND),Tangible fixed assets,Leased assets,Intagible fixed assets,Other Assets,TOTAL RESOURCES (Bn. VND),LIABILITIES (Bn. VND),Due to Gov and borrowings from SBV,Deposits and borrowings from other credit institutions,Deposits from customers,_Derivatives and other financial liabilities,"Funds received from Gov, international and other institutions",Convertible bonds/CDs and other valuable papers issued,Other liabilities,OWNER'S EQUITY(Bn.VND),Capital,Reserves,Foreign Currency Difference reserve,Undistributed earnings (Bn. VND),Minority Interest,Paid-in capital (Bn. VND),Other Reserves,MINORITY INTERESTS
-STB,2025,1,757093326000000,8497715000000,16074591000000,76157728000000,0,0,0,0,553760842000000,564327201000000,-10566359000000,84005851000000,21735039000000,74040800000000,-11769988000000,82204000000,0,0,96642000000,-14438000000,7357477000000,4373022000000,0,2984455000000,11156918000000,757093326000000,699230949000000,4336215000000,56408256000000,585569336000000,275515000000,473523000000,34031754000000,18136350000000,57862377000000,20601582000000,6082598000000,-148612000000,31326809000000,0,18852157000000,653000000,0
-STB,2024,4,748094546000000,8214653000000,17644155000000,88241176000000,0,0,0,0,530448003000000,539314658000000,-8866655000000,85648177000000,23554968000000,75363197000000,-13269988000000,82204000000,0,0,96642000000,-14438000000,7355128000000,4375198000000,0,2979930000000,10461050000000,748094546000000,693122476000000,54255000000,70655292000000,566881814000000,54007000000,449009000000,36753523000000,18274576000000,54972070000000,20601582000000,6082598000000,-138225000000,28426115000000,0,18852157000000,653000000,0
-STB,2024,3,702985596000000,8901439000000,15450839000000,60284996000000,0,0,0,35667000000,515738627000000,525493361000000,-9754734000000,82871482000000,22674860000000,73855684000000,-13659062000000,82204000000,0,0,96642000000,-14438000000,7384591000000,4360032000000,0,3024559000000,12235751000000,702985596000000,651705096000000,48635000000,32209145000000,566724116000000,0,363063000000,34706778000000,17653359000000,51280500000000,20601582000000,6080481000000,-231717000000,24830154000000,0,18852157000000,653000000,0
-STB,2024,2,717312771000000,7051295000000,14973908000000,71385725000000,0,0,0,138180000000,507883143000000,516634843000000,-8751700000000,86118121000000,26081093000000,74613332000000,-14576304000000,82204000000,0,0,96642000000,-14438000000,7273402000000,4295099000000,0,2978303000000,22406793000000,717312771000000,668234822000000,2834962000000,51333953000000,549184397000000,0,331589000000,37854969000000,26694952000000,49077949000000,20601582000000,6080481000000,-233095000000,22628981000000,0,18852157000000,653000000,0
-STB,2024,1,693534553000000,8487570000000,15798185000000,56985715000000,0,0,0,0,492140463000000,500408346000000,-8267883000000,75698223000000,20617717000000,69664680000000,-14584174000000,82642000000,0,0,97014000000,-14372000000,7376050000000,4352829000000,0,3023221000000,36965705000000,693534553000000,645625554000000,18685000000,40646857000000,533358461000000,183448000000,368921000000,31828758000000,39220424000000,47908999000000,20601582000000,4971157000000,-159774000000,22496034000000,0,18852157000000,653000000,0
-STB,2023,4,674389660000000,7545270000000,12848045000000,50332971000000,0,0,0,0,475169108000000,482731122000000,-7562014000000,74635845000000,22562535000000,66688978000000,-14615668000000,82642000000,0,0,97014000000,-14372000000,7269440000000,4282772000000,0,2986668000000,46506339000000,674389660000000,628655796000000,19328000000,37950111000000,510744394000000,91459000000,323147000000,28992491000000,50534866000000,45733864000000,20601582000000,4971157000000,-225489000000,20386614000000,0,18852157000000,653000000,0
-STB,2023,3,651288299000000,10291802000000,13211925000000,46344192000000,3000000000000,3000000000000,0,0,465403139000000,472073361000000,-6670222000000,72546634000000,23336309000000,65908630000000,-16698305000000,82663000000,0,0,97014000000,-14351000000,7221610000000,4200104000000,0,3021506000000,33186334000000,651288299000000,607578312000000,27687000000,29634107000000,507833203000000,213189000000,350267000000,27098777000000,42421082000000,43709987000000,20601582000000,4968603000000,9569000000,18130233000000,0,18852157000000,653000000,0
-STB,2023,2,622177662000000,10561798000000,13551669000000,38192614000000,0,0,0,120875000000,454128489000000,460470628000000,-6342139000000,72552990000000,24991716000000,63765996000000,-16204722000000,82663000000,0,0,97014000000,-14351000000,7125339000000,4137555000000,0,2987784000000,25861225000000,622177662000000,580384648000000,28707000000,18123332000000,501583494000000,0,228810000000,29066642000000,31353663000000,41793014000000,20601582000000,4905388000000,-306613000000,16592657000000,0,18852157000000,653000000,0
-STB,2023,1,596693994000000,10542632000000,12581859000000,31349277000000,0,0,0,76990000000,442922318000000,448469026000000,-5546708000000,66626089000000,24631616000000,57717534000000,-15723061000000,88812000000,0,0,97014000000,-8202000000,7326557000000,4265650000000,0,3060907000000,25126092000000,596693994000000,556136201000000,33962000000,24549053000000,478789403000000,0,270746000000,25857130000000,26635907000000,40557793000000,20601582000000,4223224000000,-157323000000,15890310000000,0,18852157000000,653000000,0
-STB,2022,4,591994201000000,7849898000000,12286117000000,25293585000000,0,0,0,109858000000,432997593000000,438627777000000,-5630184000000,68844379000000,27896339000000,55551832000000,-14603792000000,88812000000,0,0,97014000000,-8202000000,7547677000000,4489795000000,0,3057882000000,36873640000000,591994201000000,553367205000000,9901209000000,28430448000000,454740496000000,0,239837000000,25820307000000,34234908000000,38626996000000,20601582000000,4223224000000,-169492000000,13971682000000,0,18852157000000,653000000,0
-STB,2022,3,564192851000000,10350463000000,12568881000000,18024063000000,0,0,0,67684000000,414922969000000,420748053000000,-5825084000000,73973705000000,28808299000000,56218420000000,-11053014000000,88851000000,0,0,97014000000,-8163000000,7966533000000,4574837000000,0,3391696000000,26059892000000,564192851000000,527252603000000,51577000000,17692685000000,457890375000000,0,225709000000,26674466000000,24717791000000,36940248000000,20601582000000,4234329000000,-142274000000,12246611000000,0,18852157000000,653000000,0
-STB,2022,2,551422119000000,9744491000000,12626666000000,17876787000000,0,0,0,0,407251198000000,414561633000000,-7310435000000,70973383000000,27511458000000,52200244000000,-8738319000000,88851000000,0,0,97014000000,-8163000000,7847586000000,4501298000000,0,3346288000000,24819452000000,551422119000000,515623994000000,62995000000,14376406000000,456417837000000,26316000000,195713000000,22066268000000,22478459000000,35798125000000,20601582000000,4234329000000,-72790000000,11035004000000,0,18852157000000,653000000,0
-STB,2022,1,552539011000000,9874000000000,12383902000000,13222053000000,0,0,0,0,405918816000000,413027822000000,-7109006000000,73320764000000,28758761000000,51266316000000,-6704313000000,88968000000,0,0,97014000000,-8046000000,8096330000000,4454824000000,0,3641506000000,29445418000000,552539011000000,517057918000000,58599000000,17660693000000,457791917000000,90861000000,259798000000,20588726000000,20607324000000,35481093000000,20601582000000,3715274000000,9144000000,11155093000000,0,18852157000000,653000000,0
-STB,2021,4,521196331000000,8222365000000,12169867000000,8353579000000,0,0,0,0,381012317000000,387929596000000,-6917279000000,69746137000000,34048080000000,41650354000000,-5952297000000,88968000000,0,0,97014000000,-8046000000,8195276000000,4518674000000,0,3676602000000,33219052000000,521196331000000,486934994000000,522745000000,15229099000000,427386772000000,108003000000,278940000000,21103779000000,22305656000000,34261337000000,20601582000000,3715274000000,37364000000,9907117000000,0,18852157000000,653000000,0
-STB,2021,3,494294982000000,11464379000000,12854927000000,7772007000000,0,0,0,49379000000,350191352000000,356440303000000,-6248951000000,72556298000000,35361176000000,42984242000000,-5789120000000,89173000000,0,0,119064000000,-29891000000,8193844000000,4569415000000,0,3624429000000,30841079000000,494294982000000,460911837000000,89359000000,6958706000000,418839499000000,0,305885000000,16742770000000,17975618000000,33383145000000,20601582000000,3713778000000,17039000000,9050746000000,0,18852157000000,653000000,0
-STB,2021,2,504533717000000,9907548000000,11367139000000,13541640000000,0,0,0,4442000000,355342446000000,361109293000000,-5766847000000,73027416000000,40278335000000,38114998000000,-5365917000000,227872000000,0,0,257764000000,-29892000000,8475762000000,4666798000000,0,3808964000000,32353631000000,504533717000000,474149926000000,106912000000,8855610000000,433943764000000,0,240365000000,13706978000000,17296297000000,30383791000000,18166632000000,3713778000000,92363000000,8411018000000,0,18852157000000,653000000,0
-STB,2021,1,497427679000000,9120193000000,11896701000000,8631605000000,0,0,0,22350000000,351318425000000,356974593000000,-5656168000000,72358815000000,47644668000000,29313443000000,-4599296000000,124593000000,0,0,257764000000,-133171000000,8473407000000,4695443000000,0,3777964000000,35195284000000,497427679000000,467693809000000,124746000000,8462783000000,431136898000000,0,245560000000,12867196000000,14856626000000,29733870000000,18166632000000,3336508000000,124879000000,8105851000000,0,18852157000000,653000000,0
-STB,2020,4,492636633000000,7678553000000,10052590000000,18397370000000,0,0,0,19677000000,334854576000000,340268127000000,-5413551000000,75276731000000,52227759000000,27322052000000,-4273080000000,124593000000,0,0,257764000000,-133171000000,8575424000000,4746484000000,0,3828940000000,37355604000000,492636633000000,463680391000000,143528000000,7880006000000,427971850000000,0,229445000000,11144140000000,16311422000000,28956242000000,18166632000000,3336508000000,149483000000,7303619000000,0,18852157000000,653000000,0
-STB,2020,3,485212606000000,10408936000000,12059124000000,18315548000000,0,0,0,11753000000,315149610000000,320214546000000,-5064936000000,81641204000000,55046619000000,30986196000000,-4391611000000,106593000000,0,0,291031000000,-184438000000,8378155000000,4628717000000,0,3749438000000,38808617000000,485212606000000,457008004000000,163308000000,3248072000000,428953971000000,0,158080000000,9480003000000,15004570000000,28204602000000,18166632000000,3335011000000,244014000000,6458945000000,0,18852157000000,653000000,0
-STB,2020,2,481897995000000,8415378000000,14113254000000,26355210000000,0,0,0,34401000000,306059137000000,310694975000000,-4635838000000,78478900000000,50648556000000,32129506000000,-4299162000000,106593000000,0,0,298971000000,-192378000000,8182222000000,4557553000000,0,3624669000000,39789459000000,481897995000000,454450293000000,187373000000,3791656000000,426236433000000,0,157866000000,9481519000000,14595446000000,27447702000000,18166632000000,3335011000000,198282000000,5747777000000,0,18852157000000,653000000,0
-STB,2020,1,459076447000000,10993565000000,11426800000000,8354076000000,363600000000,363600000000,0,0,302176406000000,306298730000000,-4122324000000,77440466000000,48830146000000,32682338000000,-4072018000000,103854000000,0,0,298971000000,-195117000000,8215636000000,4623957000000,0,3591679000000,39601970000000,459076447000000,431529902000000,212371000000,3844034000000,405709054000000,82380000000,161661000000,9485396000000,12035006000000,27546545000000,18166632000000,2991963000000,235934000000,6152016000000,0,18852157000000,653000000,0
-STB,2019,4,453581057000000,8269373000000,12109861000000,13150915000000,0,0,0,24465000000,292058715000000,296029774000000,-3971059000000,76497497000000,46890019000000,33647189000000,-4039711000000,103854000000,0,0,298971000000,-195117000000,8289968000000,4697387000000,0,3592581000000,42652956000000,453581057000000,426839417000000,241539000000,3525560000000,400844380000000,0,83606000000,9490048000000,12654284000000,26741640000000,18166632000000,2963901000000,199543000000,5411564000000,0,18852157000000,653000000,0
-STB,2019,3,450200240000000,10755152000000,10449141000000,17792204000000,465300000000,465300000000,0,14149000000,286378842000000,290476749000000,-4097907000000,72646219000000,41139434000000,35006124000000,-3499339000000,139893000000,0,0,320477000000,-180584000000,8233474000000,4632874000000,0,3600600000000,42871818000000,450200240000000,423970384000000,252149000000,2991439000000,399369977000000,0,84611000000,9512090000000,11760118000000,26229856000000,18166632000000,2963901000000,219327000000,4879996000000,0,18852157000000,653000000,0
-STB,2019,2,439170151000000,8544238000000,11045526000000,16969472000000,0,0,0,3202000000,275511929000000,279420154000000,-3908225000000,74614127000000,39231651000000,38567775000000,-3185299000000,139893000000,0,0,320477000000,-180584000000,8063643000000,4585551000000,0,3478092000000,43791554000000,439170151000000,413671157000000,247729000000,3013869000000,388242919000000,0,86580000000,9557639000000,12522421000000,25498994000000,18166632000000,2976004000000,260334000000,4096024000000,0,18852157000000,653000000,0
-STB,2019,1,425033040000000,9634837000000,10502428000000,9531398000000,0,0,0,19804000000,267225888000000,271020322000000,-3794434000000,74690889000000,37951396000000,39620852000000,-2881359000000,142613000000,0,0,320477000000,-177864000000,8288292000000,4662095000000,0,3626197000000,44482397000000,425033040000000,399555802000000,250189000000,3215141000000,377222877000000,0,87290000000,8057776000000,10722529000000,25477238000000,18166632000000,2720885000000,224716000000,4365005000000,0,18852157000000,653000000,0
-STB,2018,4,406040598000000,6379549000000,9611502000000,4822454000000,0,0,0,21310000000,253100111000000,256622753000000,-3522642000000,75514421000000,37988732000000,40233215000000,-2707526000000,142613000000,0,0,320477000000,-177864000000,8249652000000,4617730000000,0,3631922000000,47654200000000,406040598000000,381408232000000,5293086000000,7491655000000,349197426000000,0,87728000000,8065909000000,11272428000000,24632366000000,18166632000000,2720885000000,223785000000,3521064000000,0,18852157000000,653000000,0
-STB,2018,3,403602479000000,9619987000000,10105235000000,1855932000000,0,0,0,5538000000,249548038000000,253391900000000,-3843862000000,78084179000000,39316627000000,40996207000000,-2228655000000,155144000000,0,0,320934000000,-165790000000,8108820000000,4500058000000,0,3608762000000,45541103000000,403602479000000,379821584000000,246595000000,4402681000000,357219509000000,0,89123000000,8120626000000,9743050000000,23780895000000,18166632000000,2718620000000,231285000000,2664358000000,0,18852157000000,653000000,0
-STB,2018,2,400686351000000,8268519000000,9285495000000,6812672000000,63250000000,63250000000,0,0,243564981000000,246691059000000,-3126078000000,78278562000000,38251688000000,42288981000000,-2262107000000,155144000000,0,0,320934000000,-165790000000,8151065000000,4518166000000,0,3632899000000,45507098000000,400686351000000,377037747000000,245385000000,3942875000000,355860198000000,10435000000,90991000000,8185488000000,8702375000000,23648604000000,18166632000000,2718620000000,262174000000,2501178000000,0,18852157000000,653000000,0
-STB,2018,1,381252451000000,8487885000000,8808307000000,5236374000000,61545000000,63250000000,-1705000000,10240000000,226593934000000,229440983000000,-2847049000000,75958350000000,32950437000000,45090038000000,-2082125000000,165441000000,0,0,320934000000,-155493000000,8134708000000,4515161000000,0,3619547000000,47180436000000,381252451000000,357582010000000,244660000000,5387830000000,339234749000000,0,91373000000,5564664000000,7058734000000,23670441000000,18166632000000,2549642000000,265693000000,2688474000000,0,18852157000000,653000000,0
-STB,2017,4,368680399000000,6212661000000,3000152000000,7375083000000,63250000000,63250000000,0,20251000000,220168751000000,222946630000000,-2777879000000,73188580000000,30007436000000,45266699000000,-2085555000000,165441000000,0,0,320934000000,-155493000000,8100994000000,4474614000000,0,3626380000000,49741452000000,368680399000000,345452717000000,231484000000,12649029000000,319859584000000,0,90975000000,5601386000000,7020259000000,23227682000000,18166632000000,2549642000000,234062000000,2277346000000,0,18852157000000,653000000,0
-STB,2017,3,363488056000000,8038999000000,7999664000000,2164250000000,63250000000,63250000000,0,10380000000,220486919000000,223016206000000,-2529287000000,74439239000000,29746325000000,46506574000000,-1813660000000,253381000000,0,0,410934000000,-157553000000,8067816000000,4470287000000,0,3597529000000,41289878000000,363488056000000,340704657000000,220749000000,15270423000000,312560655000000,0,45892000000,5716852000000,6890086000000,22783399000000,18166632000000,2519351000000,179077000000,1918339000000,0,18852157000000,653000000,0
-STB,2017,2,355813041000000,7040547000000,8186296000000,3039330000000,97530000000,98925000000,-1395000000,24898000000,216112206000000,218542323000000,-2430117000000,70027130000000,29879413000000,41958574000000,-1810857000000,575872000000,0,0,880575000000,-304703000000,8022753000000,4479951000000,0,3542802000000,41983906000000,355813041000000,333328964000000,0,5828717000000,317368005000000,0,1358486000000,2742710000000,6031046000000,22484077000000,18166632000000,2519351000000,187037000000,1611057000000,0,18852157000000,653000000,0
-STB,2017,1,344409236000000,7728216000000,7933704000000,2023023000000,96015000000,105624000000,-9609000000,0,203969326000000,206390141000000,-2420815000000,69958901000000,30126231000000,41648403000000,-1815733000000,270644000000,0,0,441922000000,-171278000000,7963942000000,4487091000000,0,3476851000000,43738986000000,344409236000000,321296630000000,2426652000000,5713136000000,303043610000000,212000000,1378391000000,2772590000000,5962039000000,23112606000000,18166632000000,2430783000000,201673000000,2313518000000,0,18852157000000,653000000,0
-STB,2016,4,333294844000000,5872977000000,8954313000000,2497737000000,89891000000,105624000000,-15733000000,15421000000,196422586000000,198859667000000,-2437081000000,65034854000000,27589161000000,39292300000000,-1846607000000,297693000000,0,0,441922000000,-144229000000,7949370000000,4503813000000,0,3445557000000,45408254000000,333294844000000,310323126000000,3774694000000,8411437000000,291365595000000,0,1404154000000,600000000,5366646000000,22971718000000,18166632000000,2428951000000,250600000000,2125535000000,0,18852157000000,653000000,0
-STB,2016,3,320056340000000,7943920000000,8252380000000,2336419000000,93945000000,119725000000,-25780000000,0,192649887000000,195105252000000,-2455365000000,56055475000000,27707512000000,30161457000000,-1813494000000,296917000000,0,0,441922000000,-145005000000,8039185000000,4510123000000,0,3529062000000,44388212000000,320056340000000,297385304000000,0,5565798000000,285405282000000,17489000000,1379286000000,600000000,5016849000000,22671036000000,18166632000000,2433845000000,-125104000000,2195663000000,0,18852157000000,653000000,0
-STB,2016,2,311579110000000,7315912000000,8052524000000,3414868000000,1296034000000,1324841000000,-28807000000,0,196832383000000,199145568000000,-2313185000000,43371472000000,26692405000000,18244410000000,-1565343000000,534600000000,0,0,880936000000,-346336000000,8040676000000,4501544000000,11000000,3539121000000,42720641000000,311579110000000,289625627000000,0,3431404000000,279969230000000,3734000000,1383785000000,600000000,4836874000000,21953483000000,18166632000000,2433740000000,96743000000,1256368000000,0,18852157000000,653000000,0
-STB,2016,1,306515443000000,7296215000000,7612149000000,9439986000000,1293745000000,1324841000000,-31096000000,0,188365006000000,190701381000000,-2336375000000,40170831000000,25666005000000,16038782000000,-1533956000000,309473000000,0,0,442080000000,-132607000000,7900551000000,4478617000000,39000000,3421895000000,44127487000000,306515443000000,283830202000000,0,3239213000000,274328421000000,67443000000,1639935000000,600000000,4554590000000,22685241000000,18166632000000,2432608000000,185269000000,1900732000000,0,18852157000000,653000000,0
-STB,2015,4,292542264916463,6586479230421,7497266831712,2207868521965,95333263400,124840582884,-29507319484,0,183629878497542,185916812118571,-2286933621029,39713486306351,25109204040331,16145223223670,-1540940957650,326502039269,0,0,459189345232,-132687305963,7967720333434,4530437937354,69459105,3437212936975,44517729892369,292542264916463,269963967743004,0,2951160705694,260997659451851,22853192467,1793233567142,600036333,4198460789517,22578297173459,18166632361369,2419108903708,228161466986,1764394441396,0,18852157160000,653404200,0
-STB,2015,3,213077178209036,6191207303269,8620530002798,4665312807094,5213318353142,5267126429157,-53808076015,0,144121815198528,145773751133907,-1651935935379,28301553115418,21375457669511,8019110342811,-1093014896904,331575137489,53728946292,0,400122767882,-122276576685,6231595310091,3181038006225,99227286,3050458076580,9400270981207,213077178209036,193574394154615,0,3699011996623,183924106883454,24636380660,1892356948852,600036333,4033681908693,19502784054421,12590878190267,2283380909803,163393644030,4465131310321,0,12425115900000,153051697,0
-STB,2015,2,210777591000000,6090318000000,6129828000000,4869868000000,12194817000000,12247645000000,-52828000000,20368000000,139120781000000,140707233000000,-1586452000000,26944398000000,20486873000000,7236459000000,-778934000000,277846000000,0,0,400123000000,-122277000000,6007537000000,3067841000000,130000000,2939566000000,9121830000000,210777591000000,191818489000000,0,6119609000000,179941016000000,0,2002622000000,600000000,3754642000000,18959098000000,12590879000000,2281152000000,109052000000,3978015000000,0,12425116000000,153000000,4000000
-STB,2015,1,198741764831058,6063048519745,4165541042359,4339101809500,8839606825365,8892263397456,-52656572091,0,132528667530052,133987333888402,-1458666358350,26781899516232,21354910183214,5929094600805,-502105267787,263886451645,0,0,400122767882,-136236316237,5657450775525,2829926709123,158763648,2827365302754,10102562360635,198741764831058,180032630846646,0,4283226684701,171100198402186,29266169246,1072480970398,599949933,3546858670182,18709129733107,12590878190267,1949840531106,122163148151,4046247863583,4251305,12425115900000,153051697,0
-STB,2014,4,189802626000000,4815942000000,4289757000000,3606812000000,7683340000000,7732427000000,-49087000000,12152000000,126646091000000,128015009000000,-1368918000000,25925440000000,20250805000000,5935128000000,-260493000000,264513000000,0,0,400749000000,-136236000000,5198974000000,2831507000000,188000000,2367279000000,11359605000000,189802626000000,171733735000000,0,4410606000000,163057454000000,0,1115813000000,600000000,3149262000000,18068880000000,12590879000000,1938964000000,104277000000,3434760000000,11000000,12425116000000,153000000,0
-STB,2014,3,186633509000000,5322593000000,3852944000000,5730938000000,12345055000000,12451122000000,-106067000000,9874000000,122952226000000,124474970000000,-1522744000000,20547036000000,18648022000000,2183169000000,-284155000000,253800000000,0,0,402250000000,-148450000000,5180310000000,2804603000000,218000000,2375489000000,10438733000000,186633509000000,168928478000000,0,5946475000000,156041021000000,0,3497056000000,600000000,3443326000000,17705020000000,12590879000000,1930744000000,74630000000,3108767000000,11000000,12425116000000,153000000,0
-STB,2014,2,178938804000000,5652494000000,3671600000000,7088143000000,5739840000000,5950147000000,-210307000000,0,119726119000000,121192835000000,-1466716000000,22872148000000,21278848000000,1830319000000,-237019000000,300625000000,0,0,462929000000,-162304000000,5189045000000,2805016000000,599000000,2383430000000,8698790000000,178938804000000,161832975000000,0,5730391000000,148276098000000,4716000000,4489840000000,600000000,3331330000000,17105824000000,12590879000000,1930741000000,83051000000,2501153000000,0,12425116000000,153000000,5000000
-STB,2014,1,168982444000000,5564502000000,3337649000000,5714697000000,6227171000000,6352405000000,-125234000000,5448000000,113214793000000,114548690000000,-1333897000000,20734215000000,19205328000000,1764142000000,-235255000000,309895000000,0,0,462929000000,-153034000000,5244983000000,2863386000000,670000000,2380927000000,8629091000000,168982444000000,152431008000000,0,3754889000000,141187369000000,0,4420848000000,650000000,3067252000000,16551425000000,12590879000000,2004664000000,80241000000,1875641000000,11000000,12425116000000,153000000,0
-STB,2013,4,161377619000000,4228780000000,3300559000000,7469880000000,2651437000000,2877307000000,-225870000000,43995000000,109214226000000,110565796000000,-1351570000000,19893888000000,19434485000000,628689000000,-169286000000,318860000000,0,0,462929000000,-144069000000,5306522000000,2907072000000,742000000,2398708000000,8949472000000,161377619000000,144313901000000,0,5007208000000,131644622000000,0,4405174000000,501147000000,2755750000000,17063709000000,12590878000000,1621306000000,96865000000,2754660000000,9000000,12425116000000,152000000,0
-STB,2013,3,157811313000000,4958877000000,4240461000000,8528421000000,904226000000,1085066000000,-180840000000,0,107705505000000,109155596000000,-1450091000000,17635370000000,18108112000000,0,-472742000000,208338000000,0,0,477202000000,-268864000000,5296309000000,2902295000000,815000000,2393199000000,8333806000000,157811313000000,141380090000000,0,4847081000000,128137628000000,5948000000,4458460000000,451386000000,3479587000000,16431213000000,12590879000000,1616844000000,33519000000,2189971000000,10000000,12425116000000,153000000,0
-STB,2013,2,160358622000000,8331686000000,4403717000000,7056144000000,869779000000,1006231000000,-136452000000,0,107628519000000,109287910000000,-1659391000000,18650124000000,18621269000000,500000000000,-471145000000,208338000000,0,0,477202000000,-268864000000,5170077000000,2755824000000,888000000,2413365000000,8040238000000,160358622000000,146112494000000,0,5009064000000,124610829000000,4086000000,4495949000000,2151823000000,9840743000000,14246117000000,10905440000000,1622652000000,36531000000,1681494000000,0,10739677000000,153000000,11000000
-STB,2013,1,158548008000000,9170100000000,3526672000000,8706628000000,4697773000000,4835221000000,-137448000000,368761000000,96858880000000,98475930000000,-1617050000000,20682325000000,20528020000000,632560000000,-478255000000,240581000000,0,31744000000,477202000000,-268365000000,5305253000000,2867840000000,959000000,2436454000000,8991035000000,158548008000000,144204626000000,0,3512444000000,117942313000000,0,4429268000000,4468904000000,13851697000000,14343372000000,10905439000000,1631585000000,72953000000,1733395000000,10000000,10739677000000,152000000,0
diff --git a/vn-stock-analysis-app/static/DFbalance_sheet_year.csv b/vn-stock-analysis-app/static/DFbalance_sheet_year.csv
deleted file mode 100644
index 48cea155bb134f703014c37c254a037db087b436..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/static/DFbalance_sheet_year.csv
+++ /dev/null
@@ -1,13 +0,0 @@
-CP,Năm,TỔNG CỘNG TÀI SẢN (đồng),Tiền và tương đương tiền (đồng),Tiền gửi tại ngân hàng nhà nước Việt Nam,Tiền gửi tại các TCTD khác và cho vay các TCTD khác,Chứng khoán kinh doanh,_Chứng khoán kinh doanh,Dự phòng giảm giá chứng khoán kinh doanh,Các công cụ tài chính phái sinh và khoản nợ tài chính khác,Cho vay khách hàng,_Cho vay khách hàng,Dự phòng rủi ro cho vay khách hàng,Chứng khoán đầu tư,Chứng khoán đầu tư sẵn sàng để bán,Chứng khoán đầu tư giữ đến ngày đáo hạn,Dự phòng giảm giá chứng khoán đầu tư,Đầu tư dài hạn (đồng),Tài sản dài hạn khác (đồng),Dự phòng giảm giá đầu tư dài hạn,Tài sản cố định (đồng),Tài sản cố định hữu hình,Tài sản cố định thuê tài chính,Tài sản cố định vô hình,Tài sản Có khác,TỔNG CỘNG NGUỒN VỐN (đồng),NỢ PHẢI TRẢ (đồng),Các khoản nợ chính phủ và NHNN Việt Nam,Tiền gửi và vay các Tổ chức tín dụng khác,Tiền gửi của khách hàng,_Các công cụ tài chính phái sinh và khoản nợ tài chính khác,"Vốn tài trợ, uỷ thác đầu tư của CP và các tổ chức TD khác",Phát hành giấy tờ có giá,Các khoản nợ khác,VỐN CHỦ SỞ HỮU (đồng),Vốn của tổ chức tín dụng,Quỹ của tổ chức tín dụng,Chênh lệch tỷ giá hối đoái,Lãi chưa phân phối (đồng),Vốn góp của chủ sở hữu (đồng),Các quỹ khác,LỢI ÍCH CỦA CỔ ĐÔNG THIỂU SỐ,ticker
-STB,2024,748094546000000,8214653000000,17644155000000,88241176000000,0,0,0,0,530448003000000,539314658000000,-8866655000000,85648177000000,23554968000000,75363197000000,-13269988000000,82204000000,96642000000,-14438000000,7355128000000,4375198000000,0,2979930000000,10461050000000,748094546000000,693122476000000,54255000000,70655292000000,566881814000000,54007000000,449009000000,36753523000000,18274576000000,54972070000000,20601582000000,6082598000000,-138225000000,28426115000000,18852157000000,653000000,0,STB
-STB,2023,674389660000000,7545270000000,12848045000000,50332971000000,0,0,0,0,475169108000000,482731122000000,-7562014000000,74635845000000,22562535000000,66688978000000,-14615668000000,82642000000,97014000000,-14372000000,7269440000000,4282772000000,0,2986668000000,46506339000000,674389660000000,628655796000000,19328000000,37950111000000,510744394000000,91459000000,323147000000,28992491000000,50534866000000,45733864000000,20601582000000,4971157000000,-225489000000,20386614000000,18852157000000,653000000,0,STB
-STB,2022,591907695000000,7849898000000,12286117000000,25293585000000,0,0,0,109858000000,432997593000000,438627777000000,-5630184000000,68800687000000,27896339000000,55551832000000,-14647484000000,88812000000,97014000000,-8202000000,7547677000000,4489795000000,0,3057882000000,36830826000000,591907695000000,553280699000000,9901209000000,28430448000000,454740496000000,0,239837000000,25820307000000,34148402000000,38626996000000,20601582000000,4223224000000,-169492000000,13971682000000,18852157000000,653000000,0,STB
-STB,2021,521117123000000,8222365000000,12169867000000,8353579000000,0,0,0,0,381012317000000,387929596000000,-6917279000000,69666929000000,34048080000000,41650354000000,-6031505000000,88968000000,97014000000,-8046000000,8195276000000,4518674000000,0,3676602000000,33219052000000,521117123000000,486855787000000,522745000000,15229099000000,427386772000000,108003000000,278940000000,21103779000000,22226449000000,34261336000000,20601582000000,3715274000000,37363000000,9907117000000,18852157000000,653000000,0,STB
-STB,2020,492516029000000,7678553000000,10052590000000,18397370000000,0,0,0,19677000000,334854576000000,340268127000000,-5413551000000,75156127000000,52227759000000,27322052000000,-4393684000000,124593000000,257764000000,-133171000000,8575424000000,4746484000000,0,3828940000000,37355604000000,492516029000000,463559787000000,143528000000,7880006000000,427971850000000,0,229445000000,11144140000000,16190818000000,28956242000000,18166632000000,3336508000000,149483000000,7303619000000,18852157000000,653000000,0,STB
-STB,2019,453581057000000,8269373000000,12109861000000,13150915000000,0,0,0,24465000000,292058715000000,296029774000000,-3971059000000,76497497000000,46890019000000,33647189000000,-4039711000000,103854000000,298971000000,-195117000000,8289968000000,4697387000000,0,3592581000000,42652956000000,453581057000000,426839417000000,241539000000,3525560000000,400844380000000,0,83606000000,9490048000000,12654284000000,26741640000000,18166632000000,2963901000000,199543000000,5411564000000,18852157000000,653000000,0,STB
-STB,2018,406040598000000,6379549000000,9611502000000,4822454000000,0,0,0,21310000000,253100111000000,256622753000000,-3522642000000,75514421000000,37988732000000,40233215000000,-2707526000000,142613000000,320477000000,-177864000000,8249652000000,4617730000000,0,3631922000000,47654200000000,406040598000000,381408231000000,5293086000000,7300158000000,349388922000000,0,87728000000,8065909000000,11272428000000,24632367000000,18166632000000,2720885000000,223786000000,3521064000000,18852157000000,653000000,0,STB
-STB,2017,368468840000000,6212662000000,3002395000000,7372820000000,63250000000,63250000000,0,20251000000,220197752000000,222946630000000,-2748878000000,73188580000000,30007436000000,45266699000000,-2085555000000,164184000000,320934000000,-156750000000,8100996000000,4474616000000,0,3626380000000,49502166000000,368468840000000,345232548000000,231484000000,12649006000000,319859587000000,0,90975000000,5601386000000,6800110000000,23236292000000,18166632000000,2549642000000,233900000000,2286118000000,18852157000000,653000000,0,STB
-STB,2016,332023043000000,5872975000000,8954312000000,2484336000000,89891000000,105624000000,-15733000000,15422000000,196428077000000,198859665000000,-2431588000000,65033141000000,27589161000000,39292300000000,-1848320000000,520339000000,880575000000,-360236000000,7949366000000,4503810000000,0,3445556000000,43923436000000,332023043000000,309831109000000,3774694000000,8109652000000,291653101000000,0,1404155000000,600000000,4888907000000,22191934000000,18166632000000,2430405000000,253985000000,1340912000000,18852157000000,653000000,0,STB
-STB,2015,292032736000000,6586478000000,7497267000000,2207868000000,95334000000,124841000000,-29507000000,0,183660021000000,185916813000000,-2256792000000,39678056000000,25109203000000,16148253000000,-1579400000000,594542000000,897843000000,-303301000000,7967719000000,4530436000000,70000000,3437213000000,43745451000000,292032736000000,269952241000000,0,2954073000000,260994745000000,22853000000,1793234000000,600000000,4186736000000,22080495000000,18166632000000,2419833000000,229077000000,1264953000000,18852157000000,653000000,0,STB
-STB,2014,189802627000000,4815942000000,4289757000000,3630099000000,7683341000000,7732428000000,-49087000000,12151000000,126646093000000,128015011000000,-1368918000000,25925440000000,20250805000000,5935128000000,-260493000000,264513000000,400749000000,-136236000000,5198975000000,2831507000000,188000000,2367280000000,11336316000000,189802627000000,171739426000000,0,4410606000000,163057456000000,0,1115813000000,600000000,3154951000000,18063197000000,12590879000000,1938962000000,104270000000,3429086000000,12425116000000,153000000,4000000,STB
-STB,2013,161377613000000,4228779000000,3300559000000,7469881000000,2651437000000,2877307000000,-225870000000,43996000000,109214229000000,110565799000000,-1351570000000,19893888000000,19434485000000,628689000000,-169286000000,318860000000,462929000000,-144069000000,5306520000000,2907070000000,743000000,2398707000000,8949464000000,161377613000000,144313887000000,0,5007207000000,131644622000000,0,4405174000000,501147000000,2755737000000,17063718000000,12590879000000,1621303000000,96870000000,2754666000000,12425116000000,153000000,8000000,STB
diff --git a/vn-stock-analysis-app/static/DFincome_statement_year.csv b/vn-stock-analysis-app/static/DFincome_statement_year.csv
deleted file mode 100644
index d86bd4700e1745a03f2727f53542215b994a8939..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/static/DFincome_statement_year.csv
+++ /dev/null
@@ -1,13 +0,0 @@
-CP,Năm,Doanh thu (đồng),Tăng trưởng doanh thu (%),Lợi nhuận sau thuế của Cổ đông công ty mẹ (đồng),Tăng trưởng lợi nhuận (%),Thu nhập lãi và các khoản tương tự,Chi phí lãi và các khoản tương tự,Thu nhập lãi thuần,Thu nhập từ hoạt động dịch vụ,Chi phí hoạt động dịch vụ,Lãi thuần từ hoạt động dịch vụ,Kinh doanh ngoại hối và vàng,Chứng khoán kinh doanh,Chứng khoán đầu tư,Hoạt động khác,Chi phí hoạt động khác,Lãi/lỗ thuần từ hoạt động khác,Cố tức đã nhận,Tổng thu nhập hoạt động,Chi phí quản lý DN,LN từ HĐKD trước CF dự phòng,Chi phí dự phòng rủi ro tín dụng,LN trước thuế,Thuế TNDN,Chi phí thuế TNDN hiện hành,Chi phí thuế TNDN hoãn lại,Cổ đông thiểu số,Lợi nhuận thuần,Cổ đông của Công ty mẹ,Lãi cơ bản trên cổ phiếu,ticker
-STB,2024,49988721000000,-0.10618436650175087,10087495000000,0.30690463160753173,49988721000000,-25457023000000,24531698000000,6121237000000,-3142812000000,2978425000000,1105728000000,0,55547000000,369016000000,-367937000000,1079000000,4641000000,28677118000000,-13982389000000,14694729000000,-1974364000000,12720365000000,-2632870000000,-2787723000000,154853000000,0,10087495000000,10087495000000,5351,STB
-STB,2023,55927329000000,0.49574914695703076,7718616000000,0.5312602726409751,55927329000000,-33854996000000,22072333000000,6136710000000,-3518807000000,2617903000000,1099548000000,0,33817000000,445447000000,-118874000000,326573000000,22837000000,26173011000000,-12889906000000,13283105000000,-3688105000000,9595000000000,-1876384000000,-2016154000000,139770000000,0,7718616000000,7718616000000,4094,STB
-STB,2022,37390848000000,0.25934392465043643,5040695000000,0.4775614569092269,37390848000000,-20243714000000,17147134000000,8329935000000,-3135855000000,5194080000000,1062244000000,0,-19983000000,2874203000000,-128854000000,2745349000000,12466000000,26141290000000,-10920717000000,15220573000000,-8881501000000,6339072000000,-1298377000000,-1168567000000,-129810000000,0,5040695000000,5040695000000,2674,STB
-STB,2021,29690736000000,-0.11602267582324191,3411496000000,0.27200602837976856,29690736000000,-17726249000000,11964487000000,6430648000000,-2088129000000,4342519000000,737093000000,0,163664000000,865198000000,-408092000000,457106000000,39448000000,17704317000000,-9749916000000,7954401000000,-3554375000000,4400026000000,-988530000000,-941026000000,-47504000000,0,3411496000000,3411496000000,1632,STB
-STB,2020,33587667000000,0.10206709846592038,2681981000000,0.09251714147912063,33587667000000,-22061113000000,11526554000000,5476812000000,-1732797000000,3744015000000,809739000000,0,94043000000,1181223000000,-57491000000,1123732000000,-27214000000,17270869000000,-10894615000000,6376254000000,-3036974000000,3339280000000,-657299000000,-938560000000,281261000000,0,2681981000000,2681981000000,1248,STB
-STB,2019,30476971000000,0.15901537182820635,2454864000000,0.37131289116702676,30476971000000,-21296283000000,9180688000000,4803443000000,-1480453000000,3322990000000,608748000000,0,72764000000,1485474000000,-64287000000,1421187000000,28961000000,14635338000000,-9265703000000,5369635000000,-2152889000000,3216746000000,-761882000000,-791542000000,29660000000,0,2454864000000,2454864000000,1119,STB
-STB,2018,26295571000000,0.22110717442817945,1790156000000,0.5150783709671959,26295571000000,-18661777000000,7633794000000,3772038000000,-1089894000000,2682144000000,401278000000,3304000000,21223000000,951030000000,-18647000000,932383000000,2809000000,11676935000000,-7837830000000,3839105000000,-1592114000000,2246991000000,-456835000000,-445711000000,-11124000000,0,1790156000000,1790156000000,780,STB
-STB,2017,21534204000000,0.20515555895821014,1181560000000,12.334537123768467,21534204000000,-16256169000000,5278035000000,3439285000000,-815454000000,2623831000000,343879000000,13965000000,157524000000,323744000000,-8537000000,315207000000,-87155000000,8645286000000,-6336893000000,2308393000000,-816589000000,1491804000000,-310244000000,-278137000000,-32107000000,0,1181560000000,1181560000000,555,STB
-STB,2016,17868402000000,0.12430445137278713,88609000000,-0.8632406211270236,17868402000000,-13847705000000,4020697000000,2112833000000,-682789000000,1430044000000,265028000000,-753000000,45835000000,747616000000,-10652000000,736964000000,32342000000,6530157000000,-5678323000000,851834000000,-696243000000,155591000000,-66982000000,-75531000000,8549000000,0,88609000000,88609000000,49,STB
-STB,2015,15892850000000,0.04585959605471688,647919000000,-0.706350422128718,15892850000000,-9317743000000,6575107000000,1740796000000,-569533000000,1171263000000,158842000000,11455000000,-99478000000,479034000000,-20182000000,458852000000,12675000000,8288716000000,-5154547000000,3134169000000,-2256014000000,878155000000,-230236000000,-242858000000,12622000000,0,647919000000,647919000000,444,STB
-STB,2014,15195969000000,-0.06740732939797571,2206436000000,-0.010171328544274865,15195969000000,-8631311000000,6564658000000,1443862000000,-495379000000,948483000000,196167000000,183086000000,169024000000,192607000000,-59045000000,133562000000,54508000000,8249488000000,-4460613000000,3788875000000,-962588000000,2826287000000,-619855000000,-576216000000,-43639000000,4000000,2206432000000,2206436000000,1292,STB
-STB,2013,16294326000000,0.0,2229109000000,0.0,16294326000000,-9666889000000,6627437000000,1436185000000,-488285000000,947900000000,-203332000000,-67760000000,27674000000,132313000000,-35235000000,97078000000,172310000000,7601307000000,-4206024000000,3395283000000,-434635000000,2960648000000,-731542000000,-526873000000,-204669000000,3000000,2229106000000,2229109000000,1982,STB
diff --git a/vn-stock-analysis-app/static/css/main.css b/vn-stock-analysis-app/static/css/main.css
deleted file mode 100644
index 26dbbf99f3979fcc41b02a00d29dfafe9a91d54c..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/static/css/main.css
+++ /dev/null
@@ -1,228 +0,0 @@
-:root {
- --primary-bg: #f8f9fa;
- --secondary-bg: #ffffff;
- --sidebar-bg: #111827;
- --sidebar-hover-bg: #1f2937;
- --text-primary: #212529;
- --text-secondary: #6c757d;
- --text-light: #f8f9fa;
- --accent-color: #0d6efd;
- --accent-hover: #0b5ed7;
- --border-color: #dee2e6;
-}
-
-body {
- font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
- margin: 0;
- background-color: var(--primary-bg);
- color: var(--text-primary);
- font-size: 16px;
-}
-
-.header {
- background: var(--secondary-bg);
- color: var(--text-primary);
- padding: 1rem 2rem;
- text-align: center;
- border-bottom: 1px solid var(--border-color);
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
-}
-
-.header h1 {
- margin: 0;
- font-size: 1.75rem;
-}
-
-.container {
- margin-left: 250px;
- padding: 2rem;
- transition: margin-left 0.3s ease;
-}
-
-.sidebar {
- position: fixed;
- top: 0;
- left: 0;
- bottom: 0;
- width: 250px;
- background: var(--sidebar-bg);
- color: var(--text-light);
- transition: width 0.3s ease;
- z-index: 1000;
- overflow-x: hidden;
- display: flex;
- flex-direction: column;
- border-right: 1px solid var(--border-color);
-}
-
-.sidebar.collapsed {
- width: 80px;
-}
-
-.sidebar .sidebar-header {
- padding: 1.5rem;
- text-align: center;
- font-size: 1.5rem;
- font-weight: bold;
- color: var(--accent-color);
- flex-shrink: 0;
-}
-
-.sidebar .sidebar-header .logo-full {
- display: inline;
-}
-
-.sidebar .sidebar-header .logo-collapsed {
- display: none;
-}
-
-.sidebar.collapsed .sidebar-header .logo-full {
- display: none;
-}
-
-.sidebar.collapsed .sidebar-header .logo-collapsed {
- display: inline;
-}
-
-
-.sidebar .toggle-btn {
- position: absolute;
- top: 25px;
- right: -15px;
- background: var(--accent-color);
- color: var(--text-light);
- border-radius: 50%;
- width: 30px;
- height: 30px;
- border: none;
- cursor: pointer;
- font-size: 16px;
- display: flex;
- align-items: center;
- justify-content: center;
- box-shadow: 0 2px 8px rgba(0,0,0,0.15);
- z-index: 1001;
- transition: transform 0.2s;
-}
-
-.sidebar .toggle-btn:hover {
- transform: scale(1.1);
-}
-
-.sidebar ul {
- list-style: none;
- padding: 0;
- margin: 20px 0 0 0;
- flex-grow: 1;
-}
-
-.sidebar li {
- padding: 0;
-}
-
-.sidebar li a {
- color: #d1d5db;
- text-decoration: none;
- font-size: 1rem;
- display: flex;
- align-items: center;
- padding: 1rem 1.5rem;
- transition: background-color 0.2s, color 0.2s;
- border-left: 3px solid transparent;
-}
-
-.sidebar li a:hover {
- background-color: var(--sidebar-hover-bg);
- color: var(--text-light);
-}
-
-.sidebar li a.active {
- background-color: var(--sidebar-hover-bg);
- color: #ffffff;
- font-weight: 600;
- border-left-color: var(--accent-color);
-}
-
-.sidebar.collapsed ul li a {
- justify-content: center;
- padding: 1rem 0;
-}
-
-.sidebar .icon {
- margin-right: 1rem;
- font-size: 1.1rem;
- width: 24px;
- text-align: center;
-}
-
-.sidebar.collapsed .icon {
- margin-right: 0;
- font-size: 22px;
-}
-
-.sidebar li a .link-text {
- display: inline;
- transition: opacity 0.2s;
-}
-
-.sidebar.collapsed li a .link-text {
- display: none;
- opacity: 0;
-}
-
-.sidebar-footer {
- padding: 20px;
- text-align: center;
- font-size: 0.8rem;
- color: #888;
-}
-
-/* Responsive */
-@media (max-width: 768px) {
- .sidebar {
- width: 80px;
- }
- .sidebar li a .link-text {
- display: none;
- }
- .sidebar .icon {
- margin-right: 0;
- }
- .container {
- margin-left: 80px;
- padding: 1rem;
- }
- .sidebar.collapsed {
- width: 80px;
- }
- .header h1 {
- font-size: 1.25rem;
- }
-}
-
-/* General purpose classes */
-.card {
- background: var(--secondary-bg);
- border-radius: 8px;
- padding: 1.5rem;
- box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
- margin-bottom: 1.5rem;
-}
-
-.btn {
- padding: 0.5rem 1rem;
- border: none;
- border-radius: 4px;
- cursor: pointer;
- font-weight: 600;
- transition: background-color 0.2s;
-}
-
-.btn-primary {
- background-color: var(--accent-color);
- color: white;
-}
-
-.btn-primary:hover {
- background-color: var(--accent-hover);
-}
diff --git a/vn-stock-analysis-app/static/css/styles.css b/vn-stock-analysis-app/static/css/styles.css
deleted file mode 100644
index 7fc62108000060759e893dafaf3cf271f4e37620..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/static/css/styles.css
+++ /dev/null
@@ -1,84 +0,0 @@
-/* Copied from stock-vsa-analyzer/public/styles.css */
-body {
- font-family: Arial, sans-serif;
- background-color: #f4f4f4;
- margin: 0;
- padding: 20px;
-}
-
-h1 {
- text-align: center;
- color: #333;
-}
-
-.chart-container {
- width: 100%;
- max-width: 800px;
- margin: 0 auto;
-}
-
-.controls {
- display: flex;
- justify-content: space-between;
- margin-bottom: 20px;
-}
-
-.control-group {
- display: flex;
- flex-direction: column;
-}
-
-label {
- margin-bottom: 5px;
- font-weight: bold;
-}
-
-input[type="number"], input[type="text"] {
- padding: 10px;
- border: 1px solid #ccc;
- border-radius: 4px;
-}
-
-button {
- padding: 10px 15px;
- background-color: #28a745;
- color: white;
- border: none;
- border-radius: 4px;
- cursor: pointer;
-}
-
-button:hover {
- background-color: #218838;
-}
-
-.error {
- color: red;
- font-size: 0.9em;
-}
-
-.success {
- color: green;
- font-size: 0.9em;
-}
-
-form {
- margin-bottom: 20px;
-}
-
-form input, form button {
- padding: 10px;
- margin: 5px;
- font-size: 16px;
-}
-
-img {
- max-width: 100%;
- height: auto;
- margin-top: 20px;
-}
-
-ul {
- list-style-type: none;
- padding: 0;
-}
\ No newline at end of file
diff --git a/vn-stock-analysis-app/static/css/valuation_strategy.css b/vn-stock-analysis-app/static/css/valuation_strategy.css
deleted file mode 100644
index 3d667778412dd95ce9721890490153e935ac444f..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/static/css/valuation_strategy.css
+++ /dev/null
@@ -1,49 +0,0 @@
-/* styles for valuation_strategy.html */
-.info-box {
- margin: 20px;
- background: #fff;
- padding: 15px 25px 25px 25px;
- border-radius: 8px;
- box-shadow: 0 2px 8px #ccc;
- max-width: 1100px;
-}
-#valuation-result {
- margin-top: 20px;
- font-size: 1.1em;
-}
-#valuationChart {
- margin-top: 30px;
- background: #fff;
- border: 1px solid #eee;
- border-radius: 8px;
- box-shadow: 0 2px 8px rgba(0,0,0,0.04);
-}
-label { font-weight: 500; color: #003366; }
-input, select, button {
- border-radius: 5px;
- border: 1px solid #bbb;
- padding: 6px 10px;
- margin-bottom: 8px;
-}
-.btn-primary {
- background: #003366;
- color: #fff;
- border: none;
- padding: 8px 24px;
- border-radius: 5px;
- font-size: 1em;
- cursor: pointer;
- transition: background 0.2s;
-}
-.btn-primary:hover { background: #00509e; }
-.row { display: flex; flex-wrap: wrap; margin-left: -8px; margin-right: -8px; }
-.col-md-3 { flex: 0 0 25%; max-width: 25%; padding: 0 8px; box-sizing: border-box; }
-.mt-2 { margin-top: 12px; }
-.mt-3 { margin-top: 20px; }
-@media (max-width: 900px) {
- .col-md-3 { flex: 0 0 50%; max-width: 50%; }
-}
-@media (max-width: 600px) {
- .col-md-3 { flex: 0 0 100%; max-width: 100%; }
- .info-box { margin: 5px; padding: 10px; }
-}
diff --git a/vn-stock-analysis-app/static/dfcash_flow_year.csv b/vn-stock-analysis-app/static/dfcash_flow_year.csv
deleted file mode 100644
index 124abf29d7612930525b483e15e11a991ffce700..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/static/dfcash_flow_year.csv
+++ /dev/null
@@ -1,13 +0,0 @@
-ticker,yearReport,Profits from other activities,Operating profit before changes in working capital,Net Cash Flows from Operating Activities before BIT,Payment from reserves,Purchase of fixed assets,Gain on Dividend,Net Cash Flows from Investing Activities,Increase in charter captial,Cash flows from financial activities,Net increase/decrease in cash and cash equivalents,Cash and cash equivalents,Foreign exchange differences Adjustment,Cash and Cash Equivalents at the end of period,Net cash inflows/outflows from operating activities,Proceeds from disposal of fixed assets,Investment in other entities,Proceeds from divestment in other entities,Dividends paid
-STB,2024,-215173000000,12052795000000,39229321000000,-864072000000,-1015860000000,4641000000,-1007900000000,0,-1459275000000,35898074000000,70507716000000,87265000000,106493055000000,38365249000000,2947000000,0,372000000,-2000000
-STB,2023,243927000000,18054212000000,26761422000000,-10068000000,-1287591000000,22837000000,-1254833000000,0,-37103000000,25459418000000,45104295000000,-55997000000,70507716000000,26751354000000,9921000000,0,0,-25000000
-STB,2022,295376000000,19280234000000,15553904000000,-13412000000,-1142501000000,12466000000,1711806000000,0,-11773000000,17240525000000,28070625000000,-206855000000,45104295000000,15540492000000,2841841000000,0,0,-173000000
-STB,2021,-92513000000,14170428000000,-11851116000000,-28267000000,-606832000000,2129000000,-82941000000,0,4770149000000,-7192175000000,35374920000000,-112120000000,28070625000000,-11879383000000,345743000000,0,176019000000,-89000000
-STB,2020,1027851000000,11396432000000,3003511000000,-16805000000,-981278000000,6942000000,-657395000000,0,-371000000,2328940000000,33096040000000,-50060000000,35374920000000,2986706000000,309001000000,0,7940000000,-371000000
-STB,2019,813579000000,9274682000000,13097773000000,-29360000000,-885024000000,4843000000,-387267000000,0,-202000000,12680944000000,20439339000000,-24243000000,33096040000000,13068413000000,448179000000,0,44735000000,-202000000
-STB,2018,555823000000,7220648000000,4996256000000,-64487000000,-1053926000000,2316000000,-626015000000,0,-136000000,4305618000000,16143835000000,-10114000000,20439339000000,4931769000000,424645000000,0,950000000,-136000000
-STB,2017,257946000000,3768830000000,-977521000000,-33304000000,-618242000000,16449000000,-33658000000,0,-650000000,-1045133000000,17199367000000,-10399000000,16143835000000,-1010825000000,186109000000,0,382026000000,-650000000
-STB,2016,114618000000,1022746000000,1197117000000,-71169000000,-461400000000,32152000000,-242527000000,0,-575000000,882846000000,16291613000000,24908000000,17199367000000,1125948000000,186373000000,-592000000,940000000,-575000000
-STB,2015,37740000000,3487922000000,-4891556000000,-273170000000,-563101000000,12675000000,-539120000000,0,-698000000,-5704544000000,19566393000000,2429764000000,16291613000000,-5164726000000,10680000000,0,626000000,-698000000
-STB,2014,46768000000,2316286000000,4965519000000,-213896000000,-523110000000,48153000000,-457485000000,0,-35073000000,4259065000000,15299928000000,7400000000,19566393000000,4751623000000,17451000000,0,21000000,-35073000000
-STB,2013,100573000000,2115884000000,-253305000000,-114092000000,-427555000000,74991000000,-327086000000,322190000000,-1139120000000,-1833603000000,17133531000000,0,15299928000000,-367397000000,6083000000,0,19395000000,-1461310000000
diff --git a/vn-stock-analysis-app/static/dfincome_statement_quarter.csv b/vn-stock-analysis-app/static/dfincome_statement_quarter.csv
deleted file mode 100644
index 05a880873c276d6f988dfef97dbd04e1d8e35aef..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/static/dfincome_statement_quarter.csv
+++ /dev/null
@@ -1,50 +0,0 @@
-ticker,yearReport,lengthReport,Revenue (Bn. VND),Revenue YoY (%),Attribute to parent company (Bn. VND),Attribute to parent company YoY (%),Interest and Similar Income,Interest and Similar Expenses,Net Interest Income,Fees and Comission Income,Fees and Comission Expenses,Net Fee and Commission Income,Net gain (loss) from foreign currency and gold dealings,Net gain (loss) from trading of trading securities,Net gain (loss) from disposal of investment securities,Net Other income/(expenses),Other expenses,Net Other income/expenses,Dividends received,Total operating revenue,General & Admin Expenses,Operating Profit before Provision,Provision for credit losses,Profit before tax,Tax For the Year,Business income tax - current,Business income tax - deferred,Minority Interest,Net Profit For the Year,Attributable to parent company,EPS_basis
-STB,2025,1,13648861000000,0.09321846826750702,2896692000000,0.37192627657886573,13648861000000,-6785688000000,6863173000000,1433275000000,-705460000000,727815000000,307644000000,0,1359000000,137634000000,-241185000000,-103551000000,0,7796440000000,-3927147000000,3869293000000,-195263000000,3674030000000,-777338000000,-777338000000,0,0,2896692000000,2896692000000,0
-STB,2024,4,12600526000000,-0.07987525089695639,3598078000000,0.5928155747248048,12600526000000,-6501342000000,6099184000000,1725193000000,-761542000000,963651000000,275051000000,0,10136000000,169981000000,-108853000000,61128000000,893000000,7410043000000,-3150938000000,4259105000000,367259000000,4626364000000,-1028286000000,-1183139000000,154853000000,0,3598078000000,3598078000000,0
-STB,2024,3,12521371000000,-0.08275944315529607,2201173000000,0.3466192175172765,12521371000000,-6156263000000,6365108000000,1534864000000,-778896000000,755968000000,217524000000,0,6232000000,58737000000,-169420000000,-110683000000,3748000000,7237897000000,-3287498000000,3950399000000,-1198661000000,2751738000000,-550565000000,-550565000000,0,0,2201173000000,2201173000000,0
-STB,2024,2,12381798000000,-0.15620632570721857,2176839000000,0.13075144172381445,12381798000000,-6265232000000,6116566000000,1503882000000,-823361000000,680521000000,305548000000,0,17409000000,70693000000,-36353000000,34340000000,0,7154384000000,-4001037000000,3153347000000,-465307000000,2688040000000,-511201000000,-511201000000,0,0,2176839000000,2176839000000,2275
-STB,2024,1,12485026000000,-0.10230482486603985,2111405000000,0.11129093974232049,12485026000000,-6534186000000,5950840000000,1357298000000,-779013000000,578285000000,307605000000,0,21770000000,69605000000,-53311000000,16294000000,0,6874794000000,-3542916000000,3331878000000,-677655000000,2654223000000,-542818000000,-542818000000,0,0,2111405000000,2111405000000,0
-STB,2023,4,13694367000000,0.1376983535219394,2258942000000,0.2899961910157082,13694367000000,-8061279000000,5633088000000,1432118000000,-845875000000,586243000000,296504000000,0,-9579000000,265296000000,-63963000000,201333000000,806000000,6708395000000,-3409696000000,3298699000000,-544058000000,2754641000000,-495699000000,-635469000000,139770000000,0,2258942000000,2258942000000,0
-STB,2023,3,13651131000000,0.28376212137797485,1634592000000,0.3491107264979486,13651131000000,-8800023000000,4851108000000,1562211000000,-842696000000,719515000000,299692000000,0,16071000000,45599000000,-15573000000,30026000000,10437000000,5926849000000,-3014859000000,2911990000000,-826697000000,2085293000000,-450701000000,-450701000000,0,0,1634592000000,1634592000000,0
-STB,2023,2,14673964000000,1.0309970719743446,1925126000000,1.3947659440544653,14673964000000,-8922528000000,5751436000000,1613206000000,-959444000000,653762000000,245060000000,0,21196000000,84141000000,-18186000000,65955000000,-1000000,6737408000000,-3049214000000,3688194000000,-1315656000000,2372538000000,-447412000000,-447412000000,0,0,1925126000000,1925126000000,2029
-STB,2023,1,13907868000000,0.8555585767298365,1899957000000,0.4912430655628079,13907868000000,-8071166000000,5836702000000,1529175000000,-870792000000,658383000000,258292000000,0,6129000000,50411000000,-21152000000,29259000000,11595000000,6800360000000,-3416137000000,3384223000000,-1001695000000,2382528000000,-482571000000,-482571000000,0,0,1899957000000,1899957000000,0
-STB,2022,4,12036905000000,0.8243517490695536,1751123000000,1.041252315335594,12036905000000,-5993507000000,6043398000000,1950534000000,-1064108000000,886426000000,303193000000,0,-19574000000,683761000000,-64576000000,619185000000,6000000,7832634000000,-2645824000000,5186810000000,-3287772000000,1899038000000,-147915000000,-18105000000,-129810000000,0,1751123000000,1751123000000,0
-STB,2022,3,10633692000000,0.37371896414921135,1211607000000,0.8939408623665057,10633692000000,-4871714000000,5761978000000,1869613000000,-838154000000,1031459000000,219545000000,0,-2221000000,66966000000,-26071000000,40895000000,2549000000,7054205000000,-3097107000000,3957098000000,-2425071000000,1532027000000,-320420000000,-320420000000,0,0,1211607000000,1211607000000,0
-STB,2022,2,7225005000000,-0.06134316308816716,803889000000,-0.27762326805584636,7225005000000,-4622706000000,2602299000000,2399372000000,-658794000000,1740578000000,241574000000,0,4304000000,1559504000000,-19814000000,1539690000000,745000000,6129190000000,-2389672000000,3739518000000,-2420457000000,1319061000000,-515172000000,-515172000000,0,0,803889000000,803889000000,1104
-STB,2022,1,7495246000000,-0.020849793490347556,1274076000000,0.5904836329772227,7495246000000,-4755787000000,2739459000000,2110416000000,-574799000000,1535617000000,297932000000,0,-2492000000,563972000000,-18393000000,545579000000,9166000000,5125261000000,-2831806000000,2293455000000,-704509000000,1588946000000,-314870000000,-314870000000,0,0,1274076000000,1274076000000,0
-STB,2021,4,6597908000000,-0.187459660282467,857867000000,0.025408493802369085,6597908000000,-4103022000000,2494886000000,2554417000000,-575458000000,1978959000000,212160000000,0,43521000000,132862000000,-247981000000,-115119000000,-2000000,4614405000000,-2399883000000,2214522000000,-1063759000000,1150763000000,-292896000000,-245392000000,-47504000000,0,857867000000,857867000000,0
-STB,2021,3,7740806000000,-0.101118410441176,639728000000,-0.10684946807025382,7740806000000,-4427778000000,3313028000000,1062325000000,-472492000000,589833000000,150086000000,0,68621000000,148566000000,-109440000000,39126000000,37766000000,4198460000000,-2423811000000,1774649000000,-949878000000,824771000000,-185043000000,-185043000000,0,0,639728000000,639728000000,0
-STB,2021,2,7697174000000,-0.08030389312887713,1112839000000,2.24093252176952,7697174000000,-4548965000000,3148209000000,1478293000000,-541975000000,936318000000,167745000000,0,17168000000,499444000000,-24362000000,475082000000,1591000000,4746113000000,-2336056000000,2410057000000,-985809000000,1424248000000,-311409000000,-311409000000,0,0,1112839000000,1112839000000,0
-STB,2021,1,7654848000000,-0.09801969266546424,801062000000,0.019498791586540602,7654848000000,-4646484000000,3008364000000,1335613000000,-498204000000,837409000000,207102000000,0,34354000000,84326000000,-26309000000,58017000000,93000000,4145339000000,-2669373000000,1475966000000,-475722000000,1000244000000,-199182000000,-199182000000,0,0,801062000000,801062000000,0
-STB,2020,4,8120099000000,0.10122702589737041,836610000000,0.5738532041055895,8120099000000,-5106479000000,3013620000000,1546863000000,-470531000000,1076332000000,252048000000,0,120579000000,601190000000,-16968000000,584222000000,-30353000000,5016448000000,-3939271000000,1077177000000,-63590000000,1013587000000,-176977000000,-458238000000,281261000000,0,836610000000,836610000000,0
-STB,2020,3,8611597000000,0.018920603534016762,716260000000,-0.07204460860586447,8611597000000,-5575739000000,3035858000000,1712219000000,-463336000000,1248883000000,159386000000,0,5986000000,366072000000,-7872000000,358200000000,1734000000,4810047000000,-2625228000000,2184819000000,-1287560000000,897259000000,-180999000000,-180999000000,0,0,716260000000,716260000000,692
-STB,2020,2,8369258000000,0.14642313037698884,343370000000,0.11779546527336947,8369258000000,-5732059000000,2637199000000,1091313000000,-393809000000,697504000000,165622000000,0,-50526000000,131546000000,-21260000000,110286000000,1177000000,3561262000000,-1973154000000,1588108000000,-1147557000000,440551000000,-97181000000,-97181000000,0,0,343370000000,343370000000,0
-STB,2020,1,8486713000000,0.15445378219847428,785741000000,-0.06929411235167168,8486713000000,-5646836000000,2839877000000,1126417000000,-405121000000,721296000000,232683000000,0,18004000000,82415000000,-11391000000,71024000000,228000000,3883112000000,-2477566000000,1405546000000,-417663000000,987883000000,-202142000000,-202142000000,0,0,785741000000,785741000000,0
-STB,2019,4,7373683000000,0.060374638671227596,531568000000,-0.3811572218386884,7373683000000,-5598159000000,1775524000000,1628215000000,-436194000000,1192021000000,186381000000,0,19645000000,582035000000,-5652000000,576383000000,24264000000,3774218000000,-2579237000000,1194981000000,-469298000000,725683000000,-194115000000,-223775000000,29660000000,0,531568000000,531568000000,0
-STB,2019,3,8451686000000,0.22305736919442212,771869000000,3.730169138374801,8451686000000,-5526860000000,2924826000000,1122973000000,-375719000000,747254000000,202193000000,0,28185000000,166836000000,-52266000000,114570000000,1591000000,4018619000000,-2351354000000,1667265000000,-637428000000,1029837000000,-257968000000,-257968000000,0,0,771869000000,771869000000,0
-STB,2019,2,7300322000000,0.1433185220080674,307185000000,-0.1726302861190641,7300322000000,-5277842000000,2022480000000,1082505000000,-340913000000,741592000000,107408000000,0,2135000000,431599000000,-5152000000,426447000000,730000000,3300792000000,-2284831000000,1015961000000,-616179000000,399782000000,-92597000000,-92597000000,0,0,307185000000,307185000000,638
-STB,2019,1,7351280000000,0.21584605008148885,844242000000,1.1280228671677681,7351280000000,-4893422000000,2457858000000,969750000000,-327627000000,642123000000,112766000000,0,22799000000,305004000000,-1217000000,303787000000,2376000000,3541709000000,-2050281000000,1491428000000,-429984000000,1061444000000,-217202000000,-217202000000,0,0,844242000000,844242000000,0
-STB,2018,4,6953847000000,0.15321687256092748,858971000000,1.1392502160491522,6953847000000,-4843809000000,2110038000000,1289120000000,-367239000000,921881000000,88395000000,0,-29335000000,627528000000,-1103000000,626425000000,584000000,3717988000000,-2371780000000,1346208000000,-413718000000,932490000000,-73519000000,-62974000000,-10545000000,0,858971000000,858971000000,0
-STB,2018,3,6910294000000,0.180836673483672,163180000000,-0.468956853964762,6910294000000,-4840089000000,2070205000000,899361000000,-272878000000,626483000000,153702000000,3304000000,-770000000,93405000000,-1543000000,91862000000,1225000000,2946011000000,-1963458000000,982553000000,-664122000000,318431000000,-155251000000,-155251000000,0,0,163180000000,163180000000,0
-STB,2018,2,6385204000000,0.26892500942472136,371279000000,0.46495817550505053,6385204000000,-4603508000000,1781696000000,831423000000,-241955000000,589468000000,105117000000,1705000000,31738000000,173091000000,-14366000000,158725000000,1000000000,2669449000000,-1743875000000,925574000000,-433271000000,492303000000,-121024000000,-120445000000,-579000000,0,371279000000,371279000000,0
-STB,2018,1,6046226000000,0.24025886512965924,396726000000,0.8843439189125003,6046226000000,-4374371000000,1671855000000,752134000000,-207822000000,544312000000,54064000000,-1705000000,19590000000,57006000000,-1635000000,55371000000,0,2343487000000,-1758717000000,584770000000,-81003000000,503767000000,-107041000000,-107041000000,0,0,396726000000,396726000000,0
-STB,2017,4,6029956000000,0.21511574716863874,401529000000,7.267231691327964,6029956000000,-4510379000000,1519577000000,1564375000000,-234637000000,1329738000000,21765000000,0,28087000000,152289000000,-2243000000,150046000000,-492000000,3048721000000,-1964538000000,1084183000000,-621198000000,462985000000,-61456000000,-73107000000,11651000000,0,401529000000,401529000000,0
-STB,2017,3,5852032000000,0.31994419815294534,307282000000,1.0462139827263586,5852032000000,-4155568000000,1696464000000,663757000000,-208042000000,455715000000,92928000000,5638000000,1891000000,86153000000,-2557000000,83596000000,-99481000000,2236751000000,-1648012000000,588739000000,-138862000000,449877000000,-142595000000,-142595000000,0,0,307282000000,307282000000,0
-STB,2017,2,5031979000000,0.2738371441019094,253440000000,2.5895435330715872,5031979000000,-4020793000000,1011186000000,635162000000,-178164000000,456998000000,82049000000,2203000000,98936000000,14596000000,-2000000000,12596000000,11707000000,1675675000000,-1322565000000,353110000000,-86698000000,266412000000,-12972000000,-11717000000,-1255000000,0,253440000000,253440000000,0
-STB,2017,1,4874971000000,0.07802063177913161,210538000000,0.3000345790006669,4874971000000,-3823427000000,1051544000000,577526000000,-194702000000,382824000000,147226000000,6124000000,28610000000,70070000000,-1233000000,68837000000,1110000000,1686275000000,-1377789000000,308486000000,970000000,309456000000,-98918000000,-52479000000,-46439000000,0,210538000000,210538000000,0
-STB,2016,4,4962454000000,0.19129590710257635,-64068000000,0.8771330758158254,4962454000000,-3652681000000,1309773000000,596150000000,-186652000000,409498000000,-276576000000,-2629000000,-672000000,544632000000,50866000000,595498000000,2573000000,2037465000000,-1382539000000,654926000000,-707845000000,-52919000000,-11149000000,-15176000000,4027000000,0,-64068000000,-64068000000,0
-STB,2016,3,4433545000000,0.11855239025849588,150171000000,-0.692215710762151,4433545000000,-3477033000000,956512000000,523181000000,-175778000000,347403000000,279286000000,1176000000,27081000000,89043000000,-56008000000,33035000000,3177000000,1647670000000,-1514820000000,132850000000,54178000000,187028000000,-36857000000,-36857000000,0,0,150171000000,150171000000,0
-STB,2016,2,3950253000000,0.021960350723772133,-159442000000,-1.2934982073660615,3950253000000,-3434560000000,515693000000,520662000000,-160446000000,360216000000,199066000000,2289000000,13674000000,20649000000,-2753000000,17896000000,23026000000,1131860000000,-1316414000000,-184554000000,7035000000,-177519000000,18077000000,13555000000,4522000000,0,-159442000000,-159442000000,0
-STB,2016,1,4522150000000,0.14478873441747825,161948000000,-0.7455820233769691,4522150000000,-3283431000000,1238719000000,472840000000,-159913000000,312927000000,63252000000,-1589000000,5752000000,93292000000,-2757000000,90535000000,3566000000,1713162000000,-1464550000000,248612000000,-49611000000,199001000000,-37053000000,-37053000000,0,0,161948000000,161948000000,0
-STB,2015,4,4165593091031,0.24873550662245203,-521442206073,-2.5600738568851313,4165593091031,-3252074711363,913518379668,491198748994,-139948118241,351250630753,-29445069143,16176867981,-56794071795,504929009480,-15011297837,489917711643,-2653905723,1681970543384,-1224527423130,457443120254,-1128632400917,-671189280663,149747074590,150778151102,-1031076512,0,-521442206073,-521442206073,-65
-STB,2015,3,3963645367541,-0.013531711287112844,487909894205,-0.1970187201521338,3963645367541,-2056046739653,1907598627888,454648689514,-156062152420,298586537094,70274122972,-979914324,-7826044248,9638827605,14513768272,24152595877,2105798248,2293911723507,-1372636465283,921275258224,-305897947658,615377310566,-127467558255,-127467558255,0,141894,487909752311,487909894205,0
-STB,2015,2,3865368159540,-0.039589932894477264,543246929618,-0.16347930392523136,3865368159540,-2011588301632,1853779857908,428114697402,-145784823756,282329873646,74815247008,-171563100,-2136925121,24735818322,-9687597027,15048221295,18739000000,2242403711636,-1162852155420,1079551556216,-366147604406,713403951810,-170156912012,-170156912012,0,-110180,543247039798,543246929618,1033
-STB,2015,1,3950204840460,0.03479069901333239,636543070382,0.02530056409138149,3950204840460,-2010158698368,1940046142092,374466302598,-127380176244,247086126354,43380752992,-3569436900,5737925121,29924181678,-20674402973,9249778705,3610000000,2245541288364,-1102003844580,1143537443784,-331630395594,811907048190,-175364087988,-175364087988,0,110180,636542960202,636543070382,0
-STB,2014,4,3335849000000,-0.1461653898241139,334242000000,-0.4150022052800706,3335849000000,-2081862000000,1253987000000,381833000000,-130469000000,251364000000,42082000000,64015000000,233614000000,50840000000,-17569000000,33271000000,15862000000,1894195000000,-1279091000000,615104000000,-191270000000,423834000000,-89592000000,-45392000000,-44200000000,0,334242000000,334242000000,0
-STB,2014,3,4018016000000,-0.0034161013882422916,607623000000,0.1944153955024375,4018016000000,-2160138000000,1857878000000,363295000000,-135943000000,227352000000,23349000000,103726000000,48961000000,28578000000,-11953000000,16625000000,27752000000,2305643000000,-1061043000000,1244600000000,-466436000000,778164000000,-170538000000,-170538000000,0,-3000000,607626000000,607623000000,0
-STB,2014,2,4024706000000,-0.021118390090319065,649412420000,0.37179199248743844,4024706000000,-2133913000000,1890793000000,326755000000,-134388000000,192367000000,50935000000,-85073000000,8278000000,117275000000,-23925000000,93350000000,14095000000,2164745000000,-1124741000000,1040004000000,-209528000000,830476000000,-181067000000,-181628000000,561000000,3420000,649409000000,649412420000,560
-STB,2014,1,3817395000000,-0.100541810346351,620835580000,-0.0812529275245406,3817395000000,-2255398000000,1561997000000,352377000000,-94581000000,257796000000,77883000000,100418000000,-121828000000,15517000000,-5599000000,9918000000,-1288000000,1884896000000,-995740000000,889156000000,-95354000000,793802000000,-172966000000,-172966000000,0,-420000,620836000000,620835580000,552
-STB,2013,4,3906903000000,0.0,571356000000,0.0,3906903000000,-2328133000000,1578770000000,256149000000,-82392000000,173757000000,-287000000,-45029000000,-70612000000,10665000000,-26126000000,-15461000000,118217000000,1739355000000,-974639000000,764716000000,-21815000000,742901000000,-171547000000,33122000000,-204669000000,2000000,571354000000,571356000000,0
-STB,2013,3,4031789000000,0.0,508720000000,0.0,4031789000000,-2424870000000,1606919000000,485578000000,-184501000000,301077000000,73083000000,-44389000000,-1346000000,108971000000,-7016000000,101955000000,9060000000,2046359000000,-1183155000000,863204000000,-163587000000,699617000000,-190897000000,-190897000000,0,0,508720000000,508720000000,0
-STB,2013,2,4111535000000,0.0,473404440000,0.0,4111535000000,-2480608000000,1630927000000,273068000000,-33873000000,239195000000,-358854000000,2143000000,84263000000,6080000000,-1409000000,4671000000,14427000000,1616772000000,-950502000000,666270000000,-41742000000,624528000000,-151124000000,-151124000000,0,440000,473404000000,473404440000,486
-STB,2013,1,4244105000000,0.0,675741560000,0.0,4244105000000,-2433294000000,1810811000000,406772000000,-172889000000,233883000000,82725000000,19515000000,15368000000,6597000000,-1388000000,5209000000,30622000000,2198133000000,-1097635000000,1100498000000,-207487000000,893011000000,-217269000000,-217269000000,0,-440000,675742000000,675741560000,694
diff --git a/vn-stock-analysis-app/static/dfratio_quarter.csv b/vn-stock-analysis-app/static/dfratio_quarter.csv
deleted file mode 100644
index 959ca1d48afc0a9fca6a8e0893fefb5da64e96db..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/static/dfratio_quarter.csv
+++ /dev/null
@@ -1,51 +0,0 @@
-Meta,Meta,Meta,Chỉ tiêu cơ cấu nguồn vốn,Chỉ tiêu cơ cấu nguồn vốn,Chỉ tiêu cơ cấu nguồn vốn,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu thanh khoản,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,ticker
-ticker,yearReport,lengthReport,Debt/Equity,Fixed Asset-To-Equity,Owners' Equity/Charter Capital,Net Profit Margin (%),ROE (%),ROIC (%),ROA (%),Dividend yield (%),Financial Leverage,Market Capital (Bn. VND),Outstanding Share (Mil. Shares),P/E,P/B,P/S,P/Cash Flow,EPS (VND),BVPS (VND),
-STB,2025,1,12.084379959,0.1271547658679836,3.0692708801924713,0.4220630894777095,0.203998955,0.0,0.0148662904,0.0,13.084379959018968,88039573937200,1885215716,8.0972444026,1.5215340002,2.974434133,4.215890315,1536.5307934871894,30692.7088019247,STB
-STB,2024,4,12.6086297278,0.13379754482594525,2.9159564888753557,0.5899277673865881,0.2003356624,0.0,0.0141829272,0.0,13.60862972778722,72486544280200,1885215716,7.1857823637,1.3186067812,2.5276788372,1.8893802479,1908.576280933147,29159.5648887536,STB
-STB,2024,3,12.7086338082,0.14400388061738867,2.7201396405078557,0.34581864125479095,0.1803773162,0.0,0.0125504457,0.0,13.708633808172697,66736636346400,1885215716,7.6284747551,1.3014037762,2.3855412026,4.0161059008,1167.597416740398,27201.3964050786,STB
-STB,2024,2,13.6157854111,0.14820101793577398,2.6033068037504097,0.3558923422063949,0.1755456297,0.0,0.0119593677,0.0,14.615785411081461,63908812772400,1885215716,7.8111154116,1.3021899667,2.3967822281,1.7636291308,1154.6896100668832,26033.0680375041,STB
-STB,2024,1,13.4760810594,0.15395959326973205,2.541300637024819,0.3548078926672537,0.1770638701,0.0,0.0120089263,0.0,14.476081059426852,56085167551000,1885215716,7.0724725554,1.170660392,2.1367857105,1.8433400333,1119.9805847576542,25413.0063702482,STB
-STB,2023,4,13.7459584871,0.15895092529247037,2.425922063552328,0.40101308554029336,0.1829904532,0.0,0.0121908428,0.0,14.745958487128926,54859777335600,1885215716,7.1074629014,1.1995438946,2.0960437962,2.0507289788,1198.2405943405577,24259.2206355233,STB
-STB,2023,3,13.9002171746,0.1652164755848589,2.318566868981056,0.336952300381686,0.1751386184,0.0,0.0117146166,0.0,14.900217174624188,56367949908400,1885215716,7.8171582993,1.2895897203,2.0649680039,1.7788009836,867.0583350897548,23185.6686898106,STB
-STB,2023,2,13.8871211346,0.17049114954953956,2.2168823252054835,0.33472092882542726,0.1719325424,0.0,0.0114318235,0.0,14.88712113464705,59572816625600,1885215716,8.7764374357,1.4254252308,2.0958184796,2.6432322154,1021.1701417833926,22168.8232520548,STB
-STB,2023,1,13.7121909222,0.18064486398458615,2.1513608578467847,0.3255189317528974,0.1491958415,0.0,0.0098365112,0.0,14.712190922223012,56179428336800,1885215716,9.914175308,1.3851697585,2.0196520956,3.2185115373,1007.8194149745779,21513.6085784678,STB
-STB,2022,4,14.3236791958,0.19539901575571655,2.0489430292867343,0.289758013620814,0.1383128098,0.0,0.0090576507,0.0,15.325918717572549,48450043901200,1885215716,9.6117784333,1.2543052507,1.85339147,3.1176647104,928.8714204629514,20489.4302928673,STB
-STB,2022,3,14.2731202833,0.21565997607812487,1.959470615828454,0.21027622805918383,0.116435026,0.0,0.007577479,0.0,15.273120283328904,47695957614800,1885215716,11.5000985452,1.2911650624,2.0806975829,5.8266132914,642.688786072055,19594.7061582845,STB
-STB,2022,2,14.4036592419,0.21921779422804966,1.8988874692788738,0.3089149248414575,0.1029503245,0.0,0.0067480825,0.0,15.40365924192957,33274057387400,1885215716,9.2813665876,0.9294916253,1.6581219625,17.4575113329,426.41751454611784,18988.8746927887,STB
-STB,2022,1,14.5727731105,0.22818716435821185,1.8820707200172737,0.4650830693213514,0.1163816477,0.0,0.0074970132,0.0,15.572773110456321,43454222253800,1885215716,11.0346240351,1.2247148715,2.3257153933,9.9988587115,675.8250470685127,18820.7072001727,STB
-STB,2021,4,14.2100642835,0.2391989547868491,1.8173695831846122,0.34385017992806083,0.1079287156,0.0,0.0067312242,0.0,15.212375716686129,52220475333200,1885215716,14.9337694147,1.5241809407,2.9495899409,-4.2886482087,455.04978168768884,18173.6953014028,STB
-STB,2021,3,13.8067230334,0.24544853398324215,1.7707864790577632,0.193094655402852,0.1107405104,0.0,0.0068183436,0.0,14.806723033434986,63908812772400,1885215716,18.1825174761,1.9144035942,3.529633387,-5.6756331358,339.3394159461802,17707.8647905776,STB
-STB,2021,2,15.6053576725,0.27895669766817444,1.611687762950943,0.3534832026717413,0.1182406273,0.0,0.0070042477,0.0,16.605357672451078,49486912545000,1885215716,13.7908698321,1.6287273877,2.6438215978,-3.5830589581,590.2979646070381,16116.8776295094,STB
-STB,2021,1,15.729328155517578,0.2849749124483291,1.5772131405252936,0.26627828281418076,0.09435875713825226,0.0,0.005512643605470657,0.0,16.729328506514623,51223757383600,1803653429,18.9907384969,1.722741015,2.9215466215,-42.5597778356,444.13299535273416,16485.356622245,STB
-STB,2020,4,16.0089761303,0.29615113729191794,1.5359643861572816,0.2776096521791069,0.0963045956,0.0,0.0056695682,0.0,17.013141173498965,43648412981800,1803653429,17.010642484,1.5073921879,2.5272852791,15.2750956874,463.8418814549322,16054.2161450907,STB
-STB,2020,3,16.2033133458,0.29704921913097726,1.4960941477744396,0.23593330122818656,0.0864809324,0.0,0.0050579409,0.0,17.203313345814983,35982885908550,1803653429,15.1383294184,1.2757806655,2.2449121169,22.4464728174,397.11620230562596,15637.4842009629,STB
-STB,2020,2,16.5569523088,0.2981022600726283,1.4559448962285226,0.13020253685823482,0.0901229569,0.0,0.0052745151,0.0,17.556952308794376,25611878691800,1803653429,10.5288275769,0.9331155917,1.6808770773,2.0316721248,190.37471083919638,15217.8359537829,STB
-STB,2020,1,15.6654818962,0.29824560575564013,1.461187956699593,0.2766813492274489,0.0904142622,0.0,0.0053192584,0.0,16.665481896186982,20651831762050,1803653429,8.6179896697,0.7497067876,1.3789269483,12.4056110311,435.63856967557155,15272.6375018025,STB
-STB,2019,4,15.9616020932,0.3100022287339146,1.418492312208159,0.29938654729533365,0.0955683289,0.0,0.0057114987,0.0,16.961602093214925,17224890246950,1803653429,7.3339337474,0.644122434,1.1769383288,1.3776584758,294.71737277971266,14826.3738310449,STB
-STB,2019,3,16.1636565599,0.3138970339753295,1.3913450740615405,0.263902536424389,0.1092815883,0.0,0.0064687184,0.0,17.163656559914017,18667812990150,1803653429,6.7095691479,0.7117009331,1.2804495988,1.018379336,427.94751341334324,14542.6253060948,STB
-STB,2019,2,16.2230383285,0.31623376984990076,1.3525769907171727,0.15188530912543016,0.0874771743,0.0,0.0051942118,0.0,17.22303832849249,19930370390450,1803653429,9.1693834837,0.781613988,1.4756132522,1.5746777413,170.3126526753605,14137.4133134531,STB
-STB,2019,1,15.6828539263,0.32532144967990645,1.3514229583263244,0.3434868898040489,0.0917651252,0.0,0.0054732135,0.0,16.682853926316504,20742014433500,1803653429,9.2694614088,0.8141390536,1.6110106023,2.6992538797,468.0732930317291,14125.3511291941,STB
-STB,2018,4,15.4840268091,0.3349110678202817,1.3066072911944682,0.4070879292221278,0.0747944913,0.0,0.0046226835,0.0,16.484027478318566,20832197104950,1803653429,12.1633205905,0.8457245341,1.7840466788,4.4150975715,476.2394960079662,13656.9290995427,STB
-STB,2018,3,15.9717110731,0.3409804382888028,1.2614415845449063,0.07882311172081992,0.0565142626,0.0,0.00342992,0.0,16.97171107311142,21102745119300,1803653429,15.8344137843,0.8873822924,1.917094985,5.2659967989,90.47192624498373,13184.8472758898,STB
-STB,2018,2,0.0,0.3446742564592819,1.254424297404913,0.20838515661482093,0.0,0.0,0.0,0.0,16.943340545598378,24259138620050,1803653429,16.426649227,1.0258169412,2.3556202687,3.5882631531,205.8483043529312,13111.501145268,STB
-STB,2018,1,15.1066898162,0.3436652489913475,1.2555826263862953,0.2372968947665916,0.0589797935,0.0,0.0036998247,0.0,16.10668981621424,19840187719000,1803653429,14.599354914,0.8760872981,2.1322910411,3.7035796968,219.9568906205872,12555.8263704254,STB
-STB,2017,4,14.8574715794,0.3487646335092757,1.2320967729509422,0.264237350262606,0.0520187603,0.0,0.0033735152,0.0,15.872457656342979,25972609377600,1803653429,22.9756475168,1.1683062891,3.0042510309,-26.8563857047,222.6198190539409,12325.5349507221,STB
-STB,2017,3,14.9540749824,0.3541094109794592,1.2085300799603562,0.18113086985636007,0.0299794859,0.0,0.0019603936,0.0,15.954074982402757,27866445478050,1803653429,40.7005495068,1.2784125215,3.8785767772,-35.3720828663,170.36643240845135,12085.3009021726,STB
-STB,2017,2,14.8251121894,0.35681931706602854,1.192652745740212,0.250636381437243,0.0231285513,0.0,0.0015590111,0.0,15.825112189395188,20832197104950,1803653429,39.4878997802,0.9684294061,3.1584857583,-10.6704445107,140.51479953136828,11926.5275586237,STB
-STB,2017,1,13.9013588515,0.3445713564277434,1.2259926439102526,0.20021796520164634,0.0184107755,0.0,0.001285663,0.0,14.9013588515289,23086763891200,1803653429,54.8251563446,1.0440519325,3.2860703738,-3.0828458625,116.7286334585512,12259.9265431537,STB
-STB,2016,4,13.5089211003,0.3460503041174369,1.2185193346860472,-0.048915346399719645,0.016355955,0.0,0.001190428,0.0,14.508921100285143,20922379776400,1803653429,58.7062850363,0.9519750382,2.9666483956,19.4340734724,-35.52123649138141,12185.1934502773,STB
-STB,2016,3,13.1174113084,0.35460157180289426,1.2025698601803934,0.15699855307617677,-0.0027504186,0.0,-0.0002025003,0.0,14.117411308420136,18397264975800,1803653429,-297.6220508678,0.8481835651,2.5735859298,-3.0536679107,83.2593432781925,12025.6987038671,STB
-STB,2016,2,0.0,0.36625969555719246,1.1645077437917986,-0.30918007419142784,0.0,0.0,0.0,0.0,14.192695983594039,15998405915230,1803653429,55.1465880396,0.7355408651,2.0524627604,-1.4513104991,-88.39946601515318,12059.153231113,STB
-STB,2016,1,12.5116679166,0.34826833005653324,1.2033233548536788,0.13073828689153877,0.0320888264,0.0,0.0026264715,0.0,13.511667916598284,20381283747700,1803653429,27.0261654726,0.9390659509,2.5696800638,12.8193804698,89.78886819170624,12033.233650664,STB
-STB,2015,4,0.0,0.3528928808147733,1.1976505914858924,-0.5708064749200862,0.0,0.0,0.0,0.0,12.956790437692936,18397264975800,1803653429,16.7756282799,0.8516674289,2.1736341937,-3.7722052137,-289.10332644232176,11976.5059148589,STB
-STB,2015,3,0.0,0.31952337126341646,1.0345120661205542,0.25577177875473206,0.0,0.0,0.0,0.0733944954,10.925474927808294,19659822376100,1803653429,8.1128535354,0.6944329739,2.2659872258,-7.3830892328,270.51199879098283,15696.2592634013,STB
-STB,2015,2,10.1174902414,0.31686829194089294,1.0056726049487272,0.2930482426489718,0.1155552033,0.0,0.0107978379,0.0625,11.11749045234114,20291392844800,1585265066,8.439456554,0.8388663047,2.3356238116,1.7909489017,342.68523369958626,15258.6889329645,STB
-STB,2015,1,0.0,0.30238984154959275,0.992413206314847,0.32810718084034834,0.0,0.0,0.0,0.0432432432,10.62271562954485,21136464415000,1142511590,9.4875079439,1.2286228565,2.4548384793,4.1945729011,557.1436438399719,15057.5092286318,STB
-STB,2014,4,9.5076982219,0.2877308388787794,0.9584515897383915,0.266543433065893,0.1256265174,0.0,0.0125658322,0.0487804878,10.504393520793762,18737190076000,1142511590,8.4920615145,1.128105409,2.2713155138,3.9433242578,292.5502051143306,14537.6485821138,STB
-STB,2014,3,9.5412757511,0.2925898982322528,0.9391508807048371,0.32705215304772434,0.1431752718,8.9838518188,0.014077385,0.054347826,10.541276372463855,21022213256000,1142511590,8.5832033698,1.1873589104,2.5970538347,3.1878403882,531.8309287348236,15496.5780259612,STB
-STB,2014,2,9.4606944979,0.3033496077125545,0.9073669317957246,0.3434603470607306,0.1399998817,8.8862012555,0.0140925686,0.0549450549,10.460694790265585,20793710938000,1142511590,7.5420291585,1.2155924752,2.6538313756,9.6730604398,568.4077305508997,14972.1229523807,STB
-STB,2014,1,9.2095398432,0.3168901167120052,0.8779592096292497,0.3974627223995949,0.1352765711,9.9115321696,0.0134107352,0.0492610837,10.20954050784147,23192985277000,1142511590,10.5957727395,1.4012681854,3.1826224118,9.9246166191,543.3954328638364,14486.8771090541,STB
-STB,2013,4,8.4573530223,0.310982917019975,0.9051329699396586,0.3618994533719288,0.1449239896,9.8509888204,0.0142209662,0.0824742268,9.457358830955217,22164724846000,1142511590,9.807004593,1.2989387685,2.9159097042,-59.5020705162,500.0877058936444,14935.2690592837,STB
-STB,2013,3,8.6043611022,0.32233219787242734,0.871582644922105,0.3165809851025472,0.0538639371,9.412119289,0.0050068299,0.0,9.604361710848737,19765450507000,1142511590,24.593864486,1.2029209594,2.7771631355,-86.5248096814,445.26462965684226,14381.6597956787,STB
-STB,2013,2,10.2563031035,0.36291131120150144,0.755675696902582,0.2902670934995864,0.0490091259,9.3033086614,0.0044614462,0.0,11.256303875645553,19536948189000,1142511590,27.5387970923,1.371387599,2.8545203567,-5.8241753419,414.3541686084777,12469.1225232997,STB
-STB,2013,1,10.0537464969,0.36987488018856374,0.7608345229814538,0.3731706732508252,0.041679818,9.3033086614,0.0038658839,0.0,11.053747194174424,19536948189000,1142511590,32.6491716911,1.3321649591,2.7570949043,6.7458966313,591.4526958978158,12836.248155697,STB
diff --git a/vn-stock-analysis-app/static/dfratio_year.csv b/vn-stock-analysis-app/static/dfratio_year.csv
deleted file mode 100644
index 57b332f22638fdf20ae5b18aaa1e558c63ecb158..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/static/dfratio_year.csv
+++ /dev/null
@@ -1,14 +0,0 @@
-Meta,Meta,Meta,Chỉ tiêu cơ cấu nguồn vốn,Chỉ tiêu cơ cấu nguồn vốn,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu khả năng sinh lợi,Chỉ tiêu thanh khoản,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,Chỉ tiêu định giá,ticker
-CP,Năm,Kỳ,TSCĐ / Vốn CSH,Vốn CSH/Vốn điều lệ,Biên lợi nhuận ròng (%),ROE (%),ROA (%),Tỷ suất cổ tức (%),Đòn bẩy tài chính,Vốn hóa (Tỷ đồng),Số CP lưu hành (Triệu CP),P/E,P/B,P/S,P/Cash Flow,EPS (VND),BVPS (VND),
-STB,2024,5,0.13379754482594525,2.9159564888753557,0.4112024777086364,0.2003356624,0.0141829272,0.0,13.60862972778722,88039573190000,1885215700,9.8286962022,1.6015328,3.0700286267,2.2947739291,5350.84393791119,29159.5651362335,STB
-STB,2023,5,0.15895092529247037,2.425922063552328,0.3496964276499453,0.1829904532,0.0121908428,0.0,14.745958487128926,69564459330000,1885215700,10.1872660498,1.5210711111,2.6578699459,2.6004089113,4094.2879904936076,24259.2208414135,STB
-STB,2022,5,0.19539901575571655,2.0489430292867343,0.2939672017492836,0.1383128098,0.0090576507,0.0,15.323679195762466,52691778815000,1885215700,11.7447611897,1.3641179556,2.015653352,3.3906120099,2673.8027908424483,20489.430466763,STB
-STB,2021,5,0.23919896176844943,1.8173695301402846,0.2851351670990992,0.1079287156,0.0067312242,0.0,15.210064283541074,42417353250000,1885215700,14.1073104673,1.2380531001,2.3958762854,-3.5706697267,1809.6051290046014,18173.6954556447,STB
-STB,2020,5,0.29615113729191794,1.5359643861572816,0.23267847441655157,0.0963045956,0.0056695682,0.0,17.00897613025889,59384294550000,1885215700,26.1110322565,2.0508287833,3.4384080239,19.8828724856,1422.638799369218,15359.6439919315,STB
-STB,2019,5,0.3100022287339146,1.418492312208159,0.26739433907349863,0.0955683289,0.0057114987,0.0,16.961602093214925,48638565060000,1885215700,23.7226114079,1.8188325421,3.3233646575,3.7218417462,1302.1661128750413,14184.9232424703,STB
-STB,2018,5,0.3349110542238998,1.3066073442387958,0.23450410110621273,0.0747944913,0.0046226835,0.0,16.48402680911664,48638565060000,1885215700,27.1700148255,1.9745794247,4.1653537559,9.862295874,949.5762209067111,13066.0735532809,STB
-STB,2017,5,0.3486354879685623,1.232553484611413,0.22386361591008774,0.0520187603,0.0033735152,0.0,15.857471579372474,48638565060000,1885215700,49.655814067,2.0932154347,5.6260215174,-48.1176910543,626.7505622831383,12325.5349507221,STB
-STB,2016,5,0.3582096990735463,1.177156216747771,0.022038218746650146,0.0040028976,0.0002839778,0.0,14.961428913766596,48638565060000,1885215700,548.9122443544,2.19172268,7.4482994911,43.1978786409,47.00204862499289,11771.562267384,STB
-STB,2015,5,0.360848749088279,1.1712450099264926,0.0985412100517908,0.0322799906,0.0026893792,0.0,13.225823787012022,48638565060000,1885215700,87.4500214137,2.2027841794,5.8680457938,-9.417453135,343.6842797352048,11712.4501986696,STB
-STB,2014,5,0.2878214194309014,0.9581501388247498,0.3361082938364801,0.1256262897,0.0125658095,0.0,10.507698443415084,32056799280000,1242511600,16.7102270337,1.7747024118,3.8859138022,6.7464946777,1775.7870429539653,14537.6485821138,STB
-STB,2013,5,0.31098263578898805,0.9051334473386069,0.3363455586224358,0.1449237946,0.0142209471,0.0310077519,9.457353491191075,32056799280000,1242511600,14.3809922619,1.8786526641,4.217274645,-87.2538406138,1794.0347599169295,13733.2464340776,STB
diff --git a/vn-stock-analysis-app/static/images/stock_candle.png b/vn-stock-analysis-app/static/images/stock_candle.png
deleted file mode 100644
index 918efa0d8576f7a3faa990d30d30a5534cd9f980..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/static/images/stock_candle.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:006814b5bc8d447e6409468dd35516b3426773a9718ccf0e8ecb9df2cd81442f
-size 111644
diff --git a/vn-stock-analysis-app/static/images/stock_chart.png b/vn-stock-analysis-app/static/images/stock_chart.png
deleted file mode 100644
index db20e6360d79fb30b82da1dd7fbc72e885c6c661..0000000000000000000000000000000000000000
Binary files a/vn-stock-analysis-app/static/images/stock_chart.png and /dev/null differ
diff --git a/vn-stock-analysis-app/static/images/stock_money.png b/vn-stock-analysis-app/static/images/stock_money.png
deleted file mode 100644
index b0fa78d1675cceb31864bb3fcee0a5280ca6dc7a..0000000000000000000000000000000000000000
Binary files a/vn-stock-analysis-app/static/images/stock_money.png and /dev/null differ
diff --git a/vn-stock-analysis-app/static/images/vnindex_candle.png b/vn-stock-analysis-app/static/images/vnindex_candle.png
deleted file mode 100644
index 0d812659b3842f7644a1f0bc89e9cea7404abd17..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/static/images/vnindex_candle.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d1353e3e69272956b6aced2567510127523a118a628579ee1e9b43b085d93bd2
-size 109400
diff --git a/vn-stock-analysis-app/static/images/vnindex_money.png b/vn-stock-analysis-app/static/images/vnindex_money.png
deleted file mode 100644
index f4f794d2ca34b0cb72a8fa000a2e17bdffb59603..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/static/images/vnindex_money.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:f354ac35abf1ab13bbcfe7e1f0b40616adde5f4983bc986cbea000d62f71afef
-size 110061
diff --git a/vn-stock-analysis-app/static/images/vnindex_vsa.png b/vn-stock-analysis-app/static/images/vnindex_vsa.png
deleted file mode 100644
index 1c337c91e83a562d095e7f5bc4910ca376d21954..0000000000000000000000000000000000000000
Binary files a/vn-stock-analysis-app/static/images/vnindex_vsa.png and /dev/null differ
diff --git a/vn-stock-analysis-app/static/js/app.js b/vn-stock-analysis-app/static/js/app.js
deleted file mode 100644
index e50187baacf443eb4272eb9ef48cc6e06069141b..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/static/js/app.js
+++ /dev/null
@@ -1,73 +0,0 @@
-import * as chart from './chart.js';
-import { calculatePV } from './indicators/pv.js';
-import { calculateMFI } from './indicators/mfi.js';
-import { analyzeVSA } from './indicators/vsa.js';
-
-let stockData = [];
-let entryPoint = 0;
-let stopLoss = 0;
-let takeProfit = 0;
-
-// Sửa lại: KHÔNG override hành vi submit form, để form tự submit về /vsa?symbol=...
-// Nếu muốn dùng JS để chuyển hướng, thì phải chuyển hướng đúng /vsa?symbol=...
-// Đoạn dưới đây có thể xóa hoặc comment lại:
-// document.getElementById('analyze-button').addEventListener('click', () => {
-// const stockSymbol = document.getElementById('stock-symbol').value.trim().toUpperCase();
-// if (!stockSymbol) {
-// alert('Vui lòng nhập mã cổ phiếu!');
-// return;
-// }
-// // Chuyển hướng tới /vsa?symbol=...
-// window.location.href = `/vsa?symbol=${encodeURIComponent(stockSymbol)}`;
-// });
-
-async function fetchStockData(symbol) {
- try {
- const response = await fetch(`/api/stock_data?symbol=${symbol}`);
- const data = await response.json();
- if (!Array.isArray(data) || data.length === 0) {
- alert('Không có dữ liệu cho mã cổ phiếu này!');
- return;
- }
- processStockData(data);
- } catch (error) {
- alert('Lỗi khi lấy dữ liệu từ server: ' + error);
- }
-}
-
-function processStockData(data) {
- // Chuẩn hóa dữ liệu cho các hàm chỉ báo
- const priceArr = data.map(d => d.price);
- const volumeArr = data.map(d => d.volume);
- // MFI cần dữ liệu dạng [{high,low,close}], volume
- const mfiInput = data.map(d => ({high: d.high, low: d.low, close: d.close}));
- const pv = calculatePV(priceArr, volumeArr);
- const mfi = calculateMFI(mfiInput, volumeArr);
- const vsaAnalysis = analyzeVSA(priceArr, volumeArr);
-
- // Thêm tín hiệu VSA vào dữ liệu giá
- const priceDataWithSignals = {
- labels: priceArr.map((_, i) => i + 1),
- values: priceArr,
- signals: vsaAnalysis.map(a => a.vsaSignal) // Lấy tín hiệu từ kết quả phân tích
- };
-
- // Vẽ biểu đồ
- chart.renderPriceVolumeChart(priceDataWithSignals, {labels: volumeArr.map((_,i)=>i+1), values: volumeArr});
- chart.renderPVChart({labels: pv.map((_,i)=>i+1), values: pv});
- chart.renderMFIChart({labels: mfi.map((_,i)=>i+1), values: mfi});
- displayAnalysisResults(vsaAnalysis);
-}
-
-function displayAnalysisResults(analysis) {
- document.getElementById('analysis-results').innerText = JSON.stringify(analysis, null, 2);
-}
-
-// Lấy symbol từ URL và fetch dữ liệu khi trang được tải
-document.addEventListener('DOMContentLoaded', () => {
- const urlParams = new URLSearchParams(window.location.search);
- const symbol = urlParams.get('symbol');
- if (symbol) {
- fetchStockData(symbol.toUpperCase());
- }
-});
diff --git a/vn-stock-analysis-app/static/js/chart.js b/vn-stock-analysis-app/static/js/chart.js
deleted file mode 100644
index b336f7f87a970e7a9d9daa9e653df0d34a323c17..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/static/js/chart.js
+++ /dev/null
@@ -1,141 +0,0 @@
-const ctx = document.getElementById('priceChart') ? document.getElementById('priceChart').getContext('2d') : null;
-const volumeCtx = document.getElementById('volumeChart') ? document.getElementById('volumeChart').getContext('2d') : null;
-const pvCtx = document.getElementById('pvChart') ? document.getElementById('pvChart').getContext('2d') : null;
-const mfiCtx = document.getElementById('mfiChart') ? document.getElementById('mfiChart').getContext('2d') : null;
-
-export function renderPriceVolumeChart(priceData, volumeData) {
- if (!ctx || !volumeCtx) return;
- // Tạo dữ liệu cho các điểm tín hiệu
- const buySignals = priceData.values.map((price, index) =>
- priceData.signals[index] === 'Bullish' || priceData.signals[index] === 'Weak Bullish' ? price : null
- );
- const sellSignals = priceData.values.map((price, index) =>
- priceData.signals[index] === 'Bearish' || priceData.signals[index] === 'Weak Bearish' ? price : null
- );
-
- const priceChart = new Chart(ctx, {
- type: 'line',
- data: {
- labels: priceData.labels,
- datasets: [
- {
- label: 'Price',
- data: priceData.values,
- borderColor: 'rgba(75, 192, 192, 1)',
- borderWidth: 2,
- fill: false
- },
- {
- label: 'Buy Signal',
- data: buySignals,
- type: 'scatter',
- pointStyle: 'triangle',
- radius: 8,
- backgroundColor: 'rgba(40, 167, 69, 0.8)', // Green
- rotation: 0, // Pointing up
- showLine: false
- },
- {
- label: 'Sell Signal',
- data: sellSignals,
- type: 'scatter',
- pointStyle: 'triangle',
- radius: 8,
- backgroundColor: 'rgba(220, 53, 69, 0.8)', // Red
- rotation: 180, // Pointing down
- showLine: false
- }
- ]
- },
- options: {
- responsive: true,
- scales: {
- y: {
- beginAtZero: false
- }
- }
- }
- });
-
- const volumeChart = new Chart(volumeCtx, {
- type: 'bar',
- data: {
- labels: volumeData.labels,
- datasets: [{
- label: 'Volume',
- data: volumeData.values,
- backgroundColor: 'rgba(153, 102, 255, 0.5)',
- borderColor: 'rgba(153, 102, 255, 1)',
- borderWidth: 1
- }]
- },
- options: {
- responsive: true,
- scales: {
- y: {
- beginAtZero: true
- }
- }
- }
- });
-}
-
-export function renderPVChart(pvData) {
- if (!pvCtx) return;
- const pvChart = new Chart(pvCtx, {
- type: 'line',
- data: {
- labels: pvData.labels,
- datasets: [{
- label: 'Price Volume (PV)',
- data: pvData.values,
- borderColor: 'rgba(255, 99, 132, 1)',
- borderWidth: 2,
- fill: false
- }]
- },
- options: {
- responsive: true,
- scales: {
- y: {
- beginAtZero: false
- }
- }
- }
- });
-}
-
-export function renderMFIChart(mfiData) {
- if (!mfiCtx) return;
- const mfiChart = new Chart(mfiCtx, {
- type: 'line',
- data: {
- labels: mfiData.labels,
- datasets: [{
- label: 'Money Flow Index (MFI)',
- data: mfiData.values,
- borderColor: 'rgba(255, 206, 86, 1)',
- borderWidth: 2,
- fill: false
- }]
- },
- options: {
- responsive: true,
- scales: {
- y: {
- beginAtZero: true,
- max: 100
- }
- }
- }
- });
-}
-
-export function updateCharts(priceData, volumeData, pvData, mfiData) {
- renderPriceVolumeChart(priceData, volumeData);
- renderPVChart(pvData);
- renderMFIChart(mfiData);
-}
-
-// Example usage: Call updateCharts with your data
-// updateCharts(priceData, volumeData, pvData, mfiData);
diff --git a/vn-stock-analysis-app/static/js/chartjs-chart-financial.min.js b/vn-stock-analysis-app/static/js/chartjs-chart-financial.min.js
deleted file mode 100644
index 92acbe7c15fe4548dba2bb7606187b9b9d611991..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/static/js/chartjs-chart-financial.min.js
+++ /dev/null
@@ -1,2 +0,0 @@
-// CDN: https://cdn.jsdelivr.net/npm/chartjs-chart-financial@3.3.0/dist/chartjs-chart-financial.min.js
-// This is a placeholder for the Chart.js Financial plugin. In production, use the CDN link in the HTML.
diff --git a/vn-stock-analysis-app/static/js/filter_stock.js b/vn-stock-analysis-app/static/js/filter_stock.js
deleted file mode 100644
index 178e7ee3224a2c5ab097fea656ac3096c2e14213..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/static/js/filter_stock.js
+++ /dev/null
@@ -1,28 +0,0 @@
-document.addEventListener('DOMContentLoaded', function() {
- const filterForm = document.querySelector('form[action="/filter_stock"]');
- if (filterForm) {
- filterForm.addEventListener('submit', function() {
- const loadingEl = document.getElementById('loading');
- if (loadingEl) {
- loadingEl.style.display = 'inline-block';
- }
- });
- }
-});
-
-function goToValuation(link) {
- const ticker = link.getAttribute('data-ticker');
- const revenueGrowth = link.getAttribute('data-revenue_growth_1y');
- const epsGrowth = link.getAttribute('data-eps_growth_1y');
- const roe = link.getAttribute('data-roe');
- const dividendYield = link.getAttribute('data-dividend_yield');
-
- const valuationUrl = new URL('https://crispy-fishstick-g4g6pw9rg4v2w97-5000.app.github.dev/valuation');
- valuationUrl.searchParams.append('symbol', ticker);
- valuationUrl.searchParams.append('revenue_growth_1y', revenueGrowth);
- valuationUrl.searchParams.append('eps_growth_1y', epsGrowth);
- valuationUrl.searchParams.append('roe', roe);
- valuationUrl.searchParams.append('dividend_yield', dividendYield);
-
- window.location.href = valuationUrl.toString();
-}
diff --git a/vn-stock-analysis-app/static/js/home.js b/vn-stock-analysis-app/static/js/home.js
deleted file mode 100644
index e51333508e30939a45ac650f0f591eedf48df795..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/static/js/home.js
+++ /dev/null
@@ -1,201 +0,0 @@
-import * as chart from './chart.js';
-import { calculatePV } from './indicators/pv.js';
-import { calculateMFI } from './indicators/mfi.js';
-import { analyzeVSA } from './indicators/vsa.js';
-
-function processStockData(data, signals, fibonacci_levels) {
- // Main chart
- const ohlc = data.map(d => ({
- x: new Date(d.time).getTime(),
- o: d.open,
- h: d.high,
- l: d.low,
- c: d.close
- }));
-
- const volumes = data.map(d => ({
- x: new Date(d.time).getTime(),
- y: d.volume
- }));
-
- let annotations = signals.map(signal => {
- const signalDate = new Date(signal.date).getTime();
- const dataPoint = ohlc.find(p => p.x === signalDate);
- if (!dataPoint) return null;
-
- return {
- type: 'point',
- xValue: signalDate,
- yValue: signal.position === 'above' ? dataPoint.h : dataPoint.l,
- backgroundColor: signal.type === 'peak' || signal.name.includes('Đỉnh') || signal.name.includes('Bearish') ? 'rgba(255, 99, 132, 0.8)' : 'rgba(75, 192, 192, 0.8)',
- borderColor: signal.type === 'peak' || signal.name.includes('Đỉnh') || signal.name.includes('Bearish') ? 'rgba(255, 99, 132, 1)' : 'rgba(75, 192, 192, 1)',
- radius: 6,
- borderWidth: 2,
- label: {
- content: signal.name,
- enabled: true,
- position: 'top',
- backgroundColor: 'rgba(0,0,0,0.7)',
- color: 'white',
- yAdjust: signal.position === 'above' ? -10 : 10,
- }
- };
- }).filter(Boolean);
-
- if (fibonacci_levels) {
- const fiboAnnotations = Object.entries(fibonacci_levels).map(([level, value]) => ({
- type: 'line',
- yMin: value,
- yMax: value,
- borderColor: 'rgba(239, 83, 80, 0.6)',
- borderWidth: 1,
- borderDash: [5, 5],
- label: {
- content: `${level}: ${value}`,
- enabled: true,
- position: 'end',
- backgroundColor: 'rgba(239, 83, 80, 0.7)',
- color: 'white',
- font: { size: 10 }
- }
- }));
- annotations = annotations.concat(fiboAnnotations);
- }
-
- const ctx = document.getElementById('vnindexMainChart').getContext('2d');
- if (window.vnindexMainChartObj) {
- window.vnindexMainChartObj.destroy();
- }
-
- window.vnindexMainChartObj = new Chart(ctx, {
- type: 'candlestick',
- data: {
- datasets: [{
- label: 'VNINDEX',
- data: ohlc,
- yAxisID: 'y',
- }, {
- label: 'Volume',
- type: 'bar',
- data: volumes,
- yAxisID: 'y1',
- backgroundColor: 'rgba(153, 102, 255, 0.2)',
- }]
- },
- options: {
- responsive: true,
- maintainAspectRatio: false,
- scales: {
- x: {
- type: 'timeseries',
- time: { unit: 'day', tooltipFormat: 'dd-MM-yyyy' },
- title: { display: true, text: 'Ngày' }
- },
- y: {
- position: 'left',
- title: { display: true, text: 'Giá' }
- },
- y1: {
- type: 'linear',
- position: 'right',
- title: { display: true, text: 'Khối lượng' },
- grid: { drawOnChartArea: false },
- }
- },
- plugins: {
- legend: { position: 'top' },
- title: { display: true, text: 'Biểu đồ VNINDEX - Tín hiệu & Phân tích' },
- tooltip: {
- mode: 'index',
- intersect: false,
- callbacks: {
- label: function(context) {
- const datasetLabel = context.dataset.label || '';
- if (context.dataset.type === 'candlestick') {
- const d = context.raw;
- return `${datasetLabel}: O:${d.o} H:${d.h} L:${d.l} C:${d.c}`;
- }
- return `${datasetLabel}: ${context.formattedValue}`;
- }
- }
- },
- annotation: {
- annotations: annotations
- },
- zoom: {
- pan: { enabled: true, mode: 'x' },
- zoom: { wheel: { enabled: true }, mode: 'x' }
- }
- },
- interaction: {
- mode: 'index',
- intersect: false
- }
- }
- });
-
- // VSA charts
- const priceArr = data.map(d => d.close);
- const volumeArr = data.map(d => d.volume);
- const mfiInput = data.map(d => ({ high: d.high, low: d.low, close: d.close }));
- const pv = calculatePV(priceArr, volumeArr);
- const mfi = calculateMFI(mfiInput, volumeArr);
- const vsaAnalysis = analyzeVSA(priceArr, volumeArr);
-
- const priceDataWithSignals = {
- labels: priceArr.map((_, i) => i + 1),
- values: priceArr,
- signals: vsaAnalysis.map(a => a.vsaSignal)
- };
-
- chart.renderPriceVolumeChart(priceDataWithSignals, { labels: volumeArr.map((_, i) => i + 1), values: volumeArr });
- chart.renderPVChart({ labels: pv.map((_, i) => i + 1), values: pv });
- chart.renderMFIChart({ labels: mfi.map((_, i) => i + 1), values: mfi });
-}
-
-window.addEventListener('DOMContentLoaded', async function() {
- try {
- const res = await fetch('/api/stock_data?symbol=VNINDEX');
- if (!res.ok) {
- console.error('Failed to fetch VNINDEX data');
- return;
- }
- const apiData = await res.json();
- if (!apiData || !apiData.chart_data || apiData.chart_data.length === 0) {
- console.error('No data returned for VNINDEX');
- return;
- }
-
- processStockData(apiData.chart_data, apiData.signals, apiData.fibonacci_levels);
-
- } catch (error) {
- console.error('Error loading or parsing VNINDEX chart data:', error);
- }
-
- const groqForm = document.getElementById('vnindex-groq-form');
- if (groqForm) {
- groqForm.addEventListener('submit', async function(e) {
- e.preventDefault();
- const resultDiv = document.getElementById('vnindex-groq-result');
- const loadingSpan = document.getElementById('vnindex-ai-loading');
- const formData = new FormData(this);
-
- resultDiv.innerText = '';
- loadingSpan.style.display = 'inline-block';
-
- try {
- const response = await fetch('/analyze_gemini', {
- method: 'POST',
- body: formData
- });
- const data = await response.json();
- resultDiv.innerText = data.result || 'Không có kết quả trả về.';
- } catch (err) {
- resultDiv.innerText = 'Lỗi khi gửi yêu cầu đến AI. Vui lòng thử lại.';
- console.error(err);
- } finally {
- loadingSpan.style.display = 'none';
- }
- });
- }
-});
diff --git a/vn-stock-analysis-app/static/js/indicators/mfi.js b/vn-stock-analysis-app/static/js/indicators/mfi.js
deleted file mode 100644
index f59b058142d0804c977b79e6d52ebef31719470a..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/static/js/indicators/mfi.js
+++ /dev/null
@@ -1,27 +0,0 @@
-export function calculateMFI(prices, volumes, period = 14) {
- const mfiValues = [];
- const typicalPrices = prices.map((price, index) => {
- return (price.high + price.low + price.close) / 3;
- });
-
- for (let i = 0; i < typicalPrices.length; i++) {
- if (i < period) {
- mfiValues.push(null);
- continue;
- }
-
- const gain = typicalPrices.slice(i - period + 1, i + 1).reduce((acc, price, index) => {
- return acc + (price > typicalPrices[i - period + index] ? volumes[i - period + index] : 0);
- }, 0);
-
- const loss = typicalPrices.slice(i - period + 1, i + 1).reduce((acc, price, index) => {
- return acc + (price < typicalPrices[i - period + index] ? volumes[i - period + index] : 0);
- }, 0);
-
- const moneyFlowRatio = gain / loss || 0;
- const mfi = 100 - (100 / (1 + moneyFlowRatio));
- mfiValues.push(mfi);
- }
-
- return mfiValues;
-}
diff --git a/vn-stock-analysis-app/static/js/indicators/pv.js b/vn-stock-analysis-app/static/js/indicators/pv.js
deleted file mode 100644
index ffb7397c763312ca64320ccd07961ea3e97f154e..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/static/js/indicators/pv.js
+++ /dev/null
@@ -1,34 +0,0 @@
-const calculatePV = (priceData, volumeData) => {
- if (priceData.length !== volumeData.length) {
- throw new Error("Price and volume data must have the same length");
- }
-
- const pv = [];
- for (let i = 0; i < priceData.length; i++) {
- const priceChange = priceData[i] - (priceData[i - 1] || priceData[i]);
- const volume = volumeData[i];
- pv.push(priceChange * volume);
- }
- return pv;
-};
-
-const analyzePV = (pvData) => {
- const analysis = {
- bullish: 0,
- bearish: 0,
- neutral: 0,
- };
-
- for (let i = 1; i < pvData.length; i++) {
- if (pvData[i] > 0 && pvData[i - 1] > 0) {
- analysis.bullish++;
- } else if (pvData[i] < 0 && pvData[i - 1] < 0) {
- analysis.bearish++;
- } else {
- analysis.neutral++;
- }
- }
- return analysis;
-};
-
-export { calculatePV, analyzePV };
diff --git a/vn-stock-analysis-app/static/js/indicators/vsa.js b/vn-stock-analysis-app/static/js/indicators/vsa.js
deleted file mode 100644
index 7c7242872ca82b74164d3fed98a58e79972a240c..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/static/js/indicators/vsa.js
+++ /dev/null
@@ -1,59 +0,0 @@
-// This file contains functions that implement Volume Spread Analysis (VSA) techniques.
-// It analyzes price and volume data to identify potential breakouts and market trends.
-
-export function analyzeVSA(priceData, volumeData) {
- const results = [];
-
- for (let i = 1; i < priceData.length; i++) {
- const currentPrice = priceData[i];
- const previousPrice = priceData[i - 1];
- const currentVolume = volumeData[i];
- const previousVolume = volumeData[i - 1];
-
- const priceChange = currentPrice - previousPrice;
- const volumeChange = currentVolume - previousVolume;
-
- const vsaSignal = determineVsaSignal(priceChange, volumeChange);
- results.push({
- price: currentPrice,
- volume: currentVolume,
- vsaSignal: vsaSignal
- });
- }
-
- return results;
-}
-
-function determineVsaSignal(priceChange, volumeChange) {
- if (priceChange > 0 && volumeChange > 0) {
- return 'Bullish';
- } else if (priceChange < 0 && volumeChange > 0) {
- return 'Bearish';
- } else if (priceChange > 0 && volumeChange < 0) {
- return 'Weak Bullish';
- } else if (priceChange < 0 && volumeChange < 0) {
- return 'Weak Bearish';
- } else {
- return 'Neutral';
- }
-}
-
-export function detectBreakouts(priceData, volumeData, threshold) {
- const breakouts = [];
-
- for (let i = 1; i < priceData.length; i++) {
- const currentPrice = priceData[i];
- const previousPrice = priceData[i - 1];
- const currentVolume = volumeData[i];
-
- if (currentPrice > previousPrice + threshold && currentVolume > volumeData[i - 1]) {
- breakouts.push({
- price: currentPrice,
- volume: currentVolume,
- breakout: true
- });
- }
- }
-
- return breakouts;
-}
diff --git a/vn-stock-analysis-app/static/js/scripts.js b/vn-stock-analysis-app/static/js/scripts.js
deleted file mode 100644
index 559825ed155df846ac316b76e833ce4bda9647a1..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/static/js/scripts.js
+++ /dev/null
@@ -1 +0,0 @@
-// This file is intentionally left blank.
\ No newline at end of file
diff --git a/vn-stock-analysis-app/static/js/stock_analysis.js b/vn-stock-analysis-app/static/js/stock_analysis.js
deleted file mode 100644
index d44e47359b845d415e5306839594caf00e1cba81..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/static/js/stock_analysis.js
+++ /dev/null
@@ -1,252 +0,0 @@
-import * as chart from './chart.js';
-import { calculatePV } from './indicators/pv.js';
-import { calculateMFI } from './indicators/mfi.js';
-import { analyzeVSA } from './indicators/vsa.js';
-
-/**
- * Processes and renders all charts for a given stock symbol.
- * @param {string} symbol - The stock symbol.
- * @param {Array} data - The historical price and volume data.
- * @param {Array} signals - Technical analysis signals.
- * @param {Object} fibonacci_levels - Fibonacci retracement levels.
- */
-function processStockData(symbol, data, signals, fibonacci_levels) {
- // Main chart
- const ohlc = data.map(d => ({
- x: new Date(d.time).getTime(),
- o: d.open,
- h: d.high,
- l: d.low,
- c: d.close
- }));
-
- const volumes = data.map(d => ({
- x: new Date(d.time).getTime(),
- y: d.volume
- }));
-
- let annotations = (signals || []).map(signal => {
- const signalDate = new Date(signal.date).getTime();
- const dataPoint = ohlc.find(p => p.x === signalDate);
- if (!dataPoint) return null;
-
- return {
- type: 'point',
- xValue: signalDate,
- yValue: signal.position === 'above' ? dataPoint.h : dataPoint.l,
- backgroundColor: signal.type === 'peak' || signal.name.includes('Đỉnh') || signal.name.includes('Bearish') ? 'rgba(255, 99, 132, 0.8)' : 'rgba(75, 192, 192, 0.8)',
- borderColor: signal.type === 'peak' || signal.name.includes('Đỉnh') || signal.name.includes('Bearish') ? 'rgba(255, 99, 132, 1)' : 'rgba(75, 192, 192, 1)',
- radius: 6,
- borderWidth: 2,
- label: {
- content: signal.name,
- enabled: true,
- position: 'top',
- backgroundColor: 'rgba(0,0,0,0.7)',
- color: 'white',
- yAdjust: signal.position === 'above' ? -10 : 10,
- }
- };
- }).filter(Boolean);
-
- if (fibonacci_levels) {
- const fiboAnnotations = Object.entries(fibonacci_levels).map(([level, value]) => ({
- type: 'line',
- yMin: value,
- yMax: value,
- borderColor: 'rgba(239, 83, 80, 0.6)',
- borderWidth: 1,
- borderDash: [5, 5],
- label: {
- content: `${level}: ${value}`,
- enabled: true,
- position: 'end',
- backgroundColor: 'rgba(239, 83, 80, 0.7)',
- color: 'white',
- font: { size: 10 }
- }
- }));
- annotations = annotations.concat(fiboAnnotations);
- }
-
- const ctx = document.getElementById('stockMainChart').getContext('2d');
- if (window.stockMainChartObj) {
- window.stockMainChartObj.destroy();
- }
-
- window.stockMainChartObj = new Chart(ctx, {
- type: 'candlestick',
- data: {
- datasets: [{
- label: symbol,
- data: ohlc,
- yAxisID: 'y',
- }, {
- label: 'Volume',
- type: 'bar',
- data: volumes,
- yAxisID: 'y1',
- backgroundColor: 'rgba(153, 102, 255, 0.2)',
- }]
- },
- options: {
- responsive: true,
- maintainAspectRatio: false,
- scales: {
- x: { type: 'timeseries', time: { unit: 'day', tooltipFormat: 'dd-MM-yyyy' }, title: { display: true, text: 'Ngày' } },
- y: { position: 'left', title: { display: true, text: 'Giá' } },
- y1: { type: 'linear', position: 'right', title: { display: true, text: 'Khối lượng' }, grid: { drawOnChartArea: false } }
- },
- plugins: {
- legend: { position: 'top' },
- title: { display: true, text: `Biểu đồ ${symbol} - Tín hiệu & Phân tích` },
- tooltip: {
- mode: 'index',
- intersect: false,
- callbacks: {
- label: function(context) {
- const datasetLabel = context.dataset.label || '';
- if (context.dataset.type === 'candlestick') {
- const d = context.raw;
- return `${datasetLabel}: O:${d.o} H:${d.h} L:${d.l} C:${d.c}`;
- }
- return `${datasetLabel}: ${context.formattedValue}`;
- }
- }
- },
- annotation: { annotations: annotations },
- zoom: { pan: { enabled: true, mode: 'x' }, zoom: { wheel: { enabled: true }, mode: 'x' } }
- },
- interaction: { mode: 'index', intersect: false }
- }
- });
-
- // VSA charts
- const priceArr = data.map(d => d.close);
- const volumeArr = data.map(d => d.volume);
- const mfiInput = data.map(d => ({ high: d.high, low: d.low, close: d.close }));
- const pv = calculatePV(priceArr, volumeArr);
- const mfi = calculateMFI(mfiInput, volumeArr);
- const vsaAnalysis = analyzeVSA(priceArr, volumeArr);
-
- const priceDataWithSignals = {
- labels: priceArr.map((_, i) => i + 1),
- values: priceArr,
- signals: vsaAnalysis.map(a => a.vsaSignal)
- };
-
- chart.renderPriceVolumeChart(priceDataWithSignals, { labels: volumeArr.map((_, i) => i + 1), values: volumeArr });
- chart.renderPVChart({ labels: pv.map((_, i) => i + 1), values: pv });
- chart.renderMFIChart({ labels: mfi.map((_, i) => i + 1), values: mfi });
-}
-
-
-window.addEventListener('DOMContentLoaded', function() {
- const symbolData = document.getElementById('stock-symbol-data');
- const symbol = symbolData ? symbolData.dataset.symbol : null;
-
- // Tab switching logic
- const tabButtons = document.querySelectorAll('.tab-link');
- const tabContents = document.querySelectorAll('.tab-content');
- tabButtons.forEach(button => {
- button.addEventListener('click', function() {
- const tabId = this.dataset.tab;
- tabButtons.forEach(btn => btn.classList.remove('active'));
- this.classList.add('active');
- tabContents.forEach(content => {
- content.classList.toggle('active', content.id === tabId);
- });
- });
- });
-
- // Function to load the main chart data
- async function loadStockChartData(symbol) {
- if (!symbol) return;
- try {
- const res = await fetch(`/api/stock_data?symbol=${symbol}`);
- if (!res.ok) {
- console.error(`Failed to fetch data for ${symbol}`);
- return;
- }
- const apiData = await res.json();
- if (apiData.error || !apiData.chart_data || apiData.chart_data.length === 0) {
- console.error(`No chart data returned for ${symbol}`);
- document.getElementById('tab-chart').innerHTML = `
- Hướng dẫn đọc biểu đồ VSA:
- - Biểu đồ PV (Price-Volume): Đường đỏ thể hiện chỉ báo kết hợp giá và khối lượng, giúp nhận diện sức mạnh dòng tiền.
- Ý nghĩa: Nếu PV hiện tại cao hơn đường PV trung bình (đường xanh) trong biểu đồ PV, dòng tiền đang mạnh và cổ phiếu có sức hút tốt; nếu PV thấp hơn trung bình, dòng tiền yếu, nên thận trọng.
- Giá trị PV tốt: PV tăng vượt lên trên đường trung bình, đồng thời giá và khối lượng đều tăng, là tín hiệu tích cực.
- - Biểu đồ MFI: ...
- - Breakout/Volume Spike: ...
- - Bảng kết quả VSA: ...
-
-
-
-
-
-
-
-
Hướng dẫn đọc và sử dụng biểu đồ VSA
-
-
Biểu đồ Giá (Price): Đường màu xanh thể hiện biến động giá cổ phiếu theo thời gian. Quan sát các điểm breakout (giá vượt đỉnh cũ) để nhận diện tín hiệu mua mạnh.
-
Biểu đồ Khối lượng (Volume): Cột tím thể hiện khối lượng giao dịch. Volume tăng đột biến kèm giá tăng là dấu hiệu dòng tiền lớn tham gia.
-
Biểu đồ PV (Price-Volume): Đường đỏ thể hiện chỉ báo kết hợp giá và khối lượng, giúp nhận diện sức mạnh dòng tiền. PV tăng vượt lên trên đường trung bình, đồng thời giá và khối lượng đều tăng, là tín hiệu tích cực.
-
Biểu đồ MFI (Money Flow Index): Đường vàng thể hiện chỉ báo dòng tiền MFI (0-100). MFI > 80: quá mua, MFI < 20: quá bán.
-
- Cách sử dụng VSA để phân tích:
-
-
Nhập mã cổ phiếu và bấm "Phân tích" để lấy dữ liệu thực tế.
-
Quan sát các điểm breakout (giá vượt đỉnh 20 phiên kèm volume tăng mạnh) để xác định điểm mua.
-
Chú ý các vùng volume spike (khối lượng tăng đột biến) và các mẫu hình nến đảo chiều để nhận diện tín hiệu dòng tiền lớn.
-
Sử dụng các chỉ báo PV, MFI để xác nhận sức mạnh dòng tiền. Nếu PV tăng cùng giá và volume, MFI duy trì vùng 40-80 là tín hiệu tích cực.
-
PV tăng vượt lên trên đường trung bình, đồng thời giá và khối lượng đều tăng, là tín hiệu tích cực.
-
Tham khảo các điểm cắt lỗ (giá giảm dưới MA10 hoặc giảm mạnh sau breakout) và chốt lời (giá tăng 10-15% sau điểm mua hoặc MFI > 80).
-
- Lưu ý: Phân tích VSA chỉ mang tính tham khảo, cần kết hợp với các yếu tố cơ bản và quản trị rủi ro khi đầu tư.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/vn-stock-analysis-app/stock-vsa-analyzer/public/src/app.js b/vn-stock-analysis-app/stock-vsa-analyzer/public/src/app.js
deleted file mode 100644
index df5a4fc17fbd3b2bf1d9068c60ab2015119ee599..0000000000000000000000000000000000000000
--- a/vn-stock-analysis-app/stock-vsa-analyzer/public/src/app.js
+++ /dev/null
@@ -1,136 +0,0 @@
-// ...existing code from old app.js, adjusted for new path...
-// Sử dụng fetch tới /api/stock_data ở cùng domain Flask
-async function fetchStockData(symbol) {
- try {
- const response = await fetch(`/api/stock_data?symbol=${symbol}`);
- const data = await response.json();
- if (!Array.isArray(data) || data.length === 0) {
- alert('Không có dữ liệu cho mã cổ phiếu này!');
- return;
- }
- processStockData(data);
- } catch (error) {
- alert('Lỗi khi lấy dữ liệu từ server: ' + error);
- }
-}
-
-function processStockData(data) {
- // Chuẩn hóa dữ liệu cho các hàm chỉ báo
- const priceArr = data.map(d => d.price);
- const volumeArr = data.map(d => d.volume);
- // Lấy ngày giao dịch, ưu tiên d.date, fallback d.time, nếu không có thì dùng index
- const dateArr = data.map((d, i) => d.date || d.time || (d.ngay || d.ngay_gd) || (d['Ngày'] || d['ngày']) || (d['date'] || d['time']) || (i+1).toString());
- const pv = calculatePV(priceArr, volumeArr);
- // PV trung bình (window 20)
- const pvAvg = movingAvg(pv, 20);
- const mfi = calculateMFI(data, volumeArr);
- const vsaAnalysis = analyzeVSA(priceArr, volumeArr);
-
- // Nếu tất cả label đều rỗng, dùng index
- const allEmpty = dateArr.every(x => !x || x === '');
- const labels = allEmpty ? priceArr.map((_,i)=> (i+1).toString()) : dateArr;
-
- // Vẽ biểu đồ với trục thời gian là ngày giao dịch hoặc số phiên nếu không có ngày
- chart.renderPriceVolumeChart({labels: labels, values: priceArr}, {labels: labels, values: volumeArr});
- chart.renderPVChart({labels: labels, pvValues: pv, pvAvgValues: pvAvg});
- chart.renderMFIChart({labels: labels, values: mfi});
- displayAnalysisResults(vsaAnalysis, data);
-}
-
-function analyzeVSA(priceArr, volumeArr) {
- // Phân tích VSA cơ bản: breakout, volume spike, điểm mua/bán, cắt lỗ, chốt lời
- if (priceArr.length < 20) return { message: 'Không đủ dữ liệu để phân tích VSA.' };
- const n = priceArr.length;
- // Tìm breakout: giá vượt đỉnh 20 phiên gần nhất kèm volume tăng mạnh
- let breakoutIdx = -1;
- let max20 = -Infinity;
- for (let i = 19; i < n; i++) {
- max20 = Math.max(...priceArr.slice(i-19, i));
- if (priceArr[i] > max20 && volumeArr[i] > 1.5 * avg(volumeArr.slice(i-19, i))) {
- breakoutIdx = i;
- break;
- }
- }
- // Điểm mua: breakout đầu tiên
- let buyPoint = breakoutIdx !== -1 ? priceArr[breakoutIdx] : null;
- let buyIdx = breakoutIdx;
- // Cắt lỗ: 5% dưới điểm mua
- let stopLoss = buyPoint ? +(buyPoint * 0.95).toFixed(2) : null;
- // Chốt lời: 15% trên điểm mua
- let takeProfit = buyPoint ? +(buyPoint * 1.15).toFixed(2) : null;
- // Tìm điểm bán: khi giá giảm thủng MA10 sau breakout
- let sellIdx = null;
- let ma10 = movingAvg(priceArr, 10);
- if (buyIdx !== -1) {
- for (let i = buyIdx + 1; i < n; i++) {
- if (priceArr[i] < ma10[i]) {
- sellIdx = i;
- break;
- }
- }
- }
- let sellPoint = sellIdx !== null ? priceArr[sellIdx] : null;
- // Một số chỉ báo VSA đơn giản
- let volumeSpike = [];
- let avgVol = avg(volumeArr);
- for (let i = 1; i < n; i++) {
- if (volumeArr[i] > 2 * avgVol && priceArr[i] > priceArr[i-1]) {
- volumeSpike.push(i);
- }
- }
- return {
- buyPoint, buyIdx, stopLoss, takeProfit, sellPoint, sellIdx,
- volumeSpike,
- breakoutIdx,
- message: null
- };
-}
-
-function avg(arr) {
- if (!arr.length) return 0;
- return arr.reduce((a, b) => a + b, 0) / arr.length;
-}
-
-function movingAvg(arr, window) {
- let res = [];
- for (let i = 0; i < arr.length; i++) {
- if (i < window - 1) res.push(null);
- else res.push(avg(arr.slice(i - window + 1, i + 1)));
- }
- return res;
-}
-
-function displayAnalysisResults(vsa, dataArr) {
- const el = document.getElementById('analysis-results');
- if (!vsa || vsa.message) {
- el.innerHTML = `