Enjoy the Joy of Christmas: With R

Noel

Câu lệnh R:

# Christmas tree

L <- matrix( c(0.03, 0, 0 , 0.1, 0.85, 0.00, 0.00, 0.85, 0.8, 0.00, 0.00, 0.8, 0.2, -0.08, 0.15, 0.22, -0.2, 0.08, 0.15, 0.22, 0.25, -0.1, 0.12, 0.25, -0.2, 0.1, 0.12, 0.2), nrow=4)

B <- matrix( c(0, 0, 0, 1.5, 0, 1.5, 0, 0.85, 0, 0.85, 0, 0.3, 0, 0.4), nrow=2)

prob = c(0.02, 0.6,.08, 0.07, 0.07, 0.07, 0.07)

# Iterate the discrete stochastic map
N = 1e5  #   number of iterations
x = matrix(NA,nrow=2,ncol=N)
x[,1] = c(0,2)   # initial point
k <- sample(1:7,N,prob,replace=TRUE) # values 1-7

for (i in 2:N) x[,i] = crossprod(matrix(L[,k[i]],nrow=2),x[,i-1]) + B[,k[i]] # iterate

par(bg=’darkblue’,mar=rep(0,4))

plot(x=x[1,],y=x[2,], col=grep(‘green’,colors(),value=TRUE), axes=FALSE, cex=.1, xlab=”, ylab=” )

bals <- sample(N,20)

points(x=x[1,bals],y=x[2,bals]-.1, col=c(‘red’,’blue’,’yellow’,’orange’), cex=2, pch=19 )

text(x=-.7,y=8, labels=’Merry’, adj=c(.5,.5), srt=45, vfont=c(‘script’,’plain’), cex=3, col=’gold’ )

text(x=0.7,y=8, labels=’Christmas’, adj=c(.5,.5), srt=-45, vfont=c(‘script’,’plain’), cex=3, col=’gold’ )

text(x=0,y=0, labels=’Viet Nam 2015′, adj=c(.5,.5), srt=0, vfont=c(‘script’,’plain’), cex=3, col=’red’ )

Nguồn: http://www.r-bloggers.com/merry-christmas-5/

——————-&&——————-

Khám phá sự thú vị của copula với gói lệnh R-copula trên TTCK Việt Nam

Khám phá sự thú vị của copula với gói lệnh R-copula  trên TTCK Việt Nam[1]

 Lê Văn Tuấn

Đại học Thương mại

Tóm tắt. Trong bài viết này, chúng tôi sẽ sử dụng gói lệch copula của phần mềm R để thực hành việc ứng dụng copula trên thị trường chứng khoán Việt Nam. Mục tiêu của bài viết là xây dựng phân bố đồng thời (qua copula) của lợi suất của danh mục cổ phiếu. Quá trình xây dựng bao gồm đầy đủ các vấn đề suy diễn thống kê cho copula: kiểm định sự độc lập, kiểm định goodness-of-fit, ước lượng tham số, sinh số ngẫu nhiên và vẽ hình minh họa 3d. Kết quả thực nghiệm cho thấy, các cổ phiếu trên TTCK Việt Nam là phụ thuộc theo copula – kết luận này gần như hiển nhiên; tuy nhiên, với các bộ cổ phiếu khác nhau có thể cho các copula khác nhau. Ngoài ra, kết quả thực nghiệm qua copula còn cho thấy các chỉ số đại diện cho TTCK Việt Nam và Mỹ là độc lập.

Download: r-copula

[1] Tên bài viết phỏng theo tên 2 bài báo: The Joy of Copulas Bivariate Distributions with Uniform MarginalsEnjoy the Joy of Copulas With a Package copula

  1. TỔNG QUAN

Ứng dụng của copula.

