ข้ามไปที่เนื้อหาหลัก

โพสต์

กำลังแสดงโพสต์ที่มีป้ายกำกับ algorithm trading

Time-Based Strategy

ภาพประกอบการบรรยายเมื่อวาน ให้กลุ่ม Robot trading เกี่ยวกับการใช้ประโยชน์จากการบริหารเวลา Time Horizon กับภาวะ volatile market ในตลาด Gold ในภาพตัวระบบเทรดทดลอง ระบบเดียวกัน(trading strategies&MoneyManagement เดียวกัน)แต่กำหนด time horizon ในการ exit strategies ที่แตกต่างกัน ตัวโมเดลแรก 5 วัน โมเดลที่สอง 15 วัน สิ่งที่พบเหมือนที่ได้สรุปให้ฟังไป ความผันผวนระยะสั้น ที่เกิดกับตลาด ถ้าไม่เกิดการเปลี่ยนสมดุล หรือเกิดการเปลี่ยนของแนวโน้มใหญ่ในทิศทางราคา การขยายเวลาถือครอง ก็ลดผล กระทบจาก ความผันผวนระยะสั้นได้ ซึ่งจากผลการทดลองจะเห็น position ที่อาจจะผิดทางตอนแรก จาก volatility ที่เกิด สามารถกลับมาเป็นบวก เปลี่ยนจากขาดทุนกลายเป็นกำไรได้ ในช่วงเวลาต่อมา ดังนั้นการทำระบบเทรดใน ภาวะ volatile market ต้องวางแผน money management บริหารเงินให้ครอบคลุมการถดถอยของมูลค่าสถานะ จากภาวะความผันผวน ที่เกิด โดยรวม 3 factor สำคัญมาวางแผน Time , Volatility และ market sentiment นอกจากนี้ สามารถใช้ MFE, MAE วิเคราะห์ position ที่เทรดแล้ว เทรนโมเดลในการปรับปรุงระบบได้อีกด้วย

8 things I learned from Perry Kaufman

เช้านี้นั่งฟัง podcast สัมภาษณ์รายการ BST หัวข้อ Strategy Development with Perry Kaufman บรรยายแนวทางการพัฒนาระบบเทรด ไว้ดีมากหลายประเด็น จากการถามตอบกว่า 60 นาที ผมสรุปประเด็นที่น่าสนใจมาแบ่งปัน ไว้ให้ไปศึกษากันดังนี้ 1. Long Run พัฒนาระบบที่ดี ไม่ใช่แค่ดูผล Backtesting หรือ optimize ให้มีค่าสถิติดีๆ ต้องเน้นการอยู่รอดและทำงานได้จริงแบบ long run ในตลาด Kaufman บอกว่าเขาทดสอบระบบในหลาย scenario เพื่อหาค่าผลลัพธ์แบบเฉลี่ย ถ้าค่าเฉลี่ยออกมามันใช้งานได้ ไม่จำเป็นต้องสุดยอด เขาเริ่มทดลองใช้เทรดจริงในตลาด 2. keep it simple ไม่จำเป็นต้องสร้างเงื่อนไข การเทรดที่ซับซ้อน ยิ่งเยอะยิ่งยากต่อการปรับปรุง หรือวินิฉัยปัญหา เน้นเรียบง่าย แต่มีประสิทธิภาพ แต่ละส่วนมีบทบาทชัดเจน เช่น volatility filter มันทำหน้าที่กรองความผันผวน ซึ่งเสริมส่วนทำงานการวิเคราะห์ Trend เป็นต้น นอกจากนี้ถ้า เงื่อนไขใดซ้ำซ้อนไม่เกิดประโยชน์ ต่อผลลัพธ์ ก็ควรจะขจัดทิ้ง 3. Knowledge การพัฒนาระบบเทรด ควรเริ่มจากความเข้าใจหลักการพื้นฐาน นั้นหมายรวมการหาข้อมูล การวิเคราะห์พฤติกรรมการเป็นไป การไหลของเงิน fundflow มูลเหตุจูงใจท

