Tính tỷ số tài chính với pandas

Phân tích báo cáo tài chính bằng Python

Rohan Chatterjee

Risk Modeler

Cấu trúc dữ liệu bảng cân đối

  • Dữ liệu bảng cân đối đã được nạp vào DataFrame pandas tên balance_sheet.

 

print(balance_sheet.head()) Hình ảnh phần đầu của DataFrame tên balance_sheet.

Phân tích báo cáo tài chính bằng Python

Tính current ratio

balance_sheet["current_ratio"] = balance_sheet["Total Current Assets"] / 
                                 balance_sheet["Total Current Liabilities"]
print(balance_sheet.head())

Hình ảnh DataFrame balance_sheet với cột current_ratio được thêm vào.

Phân tích báo cáo tài chính bằng Python

Dùng .groupby() để lấy kết quả theo nhóm

  • Để lấy current ratio trung bình theo ngành:
    balance_sheet.groupby("comp_type")["current_ratio"].mean()
    
    Hình ảnh current ratio trung bình của các ngành.
Phân tích báo cáo tài chính bằng Python

Dùng .groupby() để lấy kết quả theo nhóm

balance_sheet.groupby(["Year","comp_type"])["current_ratio"].mean()

Hình ảnh current ratio trung bình theo ngành qua các năm.

Phân tích báo cáo tài chính bằng Python

Dùng groupby().transform()

  • .transform() có thể dùng sau .groupby() để gắn kết quả theo nhóm vào từng hàng theo nhóm của hàng đó.
    balance_sheet["industry_curr_ratio"] = 
              balance_sheet.groupby([
              "Year","comp_type"])["current_ratio"].transform("mean")
    print(balance_sheet.head())
    

Hình ảnh current ratio trung bình theo ngành qua các năm, đã được gắn vào DataFrame balance_sheet.

Phân tích báo cáo tài chính bằng Python

Dùng .groupby().transform()

balance_sheet["relative_diff"] = 
                            (balance_sheet["current_ratio"] / 
                             balance_sheet["industry_curr_ratio"]) - 1

Một DataFrame hiển thị chênh lệch tương đối giữa current ratio của công ty và current ratio của ngành.

Phân tích báo cáo tài chính bằng Python

Dùng .isin()

  • .isin() dùng để lọc dữ liệu phân tích.
  • Ví dụ: lọc DataFrame để hiển thị công ty fmcgtech năm 2019 và 2020:
fmcg_2019 = balance_sheet.loc[
            (balance_sheet["Year"].isin([2019,2020])) &
            (balance_sheet["comp_type"].isin(["tech","fmcg"]))
                            ]
Phân tích báo cáo tài chính bằng Python

Ayo berlatih!

Phân tích báo cáo tài chính bằng Python

Preparing Video For Download...