ระบบสี (The Color System)

ระบบสีของ Material Design สารมารถใช้สร้างสรรค์ธีมสีที่สะท้อนถึงสไตล์หรือแบรนด์ของคุณได้

สารบัญ

พาเลทและการใช้สี
การสร้างธีมสี
เครื่องมือในการเลือกสี

พาเลทและการใช้สี
ระบบสี Material Design ใช้วิธีการจัดการอย่างเป็นระบบเพื่อใช้สีกับ UI ของคุณ ในระบบนี้แม่สีหลัก (Primary color) และสีรอง(Secondary color) จะถูกเลือกเพื่อแสดงถึงแบรนด์ของคุณ สีเข้มและสีอ่อนของแต่ละสีสามารถนำไปใช้กับ UI ของคุณได้หลายวิธี

(more…)

ภาษาอังกฤษสำหรับคนทำงานด้าน IT ตอนที่ 2 : ประสบการณ์การทำงาน (Experience)

จากที่ตอนที่ 1 Introducing yourself เราได้รู้วิธีการแนะนำตัวเบื้องต้นกันไปแล้ว ในตอนที่ 2 เราจะมาแนะนำเกี่ยวกับประสบการณ์การทำงาน ซึ่งเป็นประโยชน์อย่างมากในการแนะนำตัวในวงการไอที สามารถนำไปใช้ในบทสนทนาทั้งในการสมัครงาน หรือไปงาน meetup ต่างๆ

เราสามารถแนะนำประสบการณ์ที่เคยทำมาได้ดังนี้

เริ่มต้นจากการบอกตำแหน่งที่เคยทำ

I was a full-stack web developer in the government sector for 3 years.

Front End VS Back End

Frontend vs. Backend
By Josh Long (blog.teamtreehouse)

“ผมไม่พูดภาษาพวกคุณ” นั้นคือคำทักทายจากพ่อหนุ่ม แต่ผม จะให้ภาพรวมคร่าวๆเกี่ยวกับเทคโนโลยีในอุตสาหกรรมของเรา พวกหัวข้อต่างๆเหล่านี้จะช่วยสื่อสารกับคุณและช่วยให้สามารถสร้างผลิตภัณฑ์ที่ดีได้และมีประสิทธิภาพอย่างมากมาย

(more…)

Financial Engineering Career Guide: Programs, Jobs & Salary

Financial Engineering Career Guide: Programs, Jobs & Salary
แนะนำอาชีพ วิศวกรการเงิน

เขียนโดย  by Avadhut in Finance Careers Path

วันนี้แอดมินจะมานำเสนอ สาขาวิชาด้านวิศวกรรม ที่กำลังมาแรงและเป็นที่ต้องการของตลาดเป็นอย่างมาก นั้นคือ สาขาวิศวกรรมการเงิน (Financial Engineering)

ใช้ความรู้ด้านการเงินและการคำนวณเพื่อพิจารณาศักยภาพและความเสี่ยงของตราสารการลงทุนและตลาดการเงิน บริหารกองทุน

โดยเราจะนำแนะเกี่ยวกับการเรียนด้านนนี้ว่าเป็นยังไง

เรามาเริ่มกันเลย ก่อนอื่นเรามาทำความรู้จักว่า วิศวกรรมการเงินคืออะไร ?
Norman และ Adele Barron ศาสตราจารย์ด้านสาขาการจัดการ แห่งมหาวิทยาลัย Boston University ได้ให้คำนิยามของ วิศวกรรมทางการเงิน ว่า “the application of science-based mathematical models to decisions about saving, investing, borrowing, lending, and  managing risk.

ไอทีองค์กร ก็เจอธุรกิจ – คู่มือ, คลิป How to ก็ Eng

ยุค 4.0 ระบบไอที เทคโนโลยีต่างๆ ก็เข้ามามีบทบาทมากขึ้นอย่าลีกเลี่ยงไม่ได้ ไม่ว่างานสายอะไรก็แทบจะต้องใช้ และแน่นอนการทำธุรกิจเดี๋ยวนี้เริ่มมีการติดต่อกับต่างชาติมากขึ้น ยิ่ง ASEAN อีก รวมถึงแม้กระทั่ง ยุโรป ตะวันตก ก็ย่อมเป็นลูกค้าหรือพันธมิตรทางธุรกิจของคุณได้

