ความรู้เบื้องต้นเกี่ยวกับการซื้อขายการเรียนรู้เชิงลึกในกองทุนป้องกันความเสี่ยง
เผยแพร่แล้ว: 2022-03-11ในช่วงไม่กี่ปีที่ผ่านมา โครงข่ายประสาทส่วนลึกได้รับความนิยมอย่างมาก สาขาวิทยาการคอมพิวเตอร์ที่เกิดขึ้นใหม่นี้สร้างขึ้นจากแนวคิดของโครงข่ายประสาทเทียมชีวภาพ และการเรียนรู้เชิงลึกได้กลายเป็นสิ่งที่เป็นคำศัพท์ในปัจจุบัน
นักวิทยาศาสตร์และวิศวกรที่เรียนรู้เชิงลึกพยายามอธิบายรูปแบบต่างๆ ทางคณิตศาสตร์จากระบบประสาททางชีววิทยา ระบบการเรียนรู้เชิงลึกได้ถูกนำไปใช้กับปัญหาต่างๆ เช่น คอมพิวเตอร์วิทัศน์ การรู้จำคำพูด การประมวลผลภาษาธรรมชาติ การแปลด้วยคอมพิวเตอร์ และอื่นๆ เป็นเรื่องที่น่าสนใจและน่าตื่นเต้นที่ในบางงาน การเรียนรู้เชิงลึกมีประสิทธิภาพเหนือกว่าผู้เชี่ยวชาญที่เป็นมนุษย์ วันนี้เราจะพามาดู Deep Learning ในภาคการเงินกัน
แอปพลิเคชั่น Deep Learning ที่น่าสนใจกว่านั้นคือกองทุนเฮดจ์ฟันด์ กองทุนป้องกันความเสี่ยง คือ กองทุนรวมที่ลงทุน องค์กรทางการเงินที่ระดมทุนจากนักลงทุนและจัดการกองทุนเหล่านี้ พวกเขามักจะทำงานกับข้อมูลอนุกรมเวลาและพยายามคาดการณ์ มีสถาปัตยกรรมการเรียนรู้เชิงลึกประเภทพิเศษที่เหมาะสำหรับการวิเคราะห์อนุกรมเวลา: เครือข่ายนิวรัลที่เกิดซ้ำ (RNN) หรือโดยเฉพาะอย่างยิ่งเครือข่ายนิวรัลที่เกิดซ้ำประเภทพิเศษ: เครือข่ายหน่วยความจำระยะสั้นระยะยาว (LSTM)
LSTM สามารถจับคุณสมบัติที่สำคัญที่สุดจากข้อมูลอนุกรมเวลาและจำลองการพึ่งพาได้ แบบจำลองการคาดการณ์ราคาหุ้นถูกนำเสนอเป็นกรณีศึกษาตัวอย่างว่ากองทุนเฮดจ์ฟันด์สามารถใช้ระบบดังกล่าวได้อย่างไร เฟรมเวิร์ก PyTorch ซึ่งเขียนด้วยภาษา Python ใช้เพื่อฝึกโมเดล ออกแบบการทดลอง และวาดผลลัพธ์
เราจะเริ่มต้นด้วยพื้นฐานการเรียนรู้เชิงลึกก่อนที่จะไปยังตัวอย่างในโลกแห่งความเป็นจริง:
- แนะนำการเรียนรู้เชิงลึกเป็นแนวคิดที่เป็นนามธรรม
- ขอแนะนำ RNN หรือ LSTM ที่เจาะจงยิ่งขึ้น และวิธีใช้ RNN เพื่อสร้างแบบจำลองข้อมูลอนุกรมเวลา
- ทำความคุ้นเคยกับข้อมูลทางการเงินที่เหมาะสมสำหรับการเรียนรู้เชิงลึกแก่ผู้อ่าน
- แสดงให้เห็นว่ากองทุนเฮดจ์ฟันด์จริงแห่งหนึ่งใช้การเรียนรู้เชิงลึกเพื่อทำนายราคาหุ้นอย่างไร
- สุดท้าย ให้คำแนะนำที่นำไปปฏิบัติได้สำหรับกองทุนเฮดจ์ฟันด์ใหม่และที่มีอยู่เกี่ยวกับวิธีการใช้/ใช้ประโยชน์จากการเรียนรู้เชิงลึกเพื่อเพิ่มประสิทธิภาพของกองทุน
นำเสนอกรณีศึกษาการซื้อขายเชิงลึก
หนึ่งในงานที่ท้าทายและน่าตื่นเต้นที่สุดในอุตสาหกรรมการเงินคือการทำนายว่าราคาหุ้นจะขึ้นหรือลงในอนาคต วันนี้ เราทราบดีว่าอัลกอริธึมการเรียนรู้เชิงลึกนั้นดีมากในการแก้ปัญหางานที่ซับซ้อน ดังนั้นจึงควรทดลองกับระบบการเรียนรู้เชิงลึกเพื่อดูว่าพวกเขาสามารถแก้ปัญหาการทำนายราคาในอนาคตได้สำเร็จหรือไม่
ตามแนวคิด โครงข่ายประสาทเทียมมีมาช้านานแล้ว แต่ฮาร์ดแวร์ไม่ดีพอที่จะทำการทดลองอย่างรวดเร็วในการเรียนรู้เชิงลึก Nvidia ได้ช่วยปฏิวัติเครือข่ายการเรียนรู้เชิงลึกเมื่อทศวรรษที่แล้ว โดยเริ่มนำเสนอหน่วยประมวลผลกราฟิก (GPU) ที่รวดเร็วมากสำหรับคอมพิวเตอร์เอนกประสงค์ในผลิตภัณฑ์ซีรีส์เทสลา แทนที่จะแรเงารูปหลายเหลี่ยมในเกมและแอปพลิเคชันออกแบบมืออาชีพ GPU ที่มีขนานสูงสามารถคำนวณข้อมูลอื่นๆ ได้เช่นกัน และในหลายกรณี พวกมันเหนือกว่า CPU อย่างมาก
มีเอกสารทางวิทยาศาสตร์น้อยมากเกี่ยวกับการใช้การเรียนรู้เชิงลึกในด้านการเงิน แต่ความต้องการผู้เชี่ยวชาญด้านการเรียนรู้เชิงลึกจากบริษัทฟินเทคนั้นแข็งแกร่ง เนื่องจากพวกเขาตระหนักดีถึงศักยภาพอย่างชัดเจน บทความนี้จะช่วยอธิบายว่าทำไมการเรียนรู้เชิงลึกในด้านการเงินจึงเป็นที่นิยมมากขึ้นเรื่อยๆ โดยสรุปว่าข้อมูลทางการเงินถูกนำมาใช้ในการสร้างระบบการเรียนรู้เชิงลึกอย่างไร จะมีการนำเสนอโครงข่ายประสาทเทียมชนิดพิเศษ—เครือข่าย LSTM—ด้วย เราจะสรุปว่างานที่เกี่ยวข้องกับการเงินสามารถแก้ไขได้โดยใช้โครงข่ายประสาทเทียมที่เกิดซ้ำได้อย่างไร
บทความนี้ยังมีตัวอย่างกรณีศึกษาว่ากองทุนเฮดจ์ฟันด์สามารถใช้ระบบดังกล่าวได้อย่างไร นำเสนอผ่านการทดลอง นอกจากนี้ เราจะพิจารณาด้วยว่าระบบการเรียนรู้เชิงลึกสามารถปรับปรุงได้อย่างไร และกองทุนป้องกันความเสี่ยงสามารถจ้างผู้มีความสามารถเพื่อสร้างระบบเหล่านั้นได้อย่างไร เช่น ผู้ที่มีความสามารถพิเศษในการเรียนรู้เชิงลึกจำเป็นต้องมีภูมิหลังอย่างไร
อะไรที่ทำให้กองทุนเฮดจ์ฟันด์แตกต่าง
ก่อนที่เราจะดำเนินการในด้านเทคนิคของปัญหา เราต้องอธิบายสิ่งที่ทำให้กองทุนป้องกันความเสี่ยงมีความโดดเด่น ดังนั้นกองทุนป้องกันความเสี่ยงคืออะไร?
กองทุนเฮดจ์ฟันด์คือกองทุนเพื่อการลงทุน—องค์กรทางการเงินที่ระดมทุนจากนักลงทุนและนำไปลงทุนในระยะสั้นและระยะยาว หรือในผลิตภัณฑ์ทางการเงินต่างๆ โดยทั่วไปจะจัดตั้งขึ้นเป็นห้างหุ้นส่วนจำกัดหรือบริษัทจำกัด เป้าหมายของกองทุนเฮดจ์ฟันด์คือการเพิ่มผลตอบแทนสูงสุด ผลตอบแทนคือกำไรหรือขาดทุนในมูลค่าสุทธิของกองทุนป้องกันความเสี่ยงในช่วงเวลาหนึ่ง เป็นที่ยอมรับกันโดยทั่วไปว่าเมื่อรับความเสี่ยงมากขึ้น ก็มีโอกาสได้รับผลตอบแทนและการสูญเสียที่สูงขึ้น
เพื่อให้ได้ผลตอบแทนที่ดี กองทุนเฮดจ์ฟันด์ต้องอาศัยกลยุทธ์การลงทุนประเภทต่างๆ พยายามหาเงินโดยการใช้ประโยชน์จากความไร้ประสิทธิภาพของตลาด เนื่องจากกลยุทธ์การลงทุนประเภทต่างๆ ที่ไม่ได้รับอนุญาตในกองทุนรวมที่ลงทุนทั่วไป กองทุนป้องกันความเสี่ยงจึงไม่ได้จดทะเบียนเป็นกองทุน กล่าวคือ มักไม่ได้รับการดูแลจากรัฐเหมือนกองทุนอื่นๆ พวกเขาไม่จำเป็นต้องเผยแพร่กลยุทธ์การลงทุนและผลลัพธ์ทางธุรกิจ ซึ่งสามารถทำให้พวกเขาค่อนข้างเสี่ยง กองทุนป้องกันความเสี่ยงบางแห่งสร้างรายได้มากกว่าค่าเฉลี่ยของตลาด แต่บางกองทุนก็สูญเสียเงิน บางส่วนให้ผลลัพธ์ที่ถาวร ในขณะที่ผลลัพธ์ของกองทุนป้องกันความเสี่ยงบางส่วนนั้นไม่แน่นอน
การลงทุนในกองทุนเฮดจ์ฟันด์ทำให้นักลงทุนเพิ่มมูลค่าสุทธิของกองทุน ไม่ใช่แค่ใครก็ตามที่สามารถลงทุนในกองทุนป้องกันความเสี่ยงได้ กองทุนป้องกันความเสี่ยงมีไว้สำหรับนักลงทุนที่ร่ำรวยจำนวนน้อย โดยปกติผู้ที่ต้องการมีส่วนร่วมในกองทุนป้องกันความเสี่ยงจะต้องได้รับการรับรอง นั่นหมายความว่าต้องมีสถานะพิเศษเกี่ยวกับกฎหมายว่าด้วยการควบคุมทางการเงิน มีความแตกต่างจากประเทศหนึ่งไปอีกประเทศหนึ่งเกี่ยวกับผู้ที่สามารถมีสถานะพิเศษนั้นได้ โดยปกติ มูลค่าสุทธิของนักลงทุนจะต้องสูงมาก—ไม่เฉพาะบุคคลเท่านั้น แต่ธนาคารและบริษัทขนาดใหญ่ก็สามารถดำเนินการในกองทุนป้องกันความเสี่ยงได้เช่นกัน การรับรองดังกล่าวได้รับการออกแบบมาเพื่อให้เฉพาะบุคคลที่มีความรู้ด้านการลงทุนที่สำคัญเท่านั้นที่จะเข้าร่วมได้ ซึ่งจะเป็นการปกป้องนักลงทุนรายย่อยและไม่มีประสบการณ์จากความเสี่ยง
บทความนี้พิจารณากรอบการกำกับดูแลของสหรัฐอเมริกา เนื่องจากสหรัฐอเมริกามีตลาดการเงินที่พัฒนาแล้วมากที่สุดในโลก ดังนั้น ในสหรัฐอเมริกา คำว่า "ผู้ลงทุนที่ได้รับการรับรอง" จึงถูกกำหนดไว้ในกฎ 501 ของระเบียบ D ของสำนักงานคณะกรรมการกำกับหลักทรัพย์และตลาดหลักทรัพย์แห่งสหรัฐอเมริกา (SEC)
ตามระเบียบนี้ นักลงทุนที่ได้รับการรับรองสามารถ:
- ธนาคาร
- บริษัทพัฒนาธุรกิจเอกชน
- องค์กร
- กรรมการ ผู้บริหาร และหุ้นส่วนทั่วไปของผู้ออกหลักทรัพย์ที่เสนอขาย
- บุคคลธรรมดาที่มีมูลค่าสุทธิส่วนบุคคลหรือมูลค่าสุทธิร่วมกับคู่สมรสของบุคคลนั้นเกิน 1,000,000 เหรียญสหรัฐ
- บุคคลธรรมดาที่มีรายได้ส่วนบุคคลเกิน $200,000 ในแต่ละช่วงสองปีล่าสุด หรือรายได้ร่วมกับคู่สมรสของบุคคลนั้นเกิน $300,000 ในแต่ละปีเหล่านั้น และคาดว่าจะมีรายได้ถึงระดับเดียวกันในปีปัจจุบัน
- ทรัสต์ที่มีทรัพย์สินรวมเกิน 5,000,000 เหรียญสหรัฐ
- นิติบุคคลที่เจ้าของตราสารทุนทั้งหมดเป็นผู้ลงทุนที่ได้รับการรับรอง
ผู้จัดการกองทุนป้องกันความเสี่ยงจัดการกองทุนป้องกันความเสี่ยง ผู้จัดการกองทุนเฮดจ์ฟันด์ต้องหาวิธีสร้างความได้เปรียบในการแข่งขันเพื่อให้ประสบความสำเร็จ กล่าวคือ สร้างความได้เปรียบเหนือคู่แข่งและความสามารถในการสร้างมูลค่าที่มากขึ้น อาจเป็นทางเลือกทางอาชีพที่น่าสนใจมาก เนื่องจากสามารถทำกำไรได้มากหากบุคคลมีความสามารถด้านการจัดการกองทุน
ในอีกด้านหนึ่ง หากการตัดสินใจของผู้จัดการกองทุนเฮดจ์ฟันด์จำนวนมากกลายเป็นเรื่องไม่ดี พวกเขาจะไม่ได้รับค่าตอบแทนและจะได้รับชื่อเสียงในเชิงลบ ผู้จัดการกองทุนเฮดจ์ฟันด์ที่ดีที่สุดเป็นหนึ่งในอาชีพที่ได้รับค่าตอบแทนที่ดีที่สุดในทุกอุตสาหกรรม ผู้จัดการกองทุนป้องกันความเสี่ยงจะได้รับผลตอบแทนเป็นเปอร์เซ็นต์สำหรับนักลงทุน นอกเหนือจากค่าธรรมเนียมการจัดการ วิธีการชดเชยนี้ทำให้ผู้จัดการกองทุนเฮดจ์ฟันด์ลงทุนอย่างจริงจังมากขึ้นเพื่อให้ได้ผลตอบแทนที่มากขึ้น แต่ในทางกลับกันก็นำไปสู่ความเสี่ยงของนักลงทุนที่เพิ่มขึ้นด้วย
ประวัติโดยย่อของกองทุนป้องกันความเสี่ยง
กองทุนเฮดจ์ฟันด์แห่งแรกปรากฏขึ้นในปี 2492 ซึ่งก่อตั้งโดยอดีตนักเขียนและนักสังคมวิทยา Alfred Winslow Jones ในขณะที่เขากำลังเขียนบทความเกี่ยวกับแนวโน้มการลงทุนในปัจจุบันของ Fortune ย้อนกลับไปในปี 1948
เขาพยายามบริหารเงินและประสบความสำเร็จอย่างมาก เขาระดมเงินโดยใช้นวัตกรรมการลงทุน ซึ่งปัจจุบันเป็นที่รู้จักอย่างกว้างขวางในชื่อหุ้นยาว/สั้น กลยุทธ์นี้ยังคงได้รับความนิยมอย่างมากในหมู่กองทุนป้องกันความเสี่ยง หุ้นสามารถซื้อได้ (ซื้อ: ยาว) หรือขาย (ขาย: สั้น)
เมื่อราคาหุ้นต่ำและคาดว่าราคาหุ้นจะสูงขึ้น จึงเป็นเหตุให้ต้องซื้อหุ้น (long) และขาย (short) ทันทีที่ราคาถึงจุดสูงสุด และนั่น เป็นจุดสำคัญของนวัตกรรมที่ Alfred Winslow Jones สร้างขึ้น นั่นคือการรับตำแหน่งยาวในหุ้นที่คาดว่าจะแข็งค่า และตำแหน่งสั้นในหุ้นที่คาดว่าจะลดลง
ข้อมูลทางการเงินและชุดข้อมูล
ข้อมูลทางการเงินเป็นของข้อมูลอนุกรมเวลา อนุกรมเวลาคือชุดของจุดข้อมูลที่จัดทำดัชนีในเวลา โดยปกติ อนุกรมเวลาคือลำดับที่ถ่ายที่จุดต่อเนื่องกันและเว้นระยะเท่ากัน นั่นคือ ลำดับของข้อมูลเวลาที่ไม่ต่อเนื่อง ตัวอย่างของอนุกรมเวลา ได้แก่ ความสูงของกระแสน้ำในมหาสมุทร จำนวนจุดดับ และมูลค่าปิดรายวันของค่าเฉลี่ยอุตสาหกรรมดาวโจนส์
ข้อมูลย้อนหลังในบริบทนี้คือข้อมูลอนุกรมเวลาจากอดีต เป็นหนึ่งในส่วนที่สำคัญที่สุดและมีค่าที่สุดสำหรับการเก็งกำไรเกี่ยวกับราคาในอนาคต มีชุดข้อมูลที่เปิดเผยต่อสาธารณะบางส่วนทางออนไลน์ แต่โดยปกติ ข้อมูลนั้นไม่มีคุณลักษณะมากมาย โดยปกติแล้วจะเป็นข้อมูลช่วงเวลา 1 วัน ข้อมูลช่วงเวลา 1 ชั่วโมง หรือข้อมูลช่วงเวลา 1 นาที
ชุดข้อมูลที่มีคุณสมบัติสมบูรณ์ยิ่งขึ้นและในช่วงเวลาสั้น ๆ มักจะไม่เปิดเผยต่อสาธารณะและอาจมีราคาแพงมาก ช่วงเวลาที่น้อยลงหมายถึงข้อมูลอนุกรมเวลามากขึ้นในช่วงเวลาที่กำหนด—ในหนึ่งปีจะมี 365 (หรือ 366) วัน จึงมีจุดข้อมูลสูงสุด 365 (หรือ 366) จุด แต่ละวันมี 24 ชั่วโมง ดังนั้นในหนึ่งปีจะมีจุดข้อมูลรายชั่วโมง 8,760 (หรือ 8,784) ที่พร้อมใช้งาน และในแต่ละวันมี 86,400 นาที ดังนั้นในหนึ่งปีจะมีจุดข้อมูล 525,600 (หรือ 527,040) นาทีที่พร้อมใช้งาน
เมื่อมีข้อมูลมากขึ้น มีข้อมูลเพิ่มเติม และมีข้อมูลเพิ่มเติม จึงสามารถสรุปได้ดีขึ้นเกี่ยวกับสิ่งที่จะเกิดขึ้นในช่วงเวลาถัดไป แน่นอนว่าข้อมูลประกอบด้วยคุณลักษณะที่ดีพอที่จะสรุปได้ดี ข้อมูลราคาหุ้นในช่วงปี 2550-2551 ซึ่งเป็นช่วงที่เกิดวิกฤตการเงินโลกมีความเอนเอียงและอาจไม่เกี่ยวข้องกับการคาดการณ์ราคาในปัจจุบัน ด้วยช่วงเวลาที่สั้นลง ทำให้ง่ายต่อการคาดการณ์ว่าจะเกิดอะไรขึ้นต่อไป เนื่องจากมีจุดข้อมูลจำนวนมากในช่วงเวลาที่กำหนด คาดการณ์ได้ง่ายกว่าว่าจะเกิดอะไรขึ้นในนาโนวินาทีถัดไป หากเรามีจุดข้อมูลทั้งหมดสำหรับทุกๆ นาโนวินาทีในช่วง n ปีคงที่ มากกว่าสิ่งที่จะเกิดขึ้นในตลาดหุ้นในปีหน้าหากเรามีจุดข้อมูลทั้งหมด n จุดสำหรับทุกๆ ปี ช่วงเวลา n ปีคงที่
อย่างไรก็ตาม นั่นไม่ได้หมายความว่า สมมติว่าการคาดคะเนระยะสั้นแบบรวดเร็วนั้นถูกต้อง การคาดคะเนระยะยาวก็ควรถูกต้องด้วย การทำนายแต่ละครั้งทำให้เกิดข้อผิดพลาด และด้วยการเชื่อมโยงการทำนายหลาย ๆ ครั้งเข้าด้วยกัน การทำนายระยะยาวจะมีข้อผิดพลาดจำนวนมากในตอนท้ายและจะไร้ประโยชน์ ด้านล่างนี้คือตัวอย่างข้อมูลช่วงเวลา 1 วันสำหรับหุ้น Google ที่คัดลอกมาจาก Yahoo Finance ทางออนไลน์
มีเพียงไม่กี่คอลัมน์ในชุดข้อมูล: วันที่ เปิด สูง ต่ำ และปิด—ตามลำดับ ราคาที่หลักทรัพย์ทำการซื้อขายครั้งแรกเมื่อเปิดการแลกเปลี่ยน ซึ่งเป็นราคาสูงสุดที่หลักทรัพย์ได้รับในวันซื้อขายที่กำหนด ราคาต่ำสุดที่ทำได้ในวันซื้อขายที่กำหนด และราคาสุดท้ายที่มีการซื้อขายหลักทรัพย์ในวันนั้น
โดยปกติ ชุดข้อมูลดังกล่าวจะมีอีกสองคอลัมน์—ปิดที่ปรับแล้วและระดับเสียง แต่ไม่เกี่ยวข้องที่นี่ Adjusted Close คือราคาปิดหลังการปรับสำหรับการแบ่งส่วนที่เกี่ยวข้องและการจ่ายเงินปันผล ในขณะที่ Volume คือจำนวนหุ้นที่ซื้อขายในตลาดในช่วงเวลาที่กำหนด
คุณจะเห็นว่าบางวันที่หายไป ช่วงนี้เป็นวันที่ตลาดหลักทรัพย์ไม่ทำงาน ซึ่งมักจะเป็นช่วงวันหยุดสุดสัปดาห์และวันหยุดนักขัตฤกษ์ เพื่อจุดประสงค์ในการสาธิตอัลกอริธึมการเรียนรู้เชิงลึกของเรา วันที่ที่หายไปจะถูกเสริมด้วยราคาที่มีอยู่ก่อนหน้านี้ ตัวอย่างเช่น ราคาปิดสำหรับ 2010-01-16, 2010-01-17, 2010-01-18 ทั้งหมดจะเท่ากับ 288.126007 เพราะนั่นคือสิ่งที่เป็นในวันที่ 2010-01-15 เป็นสิ่งสำคัญสำหรับอัลกอริทึมของเราที่ข้อมูลจะต้องไม่มีช่องว่าง ดังนั้นเราจึงไม่สับสน อัลกอริธึมการเรียนรู้เชิงลึกสามารถเรียนรู้ได้จากที่นี่เมื่อเป็นวันหยุดสุดสัปดาห์และวันหยุด—เช่น จะเรียนรู้ว่าหลังจากห้าวันทำการ จะต้องมีสองวันที่มีราคาคงที่จากวันทำการล่าสุด
นี่คือแผนภูมิการเคลื่อนไหวของราคาหุ้น Google ตั้งแต่ปี 2010-01-04 โปรดทราบว่าใช้เฉพาะวันซื้อขายเพื่อลงจุดกราฟ
การเรียนรู้เชิงลึกคืออะไร?
การเรียนรู้เชิงลึกเป็นส่วนหนึ่งของการเรียนรู้ของเครื่อง และอาศัยการแสดงข้อมูลการเรียนรู้ แมชชีนเลิร์นนิงจะตรวจสอบอัลกอริธึมที่ฟังก์ชันการทำงานไม่ได้ถูกตั้งโปรแกรมไว้แต่เรียนรู้จากข้อมูล โดยพื้นฐานแล้วเป็นแนวทางของปัญญาประดิษฐ์
การเรียนรู้เชิงลึกถูกนำไปใช้กับหลากหลายสาขา เช่น คอมพิวเตอร์วิทัศน์ การรู้จำคำพูด การประมวลผลภาษาธรรมชาติ การแปลด้วยคอมพิวเตอร์ และในงานเหล่านี้บางงานก็มีประสิทธิภาพที่เหนือกว่ามนุษย์
โครงข่ายประสาทลึกเป็นศูนย์กลางของการเรียนรู้อย่างลึกซึ้ง ตัวอย่างที่ง่ายและพื้นฐานที่สุดของโครงข่ายประสาทลึกคือโครงข่ายประสาทเทียมแบบฟีดฟอร์เวิร์ด ด้านล่างนี้เป็นภาพของโครงข่ายประสาทเทียมแบบฟีดฟอร์เวิร์ดอย่างง่าย ประกอบด้วยเลเยอร์อินพุตและเอาต์พุตและเลเยอร์ที่ซ่อนอยู่
เลเยอร์ที่ซ่อนอยู่คือเลเยอร์ทั้งหมดระหว่างเลเยอร์อินพุตและเอาต์พุต เราบอกว่าโครงข่ายประสาทเทียมนั้นลึกถ้ามีเลเยอร์ที่ซ่อนอยู่มากกว่าหนึ่งชั้น แต่ละชั้นประกอบด้วยเซลล์ประสาทจำนวนมาก เลเยอร์ในโครงข่ายประสาทเทียมแบบฟีดฟอร์เวิร์ดพื้นฐานนี้เรียกว่าเลเยอร์เชิงเส้น—เซลล์ประสาทในเลเยอร์เชิงเส้นจะคูณเฉพาะค่าของ 1-D (หรือ 2-D หากข้อมูลถูกส่งผ่านเครือข่ายเป็นชุด) อินพุตที่มีน้ำหนักที่เหมาะสม รวมผลิตภัณฑ์เข้าด้วยกัน และ ให้ผลลัพธ์สุดท้ายเป็นเอาต์พุต 1-D หรือ 2-D
ฟังก์ชันการเปิดใช้งานมักจะใช้ในเครือข่าย feedforward เพื่อแนะนำความไม่เชิงเส้น เพื่อให้เครือข่ายสามารถจำลองปัญหาที่ซับซ้อนและไม่เชิงเส้นได้ ในเครือข่าย feedforward ข้อมูลจะไหลจากเลเยอร์อินพุตไปยังเลเยอร์เอาต์พุตโดยไม่วนกลับ การเชื่อมต่อระหว่างเซลล์ประสาทมีน้ำหนัก ต้องปรับน้ำหนักเพื่อให้โครงข่ายประสาทส่งกลับเอาต์พุตที่ถูกต้องสำหรับอินพุตที่กำหนด เครือข่าย feedforward แมปข้อมูลจากพื้นที่อินพุตไปยังพื้นที่เอาต์พุต เลเยอร์ที่ซ่อนอยู่จะดึงคุณสมบัติที่สำคัญและเป็นนามธรรมออกจากคุณสมบัติของเลเยอร์ก่อนหน้า
ไปป์ไลน์การเรียนรู้เชิงลึกทั่วไปเหมือนกับไปป์ไลน์การเรียนรู้ของเครื่องและประกอบด้วยขั้นตอนต่อไปนี้:
- การเก็บรวบรวมข้อมูล. ข้อมูลแบ่งออกเป็นสามส่วน ได้แก่ ข้อมูลการฝึกอบรม ข้อมูลการตรวจสอบ และข้อมูลการทดสอบ
- การฝึกอบรม DNN โดยใช้ข้อมูลการฝึกอบรมผ่าน "ยุค" จำนวนหนึ่ง (แต่ละช่วงประกอบด้วยการวนซ้ำจำนวนหนึ่ง) และการตรวจสอบความถูกต้องหลังจากแต่ละยุคโดยใช้ข้อมูลการตรวจสอบความถูกต้อง
- การทดสอบแบบจำลอง (หนึ่งอินสแตนซ์ของโครงข่ายประสาทเทียมที่มีพารามิเตอร์คงที่) หลังจากลำดับของช่วงการฝึกและการตรวจสอบ
การฝึกโครงข่ายประสาทเทียมหมายถึงการปรับน้ำหนักระหว่างคู่ของเซลล์ประสาทโดยการลดฟังก์ชันการสูญเสียโดยใช้อัลกอริธึม backpropagation ร่วมกับการไล่ระดับสีสุ่ม ยกเว้นน้ำหนักที่กำหนดโดยกระบวนการเรียนรู้ อัลกอริธึมการเรียนรู้เชิงลึกมักต้องการการตั้งค่าไฮเปอร์พารามิเตอร์—พารามิเตอร์ที่ไม่ได้เรียนรู้แต่ได้รับการแก้ไขก่อนการเรียนรู้ ไฮเปอร์พารามิเตอร์คือจำนวนเลเยอร์ จำนวนเซลล์ประสาทในเลเยอร์ ประเภทของเลเยอร์ ประเภทของเซลล์ประสาท และการกำหนดน้ำหนักเริ่มต้น
มีข้อ จำกัด ด้านฮาร์ดแวร์ในการตั้งค่าไฮเปอร์พารามิเตอร์ ปัจจุบันนี้ร่างกายไม่สามารถตั้งค่าเซลล์ประสาทจำนวนหลายล้านล้านเซลล์บน GPU ตัวเดียวได้ ปัญหาที่สองสำหรับการค้นหาไฮเปอร์พารามิเตอร์อย่างละเอียดถี่ถ้วนคือการระเบิดแบบผสมผสาน เป็นไปไม่ได้ที่จะค้นหาผ่านชุดค่าผสมของไฮเปอร์พารามิเตอร์ที่เป็นไปได้ทั้งหมด เนื่องจากจะใช้เวลาที่ไม่สิ้นสุด ด้วยเหตุนี้ ไฮเปอร์พารามิเตอร์จึงถูกตั้งค่าแบบสุ่มหรือใช้ฮิวริสติกและตัวอย่างที่รู้จักกันดีซึ่งอธิบายไว้ในเอกสารทางวิทยาศาสตร์—ไฮเปอร์พารามิเตอร์ตัวใดตัวหนึ่งที่ใช้สำหรับการวิเคราะห์ข้อมูลทางการเงินที่แสดงในภายหลังในบล็อกโพสต์นี้คือการใช้เซลล์ประสาทที่เกิดซ้ำ ในฐานะนักวิทยาศาสตร์และวิศวกร ได้พิสูจน์แล้วว่าพวกเขาทำงานได้ดีกับข้อมูลอนุกรมเวลา โดยปกติ วิธีที่ดีที่สุดในการดูว่าไฮเปอร์พารามิเตอร์สำหรับปัญหาหนึ่งๆ นั้นดีหรือไม่คือผ่านการทดลอง
จุดประสงค์ของการฝึกคือการทำให้โครงข่ายประสาทเทียมเหมาะสมกับข้อมูลการฝึก การตรวจสอบแบบจำลองทั้งสอง ซึ่งเสร็จสิ้นหลังจากแต่ละขั้นตอนการฝึกอบรม และการทดสอบแบบจำลอง ซึ่งเสร็จสิ้นหลังจากขั้นตอนการฝึกอบรมทั้งหมด เสร็จสิ้นเพื่อดูว่าแบบจำลองสามารถสรุปได้ดีหรือไม่ ลักษณะทั่วไปหมายความว่าโครงข่ายประสาทเทียมสามารถคาดการณ์ข้อมูลใหม่ที่มองไม่เห็นได้ดี
มีคำศัพท์สำคัญสองคำที่เกี่ยวข้องกับการเลือกรุ่น: โอเวอร์ฟิต และ underfitting หากโครงข่ายประสาทเทียมซับซ้อนเกินไปเกี่ยวกับข้อมูลที่ได้รับการฝึก—หากมีพารามิเตอร์มากเกินไป (เลเยอร์มากเกินไปและ/หรือเซลล์ประสาทในเลเยอร์มากเกินไป)— โครงข่ายประสาทเทียมสามารถใส่ข้อมูลมากเกินไป สามารถปรับให้เข้ากับข้อมูลการฝึกได้ดีเพราะมีความจุมากเกินพอที่จะใส่ข้อมูลทั้งหมดได้ แต่ประสิทธิภาพในการตรวจสอบและชุดทดสอบนั้นไม่ดี

