Eiten เป็นชุดเครื่องมือโอเพนซอร์สโดย Tradytics ที่ใช้กลยุทธ์การลงทุนทางสถิติและอัลกอริทึมต่างๆเช่น พอร์ตการลงทุน eigen , พอร์ตการลงทุนความแปรปรวนขั้นต่ำ , พอร์ตการลงทุนอัตราส่วนชาร์ปสูงสุด และอัลกอริ ทึมทางพันธุกรรม ช่วยให้คุณสร้างพอร์ตการลงทุนของคุณเองด้วยชุดหุ้นของคุณเองที่สามารถเอาชนะตลาดได้ กรอบการทดสอบที่เข้มงวดที่รวมอยู่ใน Eiten ช่วยให้คุณมีความมั่นใจในพอร์ตการลงทุนของคุณ
หากคุณต้องการพูดคุยเกี่ยวกับเครื่องมือเหล่านี้ในเชิงลึกและพูดคุยเกี่ยวกับเครื่องมือเพิ่มเติมที่เรากำลังดำเนินการโปรดเข้าร่วมช่อง Discord ของเราที่เรามีเครื่องมืออีกมากมายเช่นกัน
เส้นทาง | คำอธิบาย |
---|---|
คน | โฟลเดอร์หลัก |
└ตัวเลข | ตัวเลขสำหรับที่เก็บ GitHub นี้ |
└หุ้น | โฟลเดอร์เพื่อเก็บรายการหุ้นของคุณที่คุณต้องการใช้เพื่อสร้างพอร์ตการลงทุนของคุณ |
└กลยุทธ์ | มีกลยุทธ์มากมายที่ใช้ใน Python |
backtester.py | โมดูลการทดสอบย้อนกลับที่ทั้งการทดสอบ backtest และไปข้างหน้าทดสอบพอร์ตการลงทุนทั้งหมด |
data_loader.py | โมดูลสำหรับการโหลดข้อมูลจาก Yahoo Finance |
พอร์ตโฟลิโอ _manager.py | ไฟล์หลักที่ใช้ในพวงของอาร์กิวเมนต์และสร้างพอร์ตการลงทุนหลายอย่างให้คุณ |
Simulator.py | เครื่องจำลองที่ใช้ผลตอบแทนทางประวัติศาสตร์และ Monte Carlo เพื่อจำลองราคาในอนาคตสำหรับพอร์ตการลงทุน |
Strategy_Manager.py | จัดการกลยุทธ์ที่นำไปใช้ในโฟลเดอร์ 'กลยุทธ์' |
คุณจะต้องติดตั้งแพ็คเกจต่อไปนี้เพื่อฝึกอบรมและทดสอบรุ่น
คุณสามารถติดตั้งแพ็คเกจทั้งหมดโดยใช้คำสั่งต่อไปนี้ โปรดทราบว่าสคริปต์ถูกเขียนขึ้นโดยใช้ Python3
pip install -r requirements.txt
ให้เราดูว่าเราสามารถใช้กลยุทธ์ทั้งหมดที่ให้ไว้ในชุดเครื่องมือเพื่อสร้างพอร์ตการลงทุนของเราได้อย่างไร สิ่งแรกที่คุณต้องทำคือแก้ไขไฟล์ stocks.txt ในโฟลเดอร์ หุ้น และเพิ่มหุ้นที่คุณเลือก ขอแนะนำให้เก็บรายการเล็ก ๆ ไว้ที่ใดก็ได้ระหว่าง 5 ถึง 50 หุ้นควรจะดี เราได้ใส่รายชื่อหุ้นขนาดเล็กที่มีหุ้นเทคโนโลยีมากมายเช่น AAPL, MSFT, TSLA ฯลฯ ให้เราสร้างพอร์ตการลงทุนของเราตอนนี้ นี่คือคำสั่งหลักที่คุณต้องเรียกใช้
python portfolio_manager.py --is_test 1 --future_bars 90 --data_granularity_minutes 3600 --history_to_use all --apply_noise_filtering 1 --market_index QQQ --only_long 1 --eigen_portfolio_number 3 --stocks_file_path stocks/stocks.txt
คำสั่งนี้จะใช้ข้อมูลรายวัน 5 ปีสุดท้ายไม่รวม 90 วันที่ผ่านมาและสร้างพอร์ตการลงทุนหลายรายการให้คุณ จากพอร์ตการลงทุนเหล่านั้นจะทดสอบพวกเขาจากข้อมูลตัวอย่าง 90 วันและแสดงประสิทธิภาพของแต่ละพอร์ต ในที่สุดมันจะเปรียบเทียบประสิทธิภาพกับดัชนีตลาดที่คุณเลือกซึ่งเป็น QQQ ที่นี่ ลองดำน้ำในแต่ละพารามิเตอร์โดยละเอียด
นี่คือตัวอย่างบางส่วนสำหรับการสร้างพอร์ตการลงทุนประเภทต่าง ๆ
python portfolio_manager.py --is_test 1 --future_bars 30 --data_granularity_minutes 3600 --history_to_use 90 --apply_noise_filtering 1 --market_index QQQ --only_long 0 --eigen_portfolio_number 3 --stocks_file_path stocks/stocks.txt
python portfolio_manager.py --is_test 0 --future_bars 0 --data_granularity_minutes 60 --history_to_use all --apply_noise_filtering 1 --market_index SPY --only_long 1 --eigen_portfolio_number 3 --stocks_file_path stocks/stocks.txt
python portfolio_manager.py --is_test 1 --future_bars 90 --data_granularity_minutes 3600 --history_to_use all --apply_noise_filtering 0 --market_index SQQQ --only_long 1 --eigen_portfolio_number 1 --stocks_file_path stocks/stocks.txt
ปัจจุบันกลยุทธ์พอร์ตโฟลิโอที่แตกต่างกันได้รับการสนับสนุนโดย Toolkit
เมื่อคุณเรียกใช้คำสั่งด้านบนเครื่องมือของเราจะสร้างพอร์ตการลงทุนจากกลยุทธ์เหล่านี้ทั้งหมดและมอบให้คุณ ให้เราดูพอร์ตการลงทุนที่เกิดขึ้น
เพื่อจุดประสงค์ผลลัพธ์เหล่านี้เราจะใช้ 9 หุ้นในไฟล์หุ้น/หุ้น txt เมื่อเราเรียกใช้คำสั่งข้างต้นเราจะได้รับน้ำหนักพอร์ตโฟลิโอสำหรับกลยุทธ์ทั้งสี่ เพื่อวัตถุประสงค์ในการทดสอบคำสั่งข้างต้นใช้ข้อมูลห้าปีล่าสุดจนถึงวันที่ 29 เมษายน ข้อมูลที่เหลือสำหรับปีนี้ใช้สำหรับการทดสอบไปข้างหน้าเช่นกลยุทธ์พอร์ตโฟลิโอไม่สามารถเข้าถึงได้เมื่อสร้างพอร์ตการลงทุน
จะเกิดอะไรขึ้นถ้าพอร์ตการลงทุนของฉันต้องการหุ้นที่แตกต่างกัน? : สิ่งที่คุณต้องทำคือเปลี่ยนหุ้นในไฟล์ stocks.txt และเรียกใช้เครื่องมืออีกครั้ง นี่คือคำสั่งสุดท้ายอีกครั้งที่เราเรียกใช้เพื่อรับพอร์ตการลงทุนของเรา:
python portfolio_manager.py --is_test 1 --future_bars 90 --data_granularity_minutes 3600 --history_to_use all --apply_noise_filtering 1 --market_index QQQ --only_long 1 --eigen_portfolio_number 3 --stocks_file_path stocks/stocks.txt
เราจะเห็นได้ว่าพอร์ตโฟลิโอของไอเกนกำลังให้น้ำหนักมากแก่ TSLA ในขณะที่คนอื่น ๆ กำลังแบ่งน้ำหนักของพวกเขาอย่างสม่ำเสมอมากขึ้น ปรากฏการณ์ที่น่าสนใจที่เกิดขึ้นที่นี่คือการป้องกันความเสี่ยงด้วย SQQQ ที่กลยุทธ์ทั้งหมดได้เรียนรู้โดยอัตโนมัติ เครื่องมือทุกอย่างกำลังกำหนดน้ำหนักบวกให้กับ SQQQ ในขณะเดียวกันก็กำหนดน้ำหนักบวกให้กับหุ้นอื่น ๆ ซึ่งบ่งชี้ว่ากลยุทธ์จะพยายามป้องกันพอร์ตการลงทุนโดยอัตโนมัติจากความเสี่ยง เห็นได้ชัดว่านี่ไม่สมบูรณ์แบบ แต่เพียงแค่ความจริงที่ว่ามันเกิดขึ้นนั้นน่าหลงใหล ให้เราดูผลการทดสอบ backtest ในช่วงห้าปีที่ผ่านมาก่อนวันที่ 29 เมษายน 2020
การทดสอบย้อนหลังดูน่าสนใจ เส้นประสีดำคือดัชนีตลาดเช่น qqq บรรทัดอื่น ๆ คือกลยุทธ์ การใช้อัลกอริทึมทางพันธุกรรมที่กำหนดเองของเราดูเหมือนว่าจะมีผลลัพธ์ backtest ที่ดีที่สุดเพราะมันเป็นกลยุทธ์อื่น ๆ ขั้นสูง พอร์ตโฟลิโอที่ชั่งน้ำหนัก TSLA มากที่สุดมีความผันผวนมากที่สุด แต่ผลกำไรก็สูงมากเช่นกัน ในที่สุดตามที่คาดไว้ MVP มีความแปรปรวนขั้นต่ำและในที่สุดผลกำไรน้อยที่สุด อย่างไรก็ตามเนื่องจากความแปรปรวนต่ำมากจึงเป็นผลงานที่ดีสำหรับผู้ที่ต้องการอยู่อย่างปลอดภัย ส่วนที่น่าสนใจที่สุดมาต่อไปให้เราดูผลการทดสอบไปข้างหน้าหรือในอนาคตสำหรับพอร์ตการลงทุนเหล่านี้
ผลลัพธ์เหล่านี้มาจากวันที่ 29 เมษายน 2020 ถึง 4 กันยายน 2020 พอร์ตโฟลิโอของ Eigen ทำงานได้ดีที่สุด แต่ก็มีความผันผวนมากมาย ยิ่งไปกว่านั้นผลตอบแทนเหล่านั้นส่วนใหญ่เกิดจาก TSLA rocketing ในช่วงไม่กี่เดือนที่ผ่านมา หลังจากนั้นอัลกอริทึม GA ของเราทำงานได้อย่างมีประสิทธิภาพเนื่องจากเอาชนะดัชนีตลาด อีกครั้งตามที่คาดไว้ MVP มีความเสี่ยงต่ำที่สุดและให้รางวัลและค่อยๆเพิ่มขึ้นใน 4-5 เดือน สิ่งนี้แสดงให้เห็นถึงประสิทธิภาพและพลังของกลยุทธ์การเพิ่มประสิทธิภาพพอร์ตโฟลิโออัลกอริทึมเหล่านี้ซึ่งเราได้พัฒนาพอร์ตการลงทุนที่แตกต่างกันสำหรับโปรไฟล์ความเสี่ยงและรางวัลที่แตกต่างกัน
เรายินดีที่จะแบ่งปันชุดเครื่องมือนี้กับชุมชนการค้าและหวังว่าผู้คนจะชอบและมีส่วนร่วม เช่นเดียวกับทุกสิ่งในการซื้อขายกลยุทธ์เหล่านี้ไม่สมบูรณ์แบบ แต่พวกเขาอยู่บนพื้นฐานของทฤษฎีที่เข้มงวดและผลลัพธ์เชิงประจักษ์ที่ยอดเยี่ยม โปรดดูแลเมื่อทำการซื้อขายกับกลยุทธ์เหล่านี้และจัดการความเสี่ยงของคุณเสมอ ผลลัพธ์ข้างต้นไม่ได้เลือกเชอร์รี่ แต่ตลาดได้รั้นอย่างมากในช่วงไม่กี่เดือนที่ผ่านมาซึ่งนำไปสู่ผลลัพธ์ที่แข็งแกร่งที่แสดงไว้ข้างต้น เราอยากให้ชุมชนลองใช้กลยุทธ์ที่แตกต่างและแบ่งปันกับเรา
ขอขอบคุณเป็นพิเศษกับบล็อกของ Scott Rome พอร์ตการลงทุน Eigen และแนวคิดพอร์ตโฟลิโอความแปรปรวนขั้นต่ำมาจากโพสต์บล็อกของเขา รหัสสำหรับการกรองค่า eigen ของเมทริกซ์ความแปรปรวนร่วมนั้นส่วนใหญ่ได้รับจากหนึ่งในโพสต์ของเขา
ผลิตภัณฑ์โดย Tradytics
ลิขสิทธิ์ (c) 2020--, tradytics.com