แอดมิน ไอทีซัพพอร์ท รวมถึงสายงานด้านไอทีอื่นๆ ในบริษัท ก็ต้องพบเจอกับ คู่มือ, คลิป How to ต่างๆ รวมถึงแม้กระทั่ง Error Code แต่หากรู้ไหมว่าข้อความที่เห็นนั้นหลายส่วนมันไม่ใช่ศัพท์เฉพาะอะไรเลย มันเป็นคำทั่วๆ ไปในภาษาอังกฤษ

CMOS checksum error - Defaults loaded = คำเฉพาะมีแค่ CMOS เอง ที่เหลือก็คำทั่วไป

แปลได้ว่า ค่าทั้งหมดของ CMOS เกิดข้อผิดพลาด - ค่ามาตรฐานถูกโหลดแทน

และเมื่อเอาคำว่า CMOS ไปค้นใน Google ก็จะรู้ว่ามันคืออะไร  แต่ด้วยความเป็นศัพท์เฉพาะก็จริง แต่

 

ถ้าคุณพอรู้ภาษาอังกฤษ ก็จะรู้ว่า CMOS ที่ขึ้นบนหน้าจอคอมมันคือตัวไหน แต่ถ้าคุณมีภาษาอังกฤษที่แข็งแรงขึ้น คุณสามารถกดเข้าไปอ่านรายละเอียดได้เลย

แค่นี่ก็แสดงให้เห็นแล้วว่า ภาษาอังกฤษสำคัญแค่ไหน และนอกจากนี้การที่คุณทำงานไอที อยู่ในหน่วยงาน/บริษัทห้างร้าน ต่อให้คุณไม่ใช่คนติดต่อธุรกิจโดยตรง แต่ว่าอยู่ในหน่วยงานเหล่านี้ ก็จะต้องเจอคำศัพท์ภาษาอังกฤษเพื่อธุรกิจ

ไอทีต้องจัดซื้อลิขสิทธิ์ Software จัดซื้ออุปกรณ์นั่นนี่ อาจต้องสั่งจากบริษัทต่างชาติ นี่เป็นที่มาของความสำคัญด้าน Business English! นั่นเอง

Lean Upskill ร่วมกับสมาคมโปรแกรมเมอร์ไทยจึงจัดทำคอร์สนี้ขึ้นมา เพื่อการสื่อสาร Business English สำหรับคนทำงานสายไอที/เทคโนโลยีโดยเฉพาะ [ENGLISH FOR IT]

ดูรายละเอียดเพิ่มเติมที่: Eventpop ลิงค์นี้

 

การทดสอบระบบกลยุทธ์เทรดย้อนหลัง (Backtesting) ใน Python: การพิจารณา และ Open Source Framework

ในบทความนี้ Frank Smetana  หนึ่งในผู้เชี่ยวชาญจะมาอธิบายถึงการใช้งาน Python เป็น Open Source ในการทดสอบ Backtesting บนซอฟต์แวร์ และ ให้คำแนะนำบนกระบวนการที่จะให้คุณนำไปใช้อย่างเหมาะสม

การ Backtest จัดว่าเป็นเนื้อหาที่สำคัญที่สุดของ กระบวนการทดสอบระบบกลยุทธ์ย้อนหลัง (STS) อยู่ระหว่าง การพัฒนากลยุทธ์ และการนำไปใช้เทรดจริง ( Live Trade)  หากกลยุทธ์มีความบกพร่อง การ Backtest อย่างจริงจังจะช่วยปกป้องไม่ให้เรานำไปปฏิบัติใช้จริง

มีตัวเลขหนึ่งที่ถูกนำมาทับซ้อนกับการ Backtest รวมถึงการเทรดจำลอง และการเทรดจริง การ Backtest จะนำข้อมูลสถิติเชิงมาหาจำนวนประสิทธิภาพ STS การเทรดจำลอง จะนำขั้นตอนของการ Backtest มาแสดงผลในแต่ละแท่งราคาจับสัญญานการเทรด การจำลอง/การเทรดจริง ถูกนำมาใช้ทดสอบ STS แบบ Real time: สัญญาณการเทรด , การส่งคำสั่ง , เส้นทางคำสั่งไปยังโบรกเกอร์ และดูแลสถานะของคำสั่งที่ถูกรันอยู่