หากโครงข่ายประสาทเทียมเรียบง่ายเกินไปเกี่ยวกับข้อมูลที่ได้รับการฝึก โครงข่ายประสาทเทียมอาจทำให้ข้อมูลไม่เพียงพอ ในกรณีนั้น โครงข่ายประสาทเทียมมีประสิทธิภาพต่ำในการฝึก การตรวจสอบ และชุดทดสอบ เนื่องจากความจุของโครงข่ายไม่ดีพอที่จะพอดีกับข้อมูลการฝึกและสรุปได้ ในภาพด้านล่าง คำศัพท์เหล่านั้นมีการอธิบายเป็นภาพกราฟิก เส้นสีน้ำเงินแสดงถึงสิ่งที่จำลองโดยโครงข่ายประสาทเทียม ภาพแรกแสดงสถานการณ์เมื่อมีพารามิเตอร์โครงข่ายประสาทเทียมน้อย ไม่เพียงพอต่อข้อมูลการฝึกและสรุป ภาพที่สองแสดงสถานการณ์เมื่อมีจำนวนพารามิเตอร์ที่เหมาะสมที่สุดและโครงข่ายประสาทเทียมสามารถสรุปข้อมูลที่มองไม่เห็นได้ดี และภาพที่สามแสดงสถานการณ์เมื่อจำนวนพารามิเตอร์ของโครงข่ายประสาทเทียมมากเกินไปและโครงข่ายประสาทเทียมสามารถทำได้อย่างสมบูรณ์ พอดีกับข้อมูลทั้งหมดจากชุดการฝึก แต่มีประสิทธิภาพต่ำในการตรวจสอบและชุดทดสอบ
โครงข่ายประสาทกำเริบ
โครงข่ายประสาทเทียมรุ่นที่ซับซ้อนกว่าคือโครงข่ายประสาทที่เกิดซ้ำ ในโครงข่ายประสาทเทียมที่เกิดซ้ำ ข้อมูลสามารถไหลไปในทิศทางใดก็ได้ ตรงข้ามกับโครงข่ายประสาทเทียมแบบฟีดฟอร์เวิร์ด พวกเขาสามารถเรียนรู้การพึ่งพาอนุกรมเวลาได้ดี สถาปัตยกรรมของโครงข่ายประสาทเทียมทั่วไปแสดงอยู่ในภาพด้านล่าง
ในภาพด้านล่างจะแสดงเซลล์ประสาทที่เกิดซ้ำหนึ่งเซลล์ ใช้เวลา X_{t} ชี้ในเวลา t เป็นอินพุตและส่งกลับ h_{t} สถานะที่ซ่อนอยู่ในเวลา t เป็นเอาต์พุต ผลลัพธ์ที่ซ่อนอยู่จะแพร่กระจายกลับไปยังเซลล์ประสาท เซลล์ประสาทที่เกิดซ้ำสามารถคลี่ออกได้เนื่องจากแสดงในภาพเดียวกันจากด้านขวา X_{t_0} คือจุดในช่วงเวลา t_{0} , X_{t_1} ในช่วงเวลา t_{1} และ X_{t} ในช่วงเวลา t เอาต์พุตที่ได้รับโดยใช้อินพุต X_{t_0} , X_{t_1} , …, X_{t_n} ในช่วงเวลา t_{0} , t_{1} , …, t_{n} คือสิ่งที่เรียกว่าเอาต์พุตที่ซ่อนอยู่: h_{t_0} , h_{t_1} , …, h_{t_n} ตามลำดับ
สถาปัตยกรรมโครงข่ายประสาทเทียมแบบเกิดซ้ำที่ดีที่สุดตัวหนึ่งคือสถาปัตยกรรม LSTM LSTM แสดงไว้ด้านล่าง:
LSTM มีโครงสร้างทั่วไปเหมือนกันกับโครงข่ายประสาทเทียมทั่วไป แต่เซลล์ประสาทที่เกิดซ้ำจะแตกต่างกันเล็กน้อยเมื่อมีโครงสร้างที่ซับซ้อนกว่า จากภาพด้านบนจะเห็นว่ามีการคำนวณจำนวนมากภายในเซลล์ LSTM เซลล์เดียว เซลล์ LSTM สามารถสังเกตได้ว่าเป็นกล่องดำในบริบทของโพสต์นี้ แต่สำหรับผู้อ่านที่อยากรู้อยากเห็นมากขึ้น บล็อกโพสต์ที่ยอดเยี่ยมนี้จะอธิบายการคำนวณภายใน LSTM และอื่นๆ อีกมากมาย
ให้เราเรียกอินพุตสำหรับโครงข่ายประสาทเทียมว่า "เวกเตอร์คุณลักษณะ" เป็นเวกเตอร์ n มิติที่มีองค์ประกอบเป็นคุณลักษณะ: f_{0} , f_{1} , f_{2} …, f_{n}
\vv{X} = [f_{0}, f_{1}, f_{2}, …, f_{n}] ตอนนี้ มาอธิบายว่าโครงข่ายประสาทเทียมที่เกิดซ้ำสามารถนำไปใช้กับงานที่เกี่ยวข้องกับการเงินได้อย่างไร อินพุตสำหรับโครงข่ายประสาทที่เกิดซ้ำคือ [X_{t_0}, X_{t_1}, X_{t_2}, …, X_{t_n}] สมมุติว่า n = 5 เราใช้ราคาหุ้น Google ปิดห้าราคาจากห้าวันติดต่อกัน (ดูตารางที่มีข้อมูลเปิด/สูง/ต่ำ/ปิดด้านบน) ระหว่าง สมมติว่า 2010-01-04 และ 2010-01-08 เช่น [[311.35], [309.98], [302.16], [295.13], [299.06]] . เวกเตอร์คุณลักษณะในตัวอย่างนี้เป็นแบบมิติเดียว ลำดับเวลาประกอบด้วยเวกเตอร์คุณลักษณะดังกล่าวห้ารายการ ผลลัพธ์ของโครงข่ายประสาทเทียมที่เกิดซ้ำคือคุณลักษณะที่ซ่อนอยู่ [h_{t_0}, h_{t_1}, h_{t_2}, …, h_{t_n}] คุณลักษณะเหล่านี้อยู่ในระดับที่เป็นนามธรรมมากกว่าคุณลักษณะอินพุต [X_{t_0}, X_{t_1}, X_{t_2}, …, X_{t_n}] —LSTM ควรเรียนรู้ส่วนสำคัญของคุณสมบัติอินพุตและฉายภาพไปยัง พื้นที่คุณสมบัติที่ซ่อนอยู่ คุณลักษณะที่ซ่อนอยู่และเป็นนามธรรมเหล่านั้นสามารถเผยแพร่ในเซลล์ LSTM ถัดไป ซึ่งจะทำให้ชุดถัดไปของคุณลักษณะที่ซ่อนอยู่และเป็นนามธรรมมากขึ้น ซึ่งสามารถเผยแพร่อีกครั้งไปยัง LSTM ถัดไป และอื่นๆ หลังจากลำดับของ LSTM ที่ถูกล่ามโซ่ องค์ประกอบสุดท้ายของโครงข่ายประสาทเทียมคือเลเยอร์เชิงเส้น (ส่วนการสร้างของเครือข่าย feedforward อย่างง่ายที่อธิบายไว้ในส่วนก่อนหน้า) ซึ่งจับคู่คุณสมบัติที่ซ่อนอยู่จาก LSTM สุดท้ายไปยังจุดในปริภูมิหนึ่งมิติ และ จุดนั้นเป็นผลลัพธ์สุดท้ายของเครือข่าย—ราคาปิดที่คาดการณ์ไว้ในช่วงเวลา X_{t+1} ความจริงพื้นฐานในตัวอย่างนี้สำหรับ X_{t+1} คือ 298.61
หมายเหตุ: อาจมี LSTM น้อยเพียงตัวเดียว การตั้งค่าจำนวนของ LSTM เป็นไฮเปอร์พารามิเตอร์ ซึ่งโดยทั่วไปจะพบในเชิงประจักษ์ แม้ว่าเราจะสามารถใช้การวิเคราะห์พฤติกรรมบางอย่างได้ หากข้อมูลไม่ซับซ้อน เราใช้สถาปัตยกรรมที่ซับซ้อนน้อยกว่า เพื่อที่โมเดลจะไม่ใส่ข้อมูลมากเกินไป หากข้อมูลมีความซับซ้อน เราใช้แบบจำลองที่ซับซ้อนเพื่อให้แบบจำลองไม่เหมาะสมกับข้อมูล
ในระยะการฝึกอบรม ราคาปิดที่คาดการณ์ไว้จะถูกเปรียบเทียบกับราคาจริงภาคพื้นดิน และความแตกต่างระหว่างราคาปิดที่คาดการณ์และราคาความจริงภาคพื้นดินจะลดลงโดยใช้อัลกอริธึม backpropagation และอัลกอริธึมการเพิ่มประสิทธิภาพการไล่ระดับการไล่ระดับ (หรือรูปแบบใดรูปแบบหนึ่ง - อย่างเป็นรูปธรรมในสิ่งนี้ บล็อก ซึ่งใช้อัลกอริธึมการเพิ่มประสิทธิภาพการไล่ระดับการไล่ระดับสีรุ่นที่เรียกว่า "อดัม") โดยการเปลี่ยนน้ำหนักของโครงข่ายประสาทเทียม
หลังจากการฝึกอบรมและการทดสอบ ในอนาคต ผู้ใช้เพียงแค่ต้องให้ข้อมูลอินพุตกับโครงข่ายประสาทเทียม และมันจะส่งคืนราคาที่คาดการณ์ไว้ (และหวังว่าราคาจะใกล้เคียงกับราคาจริงจากอนาคตมาก)
อีกสิ่งหนึ่งที่ต้องพูดถึงคือ โดยปกติ ชุดข้อมูลจะถูกส่งผ่านเครือข่าย ทั้งในการฝึกในขั้นตอนการทดสอบ เพื่อให้เครือข่ายคำนวณเอาต์พุตหลายรายการในครั้งเดียว
ด้านล่างเป็นภาพสถาปัตยกรรมที่ใช้ในบล็อกนี้สำหรับการทดลอง ประกอบด้วย LSTM สองชุดและชั้นเชิงเส้นหนึ่งชั้น
การทดลองด้วยอัลกอริธึมกองทุนป้องกันความเสี่ยง
ลองใช้กลยุทธ์การซื้อขายแบบอัลกอริธึมที่ง่ายดังนี้: หากอัลกอริทึมคาดการณ์ว่าราคาจะเพิ่มขึ้นในวันถัดไป ให้ซื้อหุ้น n ( n = 1 ในตัวอย่างนี้) ของบริษัท (long) มิฉะนั้น ขายหุ้นทั้งหมดของ a บริษัท (สั้น). มูลค่าเริ่มต้นของพอร์ต (มูลค่าของเงินสดและหุ้นรวมกัน) ตั้งไว้ที่ 100,000 ดอลลาร์ การดำเนินการระยะยาวหรือสั้นแต่ละครั้งจะซื้อ n หุ้นของบริษัท (ในตัวอย่างนี้ Google) หรือขายหุ้นทั้งหมดของบริษัทตามลำดับ ในการเริ่มต้น ระบบมีหุ้น 0 หุ้นของบริษัทที่กำหนด
โปรดจำไว้เสมอว่านี่เป็นเพียงตัวอย่างพื้นฐานและเรียบง่าย ไม่ได้มีไว้สำหรับใช้ในโลกแห่งความเป็นจริง เนื่องจากจำเป็นต้องมีงานวิจัยและพัฒนาอีกมากเพื่อปรับแต่งโมเดลให้ทำงานได้ดีในทางปฏิบัติ บางสิ่งถูกละเลยที่นี่ซึ่งควรพิจารณาในสถานการณ์จริง ตัวอย่างเช่น ค่าธรรมเนียมการทำธุรกรรมไม่รวมอยู่ในแบบจำลอง สันนิษฐานว่าระบบสามารถซื้อขายได้ในเวลาเดียวกันทุกวัน และสันนิษฐานว่าทุกวัน แม้ในวันหยุดสุดสัปดาห์หรือวันหยุดเป็นวันซื้อขาย
สำหรับการทดสอบ จะใช้วิธีการทดสอบย้อนหลัง วิธีการทดสอบย้อนหลังใช้ข้อมูลในอดีตเพื่อสร้างการซื้อขายที่จะเกิดขึ้นในอดีตโดยใช้กฎที่กำหนดด้วยกลยุทธ์ที่พัฒนาขึ้น ชุดข้อมูลแบ่งออกเป็นสองส่วน—ส่วนแรกคือชุดการฝึก (อดีต) และส่วนที่สองคือชุดทดสอบ (อนาคต) โมเดลได้รับการฝึกอบรมในชุดการฝึก และหลังจากการฝึก เราจะจำลองอนาคตในส่วนที่สองของชุดข้อมูลเพื่อดูว่าโมเดลที่ผ่านการฝึกอบรมจะมีพฤติกรรมอย่างไรในอนาคตโดยไม่ได้รับการฝึกอบรม
เมตริกในการประเมินกลยุทธ์การซื้อขายคืออัตราส่วน Sharpe (เวอร์ชันรายปี สมมติว่าทุกวันในหนึ่งปีเป็นวันซื้อขาย และปีมี 365 วัน: sqrt(365)*mean(returns)/std(returns)) โดยที่ ผลตอบแทนถูกกำหนดเป็น p_{t}/p_{t-1} - 1 และ p_{t} คือราคาในช่วงเวลา t อัตราส่วน Sharpe แสดงอัตราส่วนระหว่างผลตอบแทนและความเสี่ยงเพิ่มเติมที่เกิดขึ้น ดังนั้นจึงควรมีอัตราส่วน Sharpe มากขึ้น โดยปกติ อัตราส่วนที่มากกว่า 1 เป็นที่ยอมรับของนักลงทุน 2 ดีมาก และ 3 ดีมาก
เฉพาะราคาปิดในแต่ละวันของราคาในอดีตของ Google จากชุดข้อมูล Yahoo Finance เท่านั้นที่จะถูกใช้เป็นคุณลักษณะ คุณลักษณะเพิ่มเติมจะช่วยได้ แต่อยู่นอกขอบเขตของบล็อกนี้เพื่อทดสอบว่าคุณลักษณะอื่นๆ จากชุดข้อมูลใด (เปิด สูง ต่ำ) มีความสำคัญ คุณสมบัติอื่นๆ บางอย่างที่ไม่รวมอยู่ในตารางก็อาจมีประโยชน์เช่นกัน ตัวอย่างเช่น ความรู้สึกของข่าวในนาทีใดนาทีหนึ่งหรือเหตุการณ์สำคัญในวันใดวันหนึ่ง อย่างไรก็ตาม บางครั้งก็เป็นเรื่องยากมากที่จะนำเสนอข้อมูลที่เป็นประโยชน์สำหรับอินพุตเครือข่ายประสาทเทียมและรวมเข้ากับคุณลักษณะที่มีอยู่ ตัวอย่างเช่น ง่ายต่อการขยายเวกเตอร์คุณลักษณะและใส่ตัวเลขที่แสดงถึงความเชื่อมั่นของข่าวหรือความรู้สึกทวีตของทรัมป์ ( -1 เชิงลบมาก 0 เป็นกลาง +1 ดีมาก ฯลฯ ) สำหรับแต่ละช่วงเวลาที่กำหนด แต่ไม่ใช่ ง่ายต่อการใส่ช่วงเวลาที่ขับเคลื่อนด้วยเหตุการณ์โดยเฉพาะ (โจรสลัดในคลองสุเอซ วางระเบิดในโรงกลั่นในเท็กซัส) ในเวกเตอร์คุณลักษณะ เพราะในแต่ละช่วงเวลา เราจะต้องมีองค์ประกอบเพิ่มเติมในเวกเตอร์คุณลักษณะเพื่อใส่ 1 ถ้า เหตุการณ์เกิดขึ้นหรือ 0 มิฉะนั้น ซึ่งจะนำไปสู่องค์ประกอบที่ไม่มีที่สิ้นสุดสำหรับช่วงเวลาที่เป็นไปได้ทั้งหมด
สำหรับข้อมูลที่ยากกว่านี้ เราสามารถกำหนดบางหมวดหมู่และในแต่ละช่วงเวลา ให้พิจารณาว่าหมวดหมู่นั้นอยู่ในหมวดหมู่ใด นอกจากนี้เรายังสามารถเพิ่มคุณสมบัติจากการแบ่งปันของบริษัทอื่นสำหรับระบบเพื่อเรียนรู้ความสัมพันธ์ระหว่างราคาหุ้นของบริษัทต่างๆ นอกจากนี้ยังมีประเภทของโครงข่ายประสาทเทียมสำหรับคอมพิวเตอร์วิทัศน์โดยเฉพาะ ซึ่งก็คือโครงข่ายประสาทเทียม ซึ่งน่าจะน่าสนใจที่จะรวมเข้ากับเลเยอร์ที่เกิดซ้ำ และดูว่าคุณลักษณะด้านภาพมีความสัมพันธ์กับราคาของบางบริษัทอย่างไร บางทีเราอาจใช้ฟีดของกล้องจากสถานีรถไฟที่มีผู้คนพลุกพล่านเป็นคุณลักษณะและแนบฟีดนั้นกับโครงข่ายประสาทเทียม และดูว่าโครงข่ายประสาทเทียมที่เห็นนั้นสัมพันธ์กับราคาหุ้นของบริษัทบางแห่งหรือไม่—อาจมีความรู้ซ่อนเร้นอยู่บ้าง ตัวอย่างซ้ำซากและไร้สาระ
ด้านล่างนี้คือกราฟที่แสดงให้เห็นว่าการสูญเสียการฝึกโดยเฉลี่ยลดลงเมื่อเวลาผ่านไป ซึ่งหมายความว่าโครงข่ายประสาทเทียมมีความจุเพียงพอที่จะพอดีกับข้อมูลการฝึก สิ่งสำคัญคือต้องบอกว่าข้อมูลจะต้องถูกทำให้เป็นมาตรฐานเพื่อให้อัลกอริธึมการเรียนรู้เชิงลึกสามารถมาบรรจบกันได้
ด้านล่างนี้คือกราฟที่แสดงให้เห็นว่าการสูญเสียการทดสอบโดยเฉลี่ยลดลงเมื่อเวลาผ่านไป ซึ่งหมายความว่าโครงข่ายประสาทเทียมมีความสามารถในการทำให้ข้อมูลที่มองไม่เห็นโดยทั่วไป
อัลกอริทึมนั้นโลภ หากคาดการณ์ว่าราคาจะสูงขึ้นในวันถัดไป อัลกอริธึมจะซื้อ n=1 หุ้นของบริษัททันที (หากมีเงินสดเพียงพอในพอร์ต) มิฉะนั้น จะขายหุ้นทั้งหมดของบริษัท (ถ้ามี) ). ระยะเวลาการลงทุนคงที่และใช้เวลา 300 วัน หลังจาก 300 วัน หุ้นทั้งหมดจะถูกขาย การจำลองข้อมูลที่มองไม่เห็นหลังการฝึก สามารถดูได้ที่ด้านล่าง มันแสดงให้เห็นว่ามูลค่าพอร์ตโฟลิโอเพิ่มขึ้นเมื่อเวลาผ่านไปโดยการกระทำแบบยาว/สั้น (หรือไม่ทำอะไรเลย) ในแต่ละวัน
อัตราส่วน Sharpe สำหรับการจำลองด้านบนคือ 1.48 มูลค่าพอร์ตสุดท้ายหลังจาก 300 วันคือ $100,263.79 หากเราเพิ่งซื้อหุ้นในวันแรกและขายออกไปหลังจากผ่านไป 300 วัน พอร์ตโฟลิโอจะมีมูลค่า 99,988.41 ดอลลาร์
ด้านล่างนี้คือสถานการณ์ที่โครงข่ายประสาทเทียมไม่ได้รับการฝึกฝนอย่างดีและสูญเสียเงินหลังจากระยะเวลาที่กำหนด 300 วัน
อัตราส่วน Sharpe คือ -0.94 มูลค่าพอร์ตสุดท้ายหลังจาก 300 วันคือ 99,868.36 ดอลลาร์
นี่เป็นตัวอย่างหนึ่งที่น่าสนใจ—อัลกอริธึมด้านบนนั้นโลภมาก และเพียงแค่คาดการณ์ราคาสำหรับวันถัดไป โดยดำเนินการตามการคาดการณ์นั้นเพียงอย่างเดียว เป็นไปได้ที่จะเชื่อมโยงการคาดการณ์หลายรายการและคาดการณ์ราคาในอีกไม่กี่ขั้นตอนถัดไปในอนาคต ตัวอย่างเช่น ด้วยอินพุตแรกของ [X_ground_truth_{t0}, X_ground_truth_{t1}, X_ground_truth_{t2}, X_ground_truth_{t3}, X_ground_truth_{t4}] และเอาต์พุตแรกเป็น [X_predicted_{t5}] เราสามารถป้อน โครงข่ายประสาทเทียมที่มีการคาดคะเนนั้นเพื่อให้อินพุตถัดไปคือ [X_ground_truth_{t1}, X_ground_truth_{t2}, X_ground_truth_{t3}, X_ground_truth_{t4}, X_predicted_{t5}] และผลลัพธ์คือ [X_predicted_{t6}] อินพุตถัดไปจากที่นั่นคือ [X_ground_truth_{t2}, X_ground_truth_{t3}, X_ground_truth_{t4}, X_predicted_{t5}, X_predicted_{t6}] ซึ่งส่งผลให้ [X_predicted_{t7}] เป็นต้น ปัญหาคือเรากำลังนำเสนอข้อผิดพลาดในการคาดคะเนที่เพิ่มขึ้นในแต่ละขั้นตอนใหม่ และสุดท้ายจบลงด้วยผลลัพธ์ที่ไม่ดีในระยะยาว ดังที่แสดงในภาพด้านล่าง การคาดคะเนในตอนเริ่มต้นเป็นไปตามแนวโน้มที่ลดลงตามความจริงและจากนั้นก็ซบเซาและแย่ลงเรื่อยๆ เมื่อเวลาผ่านไป
การวิเคราะห์เชิงลึกแบบง่ายๆ เกิดขึ้นบนราคาหุ้นของ Google แต่สามารถรวมชุดข้อมูลทางการเงินได้เกือบทุกชุด หากปริมาณข้อมูลมากเพียงพอและมีคุณภาพดี ข้อมูลจะต้องแยกแยะและต้องอธิบายและแสดงถึงปัญหาได้ดี
ห่อ
หากใช้ได้ผลดีในการทดสอบอย่างละเอียด ระบบนี้อาจช่วยให้ผู้จัดการกองทุนป้องกันความเสี่ยงคาดการณ์ราคาหุ้นของบริษัทในอนาคตได้โดยใช้การเรียนรู้เชิงลึกและอาศัยกลยุทธ์การซื้อขายแบบอัลกอริธึม
ผู้จัดการกองทุนป้องกันความเสี่ยงสามารถให้เงินแก่ระบบเพื่อทำการซื้อขายอัตโนมัติทุกวัน อย่างไรก็ตาม มันคงไม่ดีนักที่จะปล่อยให้อัลกอริธึมการซื้อขายอัตโนมัติทำการค้าโดยไม่มีการควบคุมดูแล ผู้จัดการกองทุนเฮดจ์ฟันด์ควรมีทักษะการเรียนรู้เชิงลึกหรือจ้างบุคคลที่มีทักษะที่จำเป็นในการดูแลระบบและพิจารณาว่าเมื่อใดที่ระบบสูญเสียความสามารถในการพูดคุยทั่วไปและซื้อขายได้ดี
If the system lost the ability to generalize, then it would be necessary to retrain it from the beginning and test it again (maybe by introducing more discriminative features or new knowledge—using new data from the past that didn't exist when the model was first trained).
Sometimes, the data is simply not good enough for the deep learning system to be trained and generalize well and, in that case, an experienced deep learning engineer should be able to detect and rectify such a situation. To build a deep learning trading system, you need hedge funds data scientists, machine learning/deep learning experts (both scientists and engineers), R&D engineers familiar with machine learning/deep learning, etc. No matter which part of an application of machine learning they are familiar with, whether it's computer vision or speech recognition, seasoned professionals will be able to put their experience to good use in the financial sector. At its root, deep learning has the same basics regardless of application or industry, and it should be easy for someone experienced to switch from theme to theme.
The system we presented is very basic and, to be applied in the real world, more R&D should be done in order to increase the returns. Possible improvements of the system could be in developing better trading strategies. Collecting more data for training, which is usually very expensive, will help. A smaller time interval between the points is better. Improvements can also surface in using more features (eg, news sentiments or important happenings corresponding to each point in the dataset, despite being hard to code for a neural network) and extensive grid search for hyperparameters and RNN architecture discovery.
Also, more computing power (powerful GPUs are a must) is needed to make a lot of extensive experiments in parallel and to process a large amount of data, provided that a large amount of data is collected.
References:
- https://www.datacamp.com/community/tutorials/finance-python-trading
- http://colah.github.io/posts/2015-08-Understanding-LSTMs/
- https://en.wikipedia.org
- https://www.investopedia.com/
- https://finance.yahoo.com/
- http://pytorch.org/
Author's Note: I would like to thank Ivan Capalija and Matej Paradzik for the constructive conversations and advice about deep learning in finance, which helped me in writing this blog.
