Python Basic : Portfolio (Equal Weight vs Random Weight)

ในบทความนี้เราจะมาทำการทดลองในส่วนของ  “การจัดสรรพอร์ตฟอลิโอ” กันครับ มาดูว่าการจัดพอร์ตนั้นมันมีผลกับ กำไร และ ความเสี่ยง ของเรามากน้อยแค่ไหน และ มาดูกันว่า เจ้าคำพูด “Higher Risk = Higher Return” น่ะ มันจริงเท็จแค่ไหน! การทดลองนี้ผมเขียนขึ้นด้วย Python โค้ด สามารถนำไปทดลองใช้ได้เลยครับ ยินดีแบ่งปันครับ ขอแค่ได้ผลอย่างไร อย่าลืมมาพูดคุยแลกเปลี่ยนกันบ้างนะครับ ผมจะยินดีมากถ้าได้แลกเปลี่ยนความคิดเห็นกับนักวิจัยท่านอื่นๆ ครับ มาเริ่มกันดีกว่า … 1) import libraries  ที่จำเป็นต้องใช้งาน ก่อนอื่นเราต้อง import Library ที่จำเป็นต้องใช้ ในที่นี้ คือ numpy คือ Library … Continue reading Python Basic : Portfolio (Equal Weight vs Random Weight)

Python Basic Risk & Return part 2 : Standard Deviation

หัวใจสำคัญของบทความชุด Python basic risk & return นี้คือ การวิเคราะห์หาค่าความเสี่ยงของหุ้นที่เราสนใจ จากบทความตอนที่ 1 เราได้พูดถึงการประเมินค่าความเสี่ยงและผลกำไรต่อหุ้นอย่างง่ายๆ โดยอาศัยเพียงแค่ความเข้าใจทฤษฏีการแจกแจงปกติ (Normal distribution)  เท่านั้น …ในบทความนี้ เราจะมาคำนวณหาค่าความเสี่ยงของหุ้นที่เราสนใจกันให้ลึกเข้าไปอีกนิด โดยใช้หลักการของ Standard deviation เขียนโดย Python 3.5  เช่นเคยนะครับ การคำนวณจะยังคงเป็นการคำนวณง่ายๆ ที่ไม่ซับซ้อนอีกเช่นเดิม  🙂 ** พาร์ทที่ 1  ของบทความนี้สามารถอ่านได้ที่ link นี้ครับ Python Basic Risk & Return (part 1) Normal distribution ** … Continue reading Python Basic Risk & Return part 2 : Standard Deviation

[Free online course] Python trading for beginners

สำหรับคนที่ไม่เคยใช้งาน Python เลย เราได้จัดทำวีดีโอชุด “Python trading for beginners” ที่เหมาะสำหรับผู้เริ่มต้นที่อยากจะพัฒนาระบบเทรดด้วยตัวเอง โดยใช้ภาษา Python ขึ้นมา โดยเนื้อหาในบทเรียนชุดนี้ ท่านจะได้เรียนรู้ตั้งแต่ พื้นฐานการโหลดข้อมูลหุ้นออนไลน์ การแสดงผลข้อมูล การหาค่า indicator และ การคำนวณรูปแบบต่างๆ ไปจนถึงการพัฒนากลยุทธ์ในการซื้อขายเบื้องต้น ยิ่งไปกว่านั้น ในส่วนของ Source code ทั้งหมด ของบทเรียนที่เราจัดทำขึ้น เราได้มีการแชร์ไว้ใน Git repository ที่ท่านจะสามารถทำการ Download ไปทำการทดลองรันได้อย่างสะดวก ในแต่ละไฟล์ เราได้ใส่คำอธิบายไว้ด้วย จึงเหมาะสำหรับทุกท่านที่จะนำไปเรียนรู้ด้วยตัวเองค่ะ Git repository link: https://github.com/QuantML/QTML/tree/master/TutorialsContinue reading [Free online course] Python trading for beginners

Python for trading: Optimization

หลังจากหายไปนานเพราะทำวิจัยหนักไม่ค่อยว่างเลยช่วงนี้ วันนี้เราจะมาลองทดลองเขียน Optimization ใน Python ดูหน่อยนะครับ โดยที่ความจริงการทำอะไรแบบนี้ในโปรแกรมสำเร็จรูปอย่าง Amibroker คงง่ายมากกว่าการมาทำเองอยู่มาก แต่ทำไมเราจึงควรลองทำเองด้วยโปรแกรมที่สามารถวิเคราะห์ข้อมูลโดยเฉพาะ เช่น Python R หรือ Matlab? เหตุผลก็คือ ความยืดหยุ่นในการโปรแกรม เราจะสามารถปรับอะไรได้เยอะกว่าโปรแกรมสำเร็จรูป สามารถวิเคราะห์ข้อมูลด้วย Stat ได้ในระดับที่ลึกกว่า สนับสนุนการวิจัยเชิง Machine Learning ได้อย่างเต็มรูปแบบ ตัวอย่าง เช่น Deep Learning ที่กำลังดังๆตอนนี้ (จริงๆที่เมืองนอกดังมาหลายปีแล้วครับ) ซึ่ง ณ เวลานี้ ไม่มีทางเลยที่จะทำในโปรแกรมสำเร็จรูปได้ สามารถสร้าง Product ของตัวเอง ที่สามารถพัฒนา Algorithm … Continue reading Python for trading: Optimization