Framework ส่วนใหญ่ เป็นมากกว่า การ Backtest รวมถึงความสามารในการ Live Trade จึงค่อนข้างสะดวกถ้าเราต้องการนำ Backtest framework ไปใช้งานกับโบรกเกอร์ที่เราชอบ และข้อมูลที่เราจะใช้ Quantopian/Zipline ได้ล้ำหน้าไปแล้ว มีกระบวนการพัฒนาเชื่อมโยง , ทดสอบย้อนหลัง และนำไปโซลูชันไปใช้งาน

ในคอมมูนิตี้ ของ Python ถูกเตรียมไว้อย่างดี , อย่างน้อยกว่า 6 Opensource Backtesting Framework ราย พร้อมให้ใช้งาน แม้ว่าพวกเขาจะมีขั้นตอนการพัฒนา และเอกสารที่ต่างกัน เราอาจจะสนุกกับการทำงานบน Opensource Backtest Framework ที่ถูกเตรียมเอาไว้แล้ว เช็คเอาท์ได้จาก Github repo ของพวกเขา

พึงละลึกถึง การกำหนดความต้องการที่ชัดเจนใน STS ของเรา ก่อนที่จะประเมินการทดสอบ Backtest Framework

อะไรเป็นข้อมูลสำคัญสำหรับการเทรดของเรา?  ในขณะที่ Framework ส่วนใหญ่ รองรับข้อมูลตราสารทุนในสหรัฐ ผ่าน YahooFinance , ถ้ากลยุทธ์ในอนุพันธ์ , ETFs หรือ EM Securities นั้น Data ต้องถูกนำมาใช้ Import หรือ ถูกเอามาใช้ใน Framework  Asset Class ครอบคลุมเหนือยิ่งกว่าข้อมูล มีคำถามว่า Framework สามารถจัดการกับผลิตภัณฑ์ที่มีวันหมดเวลา​ Future & Option และจัดการ Roll-over ข้ามซีรีย์ได้อย่างอัตโนมัติหรือไม่? อะไรคือการไหลของตลาด , จะตั้งสมมติฐานตามความเป็นจริงในการส่งคำสั่งจำนวนมากได้อย่างไร?

อะไรเป็นข้อมูลความถี่และรายละเอียดของเราในการสร้าง STS? ในระบบเทรดต้องการทุก Tick , Bid/Ask ซึ่งมีความแตกต่างอย่างมากกับประเด็นการจัดการข้อมูลที่มีระยะห่างมากกว่า 5 นาที หรือระดับชั่วโมง. กองทุนป้องกันความเสี่ยง & HFT Shop ลงทุนในการสร้าง Backtest Framework ที่มีความแข็งแรง ขยับขยายได้ เพื่อที่จัดการกับชุดข้อมูล และความถี่ บางแพล็ตฟอร์มมี ชุดข้อมูลที่สมบูรณ์ครบถ้วนสำหรับสินทรัพย์ต่างๆ อาทิเช่น S&P Stock, ในระดับหนึ่งนาที

อะไรคือแบบการส่งคำสั่ง ( Order Type) ที่ STS ของเราต้องนำมาใช้?  ขั้นต่ำ คือ Limit , Stop และ OCO ควรจะถูกรองรับ โดย Framework

(ผู้แปล: OCO order เป็นออร์เดอร์ที่รวม limit and / or stop-loss order ไว้ด้วยกัน)

ระดับของการซัพพอร์ต และเอกสาร เป็นสิ่งจำเป็น ในตอนต้นนี้ Framework ยังมีเอกสารที่น้อย และในคอมมูนิตี้ก็ยังมีการซัพพอร์ตน้อยกว่าคอมมูนิตี้อื่นๆ

องค์ประกอบของการ Backtest Framework

