สาขา | เวอร์ชัน | สถานะ |
---|---|---|
master | ||
nightly | ||
develop |
แพลตฟอร์ม | สนิม | หลาม |
---|---|---|
Linux (x86_64) | 1.83.0+ | 3.11+ |
macOS (arm64) | 1.83.0+ | 3.11+ |
Windows (x86_64) | 1.83.0+ | 3.11+ |
NautilusTrader เป็นแพลตฟอร์มการซื้อขายแบบอัลกอริธึมระดับการผลิตแบบโอเพ่นซอร์ส ประสิทธิภาพสูง ช่วยให้เทรดเดอร์เชิงปริมาณสามารถทดสอบย้อนหลังพอร์ตโฟลิโอของกลยุทธ์การซื้อขายอัตโนมัติบนข้อมูลในอดีตด้วยกลไกที่ขับเคลื่อนด้วยเหตุการณ์ และยังปรับใช้กลยุทธ์เดียวกันเหล่านั้นแบบเรียลไทม์ด้วย ไม่มีการเปลี่ยนแปลงรหัส
แพลตฟอร์มดังกล่าวเป็น 'AI-first' ซึ่งออกแบบมาเพื่อพัฒนาและปรับใช้กลยุทธ์การซื้อขายแบบอัลกอริทึมภายในสภาพแวดล้อมดั้งเดิมของ Python ที่มีประสิทธิภาพสูงและแข็งแกร่ง สิ่งนี้ช่วยจัดการกับความท้าทายด้านความเท่าเทียมกันในการรักษาสภาพแวดล้อมการวิจัย/การทดสอบย้อนหลังของ Python ให้สอดคล้องกับสภาพแวดล้อมการซื้อขายแบบเรียลไทม์
ปรัชญาการออกแบบ สถาปัตยกรรม และการใช้งานของ NautilusTraders ยึดความถูกต้องและความปลอดภัยของซอฟต์แวร์ในระดับสูงสุด โดยมีเป้าหมายเพื่อสนับสนุน Python แบบเนทีฟ มีความสำคัญต่อภารกิจ การทดสอบระบบการซื้อขายย้อนหลัง และปริมาณงานการใช้งานจริง
แพลตฟอร์มดังกล่าวยังเป็นสากลและไม่เชื่อถือคลาสสินทรัพย์ โดย REST, WebSocket หรือ FIX API ใดๆ ก็สามารถบูรณาการผ่านอะแดปเตอร์แบบโมดูลาร์ได้ ดังนั้นจึงสามารถจัดการการดำเนินการซื้อขายที่มีความถี่สูงสำหรับสินทรัพย์ทุกประเภท รวมถึง FX, หุ้น, ฟิวเจอร์ส, ออปชั่น, CFD, สกุลเงินดิจิตอล และการเดิมพัน - ในหลาย ๆ สถานที่พร้อมกัน
IOC
, FOK
, GTD
, AT_THE_OPEN
, AT_THE_CLOSE
, ประเภทคำสั่งขั้นสูง และทริกเกอร์แบบมีเงื่อนไข คำแนะนำในการดำเนินการ post-only
reduce-only
และภูเขาน้ำแข็ง รายการคำสั่งฉุกเฉิน ได้แก่ OCO
, OTO
nautilus - จากภาษากรีกโบราณ 'กะลาสี' และ 'เรือ' naus
เปลือกหอยโข่งประกอบด้วยห้องโมดูลาร์ที่มีปัจจัยการเติบโตซึ่งใกล้เคียงกับเกลียวลอการิทึม แนวคิดก็คือสิ่งนี้สามารถแปลเป็นสุนทรียภาพของการออกแบบและสถาปัตยกรรมได้
ตามเนื้อผ้า การวิจัยกลยุทธ์การซื้อขายและการทดสอบย้อนหลังอาจดำเนินการใน Python (หรือภาษาที่เหมาะสมอื่นๆ) โดยใช้วิธีการแบบเวกเตอร์ โดยที่กลยุทธ์นั้นจำเป็นต้องได้รับการปรับใช้ใหม่ในลักษณะที่ขับเคลื่อนด้วยเหตุการณ์มากขึ้นโดยใช้ C++, C#, Java หรือภาษาที่พิมพ์แบบคงที่อื่นๆ ). เหตุผลก็คือโค้ด backtesting แบบเวกเตอร์ไม่สามารถแสดงเวลาโดยละเอียดและความซับซ้อนที่ขึ้นอยู่กับเหตุการณ์ของการซื้อขายแบบเรียลไทม์ ซึ่งภาษาที่รวบรวมได้พิสูจน์แล้วว่ามีความเหมาะสมมากกว่าเนื่องจากประสิทธิภาพที่สูงขึ้นโดยธรรมชาติและความปลอดภัยของประเภท
ข้อดีที่สำคัญอย่างหนึ่งของ NautilusTrader คือตอนนี้ขั้นตอนการปรับใช้ใหม่ได้รับการหลีกเลี่ยง เนื่องจากองค์ประกอบหลักที่สำคัญของแพลตฟอร์มทั้งหมดได้รับการเขียนด้วยภาษา Rust หรือ Cython ทั้งหมด ซึ่งหมายความว่าเรากำลังใช้เครื่องมือที่เหมาะสมสำหรับงาน โดยที่ภาษาโปรแกรมของระบบจะรวบรวมไบนารีที่มีประสิทธิภาพ จากนั้นโมดูลส่วนขยาย CPython C ก็สามารถนำเสนอสภาพแวดล้อมแบบ Python ดั้งเดิมได้ ซึ่งเหมาะสำหรับเทรดเดอร์เชิงปริมาณและบริษัทการค้าระดับมืออาชีพ
Python เดิมถูกสร้างขึ้นเมื่อหลายสิบปีก่อนโดยเป็นภาษาสคริปต์ง่ายๆ พร้อมด้วยไวยากรณ์ที่ตรงไปตรงมา นับตั้งแต่นั้นมาก็ได้พัฒนาเป็นภาษาโปรแกรมเชิงวัตถุวัตถุประสงค์ทั่วไปที่ครบครัน จากดัชนี TIOBE ปัจจุบัน Python เป็นภาษาโปรแกรมที่ได้รับความนิยมมากที่สุดในโลก ไม่เพียงเท่านั้น Python ยังกลายเป็น ภาษากลาง ของวิทยาศาสตร์ข้อมูล การเรียนรู้ของเครื่อง และปัญญาประดิษฐ์อีกด้วย
ภาษาที่พร้อมใช้งานทันทีนั้นไม่ได้ไร้ซึ่งข้อบกพร่อง โดยเฉพาะอย่างยิ่งในบริบทของการนำระบบที่มีความสำคัญต่อประสิทธิภาพขนาดใหญ่ไปใช้ Cython ได้แก้ไขปัญหาเหล่านี้มากมาย โดยนำเสนอข้อดีทั้งหมดของภาษาที่พิมพ์แบบคงที่ ซึ่งฝังอยู่ในระบบนิเวศอันอุดมสมบูรณ์ของ Pythons ของไลบรารีซอฟต์แวร์และชุมชนนักพัฒนา/ผู้ใช้
Rust คือภาษาการเขียนโปรแกรมแบบหลายกระบวนทัศน์ที่ออกแบบมาเพื่อประสิทธิภาพและความปลอดภัย โดยเฉพาะอย่างยิ่งการทำงานพร้อมกันอย่างปลอดภัย Rust ทำงานเร็วมากและมีประสิทธิภาพด้านหน่วยความจำ (เทียบได้กับ C และ C++) โดยไม่มีตัวรวบรวมขยะ สามารถขับเคลื่อนระบบที่มีความสำคัญต่อภารกิจ ทำงานบนอุปกรณ์ฝังตัว และผสานรวมกับภาษาอื่นได้อย่างง่ายดาย
ระบบการพิมพ์ที่หลากหลายและโมเดลการเป็นเจ้าของของ Rust รับประกันความปลอดภัยของหน่วยความจำและความปลอดภัยของเธรดตามที่กำหนด - กำจัดข้อบกพร่องหลายคลาสในเวลาคอมไพล์
โปรเจ็กต์นี้ใช้ Rust มากขึ้นสำหรับส่วนประกอบหลักที่มีความสำคัญต่อประสิทธิภาพ การเชื่อมโยงภาษา Python ได้รับการจัดการผ่าน Cython และ PyO3 โดยมีการเชื่อมโยงไลบรารีแบบคงที่ ณ เวลาคอมไพล์ก่อนที่จะทำแพ็กเกจไบนารี่แบบล้อ ดังนั้นผู้ใช้จึงไม่จำเป็นต้องติดตั้ง Rust เพื่อรัน NautilusTrader
โครงการนี้ทำให้คำมั่นสัญญาความสมบูรณ์:
“จุดประสงค์ของโครงการนี้คือการปราศจากข้อบกพร่องด้านความมั่นคง นักพัฒนาจะพยายามอย่างเต็มที่เพื่อหลีกเลี่ยงพวกเขา และยินดีรับความช่วยเหลือในการวิเคราะห์และแก้ไขพวกเขา”
บันทึก
MSRV: NautilusTrader อาศัยการปรับปรุงภาษา Rust และคอมไพเลอร์เป็นอย่างมาก ด้วยเหตุนี้ โดยทั่วไปเวอร์ชันขั้นต่ำที่รองรับสนิม (MSRV) จึงเท่ากับเวอร์ชันเสถียรล่าสุดของ Rust
NautilusTrader ได้รับการออกแบบแบบโมดูลาร์ให้ทำงานร่วมกับ อะแดปเตอร์ ช่วยให้สามารถเชื่อมต่อกับสถานที่ซื้อขายและผู้ให้บริการข้อมูลโดยการแปลง API ดิบให้เป็นอินเทอร์เฟซแบบรวม
ปัจจุบันรองรับการผสานรวมต่อไปนี้:
ชื่อ | บัตรประจำตัวประชาชน | พิมพ์ | สถานะ | เอกสาร |
---|---|---|---|---|
เบ็ตแฟร์ | BETFAIR | การแลกเปลี่ยนการเดิมพันกีฬา | แนะนำ | |
ไบแนนซ์ | BINANCE | การแลกเปลี่ยนสกุลเงินดิจิตอล (CEX) | แนะนำ | |
Binance สหรัฐอเมริกา | BINANCE | การแลกเปลี่ยนสกุลเงินดิจิตอล (CEX) | แนะนำ | |
ฟิวเจอร์ส Binance | BINANCE | การแลกเปลี่ยนสกุลเงินดิจิตอล (CEX) | แนะนำ | |
บายบิต | BYBIT | การแลกเปลี่ยนสกุลเงินดิจิตอล (CEX) | แนะนำ | |
ดาต้าเบนโตะ | DATABENTO | ผู้ให้บริการข้อมูล | แนะนำ | |
ไดดีเอ็กซ์ | DYDX | การแลกเปลี่ยนสกุลเงินดิจิตอล (DEX) | แนะนำ | |
โบรกเกอร์แบบโต้ตอบ | INTERACTIVE_BROKERS | นายหน้า (หลายสถานที่) | แนะนำ | |
โอเคเอ็กซ์ | OKX | การแลกเปลี่ยนสกุลเงินดิจิตอล (CEX) | แนะนำ | |
โพลีมาร์เก็ต | POLYMARKET | ตลาดทำนาย (DEX) | แนะนำ | |
ควานหา | TARDIS | ผู้ให้บริการข้อมูล | แนะนำ |
building
: อยู่ระหว่างการก่อสร้างและไม่น่าจะอยู่ในสภาพใช้งานได้beta
: เสร็จสมบูรณ์สู่สถานะการทำงานขั้นต่ำและอยู่ในขั้นตอนการทดสอบ 'เบต้า'stable
: ชุดคุณลักษณะและ API ที่เสถียร การบูรณาการได้รับการทดสอบโดยทั้งนักพัฒนาและผู้ใช้ในระดับที่เหมาะสม (ข้อบกพร่องบางอย่างอาจยังคงอยู่)ดูเอกสารประกอบการบูรณาการสำหรับรายละเอียดเพิ่มเติม
เรามุ่งมั่นที่จะรักษาเสถียรภาพและผ่านการสร้างในทุกสาขา
master
: สะท้อนถึงซอร์สโค้ดสำหรับเวอร์ชันที่ออกล่าสุดnightly
: รวมฟีเจอร์ทดลองและที่กำลังดำเนินการ ผสานจากสาขา develop
ทุกวันเวลา 14:00 น. UTC และเมื่อจำเป็นdevelop
: สาขาที่มีการใช้งานมากที่สุด อัปเดตบ่อยครั้งด้วยความมุ่งมั่นใหม่ รวมถึงฟีเจอร์ทดลองและที่กำลังดำเนินการอยู่ บันทึก
แผนงานของเรามีเป้าหมายเพื่อให้ได้ API ที่เสถียรสำหรับเวอร์ชัน 2.x (น่าจะอยู่หลังพอร์ต Rust) เมื่อบรรลุเป้าหมายนี้แล้ว เราวางแผนที่จะดำเนินการตามกระบวนการเผยแพร่อย่างเป็นทางการ รวมถึงระยะเวลาการเลิกใช้งานสำหรับการเปลี่ยนแปลง API ใดๆ แนวทางนี้ช่วยให้เราสามารถรักษาระดับการพัฒนาที่รวดเร็วได้ในตอนนี้
NautilusTrader ยังอยู่ระหว่างการพัฒนา คุณลักษณะบางอย่างอาจไม่สมบูรณ์ และแม้ว่า API จะมีเสถียรภาพมากขึ้น แต่การเปลี่ยนแปลงที่ไม่สมบูรณ์อาจเกิดขึ้นได้ระหว่างการเปิดตัว เรามุ่งมั่นที่จะบันทึกการเปลี่ยนแปลงเหล่านี้ไว้ในบันทึกประจำ รุ่นอย่างดีที่สุด
เราตั้งเป้าที่จะปฏิบัติตาม กำหนดการเปิดตัวรายสัปดาห์ แม้ว่าฟีเจอร์ทดลองหรือฟีเจอร์ที่ใหญ่กว่านั้นอาจทำให้เกิดความล่าช้าก็ตาม
เราขอแนะนำให้ใช้ Python เวอร์ชันล่าสุดที่รองรับและตั้งค่า nautilus_trader ในสภาพแวดล้อมเสมือนเพื่อแยกการขึ้นต่อกัน
วิธีติดตั้งไบนารี่วีลล่าสุด (หรือแพ็คเกจ sdist) จาก PyPI โดยใช้ตัวจัดการแพ็คเกจ Pythons pip:
pip install -U nautilus_trader
ดัชนีแพ็คเกจ Nautech Systems ( packages.nautechsystems.io
) เป็นไปตามมาตรฐาน PEP-503 และโฮสต์ทั้ง binary wheel ที่เสถียรและการพัฒนาสำหรับ nautilus_trader
ซึ่งช่วยให้ผู้ใช้สามารถติดตั้งเวอร์ชันเสถียรล่าสุดหรือเวอร์ชันก่อนเผยแพร่สำหรับการทดสอบได้
ล้อที่เสถียรนั้นสอดคล้องกับการเปิดตัว nautilus_trader
อย่างเป็นทางการบน PyPI และใช้เวอร์ชันมาตรฐาน
หากต้องการติดตั้งเวอร์ชันเสถียรล่าสุด:
pip install -U nautilus_trader --index-url=https://packages.nautechsystems.io/simple
วงล้อการพัฒนาได้รับการเผยแพร่จากทั้งสาขา develop
และสาขา nightly
สำหรับ Linux และ macOS ทำให้ผู้ใช้สามารถทดสอบคุณสมบัติและการแก้ไขก่อนการเปิดตัวที่เสถียร
กระบวนการนี้ยังช่วยรักษาทรัพยากรการประมวลผลและทำให้เข้าถึงไบนารีที่แน่นอนที่ทดสอบในไปป์ไลน์ CI ได้อย่างง่ายดาย ขณะเดียวกันก็ปฏิบัติตามมาตรฐานการกำหนดเวอร์ชัน PEP-440:
develop
ล้อใช้รูปแบบเวอร์ชัน dev{date}+{build_number}
(เช่น 1.208.0.dev20241212+7001
)nightly
wheel ใช้รูปแบบเวอร์ชัน a{date}
(alpha) (เช่น 1.208.0a20241212
) คำเตือน
เราไม่แนะนำให้ใช้วงล้อการพัฒนาในสภาพแวดล้อมการผลิต เช่น การซื้อขายจริงที่ควบคุมเงินทุนจริง
ตามค่าเริ่มต้น pip จะติดตั้งเวอร์ชันเสถียรล่าสุด การเพิ่มแฟล็ก --pre
ช่วยให้มั่นใจได้ว่าจะพิจารณาเวอร์ชันก่อนเผยแพร่ รวมถึงวงล้อการพัฒนาด้วย
หากต้องการติดตั้งเวอร์ชันก่อนเผยแพร่ล่าสุด (รวมถึงวงล้อการพัฒนา):
pip install -U nautilus_trader --pre --index-url=https://packages.nautechsystems.io/simple
หากต้องการติดตั้งวงล้อการพัฒนาเฉพาะ (เช่น 1.208.0a20241212
สำหรับวันที่ 12 ธันวาคม 2024):
pip install nautilus_trader==1.208.0a20241212 --index-url=https://packages.nautechsystems.io/simple
คุณสามารถดู nautilus_trader
เวอร์ชันที่มีอยู่ทั้งหมดได้จากดัชนีแพ็คเกจ
วิธีดึงข้อมูลและแสดงรายการเวอร์ชันที่มีอยู่โดยทางโปรแกรม:
curl -s https://packages.nautechsystems.io/simple/nautilus-trader/index.html | grep -oP '(?<=<a href=")[^"]+(?=")' | awk -F'#' '{print $1}' | sort
develop
วงล้อสาขา ( .dev
): ถูกสร้างและเผยแพร่อย่างต่อเนื่องพร้อมกับทุกการกระทำที่รวมเข้าด้วยกันnightly
( a
): ถูกสร้างขึ้นและเผยแพร่ทุกวันเมื่อสาขา develop
ถูกรวมเข้าด้วยกันโดยอัตโนมัติเวลา 14:00 UTC (หากมีการเปลี่ยนแปลง) develop
สาขาล้อ ( .dev
): เฉพาะการสร้างล้อล่าสุดเท่านั้นที่ยังคงอยู่nightly
( a
): มีเพียง 3 ล้อที่สร้างล่าสุดเท่านั้นที่ยังคงอยู่ การติดตั้งจากแหล่งที่มาต้องใช้ไฟล์ส่วนหัว Python.h
ซึ่งรวมอยู่ในรุ่นการพัฒนา เช่น python-dev
คุณจะต้องมี rustc
และ cargo
ที่เสถียรล่าสุดเพื่อรวบรวมไลบรารีของ Rust
สำหรับ MacBook Pro M1/M2 ตรวจสอบให้แน่ใจว่า Python ของคุณที่ติดตั้งโดยใช้ pyenv ได้รับการกำหนดค่าด้วย --enable-shared
:
PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install <python_version>
ดูคู่มือผู้ใช้ PyO3 สำหรับรายละเอียดเพิ่มเติม
สามารถติดตั้งจากแหล่งที่มาโดยใช้ pip หากคุณติดตั้งการพึ่งพา build ตามที่ระบุไว้ใน pyproject.toml
ก่อน เราขอแนะนำให้ติดตั้งโดยใช้บทกวีดังต่อไปนี้
ติดตั้งrustup (ตัวติดตั้งRust toolchain):
curl https://sh.rustup.rs -sSf | sh
rustup-init.exe
rustc --version
เปิดใช้ cargo
ในเปลือกปัจจุบัน:
source $HOME /.cargo/env
ติดตั้งเสียงดังกราว (ส่วนหน้าภาษา C สำหรับ LLVM):
sudo apt-get install clang
clang
ในเชลล์ปัจจุบัน: [ System.Environment ]::SetEnvironmentVariable( ' path ' , " C:Program Files (x86)Microsoft Visual Studio2019BuildToolsVCToolsLlvmx64bin; " + $ env: Path , " User " )
clang --version
ติดตั้งบทกวี (หรือทำตามคำแนะนำการติดตั้งบนเว็บไซต์):
curl -sSL https://install.python-poetry.org | python3 -
โคลนซอร์สด้วย git
และติดตั้งจากไดเร็กทอรีรูทของโปรเจ็กต์:
git clone https://github.com/nautechsystems/nautilus_trader
cd nautilus_trader
poetry install --only main --all-extras
ดูคู่มือการติดตั้งสำหรับตัวเลือกอื่นๆ และรายละเอียดเพิ่มเติม
การใช้ Redis กับ NautilusTrader เป็น ทางเลือก และจำเป็นเฉพาะในกรณีที่กำหนดค่าเป็นแบ็คเอนด์สำหรับฐานข้อมูลแคชหรือบัสข้อความ ดูส่วน Redis ของคู่มือการติดตั้งสำหรับรายละเอียดเพิ่มเติม
Makefile
มีไว้เพื่อทำให้การติดตั้งและสร้างงานส่วนใหญ่เพื่อการพัฒนาเป็นไปโดยอัตโนมัติ โดยมีเป้าหมายดังต่อไปนี้:
make install
: ติดตั้งในโหมด release
build โดยมีการพึ่งพา main
, dev
และ test
จากนั้นติดตั้งแพ็คเกจโดยใช้บทกวี (ค่าเริ่มต้น)make install-debug
: เหมือนกับ make install
แต่มีโหมด debug
buildmake install-just-deps
: ติดตั้งเฉพาะการพึ่งพา main
, dev
และ test
(ไม่ได้ติดตั้งแพ็คเกจ)make build
: รันสคริปต์ build ในโหมด release
build (ค่าเริ่มต้น)make build-debug
: รันสคริปต์ build ในโหมด debug
buildmake build-wheel
: รัน Poetry build ด้วยรูปแบบ wheel ในโหมด release
make build-wheel-debug
: รัน Poetry build ด้วยรูปแบบ wheel ในโหมด debug
make clean
: ข้อควรระวัง จะลบสิ่งที่ไม่ใช่แหล่งที่มาทั้งหมดออกจากที่เก็บmake docs
: สร้างเอกสาร HTML โดยใช้ Sphinxmake pre-commit
: รันการตรวจสอบล่วงหน้ากับไฟล์ทั้งหมดmake ruff
: รัน ruff กับไฟล์ทั้งหมดโดยใช้การกำหนดค่า pyproject.toml
(พร้อมการแก้ไขอัตโนมัติ)make pytest
: รันการทดสอบทั้งหมดด้วย pytest
(ยกเว้นการทดสอบประสิทธิภาพ)make pytest-coverage
: เหมือนกับ make pytest
และรันเพิ่มเติมโดยมีความครอบคลุมการทดสอบและสร้างรายงาน เคล็ดลับ
การรัน make build-debug
เพื่อคอมไพล์หลังการเปลี่ยนแปลงโค้ด Rust หรือ Cython ถือเป็นเวิร์กโฟลว์ที่มีประสิทธิภาพสูงสุดในการพัฒนา
ตัวชี้วัดและกลยุทธ์สามารถพัฒนาได้ทั้งใน Python และ Cython สำหรับแอปพลิเคชันที่ไวต่อประสิทธิภาพและความล่าช้า เราแนะนำให้ใช้ Cython ด้านล่างนี้เป็นตัวอย่างบางส่วน:
BacktestEngine
โดยตรง คอนเทนเนอร์นักเทียบท่าถูกสร้างขึ้นโดยใช้อิมเมจฐาน python:3.12-slim
พร้อมด้วยแท็กรูปแบบต่อไปนี้:
nautilus_trader:latest
มีการติดตั้งเวอร์ชันล่าสุดแล้วnautilus_trader:nightly
มีการติดตั้งหัวของสาขา nightly
jupyterlab:latest
มีการติดตั้งเวอร์ชันล่าสุดพร้อมกับ jupyterlab
และสมุดบันทึก backtest ตัวอย่างพร้อมข้อมูลประกอบjupyterlab:nightly
มีการติดตั้ง head ของสาขา nightly
พร้อมด้วย jupyterlab
และตัวอย่างสมุดบันทึก backtest พร้อมข้อมูลประกอบอิมเมจคอนเทนเนอร์สามารถดึงได้ดังนี้:
docker pull ghcr.io/nautechsystems/<image_variant_tag> --platform linux/amd64
คุณสามารถเปิดใช้คอนเทนเนอร์ตัวอย่าง backtest ได้โดยการรัน:
docker pull ghcr.io/nautechsystems/jupyterlab:nightly --platform linux/amd64
docker run -p 8888:8888 ghcr.io/nautechsystems/jupyterlab:nightly
จากนั้นเปิดเบราว์เซอร์ของคุณตามที่อยู่ต่อไปนี้:
http://127.0.0.1:8888/lab
คำเตือน
ปัจจุบัน NautilusTrader เกินขีดจำกัดอัตราสำหรับการบันทึกสมุดบันทึก Jupyter (เอาต์พุต stdout) ด้วยเหตุนี้ log_level
ในตัวอย่างจึงถูกตั้งค่าเป็น ERROR
การลดระดับนี้ลงเพื่อดูการบันทึกเพิ่มเติมจะทำให้โน้ตบุ๊กหยุดทำงานระหว่างการดำเนินการเซลล์ เรากำลังตรวจสอบการแก้ไข ซึ่งอาจเกี่ยวข้องกับการเพิ่มขีดจำกัดอัตราที่กำหนดไว้สำหรับ Jupyter หรือการควบคุมปริมาณการล้างบันทึกจาก Nautilus
เรามุ่งมั่นที่จะมอบประสบการณ์นักพัฒนาที่น่าพึงพอใจที่สุดเท่าที่จะเป็นไปได้สำหรับโค้ดเบสไฮบริดของ Python, Cython และ Rust ดูคู่มือนักพัฒนาสำหรับข้อมูลที่เป็นประโยชน์
cargo-nextest คือตัวทดสอบ Rust มาตรฐานสำหรับ NautilusTrader คุณสามารถติดตั้งได้โดยการรัน:
cargo install cargo-nextest
เคล็ดลับ
การทดสอบสนิมจะผ่านก็ต่อเมื่อทำงานผ่าน cargo-nextest
ขอขอบคุณที่พิจารณาการมีส่วนร่วมกับ Nautilus Trader! เรายินดีต้อนรับทุกความช่วยเหลือในการปรับปรุงโครงการ หากคุณมีแนวคิดในการปรับปรุงหรือแก้ไขข้อบกพร่อง ขั้นตอนแรกคือการเปิดปัญหาบน GitHub เพื่อหารือกับทีม สิ่งนี้ช่วยให้แน่ใจว่าการมีส่วนร่วมของคุณจะสอดคล้องกับเป้าหมายของโครงการและหลีกเลี่ยงความพยายามที่ซ้ำซ้อน
เมื่อคุณพร้อมที่จะเริ่มดำเนินการสนับสนุนแล้ว โปรดปฏิบัติตามหลักเกณฑ์ที่ระบุไว้ในไฟล์ CONTRIBUTING.md ซึ่งรวมถึงการลงนามในข้อตกลงใบอนุญาตผู้ร่วมให้ข้อมูล (CLA) เพื่อให้แน่ใจว่าการมีส่วนร่วมของคุณสามารถรวมอยู่ในโครงการได้
โปรดทราบว่าคำขอดึงทั้งหมดควรส่งไปยังสาขา develop
นี่คือที่ที่รวมคุณสมบัติและการปรับปรุงใหม่ก่อนที่จะเผยแพร่
ขอขอบคุณอีกครั้งที่สนใจ Nautilus Trader! เราหวังว่าจะได้ตรวจสอบการมีส่วนร่วมของคุณและทำงานร่วมกับคุณเพื่อปรับปรุงโครงการ
เข้าร่วมชุมชนผู้ใช้และผู้มีส่วนร่วมของเราบน Discord เพื่อแชทและติดตามข่าวสารล่าสุดเกี่ยวกับประกาศและฟีเจอร์ล่าสุดของ NautilusTrader ไม่ว่าคุณจะเป็นนักพัฒนาซอฟต์แวร์ที่ต้องการมีส่วนร่วมหรือเพียงต้องการเรียนรู้เพิ่มเติมเกี่ยวกับแพลตฟอร์ม ยินดีต้อนรับทุกคนบนเซิร์ฟเวอร์ของเรา
ซอร์สโค้ดสำหรับ NautilusTrader มีอยู่ใน GitHub ภายใต้ GNU Lesser General Public License v3.0 ยินดีสนับสนุนการมีส่วนร่วมในโครงการและต้องปฏิบัติตามข้อตกลงใบอนุญาตผู้สนับสนุน (CLA) มาตรฐาน
NautilusTrader ได้รับการพัฒนาและดูแลรักษาโดย Nautech Systems ซึ่งเป็นบริษัทเทคโนโลยีที่เชี่ยวชาญด้านการพัฒนาระบบการซื้อขายที่มีประสิทธิภาพสูง แม้ว่าโปรเจ็กต์จะใช้ภาษาการเขียนโปรแกรม Rust และได้รับประโยชน์จากระบบนิเวศ แต่ Nautech Systems ไม่มีส่วนเกี่ยวข้องกับ Rust Foundation และโปรเจ็กต์นี้ไม่ใช่งานอย่างเป็นทางการของ Rust Foundation สำหรับข้อมูลเพิ่มเติม โปรดไปที่ https://nautilustrader.io
ลิขสิทธิ์ (C) 2015-2025 Nautech Systems Pty Ltd. สงวนลิขสิทธิ์