σμ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
  • 日本語
  • 中文
Market Structure スキル›モジュール 4 · ルール・コスト・データ›トピック 4.4·~1 時間中級

総仕上げ:価格バーから読み解く取引日

スキル上の位置モジュール 4/4 · トピック 4/4
4.4 総仕上げ:価格バーから読み解く取引日
—ラボスコア— / 100合計XP—連続日数—

価格バーから取引日を読み解く

日足バーは1営業日を始値・高値・安値・終値・出来高の5つの数字で要約します。そこから1日の物語を組み立てられます。夜間にどれだけ動いたか(前日の終値と当日の始値の差)、その日の値幅はどれほどか、出来高は普段と違ったか。これらはどれも、表の列全体に対する1行の計算です。

import pandas as pd

bars = pd.read_csv("data/AAPL.csv", index_col="date", parse_dates=True)
prev_close = bars["close"].shift(1)   # yesterday's close, lined up with today's row
gap = bars["open"] / prev_close - 1   # the overnight gap

今日の出来高が普段と違うかを調べるときは、今日より前の営業日とだけ比較します。rolling(20).mean() だけでは今日が含まれ、その日自身と一部比べることになります。先に shift(1) を呼ぶと窓が1日後ろにずれます。判定している日の情報を使うことはルックアヘッドで、バックテストが人をだます最も一般的な原因です。

物語を表示する

qc_chartヘルパーはバーをインタラクティブなチャートに変換します。系列のリスト(ローソク足、線、ヒストグラム)と任意のマーカーを渡すと、チャートがチャートタブに表示されます。テストが読むのは描画された画像ではなく、あなたが渡したデータです。

import qc_chart

qc_chart.show(
    [qc_chart.candles(recent, name="Price"), qc_chart.line(average, name="20-day average")],
    markers=qc_chart.markers({"2026-05-12": "+4.1%"}),
)
このデータが隠しているもの価格は分割と配当で調整済みのため、調整前の終値はなく、分割がギャップとして現れることもありません。ファイルには現在も存在する企業しか含まれず、上場廃止企業は欠けています。日足バーは寄り付きや引けのオークションを含め、セッション内で起きたことを隠します。大きなギャップは結論ではなく、調べるべき物語です(決算、ニュースなど)。

ラボ:採点される内容

  • 日次の特徴量25点
  • 最大のギャップ25点
  • ルックアヘッドなしの出来高スパイク25点
  • 物語をチャートにする25点
エクスプローラー · lab-ms-11
▾ lab-ms-11
▾ data
…
bash · ブラウザ内
learner@quantcraft:~/lab-ms-11$
Pythonは未読み込みPythonLn 1, Col 1Spaces: 4UTF-8

このトピックをリセットしますか?

lab-ms-11 の内容はすべてスターターファイルに戻り、ターミナルも消去されます。現在の解答は失われ、元に戻せません。

リセットされるもの
  • main.py → スターターコード
  • ターミナル履歴とテスト出力
  • 未提出の変更
保持されるもの
  • ラボの最高スコア
  • XPと連続日数
  • 講義の進捗とメモ

コードを実行するにはログインしてください。

レクチャーはすべて無料で読めます。コードの実行、テスト、ラボの提出にはアカウントの作成かログインが必要です。

  • ブラウザ内IDEとbashターミナル。インストール不要
  • 即時採点、XP、スキルでの現在地
アカウントを作成ログイン
または
GitHubで続ける