ข้อมูล และ STS ที่มีอยู่:  องค์ประกอบที่ได้รับมานั้น ต้องใช้ STS Script/Definition File และให้ข้อมูลที่จำเป็นสำหรับทดสอบ ถ้า Framework ต้องใช้ STS ใดๆ เพื่อที่จะบันทึกผลหลังจากทดสอบ ตัวของ Framework นั้นควรจะรองรับ Canned Function ซึ่งเป็นเทคนิคอลอินดิเคเตอร์ที่นิยมสูงสุด เพื่อให้การทดสอบ STS รวดเร็ว ผู้ใช้กำหนดระยะเวลา Historical period เพื่อที่จะ Backtest บน Framework ที่อยู่ หรืออะไรก็ตามที่ถูก Import เข้ามาได้

การทดสอบประสิทธิภาพ ปรับใช้ให้เข้ากับตรรกะ STS โดยต้องการ Historic Data และคำนวณกรอบช่วงของความเสี่ยง และ Performance Metric รวมถึง Max drawdown , Sharpe & Sortino ratios โดยส่วนมากแล้ว Framework ทุกอันจะรองรับจำนวนความสามารถมองเห็นอย่างเหมาะสม รวมถึง equity curves และ deciled-statistics

การ Optimization มีแนวโน้มที่จะต้องใช้ทรัพยากรการคำนวณร่วมกันในกระบวนการ STS ถ้าหากเราจำเป็นต้องเพิ่มประสิทธิภาพใน STS ของเราแล้ว ขอให้โฟกัสกับ Framework ที่รองรับการขยาย การกระจาย และ ประมวลผลแบบ Parallel ได้

ในบริบทของการพัฒนากลยุทธ์เพื่อพัฒนาเทคนิคอลอินดิเคเตอร์ นักพัฒนาระบบต้องพยายามหาให้ได้ว่า Optimal Set ของ Parameter ในแต่ละอินดิเคเตอร์  มาปรับให้เหมาะสมที่สุด เราอาจพบว่า เส้นค่าเฉลี่ย Moving Average 6 และ 10 วัน ตัดกันนั้น ให้ผลลัพธ์เชิงทดสอบสถิตที่ดีกว่าค่าเฉลี่ย อื่นๆ ตัดกัน ระหว่างค่า 1-20 ตามตัวอย่างดังกล่าว 20 คูณ​ 20 = 400 Parameter ทุกค่าจะถูกคำนวณทั้งหมด และถูกนำมาจัดอันดับ

ใน Portfolio Context, การ Optimization ค้นหา เพื่อที่จะเจอว่าควรจะให้น้ำหนักสินทรัพย์ใดใน Portfolio รวมถึงการ Short และเลือกตราสารที่มี Leverage บนช่วงที่กำหนด , Portfolio ถูกปรับให้สมดุล ผลลัพธ์ของการซื้อ และการขายใน Portfolio ที่ถืออยู่ ถูกปรับให้สอดคล้องกับการให้น้ำหนักตามที่ Optimize

ขนาดของออเดอร์ที่ถือครอง เป็นการเพิ่มเติมจากการใช้ Optimization , ช่วยให้นักพัฒนาจำลอง และวิเคราะห์ผลกระทบของ Leverage , Dynamic Position sizing ใน STS และประสิทธิภาพใน Portfolio

6 Backtest Framework สำหรับ Python

ความสามารถมาตรฐานของ แพลต์ฟอร์ม Open source Python backtesting ครอบคลุมถึง

มีการขับเคลื่อน
ยืดหยุ่น ไม่ถูกจำกัดด้วย License
มีตัวชี้วัดทางเทคนิคอลอินดิเคเตอร์ที่เหมาะสมไว้ให้พร้อมใช้
มีการวัดผลที่มีประสิทธิภาพ ตามมาตรฐาน
มีความสามารถ คำนวณ / แสดงภาพการทดสอบ / ออกรายงาน

PyAlgoTrade

PyAlgoTrade มีการเติบโต , เอกสารสมบูรณ์ Backtest Framework พร้อมด้วย Paper และความสามารถ Live Trade มี Data Support สมบูรณ์จากทั้ง Yahoo! Finance , Google Finance , NinjaTrader และ CSV หลากหลายรูปแบบจาก Based time series เช่นเดียวกับ Quandl รองรับ Order แบบต่างๆ รวมถึง Market , Limit , Stop และ StopLimit

PyAlgoTrade รองรับการเทรด Bitcoin ผ่าน Bitstamp และข้อมูล Real time Twitter event handling

Project Page: github.

Amibroker AFL: สอนขั้นตอนแบบ Step By Step ตอนที่ 1

