คุณสมบัติที่เปิดตัวล่าสุด
เรารู้สึกตื่นเต้นที่จะประกาศการเปิดตัว RD-Agent ? ซึ่งเป็นเครื่องมืออันทรงพลังที่สนับสนุนการขุดปัจจัยอัตโนมัติและการเพิ่มประสิทธิภาพโมเดลในการลงทุนเชิงปริมาณ R&D
RD-Agent พร้อมใช้งานแล้วบน GitHub และเรายินดีต้อนรับดาวของคุณ!
หากต้องการเรียนรู้เพิ่มเติม โปรดไปที่ ♾️หน้าสาธิต ของเรา ที่นี่ คุณจะพบวิดีโอสาธิตทั้งภาษาอังกฤษและภาษาจีนเพื่อช่วยให้คุณเข้าใจสถานการณ์และการใช้งานของ RD-Agent ได้ดียิ่งขึ้น
เราได้เตรียมวิดีโอสาธิตหลายรายการไว้สำหรับคุณ:
สถานการณ์ | วิดีโอสาธิต (ภาษาอังกฤษ) | วิดีโอสาธิต (中文) |
---|---|---|
การทำเหมืองเชิงปริมาณ | ลิงค์ | ลิงค์ |
การขุดปัจจัยเชิงปริมาณจากรายงาน | ลิงค์ | ลิงค์ |
การเพิ่มประสิทธิภาพแบบจำลองเชิงปริมาณ | ลิงค์ | ลิงค์ |
คุณสมบัติ | สถานะ |
---|---|
BPQP สำหรับการเรียนรู้แบบครบวงจร | ?เร็วๆ นี้!(อยู่ระหว่างตรวจสอบ) |
โรงงาน Auto Quant ที่ขับเคลื่อนด้วย LLM | เผยแพร่ใน ♾️RD-Agent เมื่อวันที่ 8 สิงหาคม 2024 |
KRNN และรุ่นแซนด์วิช | - เผยแพร่เมื่อวันที่ 26 พฤษภาคม 2023 |
ปล่อย Qlib v0.9.0 | เผยแพร่เมื่อวันที่ 9 ธันวาคม 2022 |
กรอบการเรียนรู้ RL | - - เผยแพร่เมื่อ 10 พฤศจิกายน 2022 #1332, #1322, #1316,#1299,#1263, #1244, #1169, #1125, #1076 |
โมเดล HIST และ IGMTF | - เผยแพร่เมื่อวันที่ 10 เมษายน 2022 |
บทช่วยสอนสมุดบันทึก Qlib | เผยแพร่เมื่อวันที่ 7 เมษายน 2022 |
ข้อมูลดัชนี Ibovespa | - เผยแพร่เมื่อวันที่ 6 เมษายน 2022 |
ฐานข้อมูลจุดในเวลา | - เผยแพร่เมื่อวันที่ 10 มีนาคม 2022 |
ตัวอย่างข้อมูลแบ็กเอนด์ของผู้ให้บริการ Arctic และใบสั่งซื้อ | - เผยแพร่เมื่อวันที่ 17 มกราคม 2022 |
กรอบงานตาม Meta-Learning และ DDG-DA | - - เผยแพร่เมื่อวันที่ 10 มกราคม 2022 |
การเพิ่มประสิทธิภาพพอร์ตโฟลิโอตามการวางแผน | - เผยแพร่เมื่อวันที่ 28 ธันวาคม 2021 |
ปล่อย Qlib v0.8.0 | เผยแพร่เมื่อวันที่ 8 ธันวาคม 2021 |
เพิ่มรุ่น | - เผยแพร่เมื่อวันที่ 22 พฤศจิกายน 2021 |
รุ่น ADARNN | - เผยแพร่เมื่อวันที่ 14 พฤศจิกายน 2021 |
รุ่น TCN | - เผยแพร่เมื่อวันที่ 4 พฤศจิกายน 2021 |
กรอบการตัดสินใจที่ซ้อนกัน | - เผยแพร่เมื่อวันที่ 1 ตุลาคม 2021 ตัวอย่างและเอกสาร |
อะแดปเตอร์การกำหนดเส้นทางชั่วคราว (TRA) | - เผยแพร่เมื่อวันที่ 30 กรกฎาคม 2021 |
หม้อแปลงไฟฟ้าและ Localformer | - เผยแพร่เมื่อวันที่ 22 กรกฎาคม 2021 |
ปล่อย Qlib v0.7.0 | เผยแพร่เมื่อวันที่ 12 กรกฎาคม 2021 |
โมเดล TCTS | - เผยแพร่เมื่อวันที่ 1 กรกฎาคม 2021 |
การให้บริการออนไลน์และการกลิ้งโมเดลอัตโนมัติ | - เผยแพร่เมื่อวันที่ 17 พฤษภาคม 2021 |
โมเดล DoubleEnsemble | - เผยแพร่เมื่อวันที่ 2 มีนาคม 2021 |
ตัวอย่างการประมวลผลข้อมูลความถี่สูง | - เผยแพร่เมื่อวันที่ 5 กุมภาพันธ์ 2021 |
ตัวอย่างการซื้อขายความถี่สูง | - ส่วนหนึ่งของโค้ดที่เผยแพร่เมื่อวันที่ 28 มกราคม 2021 |
ข้อมูลความถี่สูง (1 นาที) | - เผยแพร่เมื่อวันที่ 27 มกราคม 2021 |
แท็บเล็ตรุ่น | - เผยแพร่เมื่อวันที่ 22 มกราคม 2021 |
คุณสมบัติที่เปิดตัวก่อนปี 2021 จะไม่อยู่ในรายการที่นี่
Qlib เป็นแพลตฟอร์มการลงทุนเชิงปริมาณที่เน้น AI แบบโอเพ่นซอร์ส ซึ่งมีจุดมุ่งหมายเพื่อตระหนักถึงศักยภาพ เพิ่มศักยภาพในการวิจัย และสร้างมูลค่าโดยใช้เทคโนโลยี AI ในการลงทุนเชิงปริมาณ ตั้งแต่การสำรวจแนวคิดไปจนถึงการนำการผลิตไปใช้ Qlib สนับสนุนกระบวนทัศน์การสร้างแบบจำลองการเรียนรู้ของเครื่องที่หลากหลาย รวมถึงการเรียนรู้ภายใต้การดูแล การสร้างแบบจำลองพลวัตของตลาด และการเรียนรู้แบบเสริมกำลัง
Qlib จะมีการเผยแพร่งานวิจัย/งานวิจัยของ SOTA Quant ในกระบวนทัศน์ที่หลากหลายเพิ่มมากขึ้น เพื่อร่วมกันแก้ไขความท้าทายที่สำคัญในการลงทุนเชิงปริมาณ ตัวอย่างเช่น 1) การใช้การเรียนรู้แบบมีผู้สอนเพื่อขุดหารูปแบบที่ไม่เชิงเส้นที่ซับซ้อนของตลาดจากข้อมูลทางการเงินที่หลากหลายและหลากหลาย 2) การสร้างแบบจำลองธรรมชาติแบบไดนามิกของตลาดการเงินโดยใช้เทคโนโลยีดริฟท์แนวคิดแบบปรับตัว และ 3) การใช้การเรียนรู้แบบเสริมเพื่อสร้างแบบจำลองการลงทุนอย่างต่อเนื่อง การตัดสินใจและช่วยเหลือนักลงทุนในการเพิ่มประสิทธิภาพกลยุทธ์การซื้อขายของพวกเขา
ประกอบด้วยไปป์ไลน์ ML เต็มรูปแบบสำหรับการประมวลผลข้อมูล การฝึกโมเดล การทดสอบย้อนกลับ และครอบคลุมห่วงโซ่การลงทุนเชิงปริมาณทั้งหมด: การแสวงหาอัลฟ่า การสร้างแบบจำลองความเสี่ยง การเพิ่มประสิทธิภาพพอร์ตโฟลิโอ และการดำเนินการตามคำสั่ง สำหรับรายละเอียดเพิ่มเติม โปรดดูเอกสาร "Qlib: แพลตฟอร์มการลงทุนเชิงปริมาณที่มุ่งเน้น AI"
กรอบงาน บทช่วยสอน ข้อมูล และ DevOps | ความท้าทายและแนวทางแก้ไขหลักในการวิจัยเชิงปริมาณ |
---|---|
|
|
คุณสมบัติใหม่อยู่ระหว่างการพัฒนา (เรียงตามลำดับเวลาวางจำหน่ายโดยประมาณ) ความคิดเห็นของคุณเกี่ยวกับคุณสมบัติมีความสำคัญมาก
สามารถดูเฟรมเวิร์กระดับสูงของ Qlib ได้ที่ด้านบน (ผู้ใช้สามารถค้นหาเฟรมเวิร์กโดยละเอียดของการออกแบบของ Qlib ได้เมื่อเข้าสู่เนื้อหาสำคัญ) ส่วนประกอบได้รับการออกแบบให้เป็นโมดูลคู่หลวม และส่วนประกอบแต่ละชิ้นสามารถใช้งานแบบสแตนด์อโลนได้
Qlib มอบโครงสร้างพื้นฐานที่แข็งแกร่งเพื่อรองรับการวิจัยของ Quant ข้อมูลเป็นส่วนสำคัญเสมอ กรอบการเรียนรู้ที่แข็งแกร่งได้รับการออกแบบมาเพื่อสนับสนุนกระบวนทัศน์การเรียนรู้ที่หลากหลาย (เช่น การเรียนรู้แบบเสริมกำลัง การเรียนรู้แบบมีผู้สอน) และรูปแบบในระดับต่างๆ (เช่น การสร้างแบบจำลองแบบไดนามิกของตลาด) ด้วยการสร้างแบบจำลองตลาด กลยุทธ์การซื้อขายจะสร้างการตัดสินใจทางการค้าที่จะดำเนินการ กลยุทธ์การซื้อขายและผู้ดำเนินการหลายรายในระดับหรือรายละเอียดที่แตกต่างกันสามารถซ้อนกันเพื่อเพิ่มประสิทธิภาพและดำเนินการร่วมกันได้ ในที่สุด จะมีการวิเคราะห์ที่ครอบคลุมและสามารถให้บริการแบบจำลองทางออนไลน์ได้ในราคาประหยัด
คู่มือเริ่มต้นใช้งานฉบับย่อนี้พยายามสาธิตให้เห็น
นี่คือ ตัวอย่าง ด่วนที่แสดงวิธีการติดตั้ง Qlib
และรัน LightGBM ด้วย qrun
แต่ โปรดตรวจสอบให้แน่ใจว่าคุณได้เตรียมข้อมูลตามคำแนะนำแล้ว
ตารางนี้สาธิต Qlib
เวอร์ชัน Python ที่รองรับ:
ติดตั้งด้วย pip | ติดตั้งจากแหล่งที่มา | พล็อต | |
---|---|---|---|
หลาม 3.7 | |||
หลาม 3.8 | |||
หลาม 3.9 |
บันทึก :
conda
อาจส่งผลให้ไฟล์ส่วนหัวหายไป ทำให้การติดตั้งบางแพ็คเกจล้มเหลวQlib
จากแหล่งที่มา หากผู้ใช้ใช้ Python 3.6 บนเครื่อง ขอแนะนำให้ อัปเกรด Python เป็นเวอร์ชัน 3.7 หรือใช้ Python ของ conda
เพื่อติดตั้ง Qlib
จากแหล่งที่มาQlib
รองรับการรันเวิร์กโฟลว์ เช่น โมเดลการฝึก การทำ backtest และพล็อตตัวเลขที่เกี่ยวข้องส่วนใหญ่ (ที่รวมอยู่ในโน้ตบุ๊ก) อย่างไรก็ตาม ขณะนี้ยังไม่รองรับการลงจุดสำหรับ ประสิทธิภาพของโมเดล และเราจะแก้ไขปัญหานี้เมื่อมีการอัปเกรดแพ็คเกจที่ต้องพึ่งพาในอนาคตQlib
ต้องใช้แพ็คเกจ tables
hdf5
ในตารางไม่รองรับ python3.9 ผู้ใช้สามารถติดตั้ง Qlib
ได้อย่างง่ายดายด้วย pip ตามคำสั่งต่อไปนี้
pip install pyqlib
หมายเหตุ : pip จะติดตั้ง qlib ที่เสถียรล่าสุด อย่างไรก็ตาม สาขาหลักของ qlib อยู่ระหว่างการพัฒนาอย่างแข็งขัน หากคุณต้องการทดสอบสคริปต์หรือฟังก์ชั่นล่าสุดในสาขาหลัก กรุณาติดตั้ง qlib ด้วยวิธีการด้านล่าง
นอกจากนี้ ผู้ใช้สามารถติดตั้ง Qlib
เวอร์ชัน dev ล่าสุดด้วยซอร์สโค้ดตามขั้นตอนต่อไปนี้:
ก่อนที่จะติดตั้ง Qlib
จากแหล่งที่มา ผู้ใช้จำเป็นต้องติดตั้งการขึ้นต่อกันบางอย่าง:
pip install numpy
pip install --upgrade cython
โคลนพื้นที่เก็บข้อมูลและติดตั้ง Qlib
ดังนี้
git clone https://github.com/microsoft/qlib.git && cd qlib
pip install . # `pip install -e .[dev]` is recommended for development. check details in docs/developer/code_standard_and_dev_guide.rst
หมายเหตุ : คุณสามารถติดตั้ง Qlib ด้วย python setup.py install
ได้เช่นกัน แต่ไม่ใช่แนวทางที่แนะนำ มันจะข้าม pip
และทำให้เกิดปัญหาที่ไม่ชัดเจน ตัวอย่างเช่น เฉพาะ คำสั่ง pip install .
สามารถ เขียนทับเวอร์ชันเสถียรที่ติดตั้งโดย pip install pyqlib
ในขณะที่คำสั่ง python setup.py install
ไม่สามารถ
เคล็ดลับ : หากคุณล้มเหลวในการติดตั้ง Qlib
หรือรันตัวอย่างในสภาพแวดล้อมของคุณ การเปรียบเทียบขั้นตอนของคุณและเวิร์กโฟลว์ CI อาจช่วยให้คุณพบปัญหาได้
เคล็ดลับสำหรับ Mac : หากคุณใช้ Mac กับ M1 คุณอาจประสบปัญหาในการสร้างวงล้อสำหรับ LightGBM ซึ่งเกิดจากการขาดการขึ้นต่อกันจาก OpenMP ในการแก้ปัญหา ให้ติดตั้ง openmp ก่อนด้วย brew install libomp
จากนั้นรัน pip install .
เพื่อสร้างมันให้สำเร็จ
❗เนื่องจากนโยบายการรักษาความปลอดภัยของข้อมูลมีข้อจำกัดมากขึ้น ชุดข้อมูลอย่างเป็นทางการถูกปิดใช้งานชั่วคราว คุณสามารถลองใช้แหล่งข้อมูลนี้ที่สนับสนุนโดยชุมชน นี่คือตัวอย่างในการดาวน์โหลดข้อมูลที่อัปเดตเมื่อ 20240809
wget https://github.com/chenditc/investment_data/releases/download/2024-08-09/qlib_bin.tar.gz
mkdir -p ~ /.qlib/qlib_data/cn_data
tar -zxvf qlib_bin.tar.gz -C ~ /.qlib/qlib_data/cn_data --strip-components=1
rm -f qlib_bin.tar.gz
ชุดข้อมูลอย่างเป็นทางการด้านล่างจะกลับมาทำงานอีกครั้งในอนาคตอันใกล้
โหลดและเตรียมข้อมูลโดยการรันโค้ดต่อไปนี้:
# get 1d data
python -m qlib.run.get_data qlib_data --target_dir ~ /.qlib/qlib_data/cn_data --region cn
# get 1min data
python -m qlib.run.get_data qlib_data --target_dir ~ /.qlib/qlib_data/cn_data_1min --region cn --interval 1min
# get 1d data
python scripts/get_data.py qlib_data --target_dir ~ /.qlib/qlib_data/cn_data --region cn
# get 1min data
python scripts/get_data.py qlib_data --target_dir ~ /.qlib/qlib_data/cn_data_1min --region cn --interval 1min
ชุดข้อมูลนี้สร้างขึ้นโดยข้อมูลสาธารณะที่รวบรวมโดยสคริปต์ของโปรแกรมรวบรวมข้อมูลซึ่งเผยแพร่ในพื้นที่เก็บข้อมูลเดียวกัน ผู้ใช้สามารถสร้างชุดข้อมูลเดียวกันได้ คำอธิบายของชุดข้อมูล
โปรดให้ ความสนใจ ว่าข้อมูลถูกรวบรวมจาก Yahoo Finance และข้อมูลอาจไม่สมบูรณ์แบบ เราแนะนำให้ผู้ใช้เตรียมข้อมูลของตนเองหากมีชุดข้อมูลคุณภาพสูง สำหรับข้อมูลเพิ่มเติม ผู้ใช้สามารถอ้างถึงเอกสารที่เกี่ยวข้อง
ขั้นตอนนี้เป็น ทางเลือก หากผู้ใช้เพียงต้องการลองใช้โมเดลและกลยุทธ์เกี่ยวกับข้อมูลประวัติเท่านั้น
ขอแนะนำให้ผู้ใช้อัปเดตข้อมูลด้วยตนเองหนึ่งครั้ง (--trading_date 2021-05-25) จากนั้นตั้งค่าให้อัปเดตอัตโนมัติ
หมายเหตุ : ผู้ใช้ไม่สามารถอัปเดตข้อมูลเพิ่มเติมตามข้อมูลออฟไลน์ที่ Qlib ให้มาได้ (บางฟิลด์จะถูกลบออกเพื่อลดขนาดข้อมูล) ผู้ใช้ควรใช้ตัวรวบรวม yahoo เพื่อดาวน์โหลดข้อมูล Yahoo ตั้งแต่เริ่มต้น จากนั้นจึงอัปเดตทีละน้อย
สำหรับข้อมูลเพิ่มเติม โปรดดูที่: yahoo collector
อัปเดตข้อมูลอัตโนมัติไปยังไดเร็กทอรี "qlib" ในแต่ละวันซื้อขาย (Linux)
ใช้ crontab : crontab -e
ตั้งค่างานที่กำหนดเวลาไว้:
* * * * 1-5 python <script path> update_data_to_bin --qlib_data_1d_dir <user data dir>
การอัปเดตข้อมูลด้วยตนเอง
python scripts/data_collector/yahoo/collector.py update_data_to_bin --qlib_data_1d_dir <user data dir> --trading_date <start date> --end_date <end date>
docker pull pyqlib/qlib_image_stable:stable
docker run -it --name < container name > -v < Mounted local directory > :/app qlib_image_stable
>>> python scripts/get_data.py qlib_data --name qlib_data_simple --target_dir ~ /.qlib/qlib_data/cn_data --interval 1d --region cn
>>> python qlib/workflow/cli.py examples/benchmarks/LightGBM/workflow_config_lightgbm_Alpha158.yaml
>>> exit
docker start -i -a < container name >
docker stop < container name >
docker rm < container name >
Qlib จัดเตรียมเครื่องมือชื่อ qrun
เพื่อรันเวิร์กโฟลว์ทั้งหมดโดยอัตโนมัติ (รวมถึงชุดข้อมูลการสร้าง โมเดลการฝึกอบรม การทดสอบย้อนหลัง และการประเมินผล) คุณสามารถเริ่มเวิร์กโฟลว์การวิจัยเชิงปริมาณอัตโนมัติและมีการวิเคราะห์รายงานแบบกราฟิกตามขั้นตอนต่อไปนี้:
เวิร์กโฟลว์การวิจัยเชิงปริมาณ: รัน qrun
ด้วยการกำหนดค่าเวิร์กโฟลว์ lightgbm (workflow_config_lightgbm_Alpha158.yaml ดังต่อไปนี้
cd examples # Avoid running program under the directory contains `qlib`
qrun benchmarks/LightGBM/workflow_config_lightgbm_Alpha158.yaml
หากผู้ใช้ต้องการใช้ qrun
ในโหมดดีบัก โปรดใช้คำสั่งต่อไปนี้:
python -m pdb qlib/workflow/cli.py examples/benchmarks/LightGBM/workflow_config_lightgbm_Alpha158.yaml
ผลลัพธ์ของ qrun
มีดังนี้ โปรดดูที่การซื้อขายระหว่างวันสำหรับรายละเอียดเพิ่มเติมเกี่ยวกับผลลัพธ์
' The following are analysis results of the excess return without cost. '
risk
mean 0.000708
std 0.005626
annualized_return 0.178316
information_ratio 1.996555
max_drawdown -0.081806
' The following are analysis results of the excess return with cost. '
risk
mean 0.000512
std 0.005626
annualized_return 0.128982
information_ratio 1.444287
max_drawdown -0.091078
นี่คือเอกสารรายละเอียดสำหรับ qrun
และเวิร์กโฟลว์
การวิเคราะห์รายงานแบบกราฟิก: เรียกใช้ examples/workflow_by_code.ipynb
ด้วย jupyter notebook
เพื่อรับรายงานแบบกราฟิก
การวิเคราะห์สัญญาณการคาดการณ์ (การทำนายแบบจำลอง)
การวิเคราะห์พอร์ตโฟลิโอ
คำอธิบายผลลัพธ์ข้างต้น
ขั้นตอนการทำงานแบบอัตโนมัติอาจไม่เหมาะกับขั้นตอนการวิจัยของนักวิจัย Quant ทุกคน เพื่อสนับสนุนเวิร์กโฟลว์การวิจัย Quant ที่ยืดหยุ่น Qlib ยังมีอินเทอร์เฟซแบบโมดูลาร์เพื่อให้นักวิจัยสามารถสร้างเวิร์กโฟลว์ของตนเองโดยใช้โค้ดได้ นี่คือการสาธิตเวิร์กโฟลว์การวิจัย Quant ที่ปรับแต่งตามโค้ด
การลงทุนเชิงปริมาณเป็นสถานการณ์ที่มีเอกลักษณ์เฉพาะตัวและมีความท้าทายหลักๆ มากมายที่ต้องแก้ไข ปัจจุบัน Qlib นำเสนอโซลูชั่นบางอย่างสำหรับหลาย ๆ คน
การคาดการณ์แนวโน้มราคาหุ้นอย่างแม่นยำเป็นส่วนสำคัญมากในการสร้างพอร์ตการลงทุนที่ทำกำไร อย่างไรก็ตาม ข้อมูลจำนวนมหาศาลที่มีรูปแบบต่างๆ ในตลาดการเงิน ซึ่งทำให้การสร้างแบบจำลองการคาดการณ์เป็นเรื่องที่ท้าทาย
งานวิจัย/เอกสาร SOTA Quant จำนวนมากขึ้น ซึ่งมุ่งเน้นไปที่การสร้างแบบจำลองการคาดการณ์เพื่อค้นหาสัญญาณ/รูปแบบอันมีค่าในข้อมูลทางการเงินที่ซับซ้อน ได้รับการเผยแพร่ใน Qlib
นี่คือรายการโมเดลที่สร้างขึ้นบน Qlib
เรายินดีเป็นอย่างยิ่งในการประชาสัมพันธ์ผลิตภัณฑ์ Quant รุ่นใหม่ของคุณ
ดูประสิทธิภาพของแต่ละรุ่นในชุดข้อมูล Alpha158
และ Alpha360
ได้ที่นี่
โมเดลทั้งหมดที่ระบุไว้ข้างต้นสามารถรันด้วย Qlib
ได้ ผู้ใช้สามารถค้นหาไฟล์กำหนดค่าที่เราจัดเตรียมให้และรายละเอียดบางอย่างเกี่ยวกับโมเดลได้จากโฟลเดอร์การวัดประสิทธิภาพ สามารถเรียกดูข้อมูลเพิ่มเติมได้ที่ไฟล์โมเดลที่ระบุไว้ข้างต้น
Qlib
มีสามวิธีที่แตกต่างกันในการรันโมเดลเดียว ผู้ใช้สามารถเลือกรูปแบบที่เหมาะกับกรณีของตนได้ดีที่สุด:
ผู้ใช้สามารถใช้เครื่องมือ qrun
ที่กล่าวถึงข้างต้นเพื่อรันเวิร์กโฟลว์ของโมเดลโดยอิงจากไฟล์กำหนดค่า
ผู้ใช้สามารถสร้างสคริปต์ workflow_by_code
python ตามสคริปต์ที่อยู่ในโฟลเดอร์ examples
ผู้ใช้สามารถใช้สคริปต์ run_all_model.py
ที่อยู่ในโฟลเดอร์ examples
เพื่อรันโมเดล นี่คือตัวอย่างของคำสั่งเชลล์เฉพาะที่จะใช้: python run_all_model.py run --models=lightgbm
โดยที่อาร์กิวเมนต์ --models
สามารถใช้โมเดลจำนวนเท่าใดก็ได้ตามรายการด้านบน (สามารถดูโมเดลที่มีอยู่ได้ในการวัดประสิทธิภาพ) สำหรับกรณีการใช้งานเพิ่มเติม โปรดดูเอกสารประกอบของไฟล์
tensorflow==1.15.0
) Qlib
ยังมีสคริปต์ run_all_model.py
ซึ่งสามารถเรียกใช้หลายรุ่นสำหรับการวนซ้ำหลายครั้ง ( หมายเหตุ : ขณะนี้สคริปต์รองรับเฉพาะ Linux เท่านั้น ระบบปฏิบัติการอื่น ๆ จะได้รับการสนับสนุนในอนาคต นอกจากนี้ยังไม่รองรับการรันรุ่นเดียวกันหลาย ๆ ครั้งเช่นกัน และจะได้รับการแก้ไขในการพัฒนาในอนาคตด้วย)
สคริปต์จะสร้างสภาพแวดล้อมเสมือนจริงที่ไม่ซ้ำกันสำหรับแต่ละรุ่น และลบสภาพแวดล้อมหลังการฝึก ดังนั้นเฉพาะผลการทดลอง เช่น IC
และผล backtest
เท่านั้นที่จะถูกสร้างขึ้นและจัดเก็บ
นี่คือตัวอย่างการรันโมเดลทั้งหมด 10 รอบ:
python run_all_model . py run 10
นอกจากนี้ยังมี API เพื่อเรียกใช้โมเดลเฉพาะในคราวเดียว สำหรับกรณีการใช้งานเพิ่มเติม โปรดดูเอกสารประกอบของไฟล์
เนื่องจากสภาพแวดล้อมของตลาดการเงินมีลักษณะไม่คงที่ การกระจายข้อมูลอาจเปลี่ยนแปลงในช่วงเวลาต่างๆ ซึ่งทำให้ประสิทธิภาพของแบบจำลองที่สร้างจากข้อมูลการฝึกอบรมลดลงในข้อมูลการทดสอบในอนาคต ดังนั้นการปรับแบบจำลอง/กลยุทธ์การคาดการณ์ให้เข้ากับการเปลี่ยนแปลงของตลาดจึงมีความสำคัญมากต่อประสิทธิภาพของแบบจำลอง/กลยุทธ์
นี่คือรายการโซลูชันที่สร้างขึ้นบน Qlib
ขณะนี้ Qlib รองรับการเรียนรู้แบบเสริมกำลัง ซึ่งเป็นฟีเจอร์ที่ออกแบบมาเพื่อจำลองการตัดสินใจลงทุนอย่างต่อเนื่อง ฟังก์ชั่นนี้ช่วยให้นักลงทุนปรับกลยุทธ์การซื้อขายให้เหมาะสมโดยการเรียนรู้จากการโต้ตอบกับสภาพแวดล้อมเพื่อเพิ่มแนวคิดเกี่ยวกับรางวัลสะสมให้สูงสุด
นี่คือรายการโซลูชันที่สร้างขึ้นบน Qlib
โดยแบ่งตามสถานการณ์
นี่คือการแนะนำสถานการณ์นี้ วิธีการทั้งหมดด้านล่างมีการเปรียบเทียบที่นี่
ชุดข้อมูลมีบทบาทสำคัญใน Quant นี่คือรายการชุดข้อมูลที่สร้างขึ้นบน Qlib
:
ชุดข้อมูล | ตลาดสหรัฐ | ตลาดจีน |
---|---|---|
อัลฟ่า360 | ||
อัลฟ่า158 |
นี่คือบทช่วยสอนในการสร้างชุดข้อมูลด้วย Qlib
เรายินดีเป็นอย่างยิ่งที่จะประชาสัมพันธ์ของคุณเพื่อสร้างชุดข้อมูล Quant ใหม่
Qlib สามารถปรับแต่งได้สูงและส่วนประกอบต่างๆ มากมายสามารถเรียนรู้ได้ องค์ประกอบที่เรียนรู้ได้คืออินสแตนซ์ของ Forecast Model
และ Trading Agent
สิ่งเหล่านี้จะเรียนรู้ตาม Learning Framework
จากนั้นนำไปใช้กับสถานการณ์ต่างๆ ในเลเยอร์ Workflow
กรอบการเรียนรู้ใช้ประโยชน์จากเลเยอร์ Workflow
เช่นกัน (เช่น การแชร์ Information Extractor
การสร้างสภาพแวดล้อมตาม Execution Env
)
ขึ้นอยู่กับกระบวนทัศน์การเรียนรู้ พวกเขาสามารถแบ่งออกเป็นการเรียนรู้แบบเสริมกำลังและการเรียนรู้แบบมีผู้สอน
Execution Env
ใน Workflow
เพื่อสร้างสภาพแวดล้อม เป็นที่น่าสังเกตว่า NestedExecutor
ได้รับการสนับสนุนเช่นกัน สิ่งนี้ทำให้ผู้ใช้สามารถเพิ่มประสิทธิภาพกลยุทธ์/โมเดล/ตัวแทนในระดับต่างๆ ร่วมกัน (เช่น การปรับกลยุทธ์การดำเนินการตามคำสั่งให้เหมาะสมสำหรับกลยุทธ์การจัดการพอร์ตโฟลิโอที่เฉพาะเจาะจง)หากคุณต้องการดูส่วนประกอบที่ใช้บ่อยที่สุดของ qlib อย่างรวดเร็ว คุณสามารถลองใช้โน้ตบุ๊กได้ที่นี่
เอกสารรายละเอียดจัดอยู่ในเอกสาร ต้องใช้ธีมสฟิงซ์และ readthedocs เพื่อสร้างเอกสารประกอบในรูปแบบ html
cd docs/
conda install sphinx sphinx_rtd_theme -y
# Otherwise, you can install them with pip
# pip install sphinx sphinx_rtd_theme
make html
คุณยังสามารถดูเอกสารล่าสุดทางออนไลน์ได้โดยตรง
Qlib อยู่ในระหว่างการพัฒนาและดำเนินการอย่างต่อเนื่อง แผนของเราอยู่ในแผนงานซึ่งมีการจัดการเป็นโครงการ GitHub
เซิร์ฟเวอร์ข้อมูลของ Qlib สามารถปรับใช้เป็นโหมด Offline
หรือโหมด Online
ก็ได้ โหมดเริ่มต้นคือโหมดออฟไลน์
ภายใต้โหมด Offline
ข้อมูลจะถูกปรับใช้ในเครื่อง
ภายใต้โหมด Online
ข้อมูลจะถูกปรับใช้เป็นบริการข้อมูลที่ใช้ร่วมกัน ข้อมูลและแคชจะถูกแชร์โดยไคลเอนต์ทั้งหมด ประสิทธิภาพการดึงข้อมูลคาดว่าจะได้รับการปรับปรุงเนื่องจากอัตราการเข้าชมแคชที่สูงขึ้น มันจะใช้พื้นที่ดิสก์น้อยลงเช่นกัน เอกสารของโหมดออนไลน์สามารถพบได้ใน Qlib-Server โหมดออนไลน์สามารถปรับใช้โดยอัตโนมัติด้วยสคริปต์ที่ใช้ Azure CLI ซอร์สโค้ดของเซิร์ฟเวอร์ข้อมูลออนไลน์สามารถพบได้ในพื้นที่เก็บข้อมูล Qlib-Server
ประสิทธิภาพของการประมวลผลข้อมูลมีความสำคัญต่อวิธีการขับเคลื่อนข้อมูล เช่น เทคโนโลยี AI ในฐานะแพลตฟอร์มที่เน้น AI Qlib มอบโซลูชันสำหรับการจัดเก็บข้อมูลและการประมวลผลข้อมูล เพื่อสาธิตประสิทธิภาพของเซิร์ฟเวอร์ข้อมูล Qlib เราจะเปรียบเทียบกับโซลูชันการจัดเก็บข้อมูลอื่นๆ มากมาย
เราประเมินประสิทธิภาพของโซลูชันการจัดเก็บข้อมูลต่างๆ โดยทำงานเดียวกันให้เสร็จสิ้น ซึ่งจะสร้างชุดข้อมูล (คุณสมบัติ/ปัจจัย 14 รายการ) จากข้อมูลรายวันพื้นฐานของ OHLCV ของตลาดหุ้น (800 หุ้นในแต่ละวันตั้งแต่ปี 2550 ถึง 2563) งานเกี่ยวข้องกับการสืบค้นข้อมูลและการประมวลผล
HDF5 | MySQL | MongoDB | InfluxDB | คิวลิบ -E -D | คิวลิบ +อี -ดี | คิวลิบ +อี +ดี | |
---|---|---|---|---|---|---|---|
รวม (1CPU) (วินาที) | 184.4±3.7 | 365.3±7.5 | 253.6±6.7 | 368.2±3.6 | 147.0±8.8 | 47.6±1.0 | 7.4±0.3 |
รวม (64CPU) (วินาที) | 8.8±0.6 | 4.2±0.2 |
+(-)E
ระบุด้วย (ออก) ExpressionCache
+(-)D
หมายถึงมี (ออก) DatasetCache
ฐานข้อมูลเอนกประสงค์ส่วนใหญ่ใช้เวลาโหลดข้อมูลมากเกินไป หลังจากพิจารณาการใช้งานพื้นฐานแล้ว เราพบว่าข้อมูลผ่านอินเทอร์เฟซหลายชั้นมากเกินไปและการแปลงรูปแบบที่ไม่จำเป็นในโซลูชันฐานข้อมูลสำหรับวัตถุประสงค์ทั่วไป ค่าใช้จ่ายดังกล่าวทำให้กระบวนการโหลดข้อมูลช้าลงอย่างมาก ข้อมูล Qlib จะถูกจัดเก็บในรูปแบบกะทัดรัด ซึ่งสามารถรวมเข้ากับอาร์เรย์เพื่อการคำนวณทางวิทยาศาสตร์ได้อย่างมีประสิทธิภาพ
Qlib
โปรดสร้างคำขอดึงเข้าร่วมกลุ่มสนทนา IM:
กิตเตอร์ |
---|
![]() |
เราขอขอบคุณทุกการมีส่วนร่วมและขอขอบคุณผู้มีส่วนร่วมทุกคน!
ก่อนที่เราจะเปิดตัว Qlib เป็นโปรเจ็กต์โอเพ่นซอร์สบน Github ในเดือนกันยายน 2020 Qlib เป็นโปรเจ็กต์ภายในในกลุ่มของเรา ขออภัย ประวัติการคอมมิตภายในไม่ได้ถูกเก็บไว้ สมาชิกจำนวนมากในกลุ่มของเรามีส่วนช่วยเหลือ Qlib มากมาย ซึ่งรวมถึง Ruihua Wang, Yinda Zhang, Haisu Yu, Shuyu Wang, Bochen Pang และ Dong Zhou ขอขอบคุณ Dong Zhou เป็นพิเศษเนื่องจาก Qlib เวอร์ชันเริ่มต้นของเขา
โครงการนี้ยินดีรับการสนับสนุนและข้อเสนอแนะ
ต่อไปนี้เป็นมาตรฐานโค้ดและคำแนะนำในการพัฒนาสำหรับการส่งคำขอดึง
การบริจาคไม่ใช่เรื่องยาก การแก้ปัญหา (อาจเป็นเพียงการตอบคำถามที่เกิดขึ้นในรายการปัญหาหรือ gitter) การแก้ไข/การออกข้อบกพร่อง การปรับปรุงเอกสาร และแม้แต่การแก้ไขการพิมพ์ผิด มีส่วนสำคัญต่อ Qlib
ตัวอย่างเช่น หากคุณต้องการสนับสนุนเอกสาร/รหัสของ Qlib คุณสามารถทำตามขั้นตอนตามภาพด้านล่าง
หากคุณไม่ทราบวิธีเริ่มมีส่วนร่วม โปรดดูตัวอย่างต่อไปนี้
พิมพ์ | ตัวอย่าง |
---|---|
การแก้ปัญหา | ตอบคำถาม; การออกหรือแก้ไขข้อบกพร่อง |
เอกสาร | ปรับปรุงคุณภาพเอกสาร แก้ไขคำผิด |
คุณสมบัติ | ใช้คุณลักษณะที่ร้องขอเช่นนี้ รีแฟคเตอร์อินเทอร์เฟซ |
ชุดข้อมูล | เพิ่มชุดข้อมูล |
โมเดล | ใช้โมเดลใหม่ คำแนะนำบางประการเพื่อสนับสนุนโมเดล |
ประเด็นแรกที่ดีจะมีป้ายกำกับเพื่อระบุว่าง่ายต่อการเริ่มการมีส่วนร่วมของคุณ
คุณสามารถค้นหาการใช้งานที่ไม่สมบูรณ์ใน Qlib ได้โดย rg 'TODO|FIXME' qlib
หากคุณต้องการเป็นหนึ่งในผู้ดูแลของ Qlib เพื่อมีส่วนร่วมมากขึ้น (เช่น ช่วยรวม PR, ปัญหาการคัดแยก) โปรดติดต่อเราทางอีเมล ([email protected]) เรายินดีที่จะช่วยอัปเกรดการอนุญาตของคุณ
การบริจาคส่วนใหญ่กำหนดให้คุณยอมรับข้อตกลงใบอนุญาตช่างภาพ (CLA) โดยประกาศว่าคุณมีสิทธิ์ที่จะให้สิทธิ์แก่เราในการใช้การบริจาคของคุณจริงๆ สำหรับรายละเอียด โปรดไปที่ https://cla.opensource.microsoft.com
เมื่อคุณส่งคำขอดึง บอท CLA จะกำหนดโดยอัตโนมัติว่าคุณจำเป็นต้องจัดเตรียม CLA และตกแต่ง PR อย่างเหมาะสมหรือไม่ (เช่น การตรวจสอบสถานะ ความคิดเห็น) เพียงทำตามคำแนะนำที่ได้รับจากบอท คุณจะต้องทำสิ่งนี้เพียงครั้งเดียวกับ repos ทั้งหมดโดยใช้ CLA ของเรา
โครงการนี้ได้นำหลักจรรยาบรรณของ Microsoft Open Source มาใช้ สำหรับข้อมูลเพิ่มเติม โปรดดูคำถามที่พบบ่อยเกี่ยวกับจรรยาบรรณหรือติดต่อ [email protected] หากมีคำถามหรือความคิดเห็นเพิ่มเติม