BackTesting and Data-mining bias(Systematic Trading)

เมื่อคืนได้พูดถึงกระบวนการทดสอบระบบเทรด เพื่อทำให้เกิดความมั่นใจก่อนนำไปใช้งาน ประเด็นสำคัญที่ต้องระวังคือเรื่องของ Data-mining bias หรือการพยายามจะปรับ optimize ตัว algorithm เพื่อให้เกิดค่าที่ดีเกินจริงจากการ Over fitting กับข้อมูลที่นำมาทดสอบ หลักการประยุกต์เหมือนที่ได้แนะนำไปมีหลากหลายวิธี เช่นการใช้การสร้างใช้ Bootstrapping จำลองข้อมูล,การทำ WFA, การทำ stress testing (จำแนกการทดสอบระบบกับจุดภาวะต ลาดไม่ปกติ) สิ่งสำคัญควร focus ไปที่โอกาสของการขาดทุนและความเสี่ยงที่จะเกิดให้มาก เพราะตรงจุดนี้จะช่วยทำให้เราเตรียม tactic หรือแผนรับมือเสริมประกอบเพื่อช่วยลดผลกระทบจากการเทรดจริงได้ ดังกล่าวไปเรื่องของการ BackTesting และกระบวนการพัฒนาระบบเทรดไม่ใช่เรื่องใหม่ มี paper วิชาการที่นำเสนอเทคนิคต่างๆให้เราอ่านเยอะมากเลย ตั้งแค่ขั้นพื้นฐาน ยันขั้นสูง ลองเข้าไปดูเบื้องต้นได้จากใน link ข้างล่าง ผมคัด paper ที่ผมใช้งานประจำมาให้น้องๆได้เตรียมตัวศึกษาก่อนแข่งกัน -Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample https://papers.ssrn.co

Bill Eckhardt, father of the CTA

นั่งอ่านบทความ Fifty years of evolutionary trading ของ Bill Eckhardt, เจ้าของฉายา father of the CTA , อดีตเทรดเดอร์สาย Systematic ยุคแรก ผู้บริหารและผู้ก่อตั้ง Eckhardt Trading Company (ETC) ถ้าใครเคยอ่านหนังสือเก่าๆ เช่น The Complete TurtleTrader น่าจะเคยได้ยินชื่อเสียงแก เป็นสมาชิกรุ่น Richard Dennis ชำนาญมากสาย volatility trend-following และ short-term trading เขาเขียนหลายประเด็นได้ดีมากเกี่ยวกับ Sys tematic trading ,Stat&Probability รวมถึงปัญหา Overfitting และอื่นๆ จุดอยากนำมาแชร์ส่วนตัวชอบเรื่อง Risk Management และ Money Management มุมมองแนวคิดเกี่ยวกับ Risk และ Return ที่ดีทำให้พอร์ตของ ETC อยู่รอดมายาวนาน ในภาพประเด็นหนึ่งที่เราน่าจะนำมาประยุกต์ได้คือเรื่องการบริหารจัดการเงินที่เขาคำนวณหา position size อิงจาก Utility function บน factor 4 ตัวหลักได้แก่ - เงินทุนที่มี - พฤติกรรมราคาสินค้า (volatility)ที่เทรด - ขนาดความเสี่ยงที่ลูกค้ารับได้ - ผลงาน(performance) ของระบบเทรดที่ผ่านมา ประเด็นเหล่านี้สำคัญ มากกว่าแค่การเทรดเข้าออกในแต่ละครั้ง ยิ่งในภาวะตลาดหุ้น ตลาดเก็ง

รีวิว TFEX Gold Online Futures