Amibroker ถูกพิจารณาว่าเป็นหนึ่งในเครื่องมือที่ดีที่สุดสำหรับเทรดเดอร์ เป็นที่รู้จักอย่างกว้างขวางในโลก และสำหรับทุกสาย ไม่ว่าจะเป็นสาย Discretionary และ System Traders โดยเครื่องมือมาพร้อมด้วยเครื่องมือที่จัดว่า มีพลังในการ Backtest และ สามารถ Optimization engine แยกออกจากฟังก์ชันของชาร์ตที่ใช้ปกติ มีส่วนของเขียน Custom Indicator เอง และสร้าง Automate Trading system อย่างสมบูรณ์ ออกจาก Amibroker

ในการสร้างระบบเทรดผ่าน Amibroker  เราต้องมีความคุ้นเคยกับภาษาของ Amibroker เราเรียกว่า Amibroker  AFL โดยเป็นโปรแกรมมิงขั้นสูง และง่ายมากๆที่เราจะทำความเข้าใจ และเริ่มเขียนพื้นฐานต่างๆ ไม่ว่าจะเป็ใครก็ตามที่ไม่มีความรู้ทางด้านโปรแกรมเลยสามารถเลย ก็สามารถเรียน AFL และไม่จำเป็นต้องเสียค่าใช้จ่ายราคาแพงเพื่อซื้อ AFL ที่ถูกพัฒนามาแล้ว

ในโพสต์นี้ เราจะมาลองเรียนรู้ Amibroker  AFL แบบว่าไม่รู้อะไรเกี่ยวกับมันมาก่อนเลย ด้วยตัวอย่าง และ Code ที่สามารถดาวน์โหลดได้ เรารู้ว่าคุณเตรียมลงโปรแกรมเรียบร้อย และสามารถไปดึง Data จาก Live หรือ Historical Data Feed ได้แล้ว รวมถึงมีความรู้พื้นฐานของเทคนิคอลวิเคราะห์หุ้นมาพอสมควรแล้ว และ ทราบถึงการส่งคำสั่งซื้อขาย เพราะเป็น Pre-requisite สำหรับการเขียน Amibroker Coding

ใน Code นี้ มีคำอธิบาย และสามารถนำไป Copy &Pasted ได้เลย จึงค่อนข้างตรงไปตรงมา และจะเพิ่มความซับซ้อนขึ้นเรื่อยๆในขั้นตอน โดยสามารถ Comment หากมีข้อสงสัยได้ในแต่ละจุด

My First Amibroker AFL: Plotting a line chart

//------------------------------------------------------

//  Formula Name:    Basic Line Chart

//  Author/Uploader: Trading Tuitions

//  E-mail: [email protected].

การสับเปลี่ยนระหว่าง Design Thinking, Lean Startup และ Agile

Shifting gears between design thinking, lean startup, and agile
การสับเปลี่ยนระหว่าง Design Thinking, Lean Startup และ Agile
แม้คำว่า “นวัตกรรม” จะฟังดูน่าตื่นเต้นเร้าใจ แต่งานหลักของเหล่าที่ปรึกษาให้กับผู้สร้างนวัตกรรม คือการลดความเสี่ยงในกระบวนการสร้างนวัตกรรม เพื่อให้สามารถดำเนินธุรกิจได้ อย่างมีประสิทธิภาพ ความเสี่ยงจำเป็นต้องถูกลดให้ต่ำมากที่สุดเท่าที่เป็นไปได้

(more…)

ภาษาอังกฤษสำหรับคนทำงานด้าน IT ตอนที่ 1 : Introducing Yourself

ภาษาอังกฤษสำหรับคนทำงานด้าน IT ตอนที่ 1 : Introducing Yourself
 

แม้ชื่อหัวข้อจะเป็น “ภาษาอังกฤษสำหรับคนทำงานด้าน IT” แต่เนื้อหาในตอนนี้ก็สามารถนำไปใช้ได้กับทุกสายงาน เพราะไม่ว่าจะเป็นที่ไหน การแนะนำตัวให้เป็นก็ถือเป็นสิ่งสำคัญ

 
มาเริ่มกันที่ Personal Information and Background
Personal Information and Background คือข้อมูลส่วนตัวและความเป็นมาของเราค่ะ ตัวอย่างเช่น
Hello, my name is Jim Thomson and now I work as a software developer at Google.

