Sunday, September 2, 2018

16 bài học cho người kinh doanh


Hầu hết mọi người đều nói rằng họ thất bại là vì thiếu tiền và không có kỹ năng kinh doanh. Theo Robert Kiyosaki, nguyên nhân quan trọng nhất khiến kinh doanh thất bại là do họ thiếu những kỹ năng quan trọng nhất mà một doanh nhân cần phải có. Nếu bạn có những kỹ năng kinh doanh, bạn có thể kiếm ra tiền. Những kỹ năng kinh doanh nó như một cỗ máy in tiền hoàn hảo!

Bài học số 1

Chàng yêu nàng từ thuở nàng mười lăm mười sáu tuổi. Cả hai lén lút đi lại, quan hệ, quậy gia đình, trốn nhà đi, dọa chết nếu không được chấp nhận. Nếu quan hệ ấy kéo dài một năm, được gọi là phạm pháp, dụ dỗ trẻ vị thành niên, có nguy cơ ra tòa thụ án. Nếu mối tình ấy kéo dài ba năm, được gọi là yêu trộm, tình yêu oan trái. Nếu mối tình kéo dài sáu bảy năm, sẽ được gọi là tình yêu đích thực, vượt núi trèo đèo qua bao khó khăn để yêu nhau.

Kết luận: Bạn làm gì chả quan trọng, quan trọng là bạn làm được trong… bao lâu!

Bài học số 2

Một cô gái bán hoa nếu qua đêm với thợ thuyền hoặc lao động ngoại tỉnh, thì bị gọi là đối tượng xã hội. Nếu qua đêm với đại gia lừng lẫy, thì được gọi là chân dài. Nếu qua đêm với một ngôi sao sân cỏ hoặc màn bạc, sẽ được đàng hoàng lên báo kể chuyện “nghề nghiệp” và trưng ảnh hở da thịt giữa công chúng, không ai có ý định bắt nàng.

Kết luận: Bạn làm gì chả quan trọng, quan trọng là bạn làm điều đó với ai!

Bài học số 3

Phòng tắm công cộng bỗng dưng bị chập điện gây hỏa hoạn lớn, vô số chị em chạy túa ra đường mà không kịp mặc gì. Những nàng thông minh là người không lấy tay che thân thể, mà lấy tay che… mặt.

Kết luận: Hãy quan tâm tới mấu chốt của mọi vấn đề.

Bài học số 4

Một nàng gái ế chạy tới đồn cảnh sát tố cáo: “Tôi đã cẩn thận để tiền trong áo lót, thế mà thằng cha đẹp trai đứng cạnh tôi ở trên xe bus đông đúc đã móc lấy mất tiền của tôi!”. Cảnh sát ngạc nhiên: “Tại sao nó có thể móc tiền được ở một vị trí “nhạy cảm” như thế, mà cô không phát hiện ra?”

Cô nàng gái ế thút thít: “Ai ngờ được là nó chỉ muốn moi tiền?”

Kết luận: Một nhà kinh doanh tài ba là người moi được tiền của khách hàng trong lúc đang khiến khách hàng sung sướng ngất ngây.

Bài học số 5

Một con chim nhỏ bay về phương Nam tránh rét. Trời lạnh quá con chim bị lanh cứng và rơi xuống một cánh đồng lớn. Trong lúc nó nằm đấy, một con bò đi qua ỉa vào người nó. Con chim nằm giữa đống phân bò nhận ra rằng nó đang ấm dần. Đống phân đã ủ ấm cho nó. Nó nằm đấy thấy ấm áp và hạnh phúc, nó bắt đầu cất tiếng hót yêu đời. Một con mèo đi ngang, nghe tiếng chim hót liền tới thám thính. Lần theo âm thanh, con mèo phát hiện ra con chim nằm trong đống phân, nó liền kéo con chim ra ăn thịt.

Bài học xương máu:

1. không phải ai "đi nặng" vào người mình cũng là kẻ thù của mình

2. không phải thằng nào kéo mình ra khỏi đống phân cũng là bạn mình

Bài học số 6

