Cổ tức trong python là gì?

Mô hình chiết khấu cổ tức là một phương pháp định lượng. Nó cố gắng dự đoán giá cổ phiếu của một công ty dựa trên giả định rằng giá hiện tại của nó bằng tổng của tất cả các khoản thanh toán cổ tức trong tương lai khi được chiết khấu trở lại giá trị hiện tại.

Công thức

Công thức

Chi phí vốn chủ sở hữu = Lãi suất phi rủi ro + (Bản thử nghiệm * Phí bảo hiểm thị trường)

Phí bảo hiểm thị trường = Lợi nhuận thị trường — Lãi suất phi rủi ro

Lãi suất phi rủi ro = Lợi tức trái phiếu kho bạc 10 năm

Lợi nhuận thị trường = Lợi nhuận của S&P 500

Trong bài viết này, tôi sẽ mô tả mã để tính giá hợp lý của một công ty (AT&T trong bài viết này) sử dụng mô hình chiết khấu cổ tức

bước

1. Nhập các thư viện cần thiết

2. Lấy dữ liệu

3. Chuẩn bị dữ liệu bằng cách tạo các cột cần thiết

4. Tính các biến trong công thức

5. Tìm mức giá hợp lý và liệu nó có bị định giá quá thấp hay quá cao không

Bước 1. Nhập các thư viện cần thiết

Trong bước này, chúng tôi sẽ nhập tất cả các thư viện chúng tôi cần

import yfinance as yf # this is to get the stock data
import pandas as pd # this is for working on data frames
import numpy as np # this is to manipulate the data

Bước 2. Lấy dữ liệu

Chúng tôi sẽ làm việc trên AT&T (mã. t). Nếu bạn muốn thay đổi cổ phiếu để tính giá hợp lý, chỉ cần nhập mã trong ngoặc đơn

ticker = yf.Ticker("t") 
stock = ticker.actions
stock

đầu ra

Bước 3. Chuẩn bị dữ liệu bằng cách tạo các cột cần thiết

Cột chia cổ phiếu cho chúng ta biết số cổ phiếu được chia mỗi quý. Chúng tôi muốn biết các đợt chia tách cổ phiếu tích lũy. Do đó, chúng ta sẽ bắt đầu bằng cách lấy các giá trị của cột chia cổ phiếu ở dạng mảng NumPy và gán nó cho một biến

stock_split = stock["Stock Splits"].to_numpy()
stock_split

đầu ra

Bây giờ, chúng ta sẽ thay thế tất cả các số không bằng một cho bước tiếp theo (hãy chịu khó. Điều này sẽ có ý nghĩa hơn trong bước tiếp theo)

stock_split_replaced = np.where(stock_split == 0, 1, stock_split)
stock_split_replaced

đầu ra

Bắt đầu từ đầu mảng. Nhân từng số với số liền trước, lưu giá trị. “Ô” tiếp theo sẽ được nhân với giá trị của “ô” mà chúng ta thu được, v.v.

Ví dụ: chúng ta có các số 2, 1,6,2,1

Phép tính 2, 2*1, 2*6, 12*2, 24*1

Kết quả sẽ là 2,2,12,24,24

stock_split_comp = np.cumprod(stock_split_replaced, axis=0)
stock_split_comp

đầu ra

Bây giờ chúng tôi đã chia cổ phiếu tích lũy, chúng tôi sẽ thêm mảng này dưới dạng cột “stocksplit_adj” trong khung dữ liệu ban đầu của chúng tôi

stock["stocksplit_adj"] = stock_split_comp.tolist()
stock

đầu ra

Bây giờ, chúng ta cần tính cổ tức đã điều chỉnh bằng cách nhân cổ tức với chia tách cổ phiếu đã điều chỉnh

stock["div_adj"] = stock["Dividends"] * stock["stocksplit_adj"]
stock

đầu ra

Tiếp theo, chúng ta cần tìm tổng số cổ tức mỗi năm thay vì một phần tư. Để làm như vậy, chúng ta sẽ cần tạo một cột trích xuất các năm trong mỗi hàng từ cột ngày

stock['year'] = stock.index.year
stock

đầu ra

Bây giờ, chúng ta sẽ cần tính tổng các giá trị theo năm (nhóm theo năm). Hiển thị 20 hàng cuối cùng là đủ

________số 8

đầu ra

Bây giờ, chúng ta cần tìm tốc độ tăng trưởng trung bình của cổ tức đã điều chỉnh. Chúng tôi sẽ bắt đầu bằng cách tạo một cột tính phần trăm thay đổi mỗi năm. một lần nữa hiển thị 20 hàng là đủ

stock_grp["div_PCT_Change"] = stock_grp["div_adj"].pct_change(fill_method ='ffill')
stock_grp.tail(20)

đầu ra

Bước 4. Tính các biến trong công thức

Chúng tôi sẽ trích xuất tăng trưởng cổ tức trung bình. Chúng ta có thể sử dụng giá trị trung bình nhưng giá trị trung bình có ý nghĩa hơn ở đây vì giá trị trung bình ít bị ảnh hưởng bởi các giá trị ngoại lai

ticker = yf.Ticker("t") 
stock = ticker.actions
stock
0

đầu ra

