Yahoo API หมายเหตุ :
[2018-11-16] หลังจากการทดสอบบางอย่างดูเหมือนว่าการดาวน์โหลดข้อมูลสามารถขึ้นอยู่กับเว็บอินเตอร์เฟสอีกครั้ง (หรือ API v7 )ตั๋ว
ระบบตั๋วคือ (จริง) บ่อยกว่าไม่ถูกทารุณกรรมเพื่อขอคำแนะนำเกี่ยวกับตัวอย่าง
สำหรับ ข้อเสนอแนะ/คำถาม/... ใช้ชุมชน
นี่คือตัวอย่างของครอสโอเวอร์เฉลี่ยเคลื่อนที่แบบง่าย ๆ มันสามารถทำได้ในหลายวิธี ใช้เอกสาร (และตัวอย่าง) ลุค!
จาก DateTime Import DateTime
นำเข้า backtrader เป็น BT
Class Smacross (Bt.SignalStrategy):
def __init __ (ตัวเอง):
sma1, sma2 = bt.ind.sma (ระยะเวลา = 10), bt.ind.sma (ระยะเวลา = 30)
ครอสโอเวอร์ = bt.ind.crossover (SMA1, SMA2)
self.signal_add (bt.signal_long, ครอสโอเวอร์)
cerebro = bt.cerebro ()
cerebro.addstrategy (smacross)
data0 = bt.feeds.yahoofinancedata (dataname = 'msft', fromdate = datetime (2011, 1, 1),
todate = DateTime (2012, 12, 31))
cerebro.adddata (data0)
cerebro.run ()
cerebro.plot ()
รวมถึงแผนภูมิที่โดดเด่นเต็มรูปแบบ ลองดูสิ! ซึ่งรวมอยู่ในตัวอย่างเป็น sigsmacross/sigsmacross2.py มันคือ sigsmacross.py ซึ่งสามารถ parametrized จากบรรทัดคำสั่ง
แพลตฟอร์มการซื้อขายสดและการทดสอบย้อนกลับที่เขียนใน Python
- ฟีดข้อมูลสดและการซื้อขายด้วย
- โบรกเกอร์แบบอินเทอร์แอคทีฟ (ต้องการ
IbPyและประโยชน์อย่างมากจากpytzที่ติดตั้ง)- แผนภูมิ Visual (ต้องการส้อมของ
comtypesจนกว่าคำขอดึงจะถูกรวมเข้าด้วยกันในการเปิดตัวและผลประโยชน์จากpytz)- Oanda (ต้องการ
oandapy) (REST API เท่านั้น - V20 ไม่สนับสนุนการสตรีมเมื่อนำไปใช้)- ฟีดข้อมูลจาก CSV/ไฟล์แหล่งข้อมูลออนไลน์หรือจาก แพนด้า และ เปลวไฟ
- ตัวกรองสำหรับข้อมูลเช่นการแบ่งแถบรายวันเป็นชิ้นเพื่อจำลองระหว่างวันหรือทำงานกับอิฐ Renko
- ฟีดข้อมูลหลายตัวและกลยุทธ์หลายอย่างรองรับ
- กรอบเวลาหลายครั้งพร้อมกัน
- การสุ่มตัวอย่างแบบรวมและการเล่นซ้ำ
- ทีละขั้นตอนการทดสอบย้อนหลังหรือในครั้งเดียว (ยกเว้นในการประเมินกลยุทธ์)
- แบตเตอรี่ในตัวของตัวบ่งชี้
- การสนับสนุนตัวบ่งชี้ ta-lib (ต้องการ python ta-lib / ตรวจสอบเอกสาร)
- การพัฒนาตัวชี้วัดที่กำหนดเองได้ง่าย
- เครื่องวิเคราะห์ (ตัวอย่างเช่น: Timereturn, อัตราส่วน Sharpe, SQN) และการรวม
pyfolio( เลิกใช้แล้ว )- คำจำกัดความที่ยืดหยุ่นของโครงการค่านายหน้า
- การจำลองโบรกเกอร์แบบบูรณาการกับ ตลาด , ปิด , จำกัด , หยุด , stoplimit , stoptrail , stoptraillimit *และ *oco คำสั่งซื้อ, คำสั่งซื้อวงเล็บ, การลื่นไถล, กลยุทธ์การเติมปริมาณและการปรับเงินสดอย่างต่อเนื่อง
- SIZERS สำหรับการปักหลักอัตโนมัติ
- โหมด Cheat-On-Close และ Cheat-On-Open
- ผู้จัดตารางเวลา
- ปฏิทินการซื้อขาย
- การพล็อต (ต้องใช้ matplotlib)
บล็อก:
- บล็อก
อ่านเอกสารฉบับเต็มได้ที่:
- เอกสาร
รายการตัวบ่งชี้ในตัว (122)
- ตัวชี้วัดอ้างอิง
- Python> =
3.2- นอกจากนี้ยังทำงานร่วมกับ
pypyและpypy3(ไม่มีการพล็อต -matplotlibไม่ได้รับการสนับสนุนภายใต้ Pypy )
backtrader อยู่ในตัวเองโดยไม่มีการพึ่งพาภายนอก (ยกเว้นถ้าคุณต้องการพล็อต)
จาก PYPI :
pip install backtrader
pip install backtrader[plotting]หากไม่ได้ติดตั้ง
matplotlibและคุณต้องการทำการวางแผนบางอย่าง
บันทึก
รุ่น matplotlib ขั้นต่ำคือ 1.4.1
ตัวอย่างสำหรับฟีดข้อมูล IB /การซื้อขาย:
IbPyดูเหมือนจะไม่ได้อยู่ใน PYPI ทำอย่างใดอย่างหนึ่ง:PIP ติดตั้ง git+https: //github.com/blampe/ibpy.gitหรือ (ถ้า
gitไม่สามารถใช้ได้ในระบบของคุณ):PIP ติดตั้ง https://github.com/blampe/ibpy/archive/master.zip
สำหรับฟังก์ชันอื่น ๆ เช่น: Visual Chart , Oanda , TA-Lib , ตรวจสอบการพึ่งพาในเอกสาร
จากแหล่งที่มา:
- วางไดเรกทอรี backtrader ที่พบในแหล่งข้อมูลภายในโครงการของคุณ
XYZI
- X: หมายเลขเวอร์ชันหลัก
numpyมีเสถียร- Y: หมายเลขรุ่นรอง ที่จะเปลี่ยนแปลงเมื่อเพิ่มคุณสมบัติใหม่ที่สมบูรณ์หรือ (พระเจ้าห้าม) การเปลี่ยนแปลง API ที่เข้ากันไม่ได้
- Z: หมายเลขเวอร์ชันแก้ไข เพื่อเปลี่ยนสำหรับการอัปเดตเอกสารการเปลี่ยนแปลงเล็กน้อยการแก้ไขข้อบกพร่องเล็ก ๆ
- ฉัน: จำนวนตัวบ่งชี้ที่สร้างขึ้นในแพลตฟอร์มแล้ว