Why Python?

ทำไมจึงเลือกใช้ python ในการพัฒนาแพลตฟอร์ม? ถ้ากล่าวถึงการวิจัยวิเคราะห์ข้อมูลทางด้านนี้ก็คงมีตัวเลือกที่น่าสนใจอยู่หลักๆ 2 ภาษา คือ Python และ R แต่ที่เราเลือก Python เพราะ ศักยภาพของตัวภาษา โครงสร้างภาษาที่เข้าใจได้ง่าย และความสามารถในการสร้างโปรดักส์ ที่สำคัญคือพลังของ communities ที่แข็งแรง ทั้งกลุ่มนักวิจัย และ กลุ่มของนักลงทุนทั่วโลก ที่ทำให้ Python มีการพัฒนา package ทางการลงทุนที่มีประสิทธิภาพออกมาอย่างไม่ขาดสาย ทำให้เราสามารถมั่นใจได้ว่า การสร้างระบบเทรดด้วย ญython ตั้งแต่การอ่านข้อมูล การวิเคราะห์ข้อมูล ทั้งด้วย Tecnical Indicator แบบทั่วไปและ Machine Learning algorithm ตลอดจนการส่งคำสั่งไปยังโบรกเกอร์ สามารถทำได้อย่างสะดวก รวมไปถึงแพคเกจ Full backtest จาก ญython ที่ครบเครื่อง ดังตัวอย่างที่นำมาให้ดูกัน ซึ่งเป็นเพียงส่วนหนึ่งเท่านั้น ถ้า Python จะมีข้อจำกัดอยู่บ้าง ก็คงจะเป็นในเรื่องของการเขียนโปรแกรมที่อาจจะต้องอาศัยพื้นฐานการเขียนโปรแกรมอยู่บ้าง แต่ก็ไม่ได้ยากจนเกินไปที่จะเรียนรู้ได้(เรียนรู้ได้ง่ายกว่า R เพราะโครงสร้างภาษาที่ดีกว่า่) ถ้าแลกกับการที่เราจะสามารถสร้างระบบการลงทุนทำงานได้รวดเร็ว มีประสิทธภาพสูง ในสไตล์ของเราเองได้อย่างอิสระ อีกทั้งยังสามารถพูดคุยแลกเปลี่ยนแนวคิดในการลงทุนกับนักวิจัยจากทั่วโลกได้อย่างกว้างขวาง มันก็คุ้ม! ดังนั้น ถ้าใครกำลังสนใจมองหาภาษาที่จะใช้อยู่ Python เป็นตัวเลือกที่น่าสนใจเลยทีเดียว Continue reading Why Python?

Python Basic Risk & Return (part 1) Normal distribution

บทความนี้ เราจะนำเสนอวิธีการประเมินความเสี่ยงอย่างง่ายโดยไม่ต้องคำนวณทางคณิตศาสตร์มากมายอะไร คือ แสดงข้อมูลในรูปแบบ Normal Distribution เพื่อประเมินความเสี่ยงขั้นต้นนั่นเอง มาดูขั้นตอนกันเลยครับว่า จากหลักการของ Normal Distribution  เราจะคำนวณหาความเสี่ยงสำหรับหุ้นที่เราสนใจได้ยังไง 1) import libraries  ที่จำเป็นต้องใช้งาน # import library import numpy as np import pandas as pd from pandas_datareader import data as web import matplotlib.pyplot as plt import seaborn as … Continue reading Python Basic Risk & Return (part 1) Normal distribution

Linear regression model with Python

บทความที่แล้ว เราได้พูดถึงการทำนายข้อมูลด้วย Regression model และ ได้เห็นตัวอย่างจากการทำนายค่าราคาหุ้นของโมเดลนี้กันแล้ว Simple linear regression กับการทำนาย ทดลอง Regression ทำนายราคาหุ้น ADVANC, TMB และ CPALL ในบทความนี้เราจะมาดูตัวอย่างการเขียนโปรแกรมสร้างโมเดลตัวนี้อย่างง่าย ด้วย Python กันค่ะ มาเริ่มต้นกันที่ Simple linear regression ข้อมูลที่เราจะทำมาใช้ในการนำเสนอ จะเป็นข้อมูลตัวเดียวกับที่เราเคยใช้ในบทความ Simple linear regression กับการทำนาย  ซึ่งเป็นข้อมูล จำนวนปีประสบการณ์ทำงาน และ เงินเดือนที่ได้ จำนวน 30 แถวข้อมูล ขั้นตอนการสร้างและใช้งาน regressor model 1) import libraries … Continue reading Linear regression model with Python