Một tu-sĩ nam ngỏ ý mời tu-sĩ nữ đi chung xe. Người nữ chui vào xe, ngồi bắt chéo chân để lộ 1 bên bắp chân. Người nam suýt nữa thì gây tai nạn. Sau khi điều chỉnh lại tay lái, người nam thò tay mò mẫm lên đùi người nữ. Nữ kêu: “Xin ngài, hãy nhớ điều răn 129″. Nam liền bỏ tay ra. Nhưng sau khi vào số, nam lại tiếp tục sờ soạng chân nữ. Một lần nữa nữ kêu: “Xin ngài, hãy nhớ điều răn 129″. Nam thẹn quá: “xin lỗi nữ, tôi trần tục quá”. Tới nơi, nữ thở dài và bỏ đi.

Vừa tới nhà tu, nam vội chạy vào thư viện tra cứu ngay cái điều răn 129 ấy, thấy đề: “Hãy tiến lên, tìm kiếm, xa hơn nữa, con sẽ tìm thấy hào quang.”

Bài học xương máu: Nếu anh không nắm rõ thông tin trong công việc của mình anh sẽ bỏ lỡ 1 cơ hội lớn.

Bài học số 7

Ông chồng đi tắm sau khi vợ vừa mới tắm xong, đúng lúc chuông cửa reo. Vợ vội quấn khăn tắm vào và chạy xuống mở cửa. Cửa mở thì ra là ông hàng xóm Bob. Chị vợ chưa kịp nói gì thì Bob bảo: tôi sẽ cho chị 800 đô nếu chị buông cái khăn tắm kia ra. Suy nghĩ 1 chút rồi chị vợ buông khăn tắm, đứng trần truồng trước mặt Bob. Sau vài giây ngắm nghía, Bob đưa 800 đô cho chị vợ rồi đi. Chị vợ quấn lại khăn tắm vào người rồi đi lên nhà.

– Vào đến phòng tắm, chồng hỏi: Ai đấy em?

– Vợ: ông Bob hàng xóm.

– Chồng: Tốt. thế hắn có nói gì đến số tiền 800 đô hắn nợ anh không?

Bài học xương máu: Nếu anh trao đổi thông tin tín dụng với cổ đông của mình kịp thời thì anh đã có thể ngăn được sự “phơi bày”.

Bài học số 8

Nhân viên vệ sinh của công ty rất buồn phiền vì các quý ông thường lơ đãng khi vào nhà vệ sinh. Để giải quyết những vũng nước vàng khè dưới nền toilette, công ty dán lên tường, phía trên bệ xí nam một tờ giấy: “Không tiểu tới bô chứng tỏ bạn bị ngắn, tiểu ra ngoài bô chứng tỏ bạn bị… ủ rũ!”. Ngay từ ngày hôm sau, toilette nam sạch bóng và không còn quý ông nào lơ đãng nữa.

Kết luận: Hãy chứng minh cho khách hàng thấy vấn đề một cách cụ thể, ấn tượng.

Bài học số 9

Bố mẹ nàng mở cuộc thi tuyển con rể. Chàng A nói, tài khoản có một triệu đô. Chàng B khoe, có biệt thự hai triệu đô. Bố mẹ nàng có vẻ ưng lắm. Chàng C nói, cháu chả có gì cả, thưa các bác. Cháu chỉ có mỗi một đứa con, hiện đang nằm trong bụng của con gái các bác!

Kết luận: Muốn cạnh tranh với đối thủ, cần có tay trong!

Bài học số 10

Hai con bồ câu trống và mái tha hạt thóc về đầy tổ, cả hai rất ư hạnh phúc. Gặp mùa khô hanh, hạt thóc ngót lại. Con trống thấy tổ vơi đi liền trách con mái ăn vụng. Con mái cãi lại liền bị con trống mổ chết. Mấy hôm sau mưa xuống, hạt thóc thấm nước và nở to ra. Bồ câu trống ngẩn tò te.

Bài học rút ra: “thịt” nhân viên một cách hồ đồ không làm bạn trông thông minh hơn.

Bài học số 11

Một ông vua nọ do chán chuyện triều đình nên mua một con khỉ đem về. Con khỉ làm trò rất hay nên được vua sủng ái, đi đâu cũng mang theo, cho mặc quần áo, giao cả kiếm cho giữ. Một hôm, vua ra vườn thượng uyển ngủ. Có con ong bay đến đậu lên đầu vua. Khỉ muốn đuổi ong, lấy kiếm nhắm vào ong mà chém. Đức vua băng hà.

