σμ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 AcademyParcours
Ctrl K
AO
+1,2 k apprenants
ConnexionRejoindre ↗
Parcours
AO
+1,2 k apprenants
Connexion
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Parcours Python›Module 1 · Les bases de Python pour les quants›Sujet 1.3·~30 minDébutant

Chaînes de caractères et f-strings

Position dans le parcoursModule 1 sur 11 · Sujet 3 sur 33
1.3 Chaînes de caractères et f-strings
—Score du lab— / 100XP total—Série—

Le texte est une chaîne

Une chaîne (str) est du texte. Écrivez-la entre apostrophes ou guillemets : les deux sont équivalents, choisissez un style et gardez-le. Une barre oblique inverse commence une séquence d'échappement, comme \n pour un retour à la ligne. len() compte les caractères. Les chaînes sont immuables : on ne modifie jamais une chaîne sur place, on en construit une nouvelle.

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

Indexation et découpage

Chaque caractère a une position, comptée à partir de 0. text[0] est le premier caractère et text[-1] le dernier. Une tranche text[start:stop] prend les caractères de start jusqu'à stop exclu. Laissez un côté vide pour aller jusqu'à cette extrémité.

# 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

Méthodes pour nettoyer et découper du texte

Les méthodes sont des fonctions attachées à une valeur et appelées avec un point. Elles renvoient une nouvelle chaîne et laissent l'originale intacte. strip() retire les espaces et retours à la ligne autour du texte, upper() et lower() changent la casse, replace(old, new) remplace du texte, et split(",") coupe une ligne à chaque virgule en une liste de morceaux. Les flux de données regorgent de lignes comme celle-ci.

# 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

Les f-strings insèrent des valeurs dans le texte

Placez un f avant le guillemet ouvrant et écrivez n'importe quelle expression entre { et } : Python l'évalue et insère le résultat sous forme de texte. Cela remplace le collage de morceaux avec + et la conversion manuelle des nombres. Toute expression valide fonctionne dans les accolades, même un calcul.

# 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

Spécifications de format

Après deux-points dans les accolades, une spécification de format contrôle l'aspect de la valeur. .2f affiche deux décimales, , ajoute des séparateurs de milliers, + affiche toujours le signe, >8 aligne à droite sur une largeur de 8, et .1% affiche une fraction en pourcentage. Elles se combinent : +,.2f donne un montant signé avec séparateurs et deux décimales.

# 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%
Formater uniquement pour l'affichageUne valeur formatée est du texte, plus un nombre. Continuez à calculer avec les nombres (voir entiers et flottants) et ne formatez qu'au moment d'afficher ou d'enregistrer du texte.

À suivre : les booléens et les comparaisons, ces valeurs True et False sur lesquelles repose chaque décision d'une règle de trading.

Lab : ce qui est noté

  • Écrire une cotation sous forme de texte avec quote_line25 pts
  • Afficher le résultat avec son signe grâce à signed_pnl25 pts
  • Nettoyer un symbole boursier avec normalize_symbol25 pts
  • Lire une ligne d'exécution d'un flux avec parse_fill25 pts
Explorateur · lab-3-1
▾ lab-3-1
…
bash · dans le navigateur
learner@quantcraft:~/lab-3-1$
Python pas encore chargéPythonLn 1, Col 1Spaces: 4UTF-8

Réinitialiser ce sujet ?

Tout le contenu de lab-3-1 revient aux fichiers de départ et le terminal est vidé. Votre solution actuelle sera perdue : cette action est irréversible.

Sera réinitialisé
  • main.py → code de départ
  • Historique du terminal et sortie des tests
  • Modifications non soumises
Sera conservé
  • Meilleur score du lab
  • Votre XP et votre série
  • Progression du cours et notes

Connectez-vous pour exécuter votre code.

Tous les cours sont gratuits à lire. Créez un compte ou connectez-vous pour exécuter du code, lancer les tests et soumettre ce lab.

  • IDE dans le navigateur avec terminal bash — rien à installer
  • Correction instantanée, XP et votre place dans le parcours
Créer un compteSe connecter
OU
Continuer avec GitHub