1. Thư viện

1. Lọc cổ phiếu để tạo danh mục

1️⃣ Chuẩn hóa SÀN 2️⃣ Gắn đúng symbol 3️⃣ Lấy giá hiện tại 4️⃣ Tính MA / RSI / Volume 5️⃣ Chấm điểm cổ phiếu 6️⃣ Lọc cổ phiếu tiềm năng

2. Khai báo danh mục

## # A tibble: 8 × 5
##   MaCP  GiaMua SoLuong San   yahoo_symbol
##   <chr>  <dbl>   <dbl> <chr> <chr>       
## 1 SAB     49.8    1000 <NA>  <NA>        
## 2 MSN     76.5     500 HOSE  MSN.VN      
## 3 KBC     35.3     500 HOSE  KBC.VN      
## 4 MBB     27       500 HOSE  MBB.VN      
## 5 STB     62.9    2000 HOSE  STB.VN      
## 6 BSR     22.8     500 HOSE  BSR.VN      
## 7 DPM     26.2     800 HOSE  DPM.VN      
## 8 DDV     30.3     600 HOSE  DDV.VN

3. Hàm tiện ích

3.1. Map sàn cho SSI

3.2. Giá trị bị chặn

4. Lấy giá từ Finance (nguồn 1)

5. Lấy giá từ SSI iBoard (nguồn 2 – fallback)

6. Lấy giá hiện tại (Yahoo → SSI)

## # A tibble: 8 × 7
##   MaCP  GiaMua SoLuong San   yahoo_symbol Gia_Yahoo GiaHienTai
##   <chr>  <dbl>   <dbl> <chr> <chr>            <dbl>      <dbl>
## 1 SAB     49.8    1000 <NA>  <NA>              2.98       2.98
## 2 MSN     76.5     500 HOSE  MSN.VN        80300      80300   
## 3 KBC     35.3     500 HOSE  KBC.VN        35900      35900   
## 4 MBB     27       500 HOSE  MBB.VN        28750      28750   
## 5 STB     62.9    2000 HOSE  STB.VN        66700      66700   
## 6 BSR     22.8     500 HOSE  BSR.VN        29350      29350   
## 7 DPM     26.2     800 HOSE  DPM.VN        26800      26800   
## 8 DDV     30.3     600 HOSE  DDV.VN           NA         NA

7. Tính toán hiệu quả đầu tư

## # A tibble: 8 × 12
##   MaCP  GiaMua SoLuong San   yahoo_symbol Gia_Yahoo GiaHienTai GiaMua_dong
##   <chr>  <dbl>   <dbl> <chr> <chr>            <dbl>      <dbl>       <dbl>
## 1 SAB     49.8    1000 <NA>  <NA>              2.98       2.98       49800
## 2 MSN     76.5     500 HOSE  MSN.VN        80300      80300          76500
## 3 KBC     35.3     500 HOSE  KBC.VN        35900      35900          35300
## 4 MBB     27       500 HOSE  MBB.VN        28750      28750          27000
## 5 STB     62.9    2000 HOSE  STB.VN        66700      66700          62900
## 6 BSR     22.8     500 HOSE  BSR.VN        29350      29350          22800
## 7 DPM     26.2     800 HOSE  DPM.VN        26800      26800          26150
## 8 DDV     30.3     600 HOSE  DDV.VN           NA         NA          30300
## # ℹ 4 more variables: GiaTriMua <dbl>, GiaTriHienTai <dbl>, LaiLo_tien <dbl>,
## #   LaiLo_pct <dbl>
## # A tibble: 8 × 7
##   MaCP  GiaMua SoLuong San   GiaHienTai LaiLo_tien LaiLo_pct
##   <chr>  <dbl>   <dbl> <chr>      <dbl>      <dbl>     <dbl>
## 1 SAB     49.8    1000 <NA>        2.98 -49797015.   -100.  
## 2 MSN     76.5     500 HOSE    80300      1900000       4.97
## 3 KBC     35.3     500 HOSE    35900       300000       1.7 
## 4 MBB     27       500 HOSE    28750       875000       6.48
## 5 STB     62.9    2000 HOSE    66700      7600000       6.04
## 6 BSR     22.8     500 HOSE    29350      3275000      28.7 
## 7 DPM     26.2     800 HOSE    26800       520000       2.49
## 8 DDV     30.3     600 HOSE       NA           NA      NA

8. Hiệu suât danh mục

——————-

9. Tự động cập nhật hàng ngày & Xuất dữ liệu

9.1. Lưu kết quả ra CSV / Excel

9.2. Script chạy tự động hàng ngày (run_portfolio.R)

Tạo file run_portfolio.R cùng thư mục với file Rmd:

rmarkdown::render(
  input = "Portfolio_TheoDoi_Gia_NangCap.Rmd",
  output_format = "html_document"
)

9.3. Thiết lập chạy tự động

Windows (Task Scheduler) 1. Open Task Scheduler 2. Create Basic Task → đặt tên (VD: Update Portfolio) 3. Trigger: Daily (sau giờ đóng cửa, VD 15:30) 4. Action: Start a program - Program: đường dẫn tới Rscript.exe - Arguments: run_portfolio.R - Start in: thư mục project