Metadata-Version: 2.4
Name: vnstock-quant
Version: 0.1.2
Classifier: License :: Other/Proprietary License
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Natural Language :: English
Classifier: Natural Language :: Vietnamese
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Office/Business :: Financial :: Investment
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: numpy>=1.24
Requires-Dist: pandas>=2.0
Requires-Dist: pytest>=8 ; extra == 'test'
Requires-Dist: ta-lib==0.8.1 ; extra == 'test'
Requires-Dist: pta-reload>=1.0.5 ; extra == 'test'
Requires-Dist: empyrical-reloaded>=0.5.12 ; extra == 'test'
Requires-Dist: quantstats>=0.0.86 ; extra == 'test'
Requires-Dist: scipy>=1.11 ; extra == 'test'
Requires-Dist: pyxirr>=0.10 ; extra == 'test'
Requires-Dist: vnstock>=5.0.0a1 ; extra == 'vnstock'
Provides-Extra: test
Provides-Extra: vnstock
License-File: LICENSE
Summary: Quantitative analysis on your own data: technical indicators, financial ratios, risk and performance, portfolios and valuation. Every formula is documented.
Keywords: vnstock,quantitative analysis,technical indicators,financial ratios,risk metrics,portfolio analysis,valuation
Author-email: Thịnh Vũ <support@vnstocks.com>
Maintainer-email: Thịnh Vũ <support@vnstocks.com>
License: Custom (Personal Use)
Requires-Python: >=3.10
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Homepage, https://vnstocks.com
Project-URL: License, https://vnstocks.com/onboard/giay-phep-su-dung

# Vnstock Quant

Tính toán định lượng trên dữ liệu của bạn: chỉ báo kỹ thuật, chỉ số tài chính, đo rủi ro và hiệu suất, danh mục, định giá và mô hình. Công thức nào cũng có trong tài liệu.

Một phần của hệ sinh thái Vnstock.

## Cài đặt

Thư viện được phân phối qua kho gói riêng của Vnstock:

```bash
pip install --extra-index-url https://vnstocks.com/api/packages/simple/ vnstock_quant
pip install --extra-index-url https://vnstocks.com/api/packages/simple/ "vnstock_quant[vnstock]"   # kèm thư viện vnstock để tự tải dữ liệu
```

Python 3.10 trở lên. Bản cài nhị phân (pre-compiled binary wheels) đóng gói sẵn cho từng hệ điều hành.

## Giấy phép

`License: Custom (Personal Use)`

Bản Cộng đồng miễn phí theo giấy phép riêng, chỉ dành cho mục đích cá nhân, học tập và nghiên cứu. Ở các cấp tài trợ, phạm vi tính theo số người dùng, số thiết bị đã đăng ký và hạn mức của cấp. Trong phạm vi đó, bạn được dùng cho công việc của chính mình, kể cả việc có thu nhập.

Hai việc cần thoả thuận riêng bằng văn bản:
- phân phối lại phần mềm;
- làm sản phẩm mà giá trị chính là cho bên thứ ba khả năng truy xuất dữ liệu.

Không dịch ngược phần mềm.

## Tuyên bố miễn trừ trách nhiệm (Financial Disclaimer)

> ⚠️ **Tuyên bố miễn trừ trách nhiệm (Disclaimer):**
> Các công cụ, chỉ báo và mô hình tính toán trong `vnstock_quant` được cung cấp cho mục đích học tập, nghiên cứu và phân tích định lượng độc lập trên môi trường cá nhân của người dùng. Mọi kết quả tính toán là đầu ra mô hình dựa trên các giả định và dữ liệu do người dùng tự cung cấp, không cấu thành khuyến nghị đầu tư, tư vấn tài chính hay lời mời chào mua bán chứng khoán. Dự án Vnstock không chịu trách nhiệm cho bất kỳ tổn thất tài chính nào phát sinh từ việc sử dụng các kết quả tính toán này. Người dùng tự chịu trách nhiệm với quyết định của mình và cần chủ động đối chiếu, kiểm chứng bằng kiến thức tài chính cá nhân.

## Vnstock Quant là gì, không là gì

| Là | Không là |
|---|---|
| Thư viện tính toán chạy trên máy của bạn, nhận dữ liệu dạng `pandas` | Nguồn dữ liệu. Dữ liệu do bạn tự truy xuất, qua thư viện `vnstock` hoặc nguồn bạn chọn |
| Công thức công bố, có tham số rõ ràng, kiểm chứng với thư viện chuẩn và ví dụ giải sẵn đã công bố | Không đưa tín hiệu, không đưa khuyến nghị đầu tư |
| Cùng một cách gọi cho người dùng Python và trợ lý AI | Không đặt lệnh, không kết nối tài khoản giao dịch |