Lí thuyết copula là một công cụ hữu hiệu để xây dựng hàm phân phối đồng thời từ các phân phối biên duyên và để mô tả sự phụ thuộc giữa các biến ngẫu nhiên. Nelsen (1999) là cuốn tài liệu kinh điển giới thiệu chi tiết các khái niệm, kiến thức toán học nền tảng của lí thuyết copula. Bên cạnh đó, Cherubini, et al. (2004) và McNeil, et al. (2005) cũng có thể xem là các cuốn từ điển về lý thuyết copula, ngoài các khái niệm toán học, hai cuốn sách này cũng cung cấp một số công cụ thống kê (chưa bao gồm lí thuyết về kiểm định) và rất nhiều ứng dụng của copula trong tài chính. Lí thuyết kiểm định goodness-of-fit của copula được tổng hợp trong Genest, et al. (2007); kết quả đầu tiên là Wang-Wells (2000) – chỉ cho copula Archimedean.  Cho đến hiện tại, lý thuyết copula vẫn còn rất nhiều bài toán mở đặc biệt là trong trường hợp nhiều chiều.

Từ cuối những năm 90 của thế kỉ trước, giới khoa học chứng kiến một sự “đổ bộ như vũ bão” của copula trong tài chính, ở cả khía cạnh học thuật, ứng dụng và thực hành.

Ứng dụng đầu tiên trong tài chính của copula là quản trị rủi ro. Nghiên cứu được xem là tiên phong trong lĩnh vực này là Embrechts, et al. (2002) (được giới thiệu ở dạng tiền xuất bản năm 1999), trong tài liệu này, các tác giả đã trình bày chi tiết ứng dụng của copula để mô tả sự phụ thuộc của các đại lượng ngẫu nhiên cũng như chỉ ra một số sai lầm khi áp dụng hệ số tương quan trong quản trị rủi ro. Embrechts-Puccetti (2006) ứng dụng copula xây dựng chặn cho hàm các thước đo rủi ro ở trong một lớp và giữa các lớp rủi ro (rủi ro thị trường, rủi ro tín dụng, rủi ro hoạt động, …). Cherubini-Luciano (2000) ước lượng giá trị VaR cho danh mục với copula không điều kiện; Palaro-Hotta (2006) ước lượng giá trị VaR cho danh mục với copula điều kiện.

Ứng dụng thứ hai của copula trong tài chính là định giá các công cụ phái sinh: quyền chọn (option) và phái sinh tín dụng (credit derivative – những hợp đồng cho phép chuyển nhượng rủi ro tín dùng từ một đối tượng này sang đối tượng khác trên thị trường tài chính). Lí thuyết và thực hành ứng dụng copula trong định giá phái sinh được trình bày chi tiết trong Cherubini, et al. (2004). Công trình nổi tiếng nhất trong lĩnh vực này là Li (2001); trong đó, tác giả đã cải tiến mô hình rủi ro tín dụng trong định giá nợ công ti và đề xuất copula Gaussian để xây dựng phân phối đồng thời của danh mục rủi ro tín dụng. Trong mô hình của Li, các phân phối biên duyên (thời gian phá sản) là phân phối mũ 1 chiều, vấn đề ở đây là không tồn tại phân phối mũ nhiều chiều. Công trình của Li đã trở nên rất nổi tiếng ngay sau đó và được hàng loạt các định chế tài chính trên toàn thế giới áp dụng để định giá nghĩa vụ nợ có thế chấp (CDO – collateralized debt obligation). Tuy nhiên, cuộc khủng hoảng nợ thế chấp dưới chuẩn bắt đầu từ năm 2007 tại Mỹ đã biến Li từ một người anh hùng trở thành tội đồ, phương trình copula được gọi là công thức đã giết chết phố Wall, copula Gaussian được gọi là phát minh tồi tệ nhất trong quản trị rủi ro tín dụng. Cần nhấn mạnh rằng, mặc dù bị nhiều chỉ trích nhưng copula vẫn là công cụ phổ biến trong định giá phái sinh trên thế giới, giá trị của nó trong thực tế vẫn là vấn đề đang tranh cãi.

Ứng dụng thứ ba của copula trong tài chính là tối ưu hóa danh mục đầu tư. Patton (2004) xem xét cho danh mục gồm 2 tài sản. Garci-Tsafack (2007) xem xét cho danh mục gồm 4 tài sản: 2 cổ phiếu và 2 trái phiếu trong 2 nước.