ภาษาโปรแกรมมิ่งที่ดีที่สุดสำหรับงานวิเคราะห์ด้านสถิติเพื่อการลงทุน

การเงินเชิงตัวเลขและสถิติ (Quantitative financial) จำเป็นต้องใช้ภาษาโปรแกรมมิ่งบางภาษาเพื่อช่วยในการทำงาน ดังนั้นหากอยากจะศึกษาเพิ่มเติมเกี่ยวกับภาษาโปรแกรมมิ่งสำหรับงานด้านการเงินเชิงตัวเลขและสถิติ เราจะต้องทราบคุณสมบัติเกี่ยวกับภาษาโปรแกรมมิ่งนั้น และต้องรู้วิธีที่จะใช้ภาษาเหล่านั้นเพื่อแก้ปัญหาด้านการวิเคราะห์ตัวเลขและสถิติ ต่อไปนี้จะเป็นภาษาโปรแกรมมิ่งที่จะช่วยคุณแก้ปัญหาเชิงตัวเลขและสถิติได้

MATLAB :

สำหรับการแก้ปัญหาเชิงตัวเลขและสถิติ MATLAB สามารถทำได้อย่างยอดเยี่ยม MATLAB เป็นภาษาที่มีกระบวนทัศน์หลากหลาย และเป็นภาษาการเขียนโปรแกรมรุ่นที่สี่ ภาษานี้มีสภาพแวดล้อมการคำนวณเชิงตัวเลข มีไว้สำหรับการแก้ปัญหาทางคณิตศาสตร์และปัญหาเชิงปริมาณ ตัวเลข และสถิติ การใช้ MATLAB เขียนโปรแกรมจะทำให้สามารถรวม desktop environment เพื่อใช้สำหรับการวิเคราะห์ซ้ำและออกแบบกระบวนการที่แตกต่างได้ ซึ่งจะแทนด้วย matrix และ array ทางคณิตศาสตร์ ในภาษา MATLAB คุณสามารถทำการดำเนินการทางเมตริกซ์ได้ สามารถสร้างฟังก์ชันและสร้างเป็นกราฟได้ สามารถสร้างอัลกอริทึมต่างๆ และยังสามารถเชื่อมต่อกับโปรแกรมต่างๆที่เขียนในภาษาอื่น ๆ เช่น C, C ++ และ Python ได้อีกด้วย วิศวกรและนักวิทยาศาสตร์ใช้ MATLAB ในด้านต่าง ๆ เช่นการประมวลผลภาพและสัญญาณระบบการควบคุมสำหรับอุตสาหกรรมการสื่อสารและการคำนวณทางการเงิน

Python :

ภาษา Python เป็นภาษาระดับสูงที่ใช้กันอย่างแพร่หลาย เนื่องจาก Python เป็นภาษาที่มีความยืดหยุ่นสูงทำให้ง่ายต่อการอ่านและไวยากรณ์ของภาษายังช่วยให้โปรแกรมเมอร์สามารถเขียนโค้ดได้ง่ายขึ้นอีกด้วย ในความเป็นจริงแล้ว Python ยังไม่สามารถแก้ปัญหาด้านการวิเคราะห์เชิงตัวเลขและสถิติได้อย่างสมบูรณ์แบบ แต่เมื่อพูดถึงการเขียนโปรแกรมทั่วไปแล้ว ภาษา Python มีบทบาทที่ดีเยี่ยม ภาษา Python มีไลบรารี่สนับสนุนด้านการวิเคราะห์เชิงตัวเลขและสถิติที่ยอดเยี่ยม เช่น numpy, scipy, scikit-learn นอกจากนี้ยังสนับสนุนวิธีการเขียนโปรแกรมเชิงวัตถุ การเขียนโปรแกรมในรูปแบบ imperative programming การเขียนโปรแกรมในรูปแบบ functional programming รวมถึงการเขียนโปรแกรมในรูปแบบ procedural อีกด้วย Python เป็นภาษาที่มีการจัดการหน่วยความจำโดยอัตโนมัติและมีรูปแบบภาษาในเชิงพลวัต คุณสามารถจ้างฟรีแลนซ์ที่มีความรู้และประสบการณ์ในการเขียนโปรแกรมภาษา Python ได้อย่างง่ายดาย