## Dùng nhanh

```python
import numpy as np
import pandas as pd
from vnstock_quant import Indicator, risk, portfolio as pm

# 1. Chỉ báo kỹ thuật (TA)
# Bảng giá có các cột open, high, low, close, volume (không phân biệt hoa/thường) và cột time,
# như bảng giá lịch sử của vnstock. Ở đây tạo một bảng giả để chạy được ngay.
close = 25_000 * np.cumprod(1 + np.random.default_rng(1).normal(0, 0.01, 120))
df = pd.DataFrame({"time": pd.bdate_range("2024-01-02", periods=120), "open": close, "high": close * 1.01,
                   "low": close * 0.99, "close": close, "volume": 1_000_000})
ta = Indicator(df)
df["rsi"] = ta.rsi(length=14)                 # kết quả giữ chỉ mục của df, gán thẳng vào bảng được
ta.rsi(length=14)
ta.macd()

# 2. Rủi ro & Hiệu suất (Risk)
idx = pd.bdate_range("2024-01-02", periods=250)
r = pd.Series(np.random.default_rng(0).normal(0.0005, 0.015, 250), index=idx)

risk.sharpe_ratio(r, rf=0.03)
risk.var(r, level=0.99)                       # VaR lịch sử một ngày, giá trị dương

# 3. Quản lý danh mục (Portfolio)
values = pd.Series([100e6, 112e6, 150e6], index=pd.to_datetime(["2024-01-02", "2024-06-03", "2025-01-02"]))
pm.twr(values, pd.Series([30e6], index=[pd.Timestamp("2024-06-03")]))   # lợi suất bỏ ảnh hưởng nạp rút
```

| Mô-đun | Nội dung | Cấp |
|---|---|---|
| `vnstock_quant.ta` | 58 chỉ báo kỹ thuật, tương thích `vnstock_ta` 1.x; 10 chỉ báo cơ bản (SMA, EMA, RSI, MACD, Stochastic, Bollinger, ATR, OBV, VWAP, điểm xoay) mở cho mọi cấp | Cộng đồng / Silver |
| `vnstock_quant.fa` | 99 chỉ số tự tính từ báo cáo tài chính; 10 chỉ số cơ bản (P/E, P/B, EPS, BVPS, ROE, ROA, biên gộp, biên ròng, nợ trên vốn chủ, thanh toán hiện hành) mở cho mọi cấp | Cộng đồng / Bronze |
| `vnstock_quant.risk` | 33 thước đo rủi ro và hiệu suất, độ kém thanh khoản Amihud | Bronze |
| `vnstock_quant.portfolio` | Lợi suất tài khoản có nạp rút, tái cân bằng sau chi phí, rủi ro danh mục, xây dựng danh mục chỉ mua, quỹ mở | Bronze |
| `vnstock_quant.valuation` | Chiết khấu cổ tức, r và g ngầm định, P/E hợp lý | Bronze |

Các con số ứng với `vnstock_quant` 0.1.0, đếm ngày 08/10/2026 (`vnstock_quant.build_info()`). `vnstock_quant.entitlement()` cho biết cấp hiện tại. Phép tính chạy trên máy; quyền được kiểm tra khi gọi hàm. Bản Cộng đồng có 30 phép tính mỗi ngày, chỉ báo và chỉ số cộng chung, làm mới lúc 00:00 giờ Việt Nam; mỗi lần tải dữ liệu trực tiếp tối đa 3 mã. Các cấp tài trợ không bị đếm lượt tính.

## Tài liệu

- Hướng dẫn sử dụng: [docs/huong-dan](docs/huong-dan/README.md).
- Trong Python: `help(...)` và các hàm `catalog()` cho biết cách tính, tham số và chuẩn tham chiếu của từng hàm.

—
Vnstock là hệ sinh thái tự động hoá cá nhân trong nghiên cứu đầu tư, chạy trên máy của bạn: kết nối dữ liệu từ nguồn bạn có quyền dùng, tính toán định lượng minh bạch công thức, và tự động hoá quy trình phân tích. Vnstock cấp quyền dùng phần mềm, không bán dữ liệu; dữ liệu có sẵn và chính xác tới đâu là do nguồn. Mọi nội dung phục vụ nghiên cứu và học tập cá nhân, không cấu thành khuyến nghị đầu tư. Tài liệu: [vnstocks.com](https://vnstocks.com) · GitHub: [github.com/vnstock-hq](https://github.com/vnstock-hq)


