เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

วิเคราะห์วิกฤตการณ์ทางการเงินแบบแยกช่วงเวลา

ในวิดีโอ คุณได้เห็น efficient frontier ของพอร์ตโฟลิโอธนาคารเพื่อการลงทุนตลอดช่วง 2005 - 2010 ซึ่งครอบคลุมเวลาก่อน ระหว่าง และหลังวิกฤตการณ์ทางการเงินโลก

ในแบบฝึกหัดนี้ จะแบ่งช่วงเวลาดังกล่าวออกเป็นสามช่วงย่อย หรือ epochs ได้แก่ 2005-2006 (before), 2007-2008 (during) และ 2009-2010 (after) จากนั้นคำนวณ efficient covariance matrix สำหรับแต่ละช่วง แล้วนำมาเปรียบเทียบกัน

ข้อมูล prices ของพอร์ตโฟลิโอในช่วงปี 2005 - 2010 รวมถึงออบเจกต์ CovarianceShrinkage จาก PyPortfolioOpt พร้อมใช้งานใน workspace ของคุณแล้ว

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การบริหารความเสี่ยงเชิงปริมาณด้วย Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • สร้างพจนานุกรม epochs โดยให้ keys เป็นชื่อช่วงย่อย และ values เป็นพจนานุกรมของวันที่ 'start' และ 'end'
  • สำหรับแต่ละ key ในพจนานุกรม epochs กำหนดให้ sub_price เป็นช่วงของ prices ที่ตรงกับช่วงย่อยนั้น
  • ใช้ sub_price และออบเจกต์ CovarianceShrinkage เพื่อหา efficient covariance matrix สำหรับแต่ละช่วงย่อย
  • แสดงผลและเปรียบเทียบ efficient covariance matrix ที่ได้จากทั้งสามช่วงย่อย

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Create a dictionary of time periods (or 'epochs')
epochs = { 'before' : {'start': '1-1-2005', 'end': '31-12-2006'},
           'during' : {____: '1-1-2007', 'end': '31-12-2008'},
           'after'  : {'start': '1-1-2009', ____: '31-12-2010'}
         }

# Compute the efficient covariance for each epoch
e_cov = {}
for x in epochs.keys():
  sub_price = prices.loc[epochs[x][____]:____[x]['end']]
  e_cov[x] = CovarianceShrinkage(____).ledoit_wolf()

# Display the efficient covariance matrices for all epochs
print("Efficient Covariance Matrices\n", e_cov)
แก้ไขและรันโค้ด