Haskell :

Haskell เป็นภาษาโปรแกรมที่ใช้งานง่ายและใช้สำหรับวัตถุประสงค์ทั่วไป มีความไม่ตายตัวและคงทนต่อความเสียหายได้ดี ภาษา Haskell ไม่สามารถใช้ร่วมกับภาษาโปรแกรมอื่นเช่น C และ C ++ ได้ แต่ภาษานี้ก็สามารถแก้ปัญหารูปแบบเดียวกันได้เช่นเดียวกับภาษาอื่นๆด้วยการเขียนแค่ไม่กี่บรรทัด ภาษา Haskell มีการเขียนที่มีรูปแบบไวยากรณ์ที่ใช้งานง่ายและการเขียนโปรแกรมนั้นยากต่อการพบเจอบัคและปัญหาต่างๆ นอกจากนี้ภาษา Haskell นั้นมีไลบรารี่จำนวนมาก โปรแกรมเมอร์จึงมีความสะดวกที่จะใช้ภาษานี้พัฒนาแอพพลิเคชั่นและแก้ปัญหาเชิงตัวเลขและสถิติ ข้อดีที่โดดเด่นของภาษา Haskell คือภาษานี้มีการทำงานที่มีประสิทธิภาพสูงและง่ายต่อการเข้าใจ ซึ่งมีส่วนช่วยอย่างมากในการสร้างแบบจำลองปัญหาทางคณิตศาสตร์ และภาษา Haskell ก็เป็นภาษาที่ดีที่สุดที่ใช้จัดการปัญหาและงานวิจัยประเภทต่างๆในด้านทฤษฎีทางภาษาโปรแกรมมิ่งอีกด้วย

Julia :

Julia เป็นภาษาที่มีความเป็นพลวัตสำหรับการคำนวณทางเทคนิค โดยภาษา Julia เป็นภาษาการเขียนโปรแกรมระดับสูงที่มีประสิทธิภาพมาก นับว่าเป็นภาษาที่เหมาะกับการคำนวณเชิงตัวเลขและการแก้ปัญหาทางวิทยาศาสตร์ ภาษานี้มีคอมไพเลอร์ที่ซับซ้อน มีการคำนวณเชิงตัวเลขที่แม่นยำ มีไลบรารี่ที่เข้าถึงง่ายและหลากหลาย อีกทั้งยังมีไลบรารีทางคณิตศาสตร์ที่มีประโยชน์ต่อการใช้งาน ภาษานี้มี multiple dispatch ซึ่งสามารถกำหนดลักษณะการทำงานของฟังก์ชันได้ในหลายรูปแบบอาร์กิวเมนต์ ภาษา Julia เป็นภาษาที่ทำงานด้านการคำนวณตัวเลขขั้นสูงที่มีความคล้ายคลึงกับภาษาโปรแกรมมิ่งอื่นๆ เช่น R, MATLAB และ Python ไลบรารี่มาตรฐานของภาษา Julia มีการดำเนินการทางตัวเลขขั้นพื้นฐานต่างๆ เช่น การคำนวณเลขจำนวนเต็มทั่วไป โปรแกรมเมอร์ในแวดวงภาษา Julia นั้นได้สร้างโปรแกรม notebook สำหรับเขียนภาษานี้ซึ่งทำงานบนเบราว์เซอร์ไว้อีกด้วย

Prolog :

