สารบัญบทความ

หลักฐานและขอบเขต

ได้ตรวจสอบข้อมูลในเอกสาร IBD สาธารณะและข้อมูลหนังสือจากสำนักพิมพ์แล้ว แผนภูมิหุ้นที่เลือกมาแสดงหุ้นที่ทำกำไรได้นั้นไม่ใช่บันทึกการซื้อขายพอร์ตโฟลิโอทั้งหมด อัลกอริทึมด้านล่างเป็นการกำหนดค่าการวิจัยแบบฐานราบที่เสนอแนะ ไม่ใช่การจำลอง CAN SLIM อย่างสมบูรณ์ ไม่มีการทดสอบย้อนหลังใหม่ใดๆ ที่ดำเนินการ

ข้อมูลและตลาดเริ่มจากกลุ่มหุ้นที่มี OHLCV เชื่อถือได้ ปรับข้อมูลสำหรับการเปลี่ยนแปลงสิทธิและทุนของบริษัท และรู้รายชื่อที่อยู่ในกลุ่ม ณ เวลานั้น ข้อมูลพื้นฐานต้องมีเวลาเผยแพร่จริง ปริมาณ FX tick, คริปโต spot และสัญญา perpetual ต้องมีสมมติฐานแยก ไม่ย้ายกฎของหุ้นไปใช้ตรงๆ
กรอบเวลาที่ใช้วิจัยข้อมูลรายวันและรายสัปดาห์เป็นมาตรวัดการวิจัยเบื้องต้น ช่วงเวลาซื้อขาย 25 ช่วงนั้นเป็นเพียงทางเลือกในการนำไปใช้ ไม่ใช่การใช้แทนปฏิทินที่แน่นอนสำหรับช่วงเวลาห้าสัปดาห์ ส่วนรูปแบบการซื้อขายระหว่างวันจำเป็นต้องมีการปรับปริมาณการซื้อขายและสมมติฐานการดำเนินการที่แตกต่างกันออกไป
แนวโน้มขาขึ้นนำหน้าฐานทรงตัวระหว่าง 45 และ 50; ปริมาณการซื้อขายลดลงภายในฐานและเพิ่มขึ้นเมื่อทะลุเหนือ 50เปิดภาพประกอบขนาดเต็ม
ภาพจำลองที่สร้างสำหรับบทความนี้ จุดที่วาดย่อรูปทรงเพื่ออธิบาย ไม่ได้แทนข้อกำหนดว่าฐานต้องมี25ช่วงซื้อขายของอัลกอริทึม

ขั้นตอนปฏิบัติ

ขั้นตอนสำหรับ CAN SLIM ของ O'Neil และฐานแบน: จากกฎแหล่งกำเนิดสู่ตัวตรวจจับที่ทดสอบได้
ขั้นตอนทั้งหมดอธิบายไว้ด้านล่าง ทุกขั้นต้องบันทึกเหตุผลที่คัดออกเมื่อข้อมูลไม่ครบหรือเงื่อนไขไม่ผ่าน
  1. ตรวจกลุ่มหุ้นที่ใช้ศึกษาใช้ข้อมูลราคา ปริมาณ และปัจจัยพื้นฐานที่มีอยู่ ณ เวลาในอดีต
  2. แช่แข็งฐานบันทึก K, F, ATR และช่วงเวลารอคอยก่อนการทะลุแนวต้าน
  3. คำถามเกี่ยวกับปริมาณแยกต่างหากแยกกิจกรรมซื้อขายที่ลดลงในฐานออกจากปริมาณที่เพิ่มขึ้นตอนทะลุ
  4. ส่งคำสั่งซื้อที่ทำได้จริงหลังจากทราบราคาปิดและปริมาณการซื้อขายแล้ว ให้คำนวณจุดหยุดการขาดทุน ขนาด และการจัดสรร
  5. ประเมินแต่ละชั้นเปรียบเทียบตัวตรวจจับ 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

ใช้ปริมาณการซื้อขายช่วงสิ้นวันในตอนต้นวัน

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

เลือกเฉพาะหุ้นที่ยังคงเหลืออยู่

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

รายการตรวจสอบก่อนใช้วิธีนี้

ทำเครื่องหมายแต่ละข้อหลังตรวจสอบกับข้อมูลของคุณแล้ว ความคืบหน้าจะบันทึกในเบราว์เซอร์นี้ แต่ไม่ได้รับรองว่ากลยุทธ์ทำกำไรได้

0/6 ข้อ

คำถามที่พบบ่อย

ควรใช้บัฟเฟอร์ 10-cent แบบดั้งเดิมในทุกตลาดหรือไม่?

ไม่โดยอัตโนมัติ ขนาดของขีดบอกราคาและราคาที่ระบุไว้แตกต่างกัน บัฟเฟอร์ที่ใช้ ATR เป็นตัวแปรสำหรับการวิจัยแยกต่างหาก และควรติดฉลากและทดสอบในลักษณะนั้น

RVOL ของ 1.5 สร้างผลกำไรได้หรือไม่?

ไม่ นี่เป็นเพียงเงื่อนไขหนึ่งของกลยุทธ์ ต้องวัดผลหลังต้นทุนกับข้อมูลนอกตัวอย่าง โดยเทียบกลยุทธ์เดียวกันที่ไม่มีตัวกรองนี้

แหล่งวิจัย

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

  1. IBD: How To Recognize Great Performing Stocks — Flat BaseInvestor’s Business Daily. ได้ตรวจเอกสารสาธารณะเรื่องรูปทรงฐานราบและปริมาณซื้อขาย ไม่ถือกำไรของหุ้นที่คัดมาเป็นผลตอบแทนของระบบ ตรวจสอบเมื่อ: .
  2. How to Make Money in Stocks, Fourth EditionMcGraw Hill. มีข้อมูลผู้จัดพิมพ์และสารบัญ แต่ไม่ได้อ่านหนังสือฉบับเต็มที่เสียเงินซื้อ ตรวจสอบเมื่อ: .
  3. TradingView: RepaintingTradingView. ช่วงเวลาของข้อมูลที่มีอยู่; ไม่มีการตรวจสอบความสามารถในการทำกำไร ตรวจสอบเมื่อ: .

วิธีการที่เกี่ยวข้อง

หมายเหตุความเสี่ยง

เนื้อหานี้ใช้เพื่อการศึกษาและออกแบบงานวิจัย ไม่ใช่คำแนะนำทางการเงิน Backtest เป็นการจำลองข้อมูลในอดีต ไม่รับประกันผลในอนาคตและไม่ส่งคำสั่งซื้อขายจริง วิธีการในคลังนี้ไม่ได้หมายความว่ามีเป็นฟีเจอร์ในแอปทั้งหมด ดู ระเบียบวิธี และ ศูนย์การเรียนรู้.

ตรวจสอบกฎก่อนเสี่ยงด้วยเงินจริง

ตรวจสอบความสามารถของแอป ข้อมูล และแต่ละรายการซื้อขายจำลอง ตัวตรวจจับขั้นสูงอาจต้องพัฒนาแยกต่างหาก

ดาวน์โหลด Backtest บน App Store