สินค้าใหม่ของ TFEX วันนี้น้องมาร์เก็ตติ้ง โทรมาแนะนำสินค้า Gold Online Futures(GO) ตัวนี้ จะเริ่มเทรด 5 พ.ย. 2561 ได้ข้อมูลเยอะพอสมควร บวกกับลองเข้าไปหาข้อมูลเพิ่มจากเว็บ TFEX ขอนำเอาจุดเด่นมาสรุปให้ดูกัน สินค้านี้ชื่อย่อ GO จุดแตกต่างจาก GF คือเทรดราคาทองคำอิงราคาสากลของโลก หน่วยในสกุล USD (หลังจากรอมานานและเคยมีการพูดถึงหลายรอบในอดีต) โดย GO ใช้สินค้าอ้างอิงเป็นทองคำบริสุทธิ์ 99.5% ราคาไม่ต้องไปเชื่อมกับค่าเงินบา ทและใช้สมการการคำนวณแบบ GF นั้นหมายความว่า ไม่ต้องไปรับความเสี่ยงจากค่าเงินบาท แถมราคาจะเคลื่อนที่ตามทิศทางตลาดโลก (แน่นอนว่าจะมี GAP ช่วงการเปิดตลาดในตอนเช้า) เช่นเดียวกับ สามารถใช้ระบบเทรดแบบเดียวกับ ราคาทองคำในตลาดโลกโดยตรง โดย GO 1 สัญญามีมูลค่า 300 เท่าของราคาทองคำ ขนาด Tick ระดับ $0.1 คิดเป็นมูลค่าจุดละ 30 บาทต่อสัญญา (ราคาทองคำขยับ $1 คิดมูลค่า 300 บาทต่อสัญญา) ตัวนี้ Trading Session เหมือนกับ GF คือมีทั้งเช้าและกลางคืน(19:00 – 23:55) รูปแบบสัญญาซีรีย์ละ 3 เดือนหมดอายุทุกๆไตรมาส และส่งมอบเป็น Cash Settlement ด้านค่าคอมค่อนข้างพอควร เทรดผ่านอินเตอร์เน็ตไปกลับ 1

Optimal trading rule without overfitting

paper ที่ผมพูดถึงเมื่อคืน ตัวอย่างการหลีกเลี่ยง Overfitting ในการทำ optimization จาก backtest แนวคิดสไตล์นี้มีเยอะมาก ลองหาอ่านได้โดยเฉพาะเทคนิคใหม่ๆ ตัวอย่างนี้คุณ Marcos López de Prado เขาใช้ discrete Ornstein-Uhlenbeck process (stochastic process) สร้าง Data เพื่อทดสอบ trading strategy และทำการ optimization ค่า Sharpe ratio โดยทำการสุ่มปรับค่าของ SL และ TP เพื่อให้ได้ที่ดีที่สุดตามเงื่อนไข บน time seri es data ที่สร้างจาก O-U process แทนการใช้ข้อมูลในอดีต(Historical data) ขอไม่ลงรายละเอียดเชิงลึกมาก แต่อยากแนะนำให้ลองศึกษาดูเพราะเป็นแนวทางที่น่าสนใจ และทดสอบกลยุทธ์การเทรดบนสภาวะ random walk ได้ดีทีเดียว ดาวน์โหลดได้จาก https://arxiv.org/abs/1408.1159

ทอสอบ GRID(+Machine Learning) บน MT4 TFEX

สาธิต GRID(+ML) บน MT4 TFEX S50 คลิปผลการทดลองตัวอย่างการทำงานจริงของระบบ GRID โดย กลยุทธ์หลักเพื่อใช้ในการเป็น Hedging Layer สะสมสัญญาเพื่อป้องกันความเสี่ยงในพอร์ตหลัก(ผสมกับการเก็บ cashflow จาก Market volatile)  ซึ่งใช้จุดเด่นของ MT4 TFEX ในการจัด Order แบบ GRID (แตกต่างจาก FIFO แบบอดีต) - Non Linear GRID Trading - No SL,TP , No Pending Order - Dynamic Zone based on Machine Learning - Dynamic Exit strate gies - Low Risk (Balance = 500000, RPT 100000 per Unit, SLD>40%ofCV,Max = 5 Contract) - Stop loss By Time (time based exit strategies) เข้าดูตัวอย่างการทำงานได้จาก link  https://www.facebook.com/chaipat.ncm/videos/10156764604269511/

