σμ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
  • 日本語
  • 中文
Optimization スキル›モジュール 4 · 制約と正則化›トピック 4.4·~55 分上級

執行スケジュールのための線形計画法

スキル上の位置モジュール 4/5 · トピック 4/4
4.4 執行スケジュールのための線形計画法
—ラボスコア— / 100合計XP—連続日数—

注文を時間に分ける

線形計画は、線形制約 Ax≤bA\mathbf x\le\mathbf bAx≤b と x≥0\mathbf x\ge0x≥0 の下で線形の目的関数 cTx\mathbf c^{T}\mathbf xcTx を最小化します。実行可能集合は平らな面と頂点を持つ多面体で、目的が線形なので最良点は常にその形の角(頂点)にあります。坂を下る歩みはありません。シンプレックス法は頂点から頂点へ跳び、内点法は内部を突っ切ります。どちらも数千変数の問題の厳密な最適解を一瞬で求めます。

min⁡x ∑t=1Tctxt ;∑t=1Txt=Q,0≤xt≤ut\min_{\mathbf x}\ \sum_{t=1}^{T}c_t x_t\ ;\quad \sum_{t=1}^{T}x_t=Q,\qquad 0\le x_t\le u_txmin​ t=1∑T​ct​xt​ ;t=1∑T​xt​=Q,0≤xt​≤ut​(1)

執行スケジュールは自然な線形計画です。QQQ 株を TTT 区間で売るとき、区間 ttt の売却数を xtx_txt​、そこでの1株あたり期待コスト(スプレッドとインパクト、ベーシスポイント)を ctc_tct​、容量(たとえば予想出来高の10%という参加率上限)を utu_tut​ とします。予算制約が1つなら解は貪欲で、最も安い区間を上限まで埋め、次に安い区間へと QQQ が済むまで進みます。線形計画が無料で教えてくれる予算制約の乗数は、もう1株売る限界コスト、つまりまだ余裕のある最も安い区間のコストです。

4つの区間Q=10,000Q=10{,}000Q=10,000 株を売ります。区間1〜4のコストは 3,1,2,43,1,2,43,1,2,4 bp、上限は 4000,3000,5000,60004000,3000,5000,60004000,3000,5000,6000 株です。貪欲に埋めると、区間2(コスト1)が上限の 300030003000、区間3(コスト2)が 500050005000、区間1(コスト3)が残りの 200020002000 を引き受けます。合計は 3000⋅1+5000⋅2+2000⋅3=19,0003000\cdot1+5000\cdot2+2000\cdot3=19{,}0003000⋅1+5000⋅2+2000⋅3=19,000 bp·株で、平均 1.91.91.9 bp です。限界コストは区間1の 333 bp で、余裕のある最も安い区間だからです。総容量は 18,00018{,}00018,000 なので、20,00020{,}00020,000 株の注文には実行可能なスケジュールがそもそもありません。

容量はデータから得られます。このコースのデータセットの直近250営業日で、AAPLの出来高の中央値は約4550万株なので、参加率10%の上限は1日約455万株で、2000万株を売るには少なくとも 20/4.55=4.420/4.55=4.420/4.55=4.4、つまり5営業日が必要です。1株あたりのコストを一定とするのは第一近似です。実際のインパクトは区間内の取引量とともに増えるため、コストは xtx_txt​ について凸になり、スケジュールは2次計画になります。これが総仕上げのモデルです。

  • 頂点解:線形計画の最適解は実行可能な多面体の角にあります。
  • 貪欲なスケジュール:予算制約が1つなら、最も安い容量から埋めます。
  • シャドウプライス:予算制約の乗数は、もう1株の限界コストです。
まず実行可能性を確認するソルバーは不可能な要求に対して、近似的なスケジュールではなく「実行不可能」と答えます。最適化の前に注文サイズを総容量と比べ、収まらないときは何を譲るかを決めてください。期間を延ばすか、参加率の上限を上げるか、注文を小さくするかです。コストと容量は予測値なので、一日の進行に合わせてプログラムを再実行します。

ラボ:採点される内容

  • 総コスト15点
  • 平均コスト10点
  • 使われる最も高い区間の株数15点
  • 限界コスト15点
  • 大きすぎる注文15点
  • LPの最適解の位置15点
  • スケジュールの定式化15点
0/ 7問回答済み
問題
1数値で答える15点未回答

コスト 3, 1, 2, 4 bp、上限 4000, 3000, 5000, 6000 株の4区間で 10,000 株を売ります。最小の総コスト(bp·株)はいくつですか。

total=total =total=許容:± 1
2数値で答える10点未回答

このスケジュールの1株あたり平均コストは何bpですか。

avg=avg =avg=許容:± 0.01
3数値で答える15点未回答

最適スケジュールは区間1(コスト3bp)で何株を売りますか。

slot1=slot1 =slot1=許容:± 1
4数値で答える15点未回答

注文がもう1株増えても実行可能なままなら、総コストは何bp増えますか。言い換えると、予算制約のシャドウプライスはいくつですか。

shadow=shadow =shadow=許容:± 0.01
5選択15点未回答

同じ4区間で 20,000 株を執行するよう求めます。LPソルバーは何と報告しますか。

6選択15点未回答

実行可能集合が有界で空でない線形計画には、最適解が次の場所にあります。

7手順を並べ替える15点未回答

執行LPを組み立てて解く手順を正しい順に並べてください。

ドラッグして並べ替えます。または項目にフォーカスし、スペースで持ち上げ、矢印キーで移動、スペースで置きます。

  1. 1制約を書く:合計が QQQ、かつ 0≤xt≤ut0\le x_t\le u_t0≤xt​≤ut​
  2. 2解いて、予算制約のシャドウプライスを読む
  3. 3変数を選ぶ:各区間で売る株数 xtx_txt​
  4. 4目的関数を書く:総コスト ∑tctxt\sum_t c_t x_t∑t​ct​xt​
数学モードキーボードまたは LaTeX で入力問題1/7 · Ctrl ⏎ で確認

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

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

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