สารบัญบทความ
- หลักฐานและขอบเขต
- ภาพประกอบ
- กระบวนการ
- สิ่งที่แหล่งข้อมูลสาธารณะระบุไว้
- ข้อกำหนดเชิงสาเหตุแบบฐานราบที่เสนอ
- แยกกิจกรรมภายในฐานออกจากกิจกรรมที่เกิดขึ้นบริเวณจุดแยกตัว
- ตัวอย่างสังเคราะห์และการซื้อขายที่ล้มเหลว
- ข้อจำกัดในการดำเนินการและพอร์ตโฟลิโอ
- การทดสอบว่าส่วนประกอบใดมีส่วนช่วย
- ข้อผิดพลาดที่พบบ่อย
- รายการตรวจสอบเชิงปฏิบัติ
- คำถามที่พบบ่อย
- แหล่งวิจัย
หลักฐานและขอบเขต
ได้ตรวจสอบข้อมูลในเอกสาร IBD สาธารณะและข้อมูลหนังสือจากสำนักพิมพ์แล้ว แผนภูมิหุ้นที่เลือกมาแสดงหุ้นที่ทำกำไรได้นั้นไม่ใช่บันทึกการซื้อขายพอร์ตโฟลิโอทั้งหมด อัลกอริทึมด้านล่างเป็นการกำหนดค่าการวิจัยแบบฐานราบที่เสนอแนะ ไม่ใช่การจำลอง CAN SLIM อย่างสมบูรณ์ ไม่มีการทดสอบย้อนหลังใหม่ใดๆ ที่ดำเนินการ
ขั้นตอนปฏิบัติ
- ตรวจกลุ่มหุ้นที่ใช้ศึกษาใช้ข้อมูลราคา ปริมาณ และปัจจัยพื้นฐานที่มีอยู่ ณ เวลาในอดีต
- แช่แข็งฐานบันทึก K, F, ATR และช่วงเวลารอคอยก่อนการทะลุแนวต้าน
- คำถามเกี่ยวกับปริมาณแยกต่างหากแยกกิจกรรมซื้อขายที่ลดลงในฐานออกจากปริมาณที่เพิ่มขึ้นตอนทะลุ
- ส่งคำสั่งซื้อที่ทำได้จริงหลังจากทราบราคาปิดและปริมาณการซื้อขายแล้ว ให้คำนวณจุดหยุดการขาดทุน ขนาด และการจัดสรร
- ประเมินแต่ละชั้นเปรียบเทียบตัวตรวจจับ OHLCV กับส่วนประกอบเพิ่มเติม CAN SLIM
สิ่งที่แหล่งข้อมูลสาธารณะระบุไว้
เอกสาร IBD อธิบายฐานราบอย่างน้อยห้าสัปดาห์ที่ปรับลงไม่เกิน15% จุดซื้อดั้งเดิมอยู่สูงกว่ายอดฐาน10เซนต์ พร้อมปริมาณซื้อขายราว40–50%เหนือค่าเฉลี่ย50วันก่อนหน้า [1] นี่เป็นกฎสอนการเทรดหุ้น ไม่ใช่ค่าคงที่สำหรับสินทรัพย์ทุกประเภท
How to Make Money in Stocks ของ William J. O’Neil จัด CAN SLIM รอบกำไรรายไตรมาส กำไรรายปี พัฒนาการใหม่ อุปสงค์อุปทาน หุ้นผู้นำ การสนับสนุนจากสถาบัน และทิศทางตลาด [2] ตัวสแกน OHLCV วัดเพียงส่วนหนึ่ง ผลลัพธ์ที่ไม่มีข้อมูลส่วนอื่นไม่ควรเรียกว่าแบ็กเทสต์ CAN SLIM ครบระบบ
การแบ่งแยกนี้ทำให้การวิจัยมีข้อมูลมากขึ้น ตัวตรวจจับราคา-ปริมาณสามารถตรวจสอบได้ว่าคำจำกัดความพื้นฐานนั้นสามารถทำซ้ำได้และสามารถซื้อขายได้ในเชิงเศรษฐกิจหรือไม่ จากนั้นจึงสามารถทดสอบข้อมูลบริษัทหรือตลาดเพิ่มเติมเป็นตัวกรองแยกต่างหากได้ หากรวมทุกอย่างเข้าด้วยกันในคราวเดียว จะเป็นการยากที่จะบอกได้ว่าผลประโยชน์ที่เห็นได้ชัดนั้นมาจากรูปแบบกราฟ กลุ่มหุ้น ตัวกรองตลาด หรือนโยบายการขายออกเฉพาะอย่างใดอย่างหนึ่ง
ข้อกำหนดเชิงสาเหตุแบบฐานราบที่เสนอ
เมื่อแท่งที่เป็นผู้สมัคร c ปิด ให้ตรวจสอบ 25 ช่วงการซื้อขายที่สิ้นสุด ณ c กำหนด K เป็นค่าสูงสุดของราคา high, F เป็นค่าต่ำสุดของราคา low และ depth=(K−F)/K โดยต้องมี depth≤0.15 ตัวชี้วัดแทนแนวโน้มที่เสนอคือ C[c]>SMA200[c] ควบคู่กับ SMA200[c]>SMA200[c−20] หน้าต่างคงที่ ตัวชี้วัดแทนด้วยค่าเฉลี่ยเคลื่อนที่ และบัฟเฟอร์ความผันผวนด้านล่างเป็นทางเลือกสำหรับการวิจัย ไม่ใช่การอ้างว่าทำซ้ำกฎทุกข้อในหนังสือได้
ตรึง K,F,A=ATR14[c] และ b=max(2 ticks,0.1A) ไว้เมื่อสร้างตัวเลือกแล้ว ในช่วงสิบเซสชั่นถัดไป ให้ยอมรับการปิดเหนือ K+b เฉพาะเมื่อ RVOL50=V[t]/mean(V[t−50..t−1]) มีค่าอย่างน้อย 1.5 เท่านั้น ยกเลิกตัวเลือกที่ยังไม่ได้ซื้อขายหากราคาลดลงต่ำกว่า F−b หรือระยะเวลารอคอยหมดลง แท่งเทียนที่ทะลุแนวต้านต้องไม่เข้าไปในฐานที่ตรึงไว้ และทำให้ระดับแนวต้านของตัวเองสูงขึ้น
เมื่อเพิ่มตัวกรองปัจจัยพื้นฐาน ให้ใช้เวลาที่รายงานเผยแพร่จริง วันสิ้นไตรมาสบัญชีไม่ใช่วันรู้ผล กำไรต่อหุ้น EPS ที่แก้ย้อนหลัง การจัดหมวดอุตสาหกรรมปัจจุบัน และกลุ่มที่มีแต่หุ้นรอดจนวันนี้ อาจนำข้อมูลที่ยังไม่รู้ในอดีตมาใช้ตัดสินใจ
ดังนั้น ข้อมูลควรประกอบด้วยค่า ระยะเวลาการสังเกต และเวลาที่ข้อมูลพร้อมใช้งานสำหรับแต่ละฟิลด์พื้นฐาน ผู้สมัครจะได้รับการประเมินได้เฉพาะจากข้อมูลล่าสุดที่มีอยู่ ณ เวลาที่ตัดสินใจเท่านั้น ข้อมูลที่ขาดหายไปควรคงสถานะขาดหายไป หรือควรระบุเงื่อนไขการคัดออกอย่างชัดเจน ไม่ควรมีการเติมข้อมูลที่ขาดหายไปโดยปริยายด้วยงบการเงินในภายหลัง
on close c with no active candidate:
K=max(H[c-24:c]); F=min(L[c-24:c]) # inclusive
if depth<=0.15 and trend_proxy: freeze K,F,A,b,expiry=c+10
for c<t<=expiry:
if L[t]<F-b: cancel
elif C[t-1]<=K+b and C[t]>K+b and RVOL50[t]>=1.5:
signal LONG; stop=F-b; enter next executable event
# Comparison baseline: target=entry+2*(entry-stop), time-stop=20 sessions.
แยกกิจกรรมภายในฐานออกจากกิจกรรมที่เกิดขึ้นบริเวณจุดแยกตัว
ปริมาณการซื้อขายมีหน้าที่สองอย่างที่เป็นไปได้: การระบุการลดลงของกิจกรรมในฐาน และการระบุการเพิ่มขึ้นของกิจกรรมเมื่อแนวต้านถูกทำลาย ฐานการซื้อขายใช้เฉพาะการทะลุแนวต้าน RVOL เท่านั้น การทดลองการลดลงของปริมาณการซื้อขายแยกต่างหากจะเพิ่มปริมาณการซื้อขายเฉลี่ยในห้าช่วงสุดท้ายก่อนการสร้างตัวเลือก หารด้วยปริมาณการซื้อขายเฉลี่ยในช่วง 50 ก่อนหน้า โดยมีค่าสูงสุดที่เสนอคือ 0.75 นี่เป็นพารามิเตอร์การวิจัยเพิ่มเติม ไม่ใช่ชุดกฎที่สมบูรณ์ที่นำมาจากหนังสือ
ปริมาณการซื้อขายรายวันสุดท้ายจะทราบได้ก็ต่อเมื่อสิ้นสุดช่วงการซื้อขายแล้ว [3] ห้ามใช้ค่า RVOL สุดท้ายนั้นเพื่อจำลองการเข้าซื้อขายก่อนหน้านี้ในช่วงการซื้อขายเดียวกัน ณ จุดตัดแรก เวอร์ชันระหว่างวันต้องการปริมาณการซื้อขายสะสมที่สังเกตได้ ณ เวลาตัดสินใจจริง และปริมาณการซื้อขายที่คาดหวังที่เทียบเคียงได้สำหรับช่วงเวลานั้นของวัน
ทดสอบเงื่อนไขการหดตัวและการขยายตัวอย่างอิสระ เงื่อนไขเหล่านี้อาจเลือกหุ้นที่แตกต่างกันอย่างมาก: ฐานที่นิ่งอาจแตกตัวด้วยปริมาณการซื้อขายปกติ ในขณะที่ฐานที่เคลื่อนไหวมากอาจทำให้เกิดการทะลุแนวต้านด้วยปริมาณการซื้อขายสูง การเก็บข้อมูลการวัดอย่างต่อเนื่องทั้งสองแบบไว้ในชุดข้อมูลนั้นให้ข้อมูลมากกว่าการจัดเก็บเพียงแค่สถานะผ่าน/ไม่ผ่านรวมกัน นอกจากนี้ยังช่วยให้สามารถตรวจสอบความไวต่อเกณฑ์ที่เสนอโดยไม่ต้องสร้างตัวเลือกราคาใหม่
ตัวอย่างสังเคราะห์และการซื้อขายที่ล้มเหลว
สมมติว่า K=50, F=45, depth=10%, A=1 และ b=0.1 และผ่านเกณฑ์ตัวแทนแนวโน้ม หลังจากตรึงฐานแล้ว ราคาปิดที่ 50.3 โดยมีปริมาณซื้อขาย 1.8 ล้านหุ้น เทียบกับค่าเฉลี่ยหนึ่งล้านหุ้น จึงได้ RVOL=1.8 ราคาเข้าที่ซื้อขายได้จริง 50.4 และจุดหยุดขาดทุน 44.9 ให้ R=5.5 ต่อหุ้น เป้าหมาย 2R ที่เสนอคือ 61.4 ด้วยงบความเสี่ยงสมมติ 550 หน่วยเงิน ขนาดเบื้องต้นคือ 100 หุ้น ก่อนพิจารณาต้นทุน ขีดจำกัดมูลค่าสถานะ และข้อจำกัดด้านสภาพคล่อง
กรณีที่ตัวกรองล้มเหลวจะมีราคาปิดเท่ากันแต่เป็น RVOL=1.1 เวอร์ชันที่กรองตามปริมาณจะไม่เข้าซื้อ ในขณะที่เวอร์ชันควบคุมที่กรองตามราคาอย่างเดียวอาจเข้าซื้อได้ กรณีที่การซื้อขายล้มเหลวเกิดขึ้นหลังจากเข้าซื้อที่ 50.4: ช่องว่างราคาทำให้คำสั่งหยุดขาดทุนทำงานที่ 44.5 การขาดทุนคือ 5.9 ต่อหุ้น แทนที่จะเป็น 5.5 ตามที่วางแผนไว้ การซื้อขายนั้นไม่สามารถยกเลิกได้เนื่องจากฐานราคาในภายหลังดูไม่น่าสนใจเพียงพอ
ในเส้นทางจำลองที่สำเร็จ ราคาไปถึง61.4ก่อนจุดหยุดหรือขีดจำกัดเวลา20ช่วงซื้อขาย ตัวอย่างนี้แสดงการบันทึกผลตามกฎออก ไม่ได้ประมาณความถี่ที่จะเกิด ทั้งสาขาที่มีและไม่มีตัวกรองต้องเก็บชุดโอกาสจริงของตน รวมถึงกรณีที่ไม่เกิดการซื้อขาย
ข้อจำกัดในการดำเนินการและพอร์ตโฟลิโอ
การตั้งจุดหยุดขาดทุนนอกฐานทั้งหมดนั้นง่ายสำหรับการทดลองเบื้องต้น การตั้งจุดหยุดขาดทุนใต้จุดต่ำสุดเล็กๆ ใกล้ขอบด้านขวาเป็นการดำเนินการที่แตกต่างออกไป และอาจทำให้การกระจายตัวของการซื้อขายที่หยุดลงแตกต่างกันมาก ทั้งจุดหยุดขาดทุนเชิงโครงสร้างที่เสนอมานี้ และการปิดสถานะในเซสชั่น 2R/20 ไม่ควรถูกนำไปอ้างอิงว่าเป็นนโยบายการบริหารความเสี่ยงที่เป็นต้นฉบับโดยสมบูรณ์ของ O'Neil
หลังยืนยันสัญญาณ ให้ดูราคาเสนอที่จับคู่ได้จริงก่อนส่งคำสั่งใหม่ ถ้าราคาทำให้จุดหยุดไม่สมเหตุผลหรือเกินขีดจำกัดเสี่ยงที่กำหนด ให้บันทึกการปฏิเสธก่อนส่ง เมื่อจับคู่แล้วห้ามใช้ข้อมูลแกปราคาที่ทราบภายหลังมาลบย้อนหลัง หากแท่ง OHLC เดียวแตะทั้งจุดหยุดและเป้าหมาย ให้หาลำดับเหตุการณ์จากข้อมูลละเอียดขึ้นหรือใช้กฎเสียเปรียบอย่างสม่ำเสมอ
หุ้นหลายตัวอาจทะลุพร้อมกัน จึงต้องกำหนดอันดับและการจัดสรรก่อนรู้ผล โดยมีขีดจำกัดสภาพคล่อง ความเสี่ยงต่อหุ้น ความกระจุกตัวรายอุตสาหกรรม สถานะที่สัมพันธ์กัน และมูลค่าสถานะรวม ห้ามจำลองว่ามีทุนไม่จำกัดซื้อทุกหุ้นที่ผ่านเกณฑ์ ต้องบันทึกหุ้นที่ถูกปฏิเสธการจัดสรรเพื่อเห็นผลของการคัดเลือก
การทดสอบว่าส่วนประกอบใดมีส่วนช่วย
เริ่มต้นด้วยชุดราคาเป้าหมายเดียวกัน แล้วเปรียบเทียบระหว่างการไม่ใช้ตัวกรองปริมาณ การลดลงของปริมาณอย่างเดียว การขยายตัวอย่างเดียว และทั้งสองเงื่อนไข จากนั้น เพิ่มตัวกรองกำไร ความแข็งแกร่งสัมพัทธ์ และตลาดโดยรวมทีละกลุ่ม โดยคงเวลาเข้าซื้อ เวลาออก ขนาด และต้นทุนไว้เหมือนเดิมเมื่อวัดผลกระทบที่เพิ่มขึ้นของตัวกรอง การเปลี่ยนเวลาออกพร้อมกันไม่ได้แยกผลกระทบของปริมาณออกมา
ใช้รายชื่อหุ้นตามที่มีจริง ณ เวลานั้น รวมหุ้นที่เพิกถอนเมื่อคำถามวิจัยต้องใช้ รายงานจำนวนชุดเงื่อนไข การจับคู่ ค่าคาดหวังสุทธิในหน่วย R ผลตอบแทนพอร์ต การลดลงจากยอดทุน อัตราหมุนเวียน และเวลาถือ รายชื่อหุ้นที่ขึ้นหลายร้อยเปอร์เซ็นต์ภายหลังไม่มีฐานตัวอย่างครบสำหรับคำนวณอัตราชนะ
กรณีตรวจสอบที่มีประโยชน์ ได้แก่ สัปดาห์มีวันหยุด การแตกหุ้นระหว่างฐาน ปริมาณเพิ่มมากวันทะลุ งบประกาศหลังปิดตลาด และแกปเหนือแนวต้านก่อนตัดสินใจส่งคำสั่งถัดไป ตรึงชุดเงื่อนไขในอดีตแล้วเล่นข้อมูลส่วนเดิมซ้ำหลังต่อข้อมูลอนาคต ระดับเดิมและข้อมูลที่รู้ในเวลาตัดสินใจต้องไม่เปลี่ยน
ข้อผิดพลาดที่พบบ่อย
การมองรูปแบบหนึ่งเป็นระบบทั้งหมด
ฐานแบนไม่มีส่วนประกอบของบริษัทและส่วนประกอบตลาดในวงกว้างของ CAN SLIM
ใช้ปริมาณการซื้อขายช่วงสิ้นวันในตอนต้นวัน
นั่นคือการมองไปข้างหน้า จังหวะการเข้าซื้อต้องสอดคล้องกับช่วงเวลาที่ข้อมูลปริมาณการซื้อขายพร้อมใช้งาน
เลือกเฉพาะหุ้นที่ยังคงเหลืออยู่
การละเว้นรายชื่อบริษัทที่ล้มละลายหรือถูกถอดออกจากตลาดหลักทรัพย์อาจทำให้ผลลัพธ์ในอดีตสูงเกินจริงและบิดเบือนภาพรวมของข้อมูลที่มีอยู่
รายการตรวจสอบก่อนใช้วิธีนี้
ทำเครื่องหมายแต่ละข้อหลังตรวจสอบกับข้อมูลของคุณแล้ว ความคืบหน้าจะบันทึกในเบราว์เซอร์นี้ แต่ไม่ได้รับรองว่ากลยุทธ์ทำกำไรได้
คำถามที่พบบ่อย
ควรใช้บัฟเฟอร์ 10-cent แบบดั้งเดิมในทุกตลาดหรือไม่?
ไม่โดยอัตโนมัติ ขนาดของขีดบอกราคาและราคาที่ระบุไว้แตกต่างกัน บัฟเฟอร์ที่ใช้ ATR เป็นตัวแปรสำหรับการวิจัยแยกต่างหาก และควรติดฉลากและทดสอบในลักษณะนั้น
RVOL ของ 1.5 สร้างผลกำไรได้หรือไม่?
ไม่ นี่เป็นเพียงเงื่อนไขหนึ่งของกลยุทธ์ ต้องวัดผลหลังต้นทุนกับข้อมูลนอกตัวอย่าง โดยเทียบกลยุทธ์เดียวกันที่ไม่มีตัวกรองนี้
แหล่งวิจัย
แต่ละแหล่งสนับสนุนคำจำกัดความหรือหลักฐานที่อธิบายไว้ข้างกัน รหัสเทียม ตัวอย่างสมมติ และพารามิเตอร์ที่เสนอต้องผ่านการตรวจสอบแยกต่างหาก
- IBD: How To Recognize Great Performing Stocks — Flat BaseInvestor’s Business Daily. ได้ตรวจเอกสารสาธารณะเรื่องรูปทรงฐานราบและปริมาณซื้อขาย ไม่ถือกำไรของหุ้นที่คัดมาเป็นผลตอบแทนของระบบ ตรวจสอบเมื่อ: .
- How to Make Money in Stocks, Fourth EditionMcGraw Hill. มีข้อมูลผู้จัดพิมพ์และสารบัญ แต่ไม่ได้อ่านหนังสือฉบับเต็มที่เสียเงินซื้อ ตรวจสอบเมื่อ: .
- TradingView: RepaintingTradingView. ช่วงเวลาของข้อมูลที่มีอยู่; ไม่มีการตรวจสอบความสามารถในการทำกำไร ตรวจสอบเมื่อ: .
วิธีการที่เกี่ยวข้อง
หมายเหตุความเสี่ยง
เนื้อหานี้ใช้เพื่อการศึกษาและออกแบบงานวิจัย ไม่ใช่คำแนะนำทางการเงิน Backtest เป็นการจำลองข้อมูลในอดีต ไม่รับประกันผลในอนาคตและไม่ส่งคำสั่งซื้อขายจริง วิธีการในคลังนี้ไม่ได้หมายความว่ามีเป็นฟีเจอร์ในแอปทั้งหมด ดู ระเบียบวิธี และ ศูนย์การเรียนรู้.
ตรวจสอบกฎก่อนเสี่ยงด้วยเงินจริง
ตรวจสอบความสามารถของแอป ข้อมูล และแต่ละรายการซื้อขายจำลอง ตัวตรวจจับขั้นสูงอาจต้องพัฒนาแยกต่างหาก
ดาวน์โหลด Backtest บน App Store