MT4 DDE Real-time Feed

กลุ่ม  trader เขาเชิญไปแชร์ประสบการณ์ ผมเลยนำเรื่องการวิเคราะห์ market activity ด้วย tick data (ไม่ขึ้นกับ time series model)ไปเล่าให้ฟัง ส่วนตรงนี้คือตัวอย่างเรื่อง MT4 DDE Real time feed ช่องทางการเชื่อม real-time data จาก Metatrader 4 ที่บริการข้อมูล crypto currency เข้าไปวิเคราะห์ ในโปรแกรม amibroker ที่เราจะใช้สร้าง algorithm เพื่อทดสอบระบบเทรดต่อไป ปล1. วิธีนี้ง่ายสะดวก แต่อาจจะมีประสิทธิภาพไม่มากเท่าการเขียน python เชื่อมผ่าน API เหมาะกับมือใหม่ที่ไม่ต้องการทำอะไรมาก ปล2. ใครอยากจะดึงข้อมูล forex เรียลไทม์ก็ทำได้เช่นกัน แต่ระวังเรื่อง error กรณีดึงข้อมูล tick จำนวนมากพร้อมๆกัน

stress testing

ได้อธิบาย แนวคิดการทดสอบระบบเทรด ในภาวะไม่ปกติ คล้ายกับการทำ stress test ให้กับระบบเทรดของเรา โดยในภาพนี้ผมเอาตัวข้อมูลจากคุณ charlie bilello ที่รวบรวมการทำ valuation ตลาดหมีไว้มาให้ดู ซึ่งข้อมูลแสดงพฤติกรรมตลาดในอดีตช่วง 1929 -2018 ที่เคยเกิดวิกฤติ มาให้ดู การใช้งานเราก็ลองพิจารณาช่วงเวลาที่เกิดในแต่ละรอบ ออกแบบการจัดการเงินให้รองรับ volatility ที่เกิดแล้วลองรันข้อมูลทำการ Back testing กับ asset ที่เราสนใจเลือกเฉพาะช่วงปีที่เกิดวิกฤตินั้นๆ(Overlap +/-2 ปีก็ได้)แทนกา รรันทดสอบย้อนหลังยาวๆ เพื่อทดสอบผลการทำงานในภาวะไม่ปกติดู ตรงนี้จะ testing แผนการจัดการเงินและการจัดการความเสี่ยงของระบบเราได้ดี มาก ยิ่งถ้าระบบไหนไม่แข็งแรง เรียกว่าไม่พังล้างพอร์ต หรือไม่ก็ Drawdown 80-90% ได้แน่นอน ปล. เพิ่มเติมถ้าพวกเราลองรัน data analysis ของ S&P500 ดูจะพบความน่าสนใจเยอะมาก ในภาพอดีตเราจะเห็นการถดถอยของดัชนี -50% ซึ่งหุ้นบางตัวในตลาดอาจจะลงไปมากกว่า -100% ก็เป็นได้ อีกด้านหนึ่งที่น่าสนใจคือความสัมพันธ์ระหว่างระยะเวลาของขาขึ้นหรือตลาดกระทิง ยิ่งขึ้นเยอะขึ้นแรงต่อเนื่องหลายปี การถดถอ

Omega Ratio