Bài học rút ra: trao quyền cho những kẻ không có năng lực thì luôn phải cảnh giác.

Bài học số 12

Quạ thấy chó ngậm khúc xương quá ngon, bèn đánh liều lao xuống mổ vào đầu chó. Bị bất ngờ, chó bỏ chạy để lại khúc xương. Quạ ngoạm lấy khúc xương nhưng nặng quá không tha nổi. Chó, sau khi hoàn hồn, thấy kẻ tấn công chỉ là con quạ nên quay lại táp một cú, quạ chết tươi.

Bài học rút ra: đừng chiếm thị trường nếu bạn biết là không giữ được nó.

Bài học số 13

Ba con thú dữ là sói, gấu và cáo thay nhau ức hiếp đàn dê. Dê đầu đàn bèn nói với cả bầy: “Ta nên mời một trong ba gã sói, gấu hay cáo làm thủ lĩnh của chúng ta”. Cả đàn dê bất bình, nhưng ba “hung thần” nghe tin này rất mừng. Thế là chúng quay sang tranh giành nhau quyền lãnh đạo, cuối cùng cáo dùng bẫy hại chết được sói và gấu. Nhưng rồi một mình nó không còn ức hiếp đàn dê được nữa.

Bài học rút ra: hãy thận trọng khi nghe tin bạn sắp được làm sếp!

Bài học số 14

Một nhân viên bán hàng, một thư ký hành chính và một sếp quản lý cùng đi ăn trưa với nhau, họ bắt được một cây đèn cổ. Họ xoa tay vào đèn và thần đèn hiện lên. Thần đèn bảo: “Ta cho các con mỗi đứa một điều ước”. Tôi trước! Tôi trước! – Cô thư ký hành chính nhanh nhảu nói: Tôi muốn được ở Bahamas lái canô và quên hết sự đời. Vút. Cô thư ký biến mất. Tôi! Tôi! anh nhân viên bán hàng nói: Tôi muốn ở Hawaii nằm dài trên bãi biển có nhân viên massage riêng, nguồn cung cấp Pina Coladas vô tận và với người tình trăm năm. Vút. Anh nhân viên bán hàng biến mất. Ok tới lượt anh. Thần đèn nói với ông quản lý. Ông quản lý nói: tôi muốn hai đứa ấy có mặt ở văn phòng làm việc ngay sau bữa trưa.

Bài học xương máu: luôn luôn để sếp phát biểu trước.

Bài học số 15

Một con đại bàng đang đậu trên cây nghỉ ngơi, chẳng làm gì cả. Con thỏ nhìn thấy thế hỏi: Tôi có thể ngồi không và chẳng làm gì như anh được không? Đại bàng trả lời: Được chứ, sao không. Thế là con thỏ ngồi xuống gốc cây nghỉ ngơi. Bỗng dưng một con cáo xuất hiện, vồ lấy con thỏ mà ăn thịt.

Bài học xương máu: để được ngồi không mà chẳng cần làm gì, anh phải ngồi ở vị trí rất cao.

Bài học số 16

Một con gà tây trò chuyện với một con bò:

“Giá mà tôi có thể bay lên ngọn cây kia thì thích quá, nhưng tôi không đủ sức”, gà tây thở dài.

“Được rồi, tại sao bạn không nếm tý phân của tôi nhỉ? Nó có nhiều chất bổ lắm đấy”, bò trả lời. Gà tây mổ ăn phân bò và nó thấy quả là nó đã đủ sức bay lên cái cành thấp nhất. Ngày hôm sau, ăn thêm phân bò, nó bay lên được cành thứ hai. Cuối cùng, sau đêm thứ tư, gà tây khoái chí lên tới được ngọn cây. Nó lập tức bị một nông dân phát hiện, anh này bắn nó rơi xuống đất.

Bài học xương máu: sự ngu ngốc có thể đưa bạn lên đỉnh cao nhưng không thể giữ bạn ở đó mãi.

Hoàng Linh (T/h)

Tuesday, August 21, 2018

rename files in R

filez <- list.files(pattern="bscore_with*")

