เขียนโดย: ck.eth
เรียบเรียงโดย: ลิเลีย
การกระจายแบบไฮเปอร์โบลิก [1] เดิมพัฒนาขึ้นเพื่อจำลองความผันผวนของพายุทราย [2] (พลวัตของทรายในทะเลทราย) มีการใช้งานในการสร้างแบบจำลองผลตอบแทนของสินทรัพย์ทางการเงินเนื่องจากความยืดหยุ่นของพารามิเตอร์ [3]
ซ้าย: การดูการกระจายทางสถิติบนโครงแบบบันทึกช่วยให้เข้าใจรูปร่างได้ดีขึ้น การแจกแจงแบบไฮเปอร์โบราแสดงรูปร่างคล้ายกับไฮเปอร์โบลา ในขณะที่การแจกแจงแบบเกาส์เซียนแบบประสามารถมองได้ว่าเป็นพาราโบลาเนื่องจากมีพจน์ e^-x²/2 อยู่ด้วย ขวา: คุณสามารถเข้าใจลักษณะของการแจกแจงได้ดีขึ้นโดยดูที่ส่วนท้ายของมันบนพล็อตล็อก-ล็อก การกระจายกฎกำลังไม่แสดงแนวโน้มที่ลดลงในพล็อตล็อก-ล็อก การแจกแจงที่แตกต่างกันสามารถผสมผสานได้โดยการรวมการแจกแจงและใช้พารามิเตอร์น้ำหนัก
พฤติกรรมราคาของสินทรัพย์ดิจิทัล
เป็นประโยชน์อย่างมากสำหรับผู้ให้บริการสภาพคล่อง (LP) ในการทำความเข้าใจการเปลี่ยนแปลงราคาของสินทรัพย์ของตน หากเราดูข้อมูลประวัติของ Bitcoin (BTC) ซึ่งเป็นสินทรัพย์ดิจิทัลที่เก่าแก่ที่สุด ในรูปแบบของพล็อตบันทึกลำดับตั้งแต่ปี 2558 โดยใช้ผลตอบแทนรายวัน 3,091 เราจะเห็นว่านอกเหนือจากค่าผิดปกติบางประการแล้ว การกระจายไฮเปอร์โบลิกทั่วไปในอดีตนั้นเข้ากันได้ดี ผลตอบแทนรายวันก็ดี
ความผิดปกติในขนาดของเรานั้นเกิดขึ้นเป็นค่าผิดปกติทางด้านขวาและซ้ายสุด ซึ่งสามารถสังเกตได้ในพล็อตล็อก-ล็อก ในรูปนี้ เราจะเห็นว่าส่วนท้ายของผลตอบแทนที่เป็นลบจะแสดงด้วยสีแดง ในขณะที่ผลตอบแทนที่เป็นบวกจะแสดงเป็นสีน้ำเงิน
แม้ว่าหางจะดูคล้ายกัน แต่ก็มีค่าผิดปกติทางด้านขวาไม่ตรงกัน เพื่อให้ฮิสโตแกรมเรียบขึ้น ฉันใช้วิธีการประมาณความหนาแน่นของเคอร์เนล (KDE)
ตั้งแต่วันที่ 1 มกราคม 2015 ผลตอบแทนรายวันด้านซ้ายและขวาของ Bitcoin (BTC) แสดงให้เห็นความไม่สมดุล โดยเฉพาะผลตอบแทนทางขวา
ซึ่งหมายความว่าการรวมไฮเปอร์โบลาทั่วไปเข้ากับกฎกำลังไม่สมมาตรสามารถอธิบายการเปลี่ยนแปลงของราคา Bitcoin ได้ สิ่งสำคัญที่ควรทราบคือฉันเลือก Bitcoin เป็นตัวอย่างเนื่องจากเป็นอนุกรมเวลาที่เก่าแก่ที่สุดและมีความผันผวนน้อยที่สุดในบรรดาสินทรัพย์ดิจิทัลทั้งหมด ซึ่งหมายความว่าผู้ให้บริการสภาพคล่อง (LP) ของสินทรัพย์ดิจิทัลอื่น ๆ จะมีพฤติกรรมที่ผันผวนมากขึ้น
การสร้างแบบจำลองราคาแบบไดนามิก
มีการแจกแจงทางสถิติมากมายที่สามารถนำมาผสมกันเพื่อจำลองพฤติกรรมของคลื่นนี้ได้ ตัวอย่างเช่น ในการเงินแบบดั้งเดิม วิธีการทั่วไปคือการใช้การเคลื่อนที่แบบบราวเนียนเชิงเรขาคณิต (การแจกแจงแบบลอจิกนอร์มอล) และรวมกับกระบวนการโลวี (การแจกแจงแบบปัวซอง) เพื่อพิจารณาการกระโดดของราคา
เส้นทางการจำลองที่มองเห็นโดย Erik Bardoux และ Antonis Papapantoleon ในการบรรยายเกี่ยวกับกระบวนการของ Leveré
ฉันสร้างไลบรารีการแจกแจงทางสถิติมากกว่า 50 รายการบน Desmos เพื่อช่วยให้ผู้ใช้สำรวจการแจกแจงเหล่านี้ และวิธีการจำลองตำแหน่ง LP ของการแจกแจงเหล่านี้บน Uniswap ผ่านทางอินทิกรัลของ Riemann
ลิงก์ Desmos สำหรับไลบรารีการกระจายเชิงสถิติ: https://www.desmos.com/calculator/4ey6hbevzf
ลิงก์ Desmos สำหรับไลบรารีการกระจายทางสถิติ: https://www.desmos.com/calculator/4ey6hbevzf
คุณลักษณะที่น่าสนใจของ Desmos คือความสามารถในการสลับไปใช้พล็อตบันทึกล็อก ซึ่งช่วยให้คุณเห็นว่าลักษณะเฉพาะส่วนท้ายของการแจกแจงทางสถิติแต่ละรายการเปลี่ยนแปลงไปอย่างไร
หากคุณต้องการเปรียบเทียบการแจกแจงแบบใดที่เหมาะกับข้อมูลของคุณมากที่สุด คุณสามารถใช้การทดสอบ Kolmogorov-Smirnov เพื่อเปรียบเทียบฟังก์ชันการแจกแจงสะสมกับข้อมูลฮิสโตแกรมสะสมเชิงประจักษ์ของคุณ อย่างไรก็ตาม เรายังใช้วิธีง่ายๆ ด้านล่างนี้ได้ด้วย โดยเราจะถือว่าการกระจายตัวที่แย่ที่สุดที่เป็นไปได้
จะเป็นอย่างไรถ้าคุณไม่รู้อะไรเกี่ยวกับอนาคตเลย? เราสามารถคิดได้ว่าการกระจายตัวในพื้นที่ราคาที่แย่ที่สุดที่เป็นไปได้นั้นเป็นอย่างไร ซึ่งเป็นกฎพลังงานที่มีส่วนท้ายที่ขยายออกไปอย่างไม่สิ้นสุด การแจกแจงอย่างหนึ่งคือการแจกแจงของ Cauchy (ในพื้นที่ราคา สิ่งที่เทียบเท่ากันคือการแจกแจงของ log-Cauchy)
การแจกแจงแบบคอชีไม่เป็นไปตามกฎของคนจำนวนมาก แต่ก็มีเจตจำนงของตัวเอง คุณสามารถดูลิงก์นี้: https://en.wikipedia.org/wiki/Cauchy_distribution#/media/File:Mean_estimator_consistency.gif เพื่อเรียนรู้เกี่ยวกับคุณลักษณะของการแจกแจงของ Cauchy
คุณสมบัติอย่างหนึ่งของการแจกแจงแบบคอชีคือไม่เป็นไปตามกฎการมีจำนวนจำนวนมาก คุณอาจคำนวณค่าเฉลี่ยในช่วง 30 วันที่ผ่านมาและคิดว่าคุณเห็นรูปแบบแล้ว แต่ในความเป็นจริงแล้ว มันอาจหลอกลวงคุณได้ ตัวอย่างที่น่าสนใจคือค่าเฉลี่ยของคู่การซื้อขาย DOGE/ETH ซึ่งอาจแสดงพฤติกรรมนี้เนื่องจากขาดสภาพคล่อง
แม้ว่า Dogecoin และ Ethereum จะมีมานานกว่า 7 ปีแล้ว แต่กระบวนการกระโดดของคู่การซื้อขายก็มีลักษณะเฉพาะของตัวเอง ซึ่งทำให้ยากต่อการใช้วิธีการประมาณทางสถิติ
แม้ว่า Dogecoin และ Ethereum จะมีมานานกว่า 7 ปีแล้ว แต่กระบวนการกระโดดของคู่การซื้อขายก็มีลักษณะเฉพาะของตัวเอง ซึ่งทำให้ยากต่อการใช้วิธีการประมาณทางสถิติ
มีค่าผิดปกติเพิ่มขึ้นในฮิสโตแกรม loglog ทางด้านขวา ฉันได้เรียนรู้ว่าการแจกแจงที่มีค่าผิดปกติเพิ่มขึ้นในพล็อต loglog คือการแจกแจงแบบ log-Cauchy
เราจะเห็นว่าการแจกแจงของ Cauchy มีลักษณะอย่างไรเมื่อเทียบกับการแจกแจงแบบ Lognormal ในพื้นที่ราคา
ซ้าย: กราฟ loglog ของการแจกแจงแบบ lognormal เป็นแบบพาราโบลา โดยส่วนท้ายเชิงเส้นของกฎกำลังของ Cauchy แสดงด้วยสีแดง และเส้นประสีดำแสดงถึงการแจกแจงแบบ log-Cauchy ขวา: การแสดงของการแจกแจงแบบเดียวกันในพื้นที่ราคา โดยมีตั้งแต่ [ 0 ,มหึมา)
การกระจาย log-Cauchy ไม่ได้แย่เท่ากับตำแหน่ง Uniswap v2 ทั้งหมด แต่เป็นกรณีที่แย่ที่สุดเป็นอันดับสอง จากสิ่งที่เราเรียนรู้เกี่ยวกับการเพิ่มประสิทธิภาพเงินทุนในส่วนที่ 1 และ 2 การตั้งค่าขอบเขตล่างประมาณ 80-90% สามารถช่วยปรับปรุงได้ เนื่องจากเมื่อราคาเข้าใกล้ขอบเขตล่าง การกระจายเริ่มเติบโต ดังนั้นจึงไม่จำเป็นต้องคงไว้ ให้สภาพคล่องจนเป็นศูนย์
เริ่มจากราคาปัจจุบัน 1 การตั้งค่าขีดจำกัดล่าง 80-90% สามารถใช้เป็นจุดเริ่มต้นในการจำกัดช่วงได้ แต่ฉันไม่แนะนำให้ลงทุน/ซื้อ/ขายสินทรัพย์ใดๆ ตามการเปลี่ยนแปลงดังกล่าว นี่ไม่ใช่คำแนะนำทางการเงิน แนวปฏิบัติที่ดีที่สุดคือการรอและเรียนรู้เพิ่มเติมเกี่ยวกับเนื้อหา
เรื่อง การแจกแจงกฎกำลังไฟฟ้าในระบบที่ซับซ้อน
แต่การกระจายกฎพลังงานเช่นการกระจายของ Cauchy จะมีหางสั้นลงเมื่อเวลาผ่านไปหรือไม่? ในระบบที่มีการพัฒนาและซับซ้อนเช่นสกุลเงินดิจิทัล เป็นเรื่องยากที่จะกำจัดปรากฏการณ์กฎพลังงานโดยสิ้นเชิง (ดูภาคผนวก) แต่ก็เป็นไปได้ที่จะลดระดับของความไม่แน่นอนลง
หากคุณลองคิดดู สินทรัพย์ทั้งหมดจะประสบกับช่วงเวลาแห่งความไม่แน่นอนในระยะเริ่มแรก ในความเป็นจริง ด้วยการพัฒนาของผู้ดูแลสภาพคล่องแบบอัตโนมัติ (AMM) เราได้ค้นพบความเชื่อมโยงที่น่าสนใจซึ่งไม่สามารถคาดเดาได้ในตลาดการเงินแบบดั้งเดิม ผู้คนใช้กฎรากที่สองเพื่อประเมินผลกระทบของราคาทางสถิติ ด้วย AMM เราสามารถคาดการณ์ได้อย่างแม่นยำว่าราคาจะได้รับผลกระทบอย่างไรเพียงแค่เป็นหน้าที่ของสภาพคล่องที่กระจุกตัว และไม่จำเป็นต้องพิจารณาปริมาณหรือความผันผวนเพื่อกำหนดผลกระทบของราคาในช่วงเวลาหนึ่งๆ ใช้ข้อโต้แย้งที่รุนแรงที่สุด สมมติว่า Jerome Powell ดาวน์โหลด MetaMask และตัดสินใจที่จะจัดหาสภาพคล่องใน DOGE/ETH และจัดหาสภาพคล่องนับล้านล้านดอลลาร์ แต่ละคนที่พยายามขาย DOGE มีผลกระทบด้านลบต่อราคาแทบไม่มีนัยสำคัญ และอย่างที่คุณเห็นจากการกระจายผลตอบแทน ความผันผวนจะลดลงเมื่อเวลาผ่านไป และค่อยๆ กลายเป็นเหมือนการกระจายตัวของ Cauchy น้อยลง
ดังนั้นการมีผู้ให้บริการสภาพคล่องที่มีเงินทุนเพียงพอและกล้าพอที่จะจัดหาสภาพคล่องส่วนเกินให้กับ AMM เป็นระยะเวลานานอาจลดความผันผวนของสินทรัพย์ได้ แม้ว่าฉันจะสงสัยว่ามีเพียงไม่กี่คนเท่านั้นที่สามารถมีเครื่องพิมพ์สกุลเงินดิจิทัลเพื่อเพิ่มความกล้าหาญได้
ในกรณีที่ไม่มีเครื่องพิมพ์สกุลเงินดิจิทัล วิธีหนึ่งสำหรับอุตสาหกรรมสกุลเงินดิจิทัลในการเอาชนะปัญหานี้คือการแนะนำสินทรัพย์บนบล็อกเชนที่สามารถให้การรับประกันการซื้ออย่างต่อเนื่องแก่ผู้ให้บริการสภาพคล่อง สินทรัพย์เหล่านี้อาจรวมถึง: หุ้นปันผลขนาดใหญ่ (ซื้อโดยกองทุนบำเหน็จบำนาญสำหรับผู้เกษียณอายุ), พันธบัตร (ซื้อโดยธนาคารและบริษัทต่างๆ เพื่อการจัดหาเงินทุนระยะสั้น), การแลกเปลี่ยนเงินตราต่างประเทศ (สกุลเงินคำสั่งแบบรวมศูนย์ทั่วโลกเพียงสกุลเดียวเป็นเรื่องยากที่จะบรรลุผล ดังนั้นจีน หยวน ดอลลาร์สหรัฐ คู่สกุลเงินเช่นยูโรจะยังคงใช้อยู่) และสินค้าโภคภัณฑ์ (อาหารและเครื่องทำความร้อนจะเป็นที่ต้องการเสมอ) ในฐานะผู้ให้บริการสภาพคล่อง คุณมีความอุ่นใจมากขึ้นเมื่อให้สภาพคล่องในคู่การซื้อขายเช่น McDonald's/Corn เพราะคุณรู้ว่าจะต้องมีอุปสงค์อยู่เสมอ จึงไม่ทำให้สภาพคล่องลดลง แม้ว่าจะมีการสูญเสียที่เบี่ยงเบนไป ในฐานะผู้ให้บริการสภาพคล่อง คุณสามารถสบายใจได้เพราะคุณจะเป็นเจ้าของกลุ่มผู้ผลิต Happy Meal หรือข้าวโพดจำนวนหนึ่ง
ภาคผนวก
เกี่ยวกับกฎหมายพลังงานและเหตุใดปรากฏการณ์นี้จึงยังคงมีอยู่ในสกุลเงินดิจิทัลและการเงินแบบดั้งเดิม:
ตัวอย่างล่าสุดที่ดีคือ (8 มกราคม 2023) ระบบ DeFi ที่พัฒนาร่วมกัน โดยที่ Curve ถูกโจมตีผ่าน Vyper ซึ่งจะส่งผลกระทบต่อโปรโตคอลอื่น ๆ เช่น Aave ซึ่งจะส่งผลต่อการตัดสินใจของผู้ใช้รายอื่นเกี่ยวกับการถอนเงิน การมีอยู่ของช่องโหว่แบบ Zero-day ทำให้ระบบมีการพัฒนาอย่างต่อเนื่องและไม่สมดุล ทำให้เกิดเหตุการณ์หาง
นี่คือรหัสในการรับข้อมูลประวัติจากอินเทอร์เน็ต:
นำเข้าคณิตศาสตร์
นำเข้าตัวเลขเป็น np
นำเข้า yfinance เป็น yf #อย่าลืม 'pip ติดตั้ง yfinance'
นำเข้าแพนด้าเป็น pd
นำเข้า matplotlib.pyplot เป็น plt
นำเข้า matplotlib.animation เป็นภาพเคลื่อนไหว
#ดาวน์โหลด BTC/EUR เป็นค่าเริ่มต้น
นำเข้า matplotlib.animation เป็นภาพเคลื่อนไหว
#ดาวน์โหลด BTC/EUR เป็นค่าเริ่มต้น
Ticker1="BTC-USD" #^GSPC, ^IXIC, CL=F,^OVX, GC=F, BTC-USD, JPY=X, EURUSD=X, ^TNX, TLT, ขี้อาย, ^VIX, LLY, XOM
Ticker2="EURUSD=X"
t_0="2017-07-07"
t_f="2023-07-07"
data1=yf.download(ticker1, start=t_0, end=t_f)
data2=yf.download(ticker2, start=t_0, end=t_f)
ข้อมูล3=ข้อมูล1
dat=data1['ปิด']
dat = pd.to_numeric (dat, ข้อผิดพลาด = 'บีบบังคับ')
dat=dat.dropna()
dat_ret=dat.pct_change(1)
x = np.array(dat.values)
dat_recurrence=dat/สูงสุด(dat)
xr = np.array(dat_recurrence.values)
รูป (ax1, ax2) = plt.subplots(nrows=1, ncols=2, figsize=(6.5,3))
# พล็อตแผนที่ลอจิสติกส์ในแผนย่อยแรก
ax1.plot(ช่วง(len(x)), x, '#056398', linewidth=.5)
ax1.set_xlabel('เวลา')
ax1.set_ylabel(str(ticker1)+'/'+str(ticker2)+' อัตราส่วนราคา')
ax1.set_title(str(ticker1)+'/'+str(ticker2)+' ความผันผวนตั้งแต่ '+ str(t_0))
ax1.set_yscale('บันทึก')
n_end=เลน(x)
# สร้างพล็อตการเกิดซ้ำของแผนที่โลจิสติกในแผนย่อยที่สอง
R = np.ศูนย์((n_end, n_end))
สำหรับฉันอยู่ในช่วง (n_end):
สำหรับ j อยู่ในช่วง (i, n_end):
ถ้าเอบีเอส(xr[i] - xr[j]) < 0.01:
ร[ฉัน, เจ] = 1
R[เจ, ผม] = 1
ax2.imshow(R, cmap='viridis', origin='lower', vmin=0, vmax=1)
ax2.set_xlabel('ขั้นตอนเวลา')
ax2.set_ylabel('ขั้นตอนเวลา')
ax2.set_xlabel('ขั้นตอนเวลา')
ax2.set_ylabel('ขั้นตอนเวลา')
ax2.set_title('พล็อตการเกิดซ้ำของ ' +str(ticker1)+'/'+str(ticker2))
ซีรีส์ = pd.ซีรีส์(dat_ret).fillna(0)
รูปขวาน = plt.subplots()
ความหนาแน่น = stats.gaussian_kde (ซีรี่ส์)
series.hist(ax=ax, bins=400, edgecolor='black',color='#25a0e8', linewidth=.2,figsize=(6.5,2),histtype=u'step', ความหนาแน่น=True)
ax.set_xlabel('บันทึกการส่งคืน')
ax.set_ylabel('บันทึกความถี่')
ax.set_title('LogLog ฮิสโตแกรมของการส่งคืน ' +str(ticker1)+'/'+str(ticker2))
ax.set_yscale('บันทึก')
ax.set_xscale('บันทึก')
ขวาน.กริด(ไม่มี)
plt.scatter(series, ความหนาแน่น(series), c='#25a0d8', s=6)
รูป ax2 = plt.subplots()
series.hist(ax=ax2, bins=400, edgecolor='black',color='#25a0e8', linewidth=.2,figsize=(6.5,2),histtype=u'step', ความหนาแน่น=True)
ax2.set_xlabel ('บันทึกการส่งคืน')
ax2.set_ylabel('บันทึกความถี่')
ax2.set_title('Log-y ฮิสโตแกรมของการส่งคืน ' +str(ticker1)+'/'+str(ticker2))
ax2.set_yscale('บันทึก')
ax2.grid(ไม่มี)
plt.scatter(series, ความหนาแน่น(series), c='#25a0d8', s=6)
plt.show()
双曲线分布和混合模型
นำเข้าตัวเลขเป็น np
จาก matplotlib นำเข้า pyplot เป็น plt
จากสถิติการนำเข้าของ scipy
p, a, b, loc, สเกล = 1, 1, 0, 0, 1
rnge=15
x = np.linspace(-rnge, rnge, 1,000)
#รุ่นผสมหาง
rnge=15
x = np.linspace(-rnge, rnge, 1,000)
#รุ่นผสมหาง
ก=.999
dist1=stats.genhyperbolic.pdf (x, p, a, b, loc, สเกล)
dist2=stats.cauchy.pdf(x, loc, สเกล)
ส่วนผสม=np.nansum((w*dist1,(1-w)*dist2),0)
plt.figure(รูป=(16,8))
plt.แผนย่อย(1, 2, 1)
plt.title("บันทึกการแจกแจงแบบไฮเปอร์โบลิกทั่วไป-Y")
plt.plot(x, stats.genhyperbolic.pdf(x, p, a, b, loc, สเกล), label = 'GH(p=1, a=1, b=0, loc=0, สเกล=1) ', สี='สีดำ')
plt.plot(x, stats.genhyperbolic.pdf(x, p, a, b, loc, สเกล),
color = 'red', alpha = .5, label='GH(p=1, 0
[plt.plot(x, stats.genhyperbolic.pdf(x, p, a, b, loc, สเกล)
color = 'red', alpha = 0.2) สำหรับ a ใน np.linspace(1, 2, 10)]
plt.plot(x, stats.genhyperbolic.pdf(x, p,a,b,loc, สเกล),
สี = 'สีน้ำเงิน', อัลฟา = 0.2, ป้ายกำกับ='GH(p=1, a=1, -1
plt.plot(x, stats.genhyperbolic.pdf(x, p,a,b,loc, สเกล),
สี = 'สีเขียว', อัลฟา = 0.2, ป้ายกำกับ='GH(p=1, a=1, 0
[plt.plot(x, stats.genhyperbolic.pdf(x, p, a, b, loc, สเกล)
color = 'blue', alpha = .2) สำหรับ b ใน np.linspace(-10, 0, 100)]
[plt.plot(x, stats.genhyperbolic.pdf(x, p, a, b, loc, สเกล)
color = 'green', alpha = .2) สำหรับ b ใน np.linspace(0, 10, 100)]
plt.plot(x, stats.norm.pdf(x, loc, สเกล), label = 'N(loc=0, สเกล=1)', สี='สีม่วง', ขีดกลาง=[3])
plt.plot(x, stats.laplace.pdf(x, loc, สเกล), label = 'Laplace(loc=0, สเกล=1)', color='สีดำ',ขีดกลาง=[1])
plt.plot(x, ส่วนผสม, ป้ายกำกับ = 'Cauchy(loc=0, scale=1)', color='blue',dashes=[1])
plt.xlabel('การส่งคืน')
plt.ylabel('บันทึกความหนาแน่น')
plt.ylim(1e-10, 1e0)
plt.yscale('บันทึก')
x = np.linspace(0, 10,000, 10,000)
dist1=stats.genhyperbolic.pdf (x, p, a, b, loc, สเกล)
dist2=stats.cauchy.pdf(x, loc, สเกล)
ส่วนผสม=np.nansum((w*dist1,(1-w)*dist2),0)
plt.แผนย่อย(1, 2, 2)
plt.title("การแจกแจงแบบไฮเปอร์โบลิกแบบทั่วไป Log-Y Log-X")
plt.plot(x, stats.genhyperbolic.pdf(x, p, a, b, loc, สเกล), label = 'GH(p=1, a=1, b=0, loc=0, สเกล=1) ', สี='สีดำ')
plt.plot(x, stats.genhyperbolic.pdf(x, p, a, b, loc, สเกล),
color = 'red', alpha = .5, label='GH(p=1, 0
[plt.plot(x, stats.genhyperbolic.pdf(x, p, a, b, loc, สเกล)
color = 'red', alpha = 0.2) สำหรับ a ใน np.linspace(1, 2, 10)]
plt.plot(x, stats.genhyperbolic.pdf(x, p,a,b,loc, สเกล),
สี = 'สีน้ำเงิน', อัลฟา = 0.2, ป้ายกำกับ='GH(p=1, a=1, -1
plt.plot(x, stats.genhyperbolic.pdf(x, p,a,b,loc, สเกล),
สี = 'สีเขียว', อัลฟา = 0.2, ป้ายกำกับ='GH(p=1, a=1, 0
[plt.plot(x, stats.genhyperbolic.pdf(x, p, a, b, loc, สเกล)
color = 'blue', alpha = .2) สำหรับ b ใน np.linspace(-10, 0, 100)]
[plt.plot(x, stats.genhyperbolic.pdf(x, p, a, b, loc, สเกล)
color = 'green', alpha = .2) สำหรับ b ใน np.linspace(0, 10, 100)]
plt.plot(x, stats.norm.pdf(x, loc, scale), label = 'Gaussian', color='purple', ขีดกลาง=[3])
plt.plot(x, stats.laplace.pdf(x, loc, สเกล), label = 'Laplace(loc=0, สเกล=1)', color='สีดำ',ขีดกลาง=[1])
plt.plot(x, stats.cauchy.pdf(x, loc, สเกล), label = 'Cauchy(loc=0, scale=1)', color='blue',dashes=[1])
#รุ่นผสมหางหนัก
plt.plot(x, ส่วนผสม, label = 'GH+Cauchy Mix(loc=0, scale=1)', color='red',dashes=[1])
plt.xlabel('บันทึกการส่งคืน')
plt.ylabel('บันทึกความหนาแน่น')
plt.ylim(1e-10, 1e0)
plt.xlim(1e-0,1e4)
plt.xscale('บันทึก')
plt.yscale('บันทึก')
plt.legend (loc = "มุมขวาบน")
plt.subplots_adjust (ขวา = 1)
ความคิดเห็นทั้งหมด