Prolog เป็นภาษาการเขียนโปรแกรมที่อิงกับตรรกะเป็นหลัก ภาษานี้เป็นภาษาที่ใช้กันอย่างแพร่หลายในด้านปัญญาประดิษฐ์และภาษาศาสตร์คอมพิวเตอร์ Prolog เป็นภาษาที่คนส่วนมากนิยมใช้สำหรับแก้สูตรตรรกศาสตร์ หลักของโปรแกรมภาษา Prolog นั้นคือการเขียนโปรแกรมเกี่ยวกับความสัมพันธ์ที่แสดงถึงค่าความจริงและเงื่อนไขต่างๆทางด้านตรรกศาสตร์ ภาษา Prolog สามารถอธิบายถึงสิ่งที่ซับซ้อนได้ในไม่กี่บรรทัด หากคุณมีไอเดียที่ดีในการเขียนโปรแกรมและต้องการเติมเต็มไอเดียนั้น ภาษา Prolog เป็นทางเลือกที่ดีให้คุณได้  และภาษานี้ยังเป็นทางเลือกที่ดีสำหรับการเขียนโปรแกรมที่ต้องการความรวดเร็วในการเขียนอีกด้วย ภาษา prolog สามารถดึงเอาเงื่อนไขหรือข้อมูลจาก database มาพัฒนาต่อหรือลดทอนได้ หากใช้ภาษา Prolog ได้ คุณจะสามารถหางานฟรีแลนซ์ออนไลน์ได้อย่างง่ายดาย

ภาษา R :

R เป็นภาษาสคริปต์แบบโอเพนซอร์สสำหรับการแนะเสนอภาพข้อมูล (data visualization) ภาษา R เป็นภาษาโปรแกรมมิ่งที่ใช้สำหรับการคำนวณทางสถิติ การวิเคราะห์ข้อมูล และการวิจัยทางวิทยาศาสตร์เป็นส่วนใหญ่ ภาษา R มีอินเตอร์เฟซที่ใช้งานง่ายและมีไวยากรณ์ที่เข้าใจได้ไม่ยาก ภาษานี้เป็นภาษาที่ได้รับความนิยมมากที่สุด สำหรับนักทำเหมืองข้อมูล (data minning) นักวิจัย นักวิเคราะห์ข้อมูล และ นักสถิติ ภาษา R เป็นภาษาที่ใช้ command line scripting ซึ่งส่วนใหญ่จะใช้สำหรับการวิเคราะห์ข้อมูลที่ซับซ้อนและการนำข้อมูลมาวิเคราะห์ซ้ำ ภาษา R เป็นภาษาโปรแกรมมิ่งแบบโอเพนซอร์ส ดังนั้นภาษานี้สามารถถูกนำมาพัฒนาและแจกจ่ายใหม่ได้ง่าย ภาษา R สามารถทำงานบนแพลตฟอร์มที่แตกต่างกันได้อย่างหลากหลาย เช่น UNIX Windows และ MacOS และภาษานี้ยังอนุญาตให้เหล่าโปรแกรมเมอร์เพิ่มเติมการทำงานที่นอกเหนือจากที่มีอยู่โดยการประกาศฟังก์ชันใหม่ได้อย่างง่ายดายอีกด้วย

สรุป :

บทความนี้ได้ให้ความรู้เกี่ยวกับภาษาโปรแกรมมิ่งที่ดีที่สุดที่จะช่วยคุณทำงานด้านการวิเคราะห์เชิงตัวเลขและสถิติ ภาษาต่างๆในบทความนี้ต่างเป็นภาษาที่มีไลบรารี่อยู่ในตัวของมันเอง ดังนั้นการสร้างแอพพลิเคชั่นในด้านการวิเคราะห์เชิงตัวเลขและสถิติจึงเป็นเรื่องที่ง่ายขึ้นกว่าเดิม ภาษาเหล่านี้ยังช่วยนักพัฒนาในเรื่องของการทำ data visualization และการคำนวณทางด้านสถิติอีกด้วย

ห้ามพลาด!!

คอร์ส FINANCIAL ENGINEERING BOOTCAMP ที่จบมาสร้างระบบเทรดหุ้นได้จริง
"Boothcamp สำหรับคลาส Financial Engineering ครั้งแรกในเมืองไทย ใครอยากรู้เรื่อง Quant ที่ผู้เรียนจะได้ คำแนะนำวินัยการลงทุนที่เคร่งครัด, ไม่ต้องเฝ้าหน้าจอหลายจอ เพื่อดูหุ้นหลายตัวให้เหมื่อย และ การกระจายความเสี่ยง จากการเลือกลงทุนได้หลายกลยุทธ์

รายละเอียดเพิ่มเติมและสมัครที่นี่

หลักสูตรนี้เรียนกันทั้งหมด 10 ครั้ง รวม 30 ชั่วโมง จบมาทำงานได้จริง!!! สอบถามเพิ่มเติมได้ที่เพจ LEAN upskill