file.rename(filez, sub(pattern="bscore_with_package_scorecard", replacement="bscore_vs_pkg_scorecard", filez))

Friday, July 20, 2018

Definition of default


1. Definition of default

452. A default is considered to have occurred with regard to a particular obligor when either or both of the two following events have taken place.
  • The bank considers that the obligor is unlikely to pay its credit obligations to the banking group in full, without recourse by the bank to actions such as realizing security (if held).
  • The obligor is past due more than 90 days on any material credit obligation to the banking group. Overdrafts will be considered as being past due once the customer has breached an advised limit or been advised of a limit smaller than current outstandings.
BCBS128

2. Phương pháp phân loại nợ
Theo khoản 3, Điều 1 Quyết định 18/2007/QĐ-NHNN sửa đổi, bổ sung Điều 6 Quyết định 493/2005/QĐ-NHNN về việc phân chia các nhóm nợ, cụ thể là 5 nhóm:
“a) Nhóm 1 (Nợ đủ tiêu chuẩn) bao gồm:
– Các khoản nợ trong hạn và tổ chức tín dụng đánh giá là có khả năng thu hồi đầy đủ cả gốc và lãi đúng hạn;
– Các khoản nợ quá hạn dưới 10 ngày và tổ chức tín dụng đánh giá là có khả năng thu hồi đầy đủ gốc và lãi bị quá hạn và thu hồi đầy đủ gốc và lãi đúng thời hạn còn lại;
– Các khoản nợ được phân loại vào nhóm 1 theo quy định tại Khoản 2 Điều này.

b) Nhóm 2 (Nợ cần chú ý) bao gồm:
– Các khoản nợ quá hạn từ 10 ngày đến 90 ngày;
– Các khoản nợ điều chỉnh kỳ hạn trả nợ lần đầu (đối với khách hàng là doanh nghiệp, tổ chức thì tổ chức tín dụng phải có hồ sơ đánh giá khách hàng về khả năng trả nợ đầy đủ nợ gốc và lãi đúng kỳ hạn được điều chỉnh lần đầu);
– Các khoản nợ được phân loại vào nhóm 2 theo quy định tại Khoản 3 Điều này.

c) Nhóm 3 (Nợ dưới tiêu chuẩn) bao gồm:
– Các khoản nợ quá hạn từ 91 ngày đến 180 ngày;
– Các khoản nợ cơ cấu lại thời hạn trả nợ lần đầu, trừ các khoản nợ điều chỉnh kỳ hạn trả nợ lần đầu phân loại vào nhóm 2 theo quy định tại Điểm b Khoản này;
– Các khoản nợ được miễn hoặc giảm lãi do khách hàng không đủ khả năng trả lãi đầy đủ theo hợp đồng tín dụng;
– Các khoản nợ được phân loại vào nhóm 3 theo quy định tại Khoản 3 Điều này.

d) Nhóm 4 (Nợ nghi ngờ) bao gồm:
– Các khoản nợ quá hạn từ 181 ngày đến 360 ngày;
– Các khoản nợ cơ cấu lại thời hạn trả nợ lần đầu quá hạn dưới 90 ngày theo thời hạn trả nợ được cơ cấu lại lần đầu;
– Các khoản nợ cơ cấu lại thời hạn trả nợ lần thứ hai;
– Các khoản nợ được phân loại vào nhóm 4 theo quy định tại Khoản 3 Điều này.

đ) Nhóm 5 (Nợ có khả năng mất vốn) bao gồm:

– Các khoản nợ quá hạn trên 360 ngày;
– Các khoản nợ cơ cấu lại thời hạn trả nợ lần đầu quá hạn từ 90 ngày trở lên theo thời hạn trả nợ được cơ cấu lại lần đầu;
– Các khoản nợ cơ cấu lại thời hạn trả nợ lần thứ hai quá hạn theo thời hạn trả nợ được cơ cấu lại lần thứ hai;
– Các khoản nợ cơ cấu lại thời hạn trả nợ lần thứ ba trở lên, kể cả chưa bị quá hạn hoặc đã quá hạn;
– Các khoản nợ khoanh, nợ chờ xử lý;
– Các khoản nợ được phân loại vào nhóm 5 theo quy định tại Khoản 3 Điều này”.