Ứng dụng thứ tư của copula trong tài chính là nghiên cứu sự “lây lan” (contagion) giữa các thị trường tài chính. Rodriguez (2007) là công trình đầu tiên nghiên cứu sự lan truyền giữa các thị trường tài chính bằng công cụ copula, trong công trình này, tác giả đã sử dụng mô hình Markov switching copula.

Ngoài 4 lĩnh vực ứng dụng chính, còn nhiều công trình khác trình bày những ứng dụng riêng lẻ của copula trong tài chính, xem trong Patton (2006).

Ở góc độ “sư phạm”, Genest-Favre (2007) là tài liệu rất nên đọc khi tìm hiểu về lí thuyết copula. Trong tài liệu này, các tác giả đã sử dụng bộ dữ liệu gồm 6 số để minh họa cho việc xây dựng copula.

Ở góc độ thực hành tính toán, nhiều phần mềm cung cấp gói lệnh hỗ trợ copula như: Matlab, R, SAS, EViews, Maple, Mathematica, …  Tài liệu hướng dẫn của phần mềm R có thể xem trong Kojadinovic-Yan (2010) và Yan (2007).

Nền tảng toán học – copula là gì.

Lí thuyết copula được xem  là bắt nguồn từ định lí Sklar (1959): Cho X1, …, Xd là các b.n.n với các hàm phân phối liên tục F1, …, Fd và hàm phân phối đồng thời H. Khi đó tồn tại duy nhất một hàm C: [0, 1]d vào [0, 1] sao cho

Sklar

Hàm C ở trên được gọi là copula, được hiểu một cách đơn giản là hàm phân phối nhiều chiều với các hàm biên duyên là các phân phối đều chuẩn tắc.

Từ định lí Sklar ta thấy, phần phụ thuộc giữa các biến ngẫu nhiên được xác định bởi một copula, và có thể tách rời nó ra khỏi phần các biên duyên. (Hai phần này kết hợp lại với nhau thì cho phân phối đồng thời H). Vì vậy, copula còn được gọi là hàm (cấu trúc) của sự phụ thuộc.

Các họ copula nhiều chiều được R (gói lệnh copula) hỗ trợ là: Clayton, Gumbel-Hougaard, Frank, Plackett (thuộc họ Archimedean); và normal (copula Gaussian), t-copula (thuộc họ elliptical).

Mệnh đề đảo của định lí Sklar: Với bất kỳ copula C và Y1, …, Yd là các b.n.n với các hàm phân phối liên tục F1, …, Fd, công thức (1) định nghĩa một hàm phân phối d chiều H với các hàm biên duyên F1, …, Fd.

Mệnh đề đảo cho phép xây dựng hàm phân phối d chiều H từ các hàm biên duyên. Lưu ý rằng H không phải là hàm phân phối đồng thời “TRUE” của Y1, …, Yd; nhưng H có biên duyên trùng với các phân phối của Y1, …, Yd.

Mệnh đề đảo cho thấy đặc tính “mềm dẻo” của copula: để xây dựng H, ta không cần Y1, …, Yd phải cùng phân phối và cũng không cần có ràng buộc với C.

Một ưu điểm nữa của copula là tính bất biến: copula không đổi nếu ta chuyển dịch Y1, …, Yd dưới các ánh xạ tăng ngặt. Đặc tính này cho phép ta có thể xây dựng copula trực tiếp từ mẫu hoặc từ rank của mẫu; hơn nữa, nếu ta chuyển từ mô hình các lợi suất % của danh mục các tài sản tài chính sang mô hình lợi suất loga, thì copula cũng không đổi.

 Các suy diễn thống kê được thực hiện trên các giả quan sát và copula thực nghiệm.

Cho (X11,…, X1d), …, (X n1,…, Xnd) là n quan sát d chiều, kí hiệu Ri= (Ri1,…, Rid) với Rij là thứ hạng (rank) của Xij trong X1j,…, Xnj.

Giả quan sát (pseudo-observations): pseudo-observations

hệ số 1/(n+1) nhằm tránh những vấn đề nảy sinh tại biên.

Copula thực nghiệm (empirical copula) của mẫu được xác định là

empirical copula

(với 1(A) là hàm chỉ báo (indicator function) của tập A).