วันนี้มาตอบคำถามจากน้องๆที่เริ่มใช้งาน Psyquation (มีหลายฟังก์ชั่นการวิเคราะห์ที่มีประโยชน์มาก อย่าไปนั่งยึดติดดูที่ score อย่างเดียว หัดใช้เพื่อพัฒนาตัวเราในอนาคต ) เกี่ยวกับตัว Omega Ratio Omega Ratio พัฒนาต่อยอดมาเพื่อแก้ข้อจำกัดของ Sharpe ratio หรือโมเดลที่ใช้การประเมินด้วย Mean และ Variance เพราะบางกรณีเกิดการตีความที่อาจจะไม่เหมาะสมกับพฤติกรรมของ Performance ที่เกิดได้ ลองดูจากภาพประกอบ Shadwick&Keating ปี 2002 พัฒนาโมเดล Omega Ratio ขึ้นมาโดยหลักการคือแทนจะใช้แค่ Mean และ Variance ก็ทำการแบ่งพื้นที่ของ Return Distribution เป็นสองส่วนด้วย ค่า target return หรือ threshold จากนั้นวัดสัดส่วนของพื้นที่ cumulative probability distribution ทั้งสองที่ถูกแบ่ง (สรุปคราวๆไม่ได้ลงเรื่องของสมการและวิธีการหาค่า ลองไปอ่านใน link ด้านล่างได้) ส่วนการตีความ Omega Ratio มากกว่า 1 ถือว่า OK แน่นอนว่าถ้ามีค่ามากก็มีแนวโน้มดี สะท้อนความน่าจะเป็นที่จะให้ return ที่ดีและยังใช้การประเมิน risk metric เพื่อเฝ้าระวัง risk ที่เกิด แต่แน่นอนว่าการตั้ง threshold ก็มีผลต่อค่าคำนวณดังนั

กระบวนการคิดและตัดสินใจอย่างเป็นระบบ

Key สำคัญในการเทรดให้ประสบความสำเร็จนั้นคือ "การตัดสินใจ (Decision Making)" ระบบเทรด(trading system) แกนหลักประกอบด้วย กลยุทธ์การเทรด(entry&exit)และการบริหารจัดการเงิน นั้นก็คือ Framework มาช่วยการสนับสนุนการตัดสินใจ ให้มีประสิทธิภาพมากขึ้นโดยเฉพาะในสนามจริงที่มีเวลาจำกัดมีความกดดันจากผลกำไรขาดทุนจริงที่เกิด มันไม่ใช่เรื่องง่ายที่จะคิดได้เร็ว ตัดสินใจได้ดีโดยปราศจาก Bias ทางอารมณ์ ถ้าเป็นมือใหม่หัดเทรด อยากจะ day trading หรือจะสั้นระดับ scalping มันไม่ใช่แค่เรื่องการนั่งเฝ้ าหน้าจอส่องกราฟ ส่องแท่งเทียน อย่างเดียว สิ่งควรเริ่มทำคือการฝึกหัดเรื่องการตัดสินใจ บนภาวะที่ต้องเผชิญกับความเสี่ยงหรือความไม่แน่นอนให้เป็นก่อน ทักษะนี้คุ้มค่ามากถ้าเราเรียนรู้ และทำได้ดี โดยเฉพาะการสร้างระบบมาบริหารจัดการอารมณ์ ไม่ให้เกิดการแทรกสอดในการตัดสินใจ การรู้จัดประเมินความน่าจะเป็น และสุดท้ายเรื่องของการดีลกับผลของการตัดสินใจ action ที่เกิดตามมาทั้งดีและร้าย เพราะมันคือทักษะเดียวกันกับการ take risk ในชีวิตประจำวัน หรือการทำธุรกิจ เพียงแต่ความถี่ของการตัดสินใจในการเทรด มันจะเกิดบ่อย เ

Two Centuries of Momentum

เช้านี้นั่งอ่าน paper เรื่อง Two Centuries of Momentum ของ Newfound Research (Quant Investment Firm) มีหลายประเด็นที่น่าสนใจ โดยสรุป paper เขาเขียนถึง momentum strategies สไตล์ Buy High Sell higher นั้นแหละ แต่มิติในการเรียบเรียงนำเสนอไม่ใช่เรื่องกลยุทธ์อย่างเดียว ผู้เขียนนำเสนอประเด็นเกี่ยวกับ momentum ทั้งแบบ cross-sectional และ time series momentum แสดงข้อมูลประวัติตั้งแต่ยุคเริ่มต้นในตลาดหุ้น Wall Street ย้อนไปสมัย David Ricardo, Charles H. Dow(1851) และนำเสนอถึงช่วงตกต ่ำที่ทำให้คนจำนวนไม่น้อยหันหลังให้กับการเก็งกำไรหลังสิ้นสุดช่วงตลาดกระทิง นอกจากนี้ยังรวมไปถึงประเด็นที่เกี่ยวข้องกับ Modern Portfolio Theory + EMH ,Technical Analysis, Market anomaly และ Risk Management สำหรับผมคิดว่าตอน Manage Risk ด้วย momentum น่าสนใจสุดแหละ อ้างอิงการจัดพอร์ตผสม equity index, currency, commodity และ bond futures บนกลยุทธ์ momentum ของ AQR ซึ่งผู้เขียนไปหาข้อมูลอ้างอิงจาก Academic paper ในยุคต่างๆที่เกี่ยวข้องกับ Momentum Investing/Trading ได้หลากหลายดี เช่น paper คลาสิกสายนี้อย่าง Ret

