2025-04-30 09:21:14
โพสต์นี้เป็นส่วนที่สองในชุดรายการหนังสือสำหรับนักวิเคราะห์เชิงปริมาณ (quantitative analysts) มือใหม่ บทความอื่น ๆ ในชุดนี้จะเน้นไปที่การกำหนดราคาอนุพันธ์ (Derivative Pricing), วิธีทางคณิตศาสตร์ (Numerical Methods) และการเขียนโปรแกรม Python (Python Programming):
บทความก่อนหน้านี้ได้พูดถึงพื้นฐานทางทฤษฎีของการเงินทางคณิตศาสตร์ ซึ่งเป็นสิ่งสำคัญอย่างยิ่ง แต่ในทางปฏิบัติ นักวิเคราะห์เชิงปริมาณในอุตสาหกรรมจะใช้เวลาเป็นส่วนใหญ่ในการนำแบบจำลองมาทำงานในโค้ด
การเรียนรู้วิธีการนำแบบจำลองมาประยุกต์ใช้จำเป็นต้องมีความเข้าใจในทฤษฎีที่ลึกซึ้ง ซึ่งจะช่วยให้สามารถใช้กลยุทธ์ทางคณิตศาสตร์ที่จำเป็นในการเพิ่มประสิทธิภาพโค้ด นอกจากนี้ยังจำเป็นต้องเชี่ยวชาญในเครื่องมือสมัยใหม่ของวิศวกรรมซอฟต์แวร์ เช่น การควบคุมเวอร์ชัน (version control) และการพัฒนาแบบ Agile นักศึกษาปริญญาเอกในสาขาทางเทคนิคเคยเป็นที่ต้องการสูงในตำแหน่งวิศวกรรมการเงิน (financial engineering) เนื่องจากพวกเขามีความสามารถในการสร้างแบบจำลองทางเทคนิคได้อย่างอิสระ อย่างไรก็ตาม สภาพแวดล้อมทางวิชาการมักจะลดทอนความสำคัญของการพัฒนาซอฟต์แวร์ ซึ่งเป็นทักษะที่จำเป็นสำหรับนักวิเคราะห์เชิงปริมาณในยุคปัจจุบัน
แม้จะมีความนิยมของภาษาเช่น Python แต่ C++ ยังคงเป็นภาษาการเขียนโปรแกรมที่ใช้กันอย่างแพร่หลายในสถาบันการเงิน ความเข้าใจในภาษา C++ จะเป็นสิ่งที่จำเป็นในการสัมภาษณ์งานในตำแหน่งนักวิเคราะห์การกำหนดราคาอนุพันธ์ (derivatives pricing quant) นอกจากนี้การเข้าใจ C++ ยังทำให้การเรียนรู้ภาษาโปรแกรมอื่น ๆ ง่ายขึ้น เนื่องจากมีแนวคิดที่ซับซ้อนมากขึ้น เช่น การจัดการหน่วยความจำด้วยตนเอง
มีหนังสือหลายเล่มที่ระบุไว้ในที่นี้มากกว่าที่พบในบทความการกำหนดราคาอนุพันธ์ เพราะภาษา C++ พัฒนาเร็วกว่าแนวคิดทางการเงินทางคณิตศาสตร์ นอกจากนี้การทำความเข้าใจจากหนังสือเกี่ยวกับการเขียนโปรแกรมมักทำได้เร็วกว่าเมื่อเทียบกับหนังสือทางคณิตศาสตร์
เมื่อเริ่มเรียนรู้ C++ จากศูนย์ สิ่งแรกที่ต้องพิจารณาคือว่าจะเขียนโค้ดได้ที่ไหนและอย่างไร จะต้องติดตั้ง Integrated Development Environment (IDE) เพื่อพิมพ์คำสั่งและรันโปรแกรมของคุณ ขึ้นอยู่กับระบบปฏิบัติการที่คุณใช้ คุณอาจต้องการดาวน์โหลดเครื่องมือเช่น VSCode ของ Microsoft หรือใช้คอมไพเลอร์ gcc ที่เป็นส่วนหนึ่งของการกระจาย Linux หลายตัว โดยเฉพาะถ้าคุณใช้ Ubuntu Linux คุณจะต้องรันคำสั่ง sudo apt-get install build-essential เพื่อดาวน์โหลดเครื่องมือเหล่านี้ ในสภาพแวดล้อมการพัฒนา Linux เครื่องมือแก้ไขข้อความเช่น Vim และ Emacs เป็นที่นิยม ทางเลือกอื่นคือ SublimeText ซึ่งมีผู้ใช้จำนวนมาก
มีหนังสือเริ่มต้นหลายเล่มเกี่ยวกับการเรียนรู้ C++ สำหรับผู้ที่ไม่มีประสบการณ์ในการเขียนโปรแกรมมาก่อน สองเล่มที่แนะนำบ่อย ๆ คือ Sams Teach Yourself C++ in One Hour a Day, 8th Edition โดย Siddhartha Rao และ Sams Teach Yourself C++ in 24 Hours, 6th Edition โดย Rogers Cadenhead และ Jesse Liberty หนังสือเหล่านี้จะให้พื้นฐานที่ดีเกี่ยวกับภาษา C++ และไวยากรณ์ต่าง ๆ รวมถึงฟังก์ชัน, การไหลของโปรแกรม, การจัดการหน่วยความจำ, และการเขียนโปรแกรมเชิงวัตถุ (object-orientation) พวกเขาจะสอนเกี่ยวกับ Standard Template Library (STL) และยังครอบคลุมมาตรฐาน C++14 และ C++17
Scott Meyers มีชื่อเสียงในฐานะผู้เชี่ยวชาญ C++ และหนังสือหลายเล่มของเขาเกี่ยวกับวิธีการพัฒนาการเขียนโค้ด C++ จะเป็นประโยชน์แม้กระทั่งสำหรับนักพัฒนาที่มีประสบการณ์ หนังสือเล่มแรก Effective C++: 55 Specific Ways to Improve Your Programs and Designs (ฉบับที่ 3) มุ่งเน้นไปที่การจัดการหน่วยความจำและการเขียนโปรแกรมเชิงวัตถุ เขียนในปี 2005 ดังนั้นอาจจะเก่ากว่าเทียบกับหนังสือใหม่ ๆ แต่ยังคงเป็นหนังสือที่ไม่ควรพลาดสำหรับนักพัฒนา C++
Meyers ยังมีหนังสือที่ทันสมัยกว่าในหัวข้อเดียวกันชื่อ Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14 ซึ่งครอบคลุมหัวข้อต่าง ๆ เช่น คำสำคัญ auto, smart pointers, move semantics, concurrency และ lambda functions
Herb Sutter มีหนังสือที่ชื่อ Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions ซึ่งเป็นการอ่านที่น่าสนใจ โดยเน้นที่ความปลอดภัยของข้อยกเว้น (exception safety) และการเขียนโปรแกรมเชิงวัตถุในรูปแบบของ "ปัญหาทางการเขียนโปรแกรม" หรือ "puzzles"
การเรียนรู้ C++ ให้ถึงระดับที่ Scott Meyers แนะนำจะเพียงพอสำหรับการสัมภาษณ์งานในตำแหน่งนักวิเคราะห์การกำหนดราคาอนุพันธ์ (desk quant derivatives pricing) แต่หากเป้าหมายของคุณคือการเป็นผู้เชี่ยวชาญ C++ การเรียนรู้เกี่ยวกับ Design Patterns และ STL จะเป็นขั้นตอนถัดไปที่สมเหตุสมผล หนังสือ Design Patterns: Elements of Reusable Object-Oriented Software โดย "Gang of Four" เป็นหนังสือมาตรฐานเกี่ยวกับ Design Patterns ซึ่งเป็นที่นิยมในโปรแกรมที่มีประสิทธิภาพสูงในโค้ดของ quant
หนังสือของ Josuttis เกี่ยวกับ STL ชื่อ The C++ Standard Library: A Tutorial and Reference (ฉบับที่ 2) เป็นที่แนะนำอย่างมาก แต่ก็อ่านค่อนข้างยาก ควรอ่านหลังจากที่คุณคุ้นเคยกับไวยากรณ์และสำนวนของ C++ แล้ว นอกจากนี้ Meyers ยังมีหนังสือที่แนะนำเกี่ยวกับการใช้ STL อย่างมีประสิทธิภาพชื่อ Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library ซึ่งแม้จะมีอายุแต่ก็ยังคงมีคุณค่า
อ้างอิง : Quant Reading List C++ Programming
จาก https://www.quantstart.com/articles/Quant-Reading-List-C-Programming/
2025-01-10 10:12:01
2024-06-10 03:19:31
2024-05-31 03:06:49
2024-05-28 03:09:25
บทความที่น่าสนใจอื่นๆยังมีอีกมากลองเลืือกดูจากด้านล่างนี้ได้นะครับ
2025-01-30 09:54:31
2024-05-02 05:54:22
2024-02-12 04:19:22
2024-10-18 01:25:35
2025-04-17 03:10:23
2024-11-25 02:38:18
2024-02-23 05:19:59
2023-09-29 11:54:28
2023-11-10 10:24:39