A package to collect and backtest the trading strategy on Vietnam stocks market
Project description
Thư viện thu thập dữ liệu và backtest chiến lược đầu tư
dữ liệu dựa trên thị trường chứng khoán Việt Nam
I. GIỚI THIỆU TỔNG QUAN
Dự án được thực hiện gồm 2 phần chính
-
Phần một là thu thập dữ liệu về giá cổ phiếu và các thông tin vi mô của doanh nghiệp
-
Phần hai là xây dựng hệ thống kiểm thử cho chiến lược cụ thể dựa trên lịch sử giao dịch của cổ phiếu đó
II. NỘI DUNG CHÍNH CỦA DỰ ÁN
Phần 1: Thu thập dữ liệu
1.1 Thu thập dữ liệu về danh sách cổ phiếu niêm yết
Để thu thập dữ liệu về danh sách cổ phiếu theo sàn, chúng ta có thể sử dụng câu lệnh
list_cp()
Output
Symbol TradeCenterId CompanyName CategoryName
0 AAA HOSE Công ty Cổ phần Nhựa An Phát Xanh Nguyên vật liệu
1 AAM HOSE Công ty Cổ phần Thủy sản Mekong Nông nghiệp
2 AAT HOSE Công ty Cổ phần Tập đoàn Tiên Sơn Thanh Hóa Hàng tiêu dùng
3 ABR HOSE Công ty Cổ phần Đầu tư Nhãn hiệu Việt Hàng tiêu dùng
4 ABS HOSE Công ty cổ phần Dịch vụ Nông nghiệp Bình Thuận Nông nghiệp
.. ... ... ... ...
388 VSI HOSE Công ty Cổ phần Đầu tư và Xây dựng Cấp thoát nước Dịch vụ
389 VTB HOSE Công ty Cổ phần Viettronics Tân Bình Hàng tiêu dùng
390 VTO HOSE Công ty Cổ phần Vận tải Xăng dầu VITACO Năng lượng
391 YBM HOSE Công ty Cổ phần Khoáng sản Công nghiệp Yên Bái Nguyên vật liệu
392 YEG HOSE Công ty Cổ phần Tập đoàn Yeah1 Dịch vụ
1.2 Thu thập dữ liệu về lịch sử giao dịch của cổ phiếu
Để thu thập dữ liệu về thông tin giao dịch của từng cổ phiếu, chúng ta có thể sử dụng câu lệnh
price(cp = 'VCB',start_date='2000-01-01',end_date='2024-01-01')
Trong đó:
`cp (str)`: Mã cổ phiếu niêm yết
`start_date (str)`: Ngày bắt đầu trong khoảng thời gian cần lấy thông tin giao dịch
`end_date (str)`: Ngày kết thúc trong khoảng thời gian cần lấy thông tin giao dịch
Output
date symbol priceHigh priceLow priceOpen priceAverage priceClose ... sellQuantity adjRatio currentForeignRoom propTradingNetDealValue propTradingNetPTValue propTradingNetValue unit
2009-06-30 2009-06-30 VCB 13.753204 13.753204 13.753204 13.753204 13.753204 ... 294070.0 4.36262 82612532.0 NaN NaN NaN 1000.0
2009-07-01 2009-07-01 VCB 14.440864 13.638594 14.440864 13.867814 13.867814 ... 9434870.0 4.36262 82441852.0 NaN NaN NaN 1000.0
2009-07-02 2009-07-02 VCB 13.753204 13.180154 13.638594 13.294764 13.294764 ... 4349330.0 4.36262 82445952.0 NaN NaN NaN 1000.0
2009-07-03 2009-07-03 VCB 13.065544 12.836324 12.950934 12.836324 12.836324 ... 1707030.0 4.36262 82445952.0 NaN NaN NaN 1000.0
2009-07-06 2009-07-06 VCB 13.409374 12.836324 12.836324 13.409374 13.409374 ... 1761890.0 4.36262 82445952.0 NaN NaN NaN 1000.0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
2023-12-25 2023-12-25 VCB 81.800000 80.700000 80.900000 81.450000 81.800000 ... 1981465.0 1.00000 368592029.0 1.255251e+10 0.000000e+00 1.255251e+10 1000.0
2023-12-26 2023-12-26 VCB 82.800000 82.000000 82.000000 82.468081 82.800000 ... 2064601.0 1.00000 369568282.0 -5.857600e+09 0.000000e+00 -5.857600e+09 1000.0
2023-12-27 2023-12-27 VCB 83.200000 82.500000 82.900000 82.947677 82.700000 ... 2154248.0 1.00000 370241676.0 7.025160e+09 0.000000e+00 7.025160e+09 1000.0
2023-12-28 2023-12-28 VCB 83.100000 82.400000 82.700000 82.759912 82.800000 ... 1481457.0 1.00000 370338290.0 8.650900e+08 1.010160e+10 1.096669e+10 1000.0
2023-12-29 2023-12-29 VCB 83.900000 80.300000 83.500000 83.109435 80.300000 ... 3755033.0 1.00000 369747626.0 -1.127470e+10 1.102055e+10 -2.541490e+08 1000.0
1.3 Thu thập dữ liệu về báo cáo tài chính
Để thu thập dữ liệu về báo cáo tài chính của từng cổ phiếu, chúng ta có thể sử dụng câu lệnh
bctc('VHM',type=1,year=2023,quarter=4)
Trong đó:
`cp (str)`: Mã cổ phiếu niêm yết
`type (int)`: Loại báo cáo trong báo cáo tài chính cần lấy
type = 1: Bảng cân đối kế toán
type = 2: Báo cáo kết quả hoạt động kinh doanh
type = 3: Báo cáo lưu chuyển tiền tệ trực tiếp (Đa số các doanh nghiệp bị trống dữ liệu về báo cáo lưu chuyển tiền tệ trực tiếp, trừ nhóm ngành ngân hàng)
type = 4: Báo cáo lưu chuyển tiền tệ gián tiếp
`year (int)`: Năm cuối cùng trong danh sách báo cáo tài chính cần lấy
`quarter (int)`: Quý của báo cáo tài chính cần lấy
quarter = 0: Sẽ lấy báo cáo tài chính theo năm của doanh nghiệp
quarter = 1-4: Sẽ lấy báo cáo tài chính theo quý của năm tương ứng với parameter `year`
Output
TÀI SẢN A. Tài sản lưu động và đầu tư ngắn hạn I. Tiền và các khoản tương đương tiền 1. Tiền ... 2. Nguồn kinh phí đã hình thành tài sản cố định 3. Quỹ dự phòng trợ cấp mất việc làm TỔNG CỘNG NGUỒN VỐN Symbol
2016-4 0 16491882437206.0 2802422910160.0 941467410160.0 ... 0.0 0.0 37520745782451.0 VHM
2017-4 0 44421050167080.0 1561577770818.0 818341400251.0 ... 0 0 51303819026055.0 VHM
2018-1 0 63034145841192.0 2062432049868.0 1493612044556.0 ... 0.0 0.0 94692754719784.0 VHM
2018-2 0 79522351482962.0 4718599887522.0 1056804069839.0 ... 0.0 0.0 117412841677162.0 VHM
2018-3 0 107648617911024.0 5928624411953.0 2042456531699.0 ... 0.0 0.0 138194633048678.0 VHM
2018-4 0 80465682928899.0 3515572453074.0 2695395180367.0 ... 0.0 0.0 117807670734368.0 VHM
2019-1 0 96614245780097.0 2387016056828.0 1381145632230.0 ... 0.0 0.0 128472112295867.0 VHM
2019-2 0 103263325121450.0 14035726372516.0 6738642779317.0 ... 0.0 0.0 138935344916434.0 VHM
2019-3 0 112763374085401.0 9038091555930.0 5541055127966.0 ... 0.0 0.0 161661530824145.0 VHM
2019-4 0 133821706000000.0 7231388000000.0 2828216000000.0 ... 0.0 0.0 197170133000000.0 VHM
2020-1 0 141421460000000.0 4439856000000.0 993105000000.0 ... 0.0 0.0 203007149000000.0 VHM
2020-2 0 141342852000000.0 11859527000000.0 2458360000000.0 ... 0.0 0.0 224789551000000.0 VHM
2020-3 0 141229902000000.0 13547878000000.0 4779171000000.0 ... 0.0 0.0 220509139000000.0 VHM
2020-4 0 102010303000000.0 12479392000000.0 4143874000000.0 ... 0.0 0.0 214937493000000.0 VHM
2021-1 0 94043347000000.0 7746445000000.0 3309282000000.0 ... 0.0 0.0 207714674000000.0 VHM
2021-2 0 101733721000000.0 8417973000000.0 2363795000000.0 ... 0.0 0.0 210849493000000.0 VHM
2021-3 0 102471473000000.0 4504657000000.0 2633827000000.0 ... 0.0 0.0 219638744000000.0 VHM
2021-4 0 91216562000000.0 4823696000000.0 589818000000.0 ... 0.0 0.0 230417689000000.0 VHM
2022-1 0 94888743000000.0 5628313000000.0 2553086000000.0 ... 0.0 0.0 233962584000000.0 VHM
2022-2 0 181594498000000.0 29813549000000.0 3546896000000.0 ... 0.0 0.0 319105330000000.0 VHM
2022-3 0 179330798000000.0 14743348000000.0 2518249000000.0 ... 0.0 0.0 341601215000000.0 VHM
2022-4 0 185196368000000.0 10812720000000.0 1844898000000.0 ... 0.0 0.0 361203698000000.0 VHM
2023-1 0 205327661000000.0 1889644000000.0 1642692000000.0 ... 0.0 0.0 377621667000000.0 VHM
2023-2 0 190310276000000.0 5105284000000.0 3829067000000.0 ... 0.0 0.0 391330538000000.0 VHM
2023-3 0 215057869000000.0 2909914000000.0 2482981000000.0 ... 0.0 0.0 417039474000000.0 VHM
2023-4 0 240250006000000.0 14104131000000.0 13124281000000.0 ... 0.0 0.0 447360776000000.0 VHM
1.3 Thu thập dữ liệu về lịch sử chi trả cổ tức
Để thu thập dữ liệu về lịch sử chi trả cổ tức của của từng cổ phiếu, chúng ta có thể sử dụng câu lệnh
dividends_historical(cp='VIC',num=20)
Trong đó:
`cp (str)`: Mã cổ phiếu niêm yết
`num (int)`: Số năm lấy dữ liệu chi trả cổ tức, tính ngược từ thời điểm hiện tại
Output
year cashDividend stockDividend totalAssets stockHolderEquity
0 2005 0.0 0.000000 4.891457e+11 3.137832e+11
1 2006 0.0 0.000000 6.744084e+11 5.945214e+11
2 2007 0.0 0.000000 3.179824e+12 1.933137e+12
3 2008 0.0 0.000000 6.021566e+12 1.622503e+12
4 2009 500.0 0.000000 1.431337e+13 3.635735e+12
5 2010 0.0 60.100000 2.614685e+13 9.553640e+12
6 2011 5880.0 0.000000 3.551264e+13 8.252177e+12
7 2012 0.0 27.500000 5.582488e+13 1.087363e+13
8 2013 0.0 32.500000 7.577265e+13 1.861654e+13
9 2014 2149.0 48.700000 9.048531e+13 2.728463e+13
10 2015 0.0 25.800000 1.454947e+14 3.757684e+13
11 2016 0.0 33.500000 1.804508e+14 4.526639e+13
12 2017 0.0 0.000000 2.137921e+14 5.255701e+13
13 2018 0.0 21.000000 2.879742e+14 9.901371e+13
14 2019 0.0 0.000000 4.037408e+14 1.205886e+14
15 2020 0.0 0.000000 4.225038e+14 1.358527e+14
16 2021 0.0 12.499993 4.283845e+14 1.595719e+14
17 2022 0.0 0.000000 5.774072e+14 1.356554e+14
18 2023 0.0 0.000000 6.696171e+14 1.480216e+14
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file datavns-0.0.4.tar.gz.
File metadata
- Download URL: datavns-0.0.4.tar.gz
- Upload date:
- Size: 14.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
992613019f8d9aa80ee57b0a012b884cc054ad38bbac0e5ebaf290c9df7261c6
|
|
| MD5 |
7ec7988f302e46f5ba3d431e54a37849
|
|
| BLAKE2b-256 |
44dbed945b475df6935480f39815ac0414db8298d9ad3b7b70e07b55a3cf290a
|
File details
Details for the file datavns-0.0.4-py3-none-any.whl.
File metadata
- Download URL: datavns-0.0.4-py3-none-any.whl
- Upload date:
- Size: 12.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59313892bd7463868e54ca00da216d9bf8883af641208f7f862d46ff6db853b5
|
|
| MD5 |
f388cf8fa235ebb7533cc0e1270dae5e
|
|
| BLAKE2b-256 |
7e178322b185acbc9a80c90e812f31d9bc595de79cc607cd64802180180a93ff
|