Momentum Investing

นั่งอ่านงานวิจัยเรื่อง A Century of Evidence on Trend-Following Investing ของ AQR Capital ซึ่งเป็น Quant Fund เจ้าใหญ่ งานวิจัยแสดงถึงการวิเคราะห์ข้อมูลผลการทำงานของ trend-following อิงสไตล์ดั่งเดิม “cut short your losses” and “let your profits run on” ใน Global market ทั้ง ตลาดหุ้น,ค่าเงิน, fix income และคอมโมดิตี้ ตั้งแต่ช่วงปี 1180 ถึงปี 2016 ทดสอบกลยุทธ์แบบดั่งเดิม time series momentum (Long เมื่อ return เพิ่มสูงขึ้นต่อเนื่อง , Short เมื่อ return ติดลบต่อเนื่อง ) ซึ่งทำผลงานได้ดีในช่วงตลาดมีแนวโน้ม สอดคล้องการโตของวัฏจักรเศรษฐกิจ โดยเฉพาะในตลาดหุ้นที่มีรอบทั้งช่วงตลาดกระทิงและตลาดหมี สลับกันไปมาตลอดเวลาร้อยกว่าปี การจัดพอร์ตผสม 60/40 stock/bond สไตล์ Trend-Following ก็สามารถทำให้ผลตอบแทนของระบบ ระยะยาวรอดตลาดทุกช่วงสภาวะได้เช่นกัน ดังภาพจะเห็น smile สะท้อน non linear correlation ของพอร์ตและผลตอบแทนของตลาด การจัดพอร์ตผสมช่วยเพิ่ม Sharpe ratio และจำกัดขนาด Drawdown ให้ระบบ งานวิจัยนี้ ไม่ได้พยายามจะบอกว่า Trend-Following สมบูรณ์แบบ เพราะมีทั้งช่วงที่ดีและไม่ดี Drawdown

Algorithmic trading

ตอบคำถามเรื่อง algorithmic trading และอยากให้ช่วยแนะนำว่าจะเริ่มศึกษาอย่างไร ผมตอบรายชื่อหนังสือไปให้แล้ว และจะมาแนะนำอีก 1 คลาสสอนที่ผมบรรยายไว้ 2 ชม.เต็ม แถมมีตัวอย่างการเขียนโปรแกรมให้ดูด้วย เข้าไปเรียนรู้ได้จาก cwayinvestment channel รายละเอียดหัวข้อตามนี้ เรียนรู้เรื่องของ algorithmic trading -การพัฒนาระบบเทรดอัตโนมัติ หรือ robot trading - กลยุทธ์การเทรด ที่นิยมสำหรับ algorithmic trading - Quant trading - กูรูสายที่ประสบความสำเร็จของโลก - หนังสือ สำหรับการเรียนรู้ -เว็บไซต์และแหล่งข้อมูลสำหรับการพัฒนาระบ­บ - ตัวอย่างการทำ robot trading ใน tfex / forex ด้วย MT4 - การออกแบบและเลือกกลยุทธ์ -การเขียน code โปรแกรม MQL4 - การส่งคำสั่งซื้อขาย - การทำ back testing มาอัพเดตความรู้ที่ https://youtu.be/jj5DOyqTREU