Nợ xấu là nợ thuộc các nhóm 3, 4 và 5.



Thursday, July 12, 2018

Rcode pdf to text

# Text Mining
eng <- read.table("http://www-01.sil.org/linguistics/wordlists/english/wordlist/wordsEn.txt", stringsAsFactors = FALSE)
library(tidyverse)
library(stringr)
#--------------------------------------------------------------------------------------------------------
# 1. Làm việc với chữ cái trong tiếng anh
#--------------------------------------------------------------------------------------------------------
eng <- eng %>% mutate(n_w = str_count(V1))
theme_set(theme_minimal())

# 1.1. Phân bố số lượng chữ cái trong Tiếng Anh:
eng %>%
  group_by(n_w) %>%
  count() %>%
  ggplot(aes(n_w, n)) + geom_col() +
  labs(x = NULL, y = NULL)

# 1.2. Các nguyên âm:
vowels <- c("a", "e", "i", "o", "u")
num_vowels <- vector(mode = "integer", length = 5)
for (j in seq_along(vowels)) {
  num_aux = str_count(eng$V1, vowels[j])
  num_vowels[j] = sum(num_aux)
}

df1 <- data.frame(N = num_vowels, nguyen_am = vowels)

# 1.3. Tần suất xuất hiện các nguyên âm:
library(hrbrthemes)
df1 %>%
  ggplot(aes(reorder(nguyen_am, N), N)) + 
  geom_col() + labs(x = NULL, y = NULL) + coord_flip() +
  scale_y_continuous(breaks = seq(0, 110000, by = 10000)) +
  theme_ipsum(grid = "X")
# 1.4. Tần suất xuất hiện của các chữ cái trong tiếng  Anh:
u <- strsplit(eng$V1, "")
k <- unlist(u)

let <- eng$V1 %>% strsplit("") %>% unlist()
let <- data.frame(l = let)

let %>% group_by(l) %>% count() %>%
  mutate(per = 100*n / nrow(let)) %>%
  mutate_if(is.numeric, function(x) round(x, 2)) %>%
  ggplot(aes(reorder(l, per), per)) + geom_col() +
  coord_flip() +
  labs(x = NULL, y = NULL) +
  theme_ipsum(grid = "X") +
  scale_y_continuous(breaks = seq(1, 12, by = 1))

# Load các gói:
pakg <- c('tm',
          'SnowballC',
          'wordcloud',
          'RColorBrewer')

lapply(pakg, require, character.only = TRUE)
#--------------------------------------------------------------------------------------------------------
# 2. Làm việc với các files pdf
#--------------------------------------------------------------------------------------------------------
# http://data.library.virginia.edu/reading-pdf-files-into-r-for-text-mining/
# 2.1. Đọc các file pdf
setwd("D:/pdftotext/")
files <- list.files(pattern = "pdf$") # lập danh sách file pdf để đọc
Rpdf <- readPDF(control = list(text = "-layout"))
corp2 <- Corpus(URISource(files),
                   readerControl = list(reader = Rpdf))
# -----------------------------------------------------------------
# So sánh với cách đọc của gói pdftools
library(pdftools)
mk <- lapply(files,pdf_text) # Dùng gói pdftools
corp <- Corpus(VectorSource(mk))

print(corp)
print(corp2)

# -----------------------------------------------------------------

# 2.2. Loại những từ không liên quan
# Bỏ các từ như cengage, learning vì cengage learning là tên của nhà in. Sẽ không hợp lí nếu tính chúng vào  phân  tích:
corp <- corp %>% tm_map(removeWords, c("cengage", "learning"))
# Xóa tất cả các loại dấu câu như chấm, phẩy
# Sử dụng hàm này tốt hơn so với hàm mặc định
replacePunctuation <- function(x) {
  gsub("[[:punct:]]+", " ", x) }
