σμ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ᵀμ = μ*∫Σ∂∞λ
σμ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
  • 日本語
  • 中文
مسار Python›الوحدة 1 · أساسيات Python للمحللين الكميين›الموضوع 1.3·~30 دمبتدئ

السلاسل النصية وf-strings

الموضع في المسارالوحدة 1 من 11 · الموضوع 3 من 33
1.3 السلاسل النصية وf-strings
—درجة المختبر— / 100إجمالي XP—التتابع—

النص سلسلة نصية

السلسلة النصية (str) هي نص. اكتبها بين علامتي اقتباس مفردتين أو مزدوجتين: كلاهما بالمعنى نفسه، فاختر أسلوبًا والتزم به. تبدأ الشرطة المائلة العكسية تسلسل هروب مثل \n للسطر الجديد. تحسب len() عدد الأحرف. السلاسل غير قابلة للتعديل: لا تغيّر سلسلة في مكانها أبدًا، بل تبني سلسلة جديدة.

symbol = "AAPL"
note = 'bid and ask'
print(symbol, len(symbol))  # AAPL 4
print(note)                 # bid and ask

الفهرسة والتقطيع

لكل حرف موضع يبدأ العدّ فيه من 0. text[0] هو الحرف الأول وtext[-1] هو الأخير. الشريحة text[start:stop] تأخذ الأحرف من start حتى stop دون تضمينه. اترك أحد الطرفين فارغًا للوصول إلى ذلك الطرف.

# Indexing starts at 0; a slice stops before its end index
ticker = "AAPL.US"
print(ticker[0], ticker[-1])   # A S
print(ticker[:4], ticker[5:])  # AAPL US

دوال لتنظيف النص وتقسيمه

الدوال المرتبطة بقيمة (methods) تُستدعى بنقطة. وهي تُرجع سلسلة جديدة وتترك الأصلية كما هي. تزيل strip() المسافات وأسطر الفراغ حول النص، وتغيّر upper() وlower() حالة الأحرف، وتستبدل replace(old, new) نصًا بآخر، وتقطع split(",") السطر عند كل فاصلة إلى قائمة من القطع. وتمتلئ تغذيات البيانات بأسطر كهذه.

# Clean up a raw line from a data feed
raw = "  aapl,184.25,200 \n"
parts = raw.strip().split(",")
print(parts)             # ['aapl', '184.25', '200']
print(parts[0].upper())  # AAPL
print(float(parts[1]))   # 184.25
# join is the opposite of split; in tests for a piece of text
print("-".join(["AAPL", "MSFT"]))  # AAPL-MSFT
print("AAPL" in "AAPL,MSFT")       # True

تضع f-strings القيم داخل النص

ضع f قبل علامة الاقتباس الافتتاحية واكتب أي تعبير بين { و}: تقيّمه Python وتُدرج النتيجة كنص. وهذا يغني عن لصق القطع بـ+ وعن تحويل الأعداد يدويًا. يعمل أي تعبير صالح داخل الأقواس المعقوفة حتى العمليات الحسابية.

# f-strings put values straight into text
symbol, bid, ask = "AAPL", 184.25, 184.5
print(f"{symbol} {bid} x {ask}")       # AAPL 184.25 x 184.5
print(f"{symbol} spread {ask - bid}")  # AAPL spread 0.25

مواصفات التنسيق

بعد النقطتين داخل الأقواس، تتحكم مواصفة التنسيق في شكل القيمة. تعرض .2f منزلتين عشريتين، وتضيف , فواصل الآلاف، وتُظهر + الإشارة دائمًا، وتحاذي >8 إلى اليمين بعرض 8، وتعرض .1% الكسر كنسبة مئوية. ويمكن الجمع بينها: +,.2f مبلغ بإشارة وفواصل ومنزلتين عشريتين.

# After the colon, a format spec controls the look
price, pnl, quantity = 184.5, 1234.5, 200
print(f"{price:.2f}")       # 184.50
print(f"{pnl:+,.2f}")       # +1,234.50
print(f"{quantity:>8d}|")   # "     200|"
print(f"{0.0123:.1%}")      # 1.2%
نسّق للعرض فقطالقيمة المنسّقة نص وليست عددًا بعد الآن. واصل الحساب بالأعداد (راجع الأعداد الصحيحة والعشرية) ولا تنسّق إلا لحظة الطباعة أو حفظ النص.

التالي: القيم المنطقية والمقارنات، أي القيمتان True وFalse اللتان يُبنى عليهما كل قرار في قاعدة تداول.

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

  • اكتب سعر العرض والطلب كنص باستخدام quote_line25 نقطة
  • اعرض الربح والخسارة مع الإشارة باستخدام signed_pnl25 نقطة
  • نظّف رمز السهم باستخدام normalize_symbol25 نقطة
  • اقرأ سطر تنفيذ من التغذية باستخدام parse_fill25 نقطة
المستكشف · lab-3-1
▾ lab-3-1
…
bash · داخل المتصفح
learner@quantcraft:~/lab-3-1$
لم يتم تحميل Python بعدPythonLn 1, Col 1Spaces: 4UTF-8

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

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

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

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

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

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