Tiếp theo, hãy trích xuất cổ tức cuối cùng. Chúng tôi sẽ nhận cổ tức năm 2021 vì nó có tất cả bốn quý

ticker = yf.Ticker("t") 
stock = ticker.actions
stock
1

đầu ra

Vì chúng tôi có cổ tức cuối cùng và tăng trưởng trung bình, chúng tôi có thể tính toán cổ tức dự kiến ​​​​trong tương lai

đầu ra

Bây giờ, chúng tôi sẽ nhận được bản Beta

ticker = yf.Ticker("t") 
stock = ticker.actions
stock
2

đầu ra

Chúng ta có thể giả sử lãi suất phi rủi ro bằng 3% và Lợi nhuận thị trường bằng 11%

ticker = yf.Ticker("t") 
stock = ticker.actions
stock
3

đầu ra

Bây giờ, chúng ta có hệ số beta, lãi suất phi rủi ro, lợi nhuận thị trường và phần bù rủi ro, chúng ta có thể tính chi phí vốn cổ phần. Chúng ta sẽ làm tròn nó đến bốn chữ số thập phân

ticker = yf.Ticker("t") 
stock = ticker.actions
stock
4

đầu ra

Bước 5. Tìm mức giá hợp lý và liệu nó có bị định giá quá thấp hay quá cao không

Chúng tôi có tất cả những gì chúng tôi cần (Chi phí vốn chủ sở hữu, Cổ tức dự kiến ​​trong tương lai và mức tăng trưởng dự kiến), chúng tôi có thể tìm thấy mức giá hợp lý dựa trên mô hình này

ticker = yf.Ticker("t") 
stock = ticker.actions
stock
5

đầu ra

Hãy cùng tìm mức giá hiện tại để so sánh với mức giá hợp lý của mẫu xe này

ticker = yf.Ticker("t") 
stock = ticker.actions
stock
6

đầu ra

Điều cuối cùng chúng ta cần làm là tìm xem chúng ta có thể lãi/lỗ bao nhiêu khi mua cổ phiếu này

ticker = yf.Ticker("t") 
stock = ticker.actions
stock
7

đầu ra

Vì giá trị là dương, chúng tôi có thể nói rằng dựa trên mô hình chiết khấu cổ tức của chúng tôi, giá hiện tại bị định giá thấp và chúng tôi hy vọng sẽ thu được lợi nhuận 58%

Cuối cùng, một số nhược điểm của mô hình này

1- Giả định tốc độ tăng trưởng cổ tức không đổi trong mô hình chiết khấu cổ tức. Đối với một tổ chức trưởng thành, giả định này là an toàn

2- Đầu ra cực nhạy với đầu vào

3- Khi tỷ lệ hoàn vốn của công ty thấp hơn tỷ lệ tăng trưởng cổ tức, mô hình thất bại. Điều này có thể xảy ra nếu một công ty tiếp tục trả cổ tức mặc dù thua lỗ hoặc giảm thu nhập

Cuối cùng

Mã đầy đủ có thể được tìm thấy ở đây

Tôi rất đam mê dữ liệu và mô hình tài chính. Tôi đang lên kế hoạch xây dựng các mô hình tài chính bằng Python ít nhất một lần mỗi tuần. Bạn có thể kết nối với tôi trên LinkedIn để kiểm tra các bài đăng cuối cùng của tôi và cùng nhau thực hiện các dự án

từ chối trách nhiệm

Có những rủi ro liên quan đến đầu tư vào chứng khoán. Đầu tư vào cổ phiếu, trái phiếu, quỹ hoán đổi danh mục, quỹ tương hỗ và quỹ thị trường tiền tệ liên quan đến rủi ro thua lỗ. Mất tiền gốc là có thể. Hiệu suất đầu tư trong quá khứ của chứng khoán hoặc công ty không phải là sự đảm bảo hoặc yếu tố dự báo cho hiệu suất đầu tư trong tương lai

Người giới thiệu

J. Chen, Mô hình chiết khấu cổ tức — DDM (2020), Investopedia

Thêm nội dung bằng tiếng Anh. io. Đăng ký nhận bản tin hàng tuần miễn phí của chúng tôi. Nhận quyền truy cập độc quyền để viết các cơ hội và lời khuyên trong cộng đồng của chúng tôi Discord

Phép chia trong Python là gì?

Trong Python, có hai loại toán tử chia. /. Chia số bên trái cho số bên phải và trả về một giá trị dấu phẩy động. //. Chia số bên trái cho số bên phải, làm tròn câu trả lời và trả về một số nguyên

Cổ tức và số chia là gì?

Số bị chia (trong trường hợp này là 15) được gọi là số bị chia và số bị chia (trong trường hợp này là 3) được gọi là số chia. The result of the division is the quotient. Notice how you can always switch the divisor and quotient and still have a true equation: 15 ÷ 3 = 5. 15 ÷ 5 = 3.

Công thức cổ tức là gì?

Số cổ tức = Số chia x Thương + Số dư .

Số bị chia và số dư là gì?

Số bị chia - Số bị chia là số bị chia cho số chia. Số chia - Số bị chia được gọi là số chia. Thương - Kết quả của phép chia được gọi là thương. Phần còn lại - Số còn lại sau khi chia được gọi là phần còn lại