Thực hành trên thị trường chứng khoán Việt Nam.

Việc xây dựng phân bố nhiều chiều (thông qua copula) từ dữ liệu (mẫu quan sát nhiều chiều) thường được chia làm 2 bước:

Bước 1. Xây dựng các hàm phân phối biên duyên

Bước 2. Xây dựng hàm copula phù hợp

Ở mỗi bước, ta có thể sử sử dụng bất kì kỹ thuật nào trong thống kê: thống kê tham số, phi tham số, nửa-tham số hay thống kê Bayesian.

Bước 1 thuần túy là thống kê 1 chiều; Bước 2 gồm 2 vấn đề chính: Ước lượng tham số và kiểm định sự phù hợp của mô hình (goodness-of-fit). Tuy nhiên, 99.9%  các ứng dụng của copula đều bỏ qua bước kiểm định goodness-of-fit (xem Embrechts (2009)).

Trong những phần sau, ta sẽ xây dựng copula và phân phối đồng thời của danh mục cổ phiếu (VCB, FPT, HAG) trên sàn HOSE, dữ liệu là ma trận giả quan sát lưu trong biến pseudoReturns (xem phần phụ lục cách tạo biến này).

Tương tự, ta cũng thực hiện kiểm định sự độc lập (qua copula) của TTCK Việt Nam và Mỹ dựa trên hai chỉ số đại diện là chỉ số công nghiệp Dow Jones (DJI) và chỉ số của sàn chứng khoán Hà Nội (HNX).

 —————–&&—————-

Bài giảng: Phương pháp phân tích dữ liệu với ngôn ngữ R – GS. Nguyễn Văn Tuấn

Bài giảng: Phương pháp phân tích dữ liệu với ngôn ngữ R – GS. Nguyễn Văn Tuấn

Loạt bài giảng không chỉ hướng dẫn cách sử dụng R mà còn trình bày rất cô đọng các kiến thức trong Thống kê và Kinh tế lượng.

Link: https://www.youtube.com/user/drnguyenvtuan/videos

Danh sách bài giảng 
Bài giảng
Nội dung
Địa chỉ
1
Giới thiệu R
2
Giao diện và tương tác
3
Cách đọc ASCII file
4
Cách đọc Excel file
5
Biên tập dữ liệu (1)
6
Biên tập dữ liệu (2)
7
Biên tập dữ liệu (3)
8
Phân tích mô tả biến liên tục
9
Phân tích mô tả biến phân nhóm
10
T-test (1)
11
T-test (2)
12
Kiểm định phân bố chuẩn
13
Kiểm định Wilocoxon
14
Phương pháp kiểm định hoán vị
15
Kiểm định 2 biến nhị phân
16
Thông số trong biểu đồ
17
Biểu đồ hộp (box plot)
18
Biểu đồ sai số chuẩn
19
Biểu đồ thanh và phân bố
20
Biểu đồ tương quan đa biến
21
Tỉ số nguy cơ (risk ratio)
22
Tỉ số odss (odds ratio)
23
Giới thiệu phân tích phương sai (ANOVA)
24
Phân tích hậu định (posthoc analysis)
25
Phân tích phương sai phi tham số
26
Mô hình tuyến tính cho phân tích phương sai
27
Giới thiệu phương pháp kiểm định Ki bình phương
28
Kiểm định Ki bình thương (Chi square)
29
Hệ số tương quan
30
Hồi qui tuyến tính: giới thiệu
31
Hồi qui tuyến tính: phân tích phương sai
32
Phân tích dao động dư
33
Giới thiệu mô hình hồi qui tuyến tính đa biến https://www.youtube.com/watch?v=Uxh7tdg42UQ&list=UU21dOPe-YHO3Gw6BRbyeotQ
34
Hồi qui tuyến tính đa biến (ước tính) http://www.youtube.com/watch?v=yRj1-J7ZH5Y&list=UU21dOPe-YHO3Gw6BRbyeotQ
35
Ảnh hưởng tương tác trong mô hình hồi qui tuyến tính https://www.youtube.com/watch?v=i3e2zWKQGAE&list=UU21dOPe-YHO3Gw6BRbyeotQ
36
Vấn đề đa cộng tuyến (multicollinearity) https://www.youtube.com/watch?v=sjI94HvBfaY&list=UU21dOPe-YHO3Gw6BRbyeotQ
37
Đánh giá tầm quan trọng trong mô hình hồi qui tuyến tính https://www.youtube.com/watch?v=HsU3cDpQJko&list=UU21dOPe-YHO3Gw6BRbyeotQ
38
Chọn mô hình (model selection) trong phân tích hồi qui tuyến tính đa biến https://www.youtube.com/watch?v=Q40TFF2Opuc&list=UU21dOPe-YHO3Gw6BRbyeotQ
39
Chọn mô hình hồi qui tuyến tính bằng phương pháp Bayes https://www.youtube.com/watch?v=eVp0oyKxtrI&index=3&list=UU21dOPe-YHO3Gw6BRbyeotQ
40 Giới thiệu mô hình hồi qui logistic 1: Odds ratio https://www.youtube.com/watch?v=AJCmccF3faY&list=UU21dOPe-YHO3Gw6BRbyeotQ
41 Mô hình hồi qui logistic https://www.youtube.com/watch?v=0yILsvQZ0Uw&index=4&list=UU21dOPe-YHO3Gw6BRbyeotQ
42 Diễn giải kết quả phân tích hồi qui logistic https://www.youtube.com/watch?v=FcxY-Cheb6Y&index=2&list=UU21dOPe-YHO3Gw6BRbyeotQ
43 Đánh giá mô hình hồi qui logistic https://www.youtube.com/watch?v=q5M5N66QFBk&list=UU21dOPe-YHO3Gw6BRbyeotQ
44 Các “thước đo” mô hình hồi qui logistic https://www.youtube.com/watch?v=6rTAIAM-Vzw
45 Mô hình hồi qui logistic đa biến https://www.youtube.com/watch?v=I9JD2fDbcHY&list=UU21dOPe-YHO3Gw6BRbyeotQ

