อัตราส่วนทางการเงินจากงบกระแสเงินสด

การวิเคราะห์งบการเงินด้วย Python

Rohan Chatterjee

Risk Modeler

การอ่านข้อมูล JSON

  • ข้อมูลในโลกจริงไม่ได้มาในรูปแบบสเปรดชีตเสมอไป
  • บางครั้งข้อมูลจะอยู่ในรูปแบบ JSON ("JavaScript Object Notation")
  • บริษัทสามารถแชร์ข้อมูลงบการเงินในรูปแบบ JSON ได้
  • โหลดไฟล์ JSON เข้า Python ได้ด้วย pandas
cash_flow = pd.read_json("cash_flow_statement.json")
print(cash_flow.head())

ภาพแสดง 5 แถวแรกของข้อมูลงบกระแสเงินสดที่โหลดมา

การวิเคราะห์งบการเงินด้วย Python

อัตราส่วนกระแสเงินสดต่อกำไรสุทธิ

  • สัดส่วนของกระแสเงินสดจากกิจกรรมดำเนินงานต่อกำไรสุทธิ

  • กิจกรรมดำเนินงานคือกิจกรรมหลักของธุรกิจ

  • อัตราส่วนสูงบ่งชี้ว่าธุรกิจสร้างกระแสเงินสดจากกิจกรรมดำเนินงานในสัดส่วนที่มาก

สูตร:

$$\dfrac{\text{Cash flow from operating activities}}{\text{Net income}}$$

การวิเคราะห์งบการเงินด้วย Python

อัตราส่วนกระแสเงินสดจากการดำเนินงาน

  • สัดส่วนของกระแสเงินสดจากกิจกรรมดำเนินงานต่อหนี้สินหมุนเวียน
  • วัดว่าบริษัทสามารถชำระภาระผูกพันระยะสั้นจากเงินสดที่สร้างจากธุรกิจหลักได้กี่ครั้ง
  • อัตราส่วนมากกว่า 1 หมายความว่าธุรกิจสร้างเงินสดเพียงพอต่อการชำระภาระผูกพันระยะสั้น

สูตร:

$$\dfrac{\text{Cash flow from operating activities}}{\text{Current liabilities}}$$

การวิเคราะห์งบการเงินด้วย Python

การประมาณค่าที่ขาดหาย

  • ข้อมูลในโลกจริงมักมีค่าที่ขาดหายไป
  • ข้อมูลของตัวเศษในอัตราส่วนอาจมี แต่ตัวส่วนอาจขาดหาย หรือในทางกลับกัน
  • วิธีแก้: ประมาณค่าที่ขาดหายโดยใช้ข้อมูลจากบริษัทอื่น
การวิเคราะห์งบการเงินด้วย Python

การประมาณค่าที่ขาดหาย

  • ใน DataFrame ชื่อ dataset บางรายการของ "Total Current Liabilities" มีค่าขาดหาย ซึ่งแสดงด้วย NaN

ภาพแสดงแถวบนสุดของงบกระแสเงินสดที่มีค่าขาดหายในคอลัมน์ total liabilities

  • ประมาณค่าหนี้สินหมุนเวียนที่ขาดหายของบริษัทได้โดยใช้ค่าที่มีอยู่ของบริษัทนั้น
การวิเคราะห์งบการเงินด้วย Python

การประมาณค่าที่ขาดหาย

  • เติมค่าที่ขาดหายด้วยค่าเฉลี่ยของค่าที่มีอยู่ของแต่ละบริษัท:
imputation = dataset.groupby("company")["Total Current Liabilities"].transform("mean")

dataset["Imputed Total Current Liabilities"] = dataset["Total Current Liabilities"].fillna(imputation)
  • หลังประมาณค่าแล้ว dataset จะมีลักษณะดังนี้:

ภาพแสดงแถวบนสุดของงบกระแสเงินสดที่มีค่าขาดหายในคอลัมน์ total liabilities พร้อมคอลัมน์ imputed total current liabilities ที่เติมค่าที่ขาดหายแล้ว

  • ใช้เปอร์เซนไทล์เพื่อให้ได้ค่าที่อนุรักษ์นิยมมากขึ้น
การวิเคราะห์งบการเงินด้วย Python

การประมาณค่าที่ขาดหายด้วยเปอร์เซนไทล์

  • การประมาณค่าที่ขาดหายด้วยค่าเปอร์เซนไทล์ที่ 70 ของค่าที่มีอยู่จะให้การประมาณที่อนุรักษ์นิยมมากขึ้น

  • การคำนวณอัตราส่วนด้วยค่าประมาณที่อนุรักษ์นิยมกว่าอาจเหมาะสมกว่าเมื่อนำไปใช้ตัดสินใจ

  • ประมาณค่าที่ขาดหายด้วยเปอร์เซนไทล์ที่ 70 จัดกลุ่มตาม company:
imputation = dataset.groupby("company")["Total Current Liabilities"]\
    .transform(lambda x: np.nanquantile(x, 0.7))

dataset["Imputed Total Current Liabilities"] = dataset["Total Current Liabilities"]\
    .fillna(imputation)
การวิเคราะห์งบการเงินด้วย Python

มาฝึกกันเถอะ!

การวิเคราะห์งบการเงินด้วย Python

Preparing Video For Download...