σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft Academyخرائط الطريقالمسارات
Ctrl K
AO
+1.2k متعلّم
تسجيل الدخولانضم ↗
خرائط الطريقالمسارات
AO
+1.2k متعلّم
تسجيل الدخول
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft Academyخرائط الطريقالمسارات
Ctrl K
AO
+1.2k متعلّم
تسجيل الدخولانضم ↗
خرائط الطريقالمسارات
AO
+1.2k متعلّم
تسجيل الدخول
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
مسار SciPy›الوحدة 1 · الملاءمة والإيجاد›الموضوع 1.5·~50 دمتوسط

محافظ مقيّدة باستعمال minimize

الموضع في المسارالوحدة 1 من 3 · الموضوع 5 من 8
1.5 محافظ مقيّدة باستعمال minimize
—درجة المختبر— / 100إجمالي XP—التتابع—

المُحسِّن دالة وقواعد

تجد scipy.optimize.minimize(fun, x0, method='SLSQP', bounds=..., constraints=...) المتجه الذي يجعل fun أصغر ما يمكن. تعطيها ثلاثة أنواع من المعلومات. الهدف fun(w) يعيد عددًا يُصغَّر: لمحفظة أدنى تباين هو w @ cov @ w ولتعظيم شيء تصغّر سالبه. والحدود قائمة أزواج (أدنى، أعلى) لكل وزن: (0, cap) تعني لا بيع على المكشوف ولا مركزًا فوق السقف. والقيود قواميس: {'type': 'eq', 'fun': lambda w: w.sum() - 1} يجبر الأوزان على أن يكون مجموعها واحدًا لأن دالة eq يجب أن تساوي صفرًا بينما دالة ineq يجب أن تبقى أكبر من الصفر أو تساويه. ونقطة البداية x0 مهمة أيضًا: الأوزان المتساوية بداية معقولة وممكنة.

تفصل تفصيلتان في صحة الجواب. الأولى المقياس: التباينات اليومية أعداد مثل 0.0001 وتتوقف SLSQP حين يتغير الهدف بأقل من تفاوتها ftol (الافتراضي 1e-6) فبالأرقام اليومية الخام قد تتوقف عند نقطة البداية دون أن تتحرك. اجعل المدخلات سنوية (ضرب 252) ومرّر options={'ftol': 1e-12, 'maxiter': 500} وافحص دائمًا result.success وأن الأوزان تحترم القواعد. الثانية الصياغة: تعظيم نسبة شارب نسبة فصغّر -(w @ mu) / sqrt(w @ cov @ w)؛ وتكافؤ المخاطر يطلب حصص مخاطر متساوية wᵢ(Σw)ᵢ/ wᵀΣw فصغّر مربعات الفروق عن 1/n؛ والحدود الكفؤة مسألة أدنى تباين لكل عائد مستهدف مع قيد eq ثانٍ هو w @ mu - target.

ما تقوله البيانات الحقيقيةخذ عشرة أسهم وسهم المرافق DUK وصندوق الذهب GLD على آخر 2,500 يوم بحد أقصى 25% في أي أصل. للأوزان المتساوية تقلب 14.6%. تخفضه محفظة أدنى تباين إلى 11.9% بحيازة 25% ذهبًا و18% JNJ و14% KO ولا شيء من AAPL أو HD. وتربح محفظة أقصى شارب 21.3% سنويًا بتقلب 14.3% أي نسبة شارب 1.48 بالاعتماد على الذهب وWMT وCAT: رقم يعكس السنوات العشر الماضية لا العشر القادمة. ويحتفظ تكافؤ المخاطر بين 5.8% و19.6% في كل أصل والذهب الأكبر، ويحمل كل أصل 8.3% من المخاطر.
  • المقياس والتفاوت: اجعل المدخلات سنوية وشدّد ftol وإلا قد تتوقف SLSQP حيث بدأت.
  • افحص الجواب: يجب أن يكون مجموع الأوزان واحدًا وأن تحترم الحدود؛ انظر إلى result.success.
  • أداة واحدة وأربع مسائل: أدنى تباين وشارب سالب وحصص مخاطر متساوية ومسألة لكل عائد مستهدف كلها استدعاءات minimize بأهداف وقيود مختلفة.

المختبر: ما الذي يُقيَّم

  • مدخلات سنوية8 نقطة
  • عائد ومخاطر محفظة8 نقطة
  • أدنى تباين مع سقف18 نقطة
  • أقصى نسبة شارب18 نقطة
  • مساهمات المخاطر10 نقطة
  • تكافؤ المخاطر16 نقطة
  • حدود كفؤة نقطة بنقطة10 نقطة
  • ثلاث محافظ12 نقطة
المستكشف · lab-sp-14
▾ lab-sp-14
▾ data
…
bash · داخل المتصفح
learner@quantcraft:~/lab-sp-14$
لم يتم تحميل Python بعدPythonLn 1, Col 1Spaces: 4UTF-8

هل تريد إعادة ضبط هذا الموضوع؟

سيعود كل ما في lab-sp-14 إلى الملفات الابتدائية وستُمسح الطرفية. ستفقد حلّك الحالي ولا يمكن التراجع عن ذلك.

سيُعاد ضبطه
  • main.py ← الشيفرة الابتدائية
  • سجل الطرفية ومخرجات الاختبارات
  • التغييرات غير المُرسلة
سيُحتفظ به
  • أفضل درجة في المختبر
  • نقاط XP والتتابع
  • تقدّم المحاضرة والملاحظات

سجّل الدخول لتشغيل الكود الخاص بك.

قراءة كل المحاضرات مجانية. أنشئ حسابًا أو سجّل الدخول لتشغيل الكود وتنفيذ الاختبارات وتسليم هذا المختبر.

  • بيئة تطوير داخل المتصفح مع طرفية bash — لا حاجة لتثبيت أي شيء
  • تصحيح فوري ونقاط خبرة ومكانك في المسار
إنشاء حسابتسجيل الدخول
أو
المتابعة عبر GitHub