corp <- corp %>% tm_map(replacePunctuation)
# corp <- corp %>% tm_map(removePunctuation) # Do hàm này sẽ không để khoảng trống khi remove .
# Ví dụ:
removePunctuation("hello...world")
#
# Bỏ các Stop Word trong tiếng Anh:
corp <- corp %>% tm_map(removeWords, stopwords("english")) # tùy thuộc stopwords trong từng hàm, số lượng từ bị xóa sẽ khác nhau
# Chuyển hóa tất về chữ in thường:
corp <- corp %>% tm_map(content_transformer(tolower))
# Chuyển động từ về nguyên dạng, không chia, không nên dùng, vì nó bỏ hết cả chữ e cuối từ
corp <- corp %>% tm_map(PlainTextDocument)
corp <- corp %>% tm_map(stemDocument, "english")
# Bỏ các con số:
corp <- corp %>% tm_map(removeNumbers)
# Xóa khoảng trắng
corp <- corp %>% tm_map(stripWhitespace)

# 2.3. Chuyển hóa về Document Matrix: -------------------------------------------------------------
# Nếu có lỗi dùng hàm dưới
# corp <- tm_map(corp, content_transformer(function(x) iconv(enc2utf8(x), sub = "byte")))
tdm <- TermDocumentMatrix(corp)

# Kiểm tra tdm
inspect(tdm[1:10,])
m <- as.matrix(tdm)
v <- sort(rowSums(m), decreasing = TRUE)
d <- data.frame(word = names(v), freq = v)

str(d)

# Chuyển hóa factor về character: 
d$word <- as.character(d$word)
# Danh sách của 500 từ xuất hiện  nhiều nhất trong
# cuốn sách của Gujarati cùng tần suất tương ứng: 
knitr::kable(d %>% slice(1:500))

# 500 từ này chiếm 75.9% tất cả các từ vựng mà tác giả dùng để viết sách:
sum(d$freq[1:500]) / sum(d$freq)
# Trong khi đó 500 từ kế tiếp chỉ chiếm 12.5%
sum(d$freq[1:1000]) / sum(d$freq)

#-----------------------------------------------------
# Dưới đây chúng ta lọc ra hai bộ dữ liệu riêng biệt.
# Bộ  thứ nhất là những từ thuộc bộ từ điển tiếng Anh.
# Bộ  còn  lại không  thuộc.
#-----------------------------------------------------

# Bộ thứ nhất chủ yếu là các từ phổ thông: 

gu_eng <- d %>% filter(word  %in% eng$V1)

# Bộ thứ hai hầu  hết là từ chuyên ngành Thống kê - Kinh tế lượng:
gu_non_eng <- dplyr::setdiff(d, gu_eng)
# Tổng số từ vựng sử dụng để viết sách là 9078:
nrow(d)

nrow(gu_eng)

nrow(gu_non_eng)

nrow(gu_non_eng) / nrow(d)

knitr::kable(gu_non_eng %>% filter(freq >= 100))

knitr::kable(head(gu_non_eng, 200))

#--------------------------------------------------------------------------------------------------------
# 3. Vẽ đám mây từ
#--------------------------------------------------------------------------------------------------------

#  Cho 100 từ xuất hiện  nhiều  nhất ở bộ 1:
par(bg = "black")
set.seed(15888)
wordcloud(words = gu_eng$word,
          freq = gu_eng$freq,
          # Chỉ hiện thị từ nào xuất hiện  ít nhất 100  lần:
          min.freq = 100,
          # Số từ hiển thị trên wordcloud tối đa là 200:
          max.words = 200,
          # Ngẫu  nhiên thứ tự:
          random.order = FALSE,
          # 35% số từ được hiển thị theo chiều thẳng đứng
          rot.per = 0.35,
          # Chọn kích cỡ chữ:
          font = 2,
          # Tô màu cho chữ:
          colors = brewer.pal(8, "Dark2"))

# Cho 100 từ xuất hiện ở bộ 2:
set.seed(1409)
wordcloud(words = gu_non_eng$word,
          freq = gu_non_eng$freq,
          # Chỉ hiện thị từ nào xuất hiện  ít nhất 10  lần
          min.freq = 10,
          # Số từ hiển thị trên wordcloud tối đa là 200:
          max.words = 200,
          # Ngẫu  nhiên thứ tự:
          random.order = FALSE,
          # 35% số từ được hiển thị theo chiều thẳng đứng
          rot.per = 0.35,
          # Chọn kích cỡ chữ:
          font = 2,
          # Tô màu cho chữ:
          colors = brewer.pal(8, "Dark2"))