ไลบรารี QuantStats Python ที่ทำโปรไฟล์พอร์ตโฟลิโอ ช่วยให้ quant และผู้จัดการพอร์ตโฟลิโอเข้าใจประสิทธิภาพได้ดีขึ้น โดยให้การวิเคราะห์เชิงลึกและตัวชี้วัดความเสี่ยง
บันทึกการเปลี่ยนแปลง »
quantstats.stats
- สำหรับการคำนวณตัวชี้วัดประสิทธิภาพต่างๆ เช่น อัตราส่วนชาร์ป อัตราการชนะ ความผันผวน ฯลฯquantstats.plots
- สำหรับการแสดงภาพประสิทธิภาพ การขาดทุน สถิติต่อเนื่อง ผลตอบแทนรายเดือน ฯลฯquantstats.reports
- สำหรับการสร้างรายงานตัวชี้วัด การวางแผนเป็นชุด และการสร้างแผ่นฉีกขาดที่สามารถบันทึกเป็นไฟล์ HTML ได้ต่อไปนี้เป็นตัวอย่างของเอกสารง่ายๆ ในการวิเคราะห์กลยุทธ์:
% matplotlib inline
import quantstats as qs
# extend pandas functionality with metrics, etc.
qs . extend_pandas ()
# fetch the daily returns for a stock
stock = qs . utils . download_returns ( 'META' )
# show sharpe ratio
qs . stats . sharpe ( stock )
# or using extend_pandas() :)
stock . sharpe ()
เอาท์พุท:
0.8135304438803402
qs . plots . snapshot ( stock , title = 'Facebook Performance' , show = True )
# can also be called via:
# stock.plot_snapshot(title='Facebook Performance', show=True)
เอาท์พุท:
คุณสามารถสร้างแผ่นรายงานรายงานที่แตกต่างกันได้ 7 แบบ:
qs.reports.metrics(mode='basic|full", ...)
- แสดงตัวชี้วัดพื้นฐาน/เต็มqs.reports.plots(mode='basic|full", ...)
- แสดงโครงเรื่องพื้นฐาน/ทั้งหมดqs.reports.basic(...)
- แสดงการวัดและแปลงพื้นฐานqs.reports.full(...)
- แสดงเมตริกและพล็อตแบบเต็มqs.reports.html(...)
- สร้างรายงานที่สมบูรณ์ในรูปแบบ htmlมาสร้าง html Tearsheet กัน
( benchmark can be a pandas Series or ticker )
qs . reports . html ( stock , "SPY" )
ผลลัพธ์จะสร้างสิ่งนี้:
(ดูไฟล์ html ต้นฉบับ)
[ f for f in dir ( qs . stats ) if f [ 0 ] != '_' ]
['avg_loss',
'avg_return',
'avg_win',
'ดีที่สุด',
'คาเกอร์',
'สงบ',
'อัตราส่วนความรู้สึกร่วม',
'คอมพ์',
'เปรียบเทียบ',
'คอมซัม',
'เงื่อนไข_value_at_risk',
'การขาดทุนติดต่อกัน',
'ติดต่อกัน_ชนะ',
'cpc_ดัชนี',
'ซีวาร์',
'drawdown_รายละเอียด',
'คาดหวัง_ผลตอบแทน',
'คาดหวัง_ขาดแคลน',
'การรับสัมผัสเชื้อ',
'gain_to_pain_ratio',
'เรขาคณิต_ค่าเฉลี่ย',
'ghpr',
'กรีก'
'โดยนัย_ความผันผวน',
'อัตราส่วนข้อมูล',
'kelly_criterion',
'เคอร์โทซิส',
'max_drawdown',
'ผลตอบแทนรายเดือน',
'อัตราส่วนค่าผิดปกติ_ขาดทุน',
'outlier_win_ratio',
'ค่าผิดปกติ',
'อัตราส่วนผลตอบแทน',
'ปัจจัยกำไร',
'อัตราส่วนกำไร',
'r2',
'r_squared',
'ราร์',
'recovery_factor',
'remove_outliers',
'ความเสี่ยงของการถูกทำลาย',
'อัตราส่วนความเสี่ยง_ผลตอบแทน',
'rolling_greeks',
'ร',
'คมชัด',
'ลาด',
'ซอร์ติโน',
'adjusted_sortino',
'อัตราส่วนหาง',
'to_drawdown_series',
'ulcer_index',
'ulcer_Performance_index',
'อัพ'
'ยูทิลิตี้'
'value_at_risk',
'วาร์'
'ความผันผวน'
'อัตราส่วน win_loss_ratio',
'win_rate',
'แย่ที่สุด']
[ f for f in dir ( qs . plots ) if f [ 0 ] != '_' ]
['daily_returns',
'การกระจาย',
'การเบิกจ่าย',
'drawdowns_ช่วงเวลา',
'รายได้'
'ฮิสโตแกรม',
'log_returns',
'แผนที่ความร้อนรายเดือน',
'การกลับมา'
'โรลลิ่ง_เบต้า',
'กลิ้ง_ชาร์ป',
'rolling_sortino',
'การกลิ้ง_ผันผวน',
'ภาพรวม',
'ผลตอบแทนรายปี']
***เอกสารฉบับเต็มจะมาเร็วๆ นี้***
ในระหว่างนี้ คุณสามารถรับข้อมูลเชิงลึกเกี่ยวกับพารามิเตอร์ทางเลือกสำหรับแต่ละวิธีได้โดยใช้วิธี help
ของ Python:
help ( qs . stats . conditional_value_at_risk )
ความช่วยเหลือเกี่ยวกับฟังก์ชัน Conditional_value_at_risk ในโมดูล quantstats.stats:
Conditional_value_at_risk (ผลตอบแทน, sigma=1, ความมั่นใจ=0.99)
คำนวณมูลค่ารายวันแบบมีเงื่อนไขที่มีความเสี่ยง (หรือที่เรียกว่าการขาดแคลนที่คาดหวัง)
ปริมาณความเสี่ยงหางของการลงทุน
ติดตั้งโดยใช้ pip
:
$ pip install quantstats --upgrade --no-cache-dir
ติดตั้งโดยใช้ conda
:
$ conda install -c ranaroussi quantstats
plots.to_plotly()
) นี่คือห้องสมุดใหม่... หากคุณพบข้อบกพร่อง โปรดเปิดปัญหาในพื้นที่เก็บข้อมูลนี้
หากคุณต้องการมีส่วนร่วม สถานที่ที่ดีในการดูคือปัญหาที่มีเครื่องหมายว่าต้องการความช่วยเหลือ
ด้วยเหตุผลบางอย่าง ฉันไม่สามารถหาวิธีที่จะบอกชาวทะเลว่าจะไม่ส่งคืนแผนที่ความร้อนผลตอบแทนรายเดือนเมื่อได้รับคำสั่งให้บันทึก - ดังนั้นแม้ว่าคุณจะบันทึกพล็อต (โดยผ่าน savefig={...}
) มันก็จะยังคงแสดงพล็อต .
QuantStats ได้รับการเผยแพร่ภายใต้ ลิขสิทธิ์ซอฟต์แวร์ Apache ดูไฟล์ LICENSE.txt ในรุ่นเพื่อดูรายละเอียด
กรุณาฝากฉันด้วยข้อเสนอแนะใด ๆ ที่คุณมี
รัน อารุสซี