————-&&————

ỨNG DỤNG PHẦN MỀM R TRONG PHÂN TÍCH CỔ PHIẾU

R là một phần mềm mã nguồn mở sử dụng cho phân tích thống kê và đồ thị, bạn có thể download miễn phí từ trang chủ r-project.org. Phần lớn các kỹ thuật phân tích trong kinh doanh đều được R hỗ trợ – từ thống kê đến học máy hay các kỹ thuật tối ưu hóa. Bằng chứng cho sức mạnh của R đó là những giải thưởng và sự tán dương từ những tạp chí hay cộng đồng uy tín trên thế giới như New York Times, Forbes, Intelligent Enterprise, InfoWorld và The Register. Có thể xem R là một ngôn ngữ bậc cao được thiết kế cho quant – những chuyên gia trong lĩnh vực phân tích tài chính. Trong bài viết này, chúng tôi sẽ trình bày một số ứng dụng của R trong phân tích cổ phiếu, bao gồm các chỉ số thống kê, độ biến động Volatility, thước đo rủi ro Value at Risk và hệ số beta.

download: Ung dung phan mem R trong phan tich co phieu

Lê Văn Tuấn  – Phùng Duy Quang

————–&&—————

Hướng dẫn sử dụng R

Tài liệu ngắn dưới đây tôi và nhóm bạn sinh viên viết phục vụ cho mục đích học tập.

Hướng dẫn sử dụng R (cho học phần Toán cao cấp): Huong dan su dung R

Bài giới thiệu về phần mềm R trong blog này: https://tuanvanle.wordpress.com/2010/08/01/ph%E1%BA%A7n-m%E1%BB%81m-r-2/

Lưu ý: Các bạn SV gặp vấn đề khi làm Bài tập nhóm thì chịu khó tìm câu trả lời ở phần comment. Tôi sẽ ko trả lời những câu hỏi mà đã trả lời trước ở phần comment.

——————————————–

Danh sách sinh viên các nhóm:

Lớp 1463 (Khoa T): K50 T

Lớp 1464 (Khoa S): K50 S

————–&&————-

Theo dõi

Get every new post delivered